modul mikrokontroler 05 i2c dan rtc
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/