Sunteți pe pagina 1din 15

MIKROKONTROLER ATMEGA

BERBASIS
CODEVISION AVR
(LCD 16X2 KARAKTER)

dins

DEPOK INSTRUMENTS

LCD 16x2 Karakter HD44780

Rangkaian Antarmuka 4-Bit LCD

PORT = Koneksi ke mikrokontroler


1
2
3
4
5
6
7
8
9
10
PORT

D0
D1
D2
D3
D4
D5
D6
D7

VCC

LCD1
D0
D1
D2
D4
D5
D6
D7

4
5
6
11
12
13
14

RS
RW
En
D4
D5
D6
D7

VCC
VO
LCD 16 x 2
4 BIT

LCD16X2(4BIT)

GND
An
Ca

VCC
2
R1
3
1
15
16

2K2
C1
100nF
VCC

R2

2K2
C2
1uF

DI-Smart AVR.16 System


(Sistem Plus C. ATmega16A)
RP1
D0

L6
PC2

L7
PC1

L8
PC0

VCC

JP3
LED CONNECTED

VCC

C11
1uF

2
6
16

C10
1uF

DB1
SERIAL

+ C12
1uF

1
2
3
4
5
6
7
8

PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7

14
15
16
17
18
19
20
21

X2
X1

12
13

PB0 (T0)
PB1 (T1)
PB2 (AIN0)
PB3 (AIN1)
PB4 (SS)
PB5 (MOSI)
PB6 (MISO)
PB7 (SCK)

PA0 (ADC0)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA6 (ADC6)
PA7 (ADC7)

PD0 (RXD)
PD1 (TDX)
PD2 (INT0)
PD3 (INT1)
PD4 (OC1B)
PD5 (OC1A)
PD6 (ICP )
PD7 (OC2)

(TOSC2) PC7
(TOSC1) PC6
PC5
PC4
PC3
PC2
PC1
PC0

40
39
38
37
36
35
34
33

PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7

29
28
27
26
25
24
23
22

PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0

VCC
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7

V+
VVCC
GND

15

MAX232CPE

12
9
14
7
4
5

RXD SERIAL

X2
X1

RST

RESET

C13
1uF

X1

VCC

20pF
C2

1K

POWER
9-12VDC

C3
RXD SERIAL
PD0
RXD ISP

VCC
+ C5
10uF

S2

VCC
3

PD2

C7
+ C6
100nF 100nF

PD2
S3
PD3

1
2
3
4
5
6
7
8
9
10

VCC

2
4
6
8
10

RXD ISP
TXD ISP

RST

100nf

PD3
C4
470uF

+5V

PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7

9 6

JP1

JP2

1
2
3

1
2
3

TXD SERIAL
PD1
TXD ISP

VR1
2

1
2
3
4
5
6
7
8
9
10
P3
PORTD

VCC

1
3
5
7
9

RST

AREF
2

Vin

GND

LM7805CT

PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7

P4
ISP PROG
PB5
LED
RST
PB7
PB6

SW1

VCC

1
2
3
4
5
6
7
8
9
10

VCC

R1

20pF
D1
4002

30

AVCC

C1

VCC
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7

31

AGND

Y1
11059200
X2

U0

32 AREF

AREF

10K
1

C9
1uF

R1 OUT
R2 OUT
T1 OUT
T2 OUT
C2+
C2 -

R1 IN
R2 IN
T1 IN
T2 IN
C1+
C1 -

1
2
3
4
5
6
7
8
9
10

P1
PORTB

P2
PORTC

U2
13
8
11
10
1
3

5
9
4
8
3
7
2
6
1

TXD SERIAL

PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7

P0
PORTA

AT MEGA

IC1

PC0

PC1

PC2

PC3

PC4

PC5

L5
PC3

D1

L4
PC4

D2

L3
PC5

D3

D4

L2
PC6
PC6

PC7

2
1

L1
PC7

D5

D0
D1
D2
D3
D4
D5
D6
D7

D6

D7

1
2
3
4
5
6
7
8
9

C17
100nF

POWER

R3

L10

2K2

VCC

DI-Smart AVR.16 System


1.
2.
3.
4.
5.
6.
7.
8.
9.

ATmega16A
Crystal
Reset
ISP
Power
Vref ADC
RS232
LED Array
Push Button

3
4
1
7

PORTB

2
5

DI-Smart AVR.16 System


+ DI-Smart LCD16x2 Board

Pemrograman Tampilan LCD


(Setup Wizard)
1

Pemrograman Tampilan LCD


(Hasil Setup Wizard)
lcd_init(16)
= Ada 16 kolom
yang dapat
diisi karakter.

Pemrograman Tampilan LCD


(Sintaks Program LCD)

lcd_init([char]); //Inisialisasi jumlah kolom di LCD

lcd_clear(); //Membersihkan tampilan LCD dan cursor = 0,0

lcd_putchar(A); //= lcd_putchar(0x41)

lcd_putsf([string]); //= Put String on Flash

lcd_gotoxy(0,1); //Mulai dari nol

lcd_putchar([char]); //= Put Char-Byte (0-255)

lcd_clear();

lcd_gotoxy([char], [char]); //Memposisikan cursor = x,y

lcd_init(16); //Jumlah kolom = 16

lcd_putsf(-SELAMAT DATANG-);

lcd_puts([*RAM]); //

Pemrograman Tampilan LCD


(L1=Kelap-Kelip -SELAMAT DATANG-) [1/2]

#include <mega16.h>

#include <delay.h>

#include <alcd.h>

void main(void)

// RS - PORTB Bit 0

// RD - PORTB Bit 1

// EN - PORTB Bit 2

// D4 - PORTB Bit 4

// D5 - PORTB Bit 5

// D6 - PORTB Bit 6

// D7 - PORTB Bit 7

// Characters/line: 16

lcd_init(16);

Pemrograman Tampilan LCD


(L2=Kelap-Kelip -PEJUANG BANGSA-) [2/2]

while(1)
{
lcd_putsf("-SELAMAT DATANG-");
lcd_gotoxy(0,1);
lcd_putsf("-PEJUANG BANGSA-");
delay_ms(250);
lcd_clear();
delay_ms(250);
}

Pemrograman Tampilan LCD


(Sintaks sprintf)

sprintf([char *str, char flash *fmtstr [ , arg1, arg2, ...]]);

#include <stdio.h> //Library serial dan konversi karakter

#include <alcd.h>

unsigned char cdata=0, cstr[16];

void main(void)
{
sprintf(cstr,"Nilai Data: %04d",cdata++);
lcd_puts(cstr);
}

cdata = Alamat di RAM yang dialokasikan untuk menyimpan data sementara.

cstr[16] = Alamat di RAM yang tersusun secara berurutan yang dialokasikan


sebagai hasil konversi dari sintaks sprintf.

%d = Decimal; %x = Hexadesimal; %c = Character; %s = Strings

Pemrograman Tampilan LCD


(Up-Counter di LCD) [1/2]

#include <mega16.h>

#include <delay.h>

#include <stdio.h>

#include <alcd.h>

unsigned char cdata=0, cstr[16];

void main(void)

// RS - PORTB Bit 0

// RD - PORTB Bit 1

// EN - PORTB Bit 2

// D4 - PORTB Bit 4

// D5 - PORTB Bit 5

// D6 - PORTB Bit 6

// D7 - PORTB Bit 7

// Characters/line: 16

Pemrograman Tampilan LCD


(Up-Counter di LCD) [2/2]

lcd_init(16);

while(1)
{
sprintf(cstr,"Nilai Data: %04d",cdata++);
lcd_puts(cstr);
delay_ms(250);
lcd_clear();
delay_ms(250);
}

E-BOOK DINS

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

S-ar putea să vă placă și