modul mikrokontroler 05 i2c dan rtc

Upload: reiza931875

Post on 06-Jul-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    1/15

    MIKROKONTROLER ATMEGABERBASIS

    CODEVISION AVR(I2C DAN APLIKASI RTC)

    D E P O K I N S T R U M E N T Sdins

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    2/15

    Teori I2C/I2C

    I2C/ I2C (Baca: I-Two-C atau I-Squared-C) = Inter-Integrated Circuit

    adalah salah satu teknik komunikasi serial denganmenggunakan dua jalur, yaitu SCL (Serial Clock), dan

    SDA (Serial Data).

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    3/15

    Fitur I2C/I2C ATmega16A

    PORTC.0 = SCL

    PORTC.1/ PINC.1 = SDA

    I2C/ I2C dapat dibangkitkan pula di PORT lain.

    Contoh perangkat yang menggunakan I2C/ I2C: IC RTC (Real Time Clock) DS1307

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    4/15

    DI-Smart AVR.16 System(Sistem Plus µC. ATmega16A)

    Y111059200

    C1

    20pFC2

    20pF

    R1

    1K 

    SW1

    RST

    VCCX1

    X2

    RST

    RST

    PB0PB1PB2PB3PB4PB5PB6PB7

    PA0PA1PA2PA3PA4PA5PA6PA7

    PD0PD1PD2PD3

    PD4PD5PD6PD7 PC0

    PC1PC2PC3

    PC4PC5PC6PC7

    X1X2

    12345678910

    P1PORTB

    12345678910

    P3PORTD

    12345678910

    P0PORTA

    12345678910

    P2PORTC

    VCC

    VCCVCC

    VCCPB0PB1PB2PB3PB4PB5PB6PB7

    PA0PA1PA2PA3PA4PA5PA6PA7

    PC0PC1PC2PC3PC4PC5PC6PC7

    R1 IN13

    R2 IN8

    T1 IN11

    T2 IN10

         G     N     D

         1     5

         V    +

         2

         V  -

         6

         V     C     C

         1     6

    R1 OUT  12

    R2 OUT  9

    T1 OUT  14

    T2 OUT  7

    C1+1

    C1 -3

      C2+  4

    C2 -  5

    U2

    MAX232CPE

        +

    C9

    1uF

    +

    C13

    1uF

    +

    C11

    1uF

    +

    C10

    1uF

    VCC

    162738495

    DB1

    SERIAL

    +C4470uF

    Vin1

         G     N     D

         2

    +5V  3

    U0 LM7805CT

    + C510uF

    + C6100nF

    C7100nF

    VCCD14002

    C3

    100nf 

    R3

    2K2L10

    POW

    ER VCC

    VCC

         1

         1

         2

         3

    W  2

    VR1

    10K 

    AREF

    AREF

    VCC

    PD0PD1PD2PD3PD4PD5PD6PD7

    AGND  31

    X113

      X212

    RESET9

    PD2 (INT0)16

    PD3 (INT1)17

    PD4 (OC1B)18

    PD5 (OC1A)19

    PB0 (T0)1

    PB1 (T1)2

    PB2 (AIN0)3

    PB3 (AIN1)4

    PB4 (SS)5

    PB5 (MOSI)6

    PB6 (MISO)7

    PB7 (SCK)8

    PA0 (ADC0)  40

    PA1 (ADC1)  39

    PA2 (ADC2)  38

    PA3 (ADC3)  37

    PA4 (ADC4)  36

    PA5 (ADC5)  35

    PA6 (ADC6)  34

    PA7 (ADC7)  33

    PC0  22

    PC1  23

    PC2  24

    PC3   25PC4

      26PC5

      27(TOSC1) PC6

      28(TOSC2) PC7

      29

    PD7 (OC2)21

      PD6 (ICP)20

    AREF  32

    AVCC  30

    PD1 (TDX)15

      PD0 (RXD)14

    IC1   ATMEGA

    PB5

    PB6PB7

    VCC

    LEDRST

    1 23 45 67 89 10

    P4ISP PROG

    S2

    PD2

    S3

    PD3

    PD2

    PD3

    L8PC0

    VCC

    L7PC1

    L6PC2

    L5PC3

    L4PC4

    L3PC5

    L2PC6

    L1PC7

    P  C 0  

    P  C1  

    P  C2  

    P  C 3  

    P  C4  

    P  C 5 

    P  C 6  

    P  C 7 

    C17100nF

    D0D1D2D3D4

    D6D5

    D7

    D 0  

    D1  

    D2  

    D 3  

    D4  

    D 6  

    D 5 

    D 7 

    PD0 PD1TXD SERIAL

    TXD ISP

    RXD SERIAL

    RXD ISP

    + C121uF

    123

    JP1

    123

    JP2

    123456789

    RP1

    12

    JP3LED CONNECTED

    TXD ISPRXD ISP

    TXD SERIAL

    RXD SERIAL

    POWER 9-12VDC

    1

    2 3

    4

    56

    7

    8

    9

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    5/15

    DI-Smart AVR.16 System

    1. ATmega16A2. Crystal3. Reset4. ISP5. Power6. Vref ADC

    7. RS2328. LED Array9. Push Button

    1

    2

    3

    4

    5

    6

    8

    7

    9

    PC0=SCLPC1=SDA

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    6/15

    Pemrograman I2C/I2C pada CVAVR

    Inisialisasi “Wizard ”

    Aktivasi I2C/ I2C.

    Pilih perangkat yang akan digunakan (RTC DS1307).

    Pilih PIN untuk SDA dan SCL.Aktivasi LCD Alphanumeric untuk menampilkan data dari

    RTC.

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    7/15

    Pemrograman I2C/I2C(Setup “Wizard” )

    1

    4

    2 3

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    8/15

    Inisialisasi I2Csesuai dengan yangdiinputkan saatWizard .

    i2c.hlibrary

    sintaks/perintahuntuk i2c

    ds1307.hlibrarysintaks/perintahuntuk RTC DS1307

    Pemrograman I2C/I2C(Inisialisasi I2C/I2C Hasil “Wizard” )

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    9/15

    i2c_init(void); / / Inisialisasi I2C.

    i2c_init();

    i2c_start(void); / / Mengaktif kan proses komunikasi.

    i2c_start();

    i2c_stop(void); / / Menghentikan proses komunikasi. i2c_stop();

    i2c_read([char ack] ); / / Membaca data i2c.

    unsigned char char_data;

    void main(void) {char_data = i2c_read(0);}

    i2c_write([char data] ); / / Menulisdata i2c.

    unsigned char char_data;

    void main(void) {char_data = i2c_write(255);}

    Pemrograman I2C/I2C(i2c.h)

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    10/15

    Pemrograman I2C/I2C(ds1307.h) [1/2]

    rtc_init(void); / / Inisialisasi rtc ds1307.

    rtc_init();

    rtc_read([char address] ); / / Membaca data rtc.

    unsigned char char_data;

    void main(void)

    {char_data = rtc_read(0);}

    rtc_write([char address, char data] ); / / Menulisdata rtc.

    unsigned char char_data;

    void main(void)

    {rtc_write(0,0);}

    rtc_get_time([char *hour, char *min, char * sec] ); / / Membaca- waktu (jam, menit, detik).

    unsigned char cjm, cmn, cdt;

    void main(void)

    {rtc_get_time(&cjm, &cmn, &cdt);}

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    11/15

    Pemrograman I2C/I2C(ds1307.h) [2/2]

    rtc_set_time([char hour, char min, char sec] ); / / Mengeset waktu (jam, menit, detik).

    unsigned char cjm, cmn, cdt;

    void main(void)

    {rtc_set_time(cjm, cmn, cdt);}

    rtc_get_date([char *week_day, char *day, char *month, char *year] ); / / Membaca tanggal

     / / (hari ke-, tanggal, bulan, tahun).

    unsigned char chr, ctg, cbl, cth;

    void main(void)

    {rtc_get_date(&chr, &ctg, &cbl, &cth);}

    rtc_set_date([char *week_day, char *day, char *month, char *year] ); / / Mengeset tanggal

     / / (hari ke-, tanggal, bulan, tahun).

    unsigned char chr, ctg, cbl, cth;

    void main(void)

    {rtc_get_date(chr, ctg, cbl, cth);}

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    12/15

    #include

    #include

    #include

    #asm // I2C Bus functions

    .equ __i2c_port=0x15 ;PORTC

    .equ __sda_bit=1

    .equ __scl_bit=0

    #endasm 

    #include

    #include // DS1307 Real Time Clock functions

    #include // Alphanumeric LCD Module functions

    // Declare your global variables here

    unsigned char cstr[16];

    unsigned char jm=0, dt=0, mn=0, hr=0, tg=0, bl=0, th=0;

    Pemrograman I2C/I2C“Jam Digital” [1/3]

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    13/15

    void main(void)

    {

    // DS1307 Real Time Clock initialization

    // Square wave output on pin SQW/OUT: Off

    // SQW/OUT pin state: 0

    rtc_init(0,0,0);

    lcd_init(16);

    hr=1;tg=6;bl=9;th=15;

    rtc_set_date(hr,tg,bl,th);

    jm=13;mn=52;dt=59;

    rtc_set_time(jm,mn,dt);

    Pemrograman I2C/I2C“Jam Digital” [2/3]

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    14/15

    while (1)

    {

    // Place your code here

    rtc_get_date(&hr,&tg,&bl,&th);

    sprintf(cstr,"%02d-%02d-%02d",tg,bl,th);

    lcd_gotoxy(0,0);

    lcd_puts(cstr);

    rtc_get_time(&jm,&mn,&dt);

    sprintf(cstr,"%02d:%02d:%02d",jm,mn,dt);

    lcd_gotoxy(0,1);

    lcd_puts(cstr); delay_ms(100);

    }

    }

    Pemrograman I2C/I2C“Jam Digital” [3/3]

  • 8/17/2019 Modul Mikrokontroler 05 i2c Dan Rtc

    15/15

    E-BOOK DINS

    http:/ / depokinstruments.com/ category/ 3-e-book/ 

    http://depokinstruments.com/category/3-e-book/http://depokinstruments.com/category/3-e-book/