You are on page 1of 35

KHOA CNG NGH I NT B MN I N T CNG NGHI P

TI LI U H NG D N TH NGHI M - TH C HNH

E. H TH NG I U KHI N LCD.

A. M C CH: Th c hnh l p trnh ng d ng trn my tnh, bin d ch chng trnh, n p vo vi i u khi n v s d ng m hnh th nghi m ki m ch ng. i u khi n thi t b ngo i vi b ng cc port c a vi i u khi n. Kh o st nguyn l ho t ng v nguyn l i u khi n LCD. i u khi n hi n th cc thng tin trn mn hnh tinh th l ng LCD (chu n cng nghi p, lo i 2 hng x 16 k t ).

B. YU C U: N m v ng t p l nh c a vi i u khi n MCS-51. Bi t cch vi t cc chng trnh i u khi n LCD. N m c s v nguyn l ho t ng c a kh i LCD trn m hnh th nghi m. N m c nguyn l v k thu t i u khi n hi n th cc thng tin trn LCD. Bi t cch vi t cc chng trnh ng d ng hi n th cc d ng thng tin khc nhau trn LCD ty theo nhu c u s d ng.

Gio trnh th c hnh vi x l.

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 1: Chng trnh i u khi n LCD hi n th hai dng ch MICRO-CONTROLLER v DESIGNED BY: PQT. ng yn trn hai dng c a mn hnh LCD. 1 Trnh t ti n hnh th nghi m: 1.1 K t n i thi t b th nghi m. T t ngu n c p cho m hnh th nghi m. Dng dy bus 3 n i J63 (PORT0 / DATA) kh i vi i u khi n v i J47 (CTRL LCD) kh i LCD (ch l ta ch n i 3 bit th p c a J63 v J47 v i nhau). Dng dy bus 8 n i J64 (PORT1) kh i vi i u khi n v i J46 (DATA / CODE LCD) kh i LCD. Dng dy bus 3 n i J104 (POWER) kh i LCD v i ngu n +5V kh i ngu n.

1.2 S

nguyn l c a h th ng:
RP1
1 +5V AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7

C2
33p

X1
12MHz

C1
33p

2 3 4 5 6 7 8 9 10K P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD

+5V 19

U1
XTAL1

18

C3
10uF 9

XTAL2

RST

39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

MA C H IE U KHIE N LCD
LCD1
ALPHANUMERIC LCD 16 CHAR x 2 LINE +5V

R1
10k 29 30 31 PSEN ALE EA

VSS VDD VEE

RS RW E 4 5 6 AD0 AD1 AD2

RV1
10K

1 2 3

D0 D1 D2 D3 D4 D5 D6 D7

1 2 3 4 5 6 7 8

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

Gio trnh th c hnh vi x l.

Bin so n: Ph m Quang Tr

D0 D1 D2 D3 D4 D5 D6 D7

7 8 9 10 11 12 13 14

D0 D1 D2 D3 D4 D5 D6 D7

E. H TH NG I U KHI N LCD. Bi 1: Chng trnh i u khi n LCD hi n th hai dng ch MICRO-CONTROLLER v DESIGNED BY: PQT. ng yn trn hai dng c a mn hnh LCD. 1.3 V lu
E1

gi i thu t v vi t chng trnh i u khi n.


BEGIN LCDINIT
LCDINIT: THI T L P G I M L NH (RS) = 0 THI T L P GHI VO LCD (RW) = 0 THI T L P TRUY XU T LCD (EN) = 1 G I M LCD = 38H 8 BIT, 2 DNG, NH D NG 5x7 (DATABUS) = 38H G I CTC G I L NH RA LCD SENDCOMMAND N P GI TR T O TR 4.1ms (TH0/TL0) = -4100 = EFFCH G I CTC T O TR DELAY G I M LCD = 38H 8 BIT, 2 DNG, NH D NG 5x7 (DATABUS) = 38H G I CTC G I L NH RA LCD SENDCOMMAND N P GI TR T O TR 100us (TH0/TL0) = -100 = FF9CH G I CTC T O TR DELAY G I M LCD = 38H 8 BIT, 2 DNG, NH D NG 5x7 (DATABUS) = 38H G I CTC G I L NH RA LCD SENDCOMMAND G I M LCD = 0CH B T HI N TH , T T CON TR , T T NH P NHY CON TR (DATABUS) = 0CH G I CTC G I L NH RA LCD SENDCOMMAND G I M LCD = 01H XA HI N TH (DATABUS) = 01H G I CTC G I L NH RA LCD SENDCOMMAND T TNG G I M LCD = 06H A CH HI N TH , T T D CH CHUY N HI N TH (DATABUS) = 06H G I CTC G I L NH RA LCD SENDCOMMAND

SENDCOMMAND
SENDCOMMAND: THI T L P G I M L NH (RS) = 0

SENDDATA
SENDDATA: THI T L P G I D (RS) = 1 NOP PULSE_EN: THI T L P GHI VO LCD (RW) = 0 LI U

MAIN: G I CTC KH I NG LCD LCDINIT G I CTC HI N TH DNG 1 DISP_FLINE G I CTC HI N TH DNG 2 DISP_SLINE

END DELAY DELAY:


KH I NG TIMER (TIMER 0, MODE 1) (TMOD) = 01H CHO TIMER HO T (TR0) = 1 NG

T O XUNG TRUY XU T LCD (EN = 1 (EN) = 0 NOP A LCD V TR NG THI HO T NG BNH TH NG (EN) = 1 NOP C U HNH PORT NH P (DATABUS) = FFH THI T L P CT (RW) = 1 LCD

CHA

TH I GIAN (TF0) = 0

S D NG TIMER (TR0) = 0 XA C TRN TIMER (TF0) = 0

THI T L P C M L NH (RS) = 0 T O XUNG TRUY XU T LCD (EN = 1 (EN) = 0 NOP A LCD V TR NG THI HO T NG BNH TH NG (EN) = 1 NOP BUSY: C M L NH T LCD (A) = (DATABUS) BO B N (ACC.7) = 1 BUSY2: S C M L NH T LCD (A) = (DATABUS) BO B N (ACC.7) = 1 S THI T L P GHI VO LCD (RW) = 0 )

RET

RET DISP_SLINE
DISP_SLINE: T DDRAM G I M LCD = C0H A CH B T U C A DNG 2: 40H (DATABUS) = C0H

DISP_FLINE
DISP_FLINE: T DDRAM G I M LCD = 80H A CH B T U C A DNG 1: 00H (DATABUS) = 80H

RET

G I CTC G I L NH RA LCD SENDCOMMAND N P A CH VNG NH CH A D LI U C A DNG 1 (DPTR) = FLINE_DATA G I CTC G I VNG D LI U SANG LCD WRITE

G I CTC G I L NH RA LCD SENDCOMMAND N P A CH VNG NH CH A D LI U C A DNG 2 (DPTR) = SLINE_DATA G I CTC G I VNG D LI U SANG LCD WRITE

RET
VNG D LI U SLINE_DATA DESIGNED BY: PQT,99H

RET
VNG D LI U FLINE_DATA MICRO-CONTROLLER,99H T

BEGIN
WRITE: A CH OFFSET D U TIN (A) = 0 L Y D LI U (A) = (@A+DPTR) WRITE_CONT:
CHA H T D LI U (A) 99H

XU T D LI U RA PORT (DATABUS) = (A) G I CTC G I D LI U RA LCD SENDDATA TNG A CH VNG D LI U (DPTR) = (DPTR) + 1

RET

Gio trnh th c hnh vi x l.

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 1: Chng trnh i u khi n LCD hi n th hai dng ch MICRO-CONTROLLER v DESIGNED BY: PQT. ng yn trn hai dng c a mn hnh LCD.
;*************************************************** ;CHUONG TRINH DIEU KHIEN LCD HIEN THI 2 DONG CHU DUNG YEN ;*************************************************** ;RS -> P0.0, RW -> P0.1, E -> P0.2 ;DATA BUS -> PORT 1 ;*************************************************** EN BIT P0.2 BIT P0.1 RW RS BIT P0.0 EQU P1 DATABUS ;*************************************************** ORG 00H MAIN: ACALL LCDINIT ;KHOI TAO LCD MP1: ACALL DISP_FLINE ;HIEN THI DONG 1 ACALL DISP_SLINE ;HIEN THI DONG 2 SJMP $ ;*************************************************** LCDINIT: ;CTC KHOI TAO LCD CLR RS ;RS = 0 - GUI LENH CLR RW ;RW = 0 - WRITE LCD MODE SETB EN ;E = 1 - ENABLE MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV TH0,#HIGH(-4100) MOV TL0,#LOW(-4100) ACALL DELAY ;DELAY 4.1MS MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV TH0,#HIGH(-100) MOV TL0,#LOW(-100) ACALL DELAY ;DELAY 100US MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#0CH ;CODE = 0CH - CHO PHEP LCD HIEN THI ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#01H ;CODE = 01H - XOA LCD ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#06H ;CODE = 06H - TU TANG DIA CHI HIEN THI, TAT DICH CHUYEN HIEN THI ACALL SENDCOMMAND ;GUI LENH RA LCD RET ;*************************************************** SENDCOMMAND: ;CTC GUI LENH (SENDCOMMAND) VA GUI DU LIEU (SENDDATA) RA LCD CLR RS ;RS = 0 - GUI LENH SJMP PULSE_EN SENDDATA: SETB RS ;RS = 1 - GUI DU LIEU NOP PULSE_EN: ;TAO XUNG ENABLE DE CHUYEN THONG TIN (COMMAND/DATA) VAO LCD CLR RW ;RW = 0 - WRITE LCD MODE CLR EN ;EN = 0 NOP SETB EN ;EN = 1 - XUNG ENABLE NOP ;KIEM TRA CO BAO BAN (BUSY FLAG) DE DAM BAO HOAN TAT VIEC LCD GHI NHAN THONG TIN GUI DEN ;************************************************************* ;MOV TH0,#HIGH(-2000) ;LENH NAY DUOC THAY THE CHO DOAN MA KIEM TRA DUOI DAY KHI ;MOV TL0,#LOW(-2000) ;CHAY CHUONG TRINH NAY TRONG PHAN MEM MO PHONG TOPVIEW ;ACALL DELAY ;************************************************************* MOV DATABUS,#0FFH ;CAU HINH PORT 1 CHO CHE DO PORT NHAP SETB RW ;RW = 1 - READ LCD MODE CLR RS ;RS = 0 - GUI LENH CLR EN ;EN = 0 NOP SETB EN ;EN = 1 - XUNG ENABLE NOP BUSY: ;BUSY = 0 -> HOAN TAT, BUSY = 1 -> DANG THUC HIEN

Gio trnh th c hnh vi x l.

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 1: Chng trnh i u khi n LCD hi n th hai dng ch MICRO-CONTROLLER v DESIGNED BY: PQT. ng yn trn hai dng c a mn hnh LCD.
A,DATABUS ;DOC DU LIEU TU LCD ACC.7,BUSY ;KIEM TRA CO BUSY BUSY2: ;KIEM TRA CO BAO BAN (BUSY FLAG) LAN THU HAI MOV A,DATABUS ;DOC DU LIEU TU LCD JB ACC.7,BUSY2 ;KIEM TRA CO BUSY LAN 2 CLR RW ;RW = 0 - WRITE LCD MODE (THOAT CHE DO READ, TRO VE CHE DO WRITE) ;************************************************************* RET ;*************************************************** DISP_FLINE: ;CTC DAT DIA CHI BAT DAU DONG 1 VA NAP DU LIEU DONG 1 VAO DDRAM MOV DATABUS,#80H ;CODE = 80H - DAT DDRAM DIA CHI BAT DAU CUA DONG 1 - 00H ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DPTR,#FLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 1 CUA LCD ACALL WRITE ;GUI VUNG DU LIEU SANG LCD RET ;*************************************************** DISP_SLINE: ;CTC DAT DIA CHI BAT DAU DONG 2 VA NAP DU LIEU DONG 2 VAO DDRAM MOV DATABUS,#0C0H ;CODE = C0H - DAT DDRAM DIA CHI BAT DAU CUA DONG 2 - 40H ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DPTR,#SLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 2 CUA LCD ACALL WRITE ;GUI VUNG DU LIEU SANG LCD RET ;*************************************************** WRITE: ;CTC GUI DU LIEU SANG LCD, KET THUC GUI DU LIEU KHI DU LIEU GUI DI LA 99H MOV A,#0 ;OFFSET DAU TIEN TRONG VUNG DU LIEU CUA DPTR MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG DU LIEU CJNE A,#99H,WRITE_CONT ;KIEM TRA LAY HET DU LIEU TRONG VUNG DU LIEU - KET THUC LA 99H RET ;KHONG PHAI LA DU LIEU KET THUC - CHUA LAY HET DU LIEU WRITE_CONT: MOV DATABUS,A ;CHUYEN DU LIEU CAN GUI RA PORT DEN LCD ACALL SENDDATA ;GUI DU LIEU RA LCD INC DPTR ;CHUYEN SANG DU LIEU KE TIEP SJMP WRITE ;QUAY TRO VE DE GUI DU LIEU KE TIEP ;*************************************************** DELAY: MOV TMOD,#01H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;*************************************************** FLINE_DATA: ;DU LIEU HIEN THI DONG 1 DB 'MICRO-CONTROLLER' DB 99H ;MA KET THUC DONG (TU CHON) SLINE_DATA: ;DU LIEU HIEN THI DONG 2 DB 'DESIGNED BY: PQT' DB 99H ;MA KET THUC DONG (TU CHON) END MOV JB

1.4 Lu chng trnh v bin d ch chng trnh. 1.5 Ki m tra l i v hi u ch nh l i n u c. 1.6 G n chip vi i u khi n th nghi m vo socket tng ng trn kh i n p chip v b t ngu n cho kh i n p chip ho t ng. 1.7 N p chng trnh vo vi i u khi n. 1.8 S d ng vi i u khi n v a n p g n vo socket tng ng trn kh i vi i u khi n. 1.9 B t ngu n cho m hnh th nghi m. Quan st k t qu ho t ng, n u k t qu ho t ng khng ng yu c u c a bi th ph i quay l i ki m tra vi c k t n i m ch, hi u ch nh chng trnh v lm l i cc b c t b c 3 n b c 9. 2 Bi t p: (xem thm trong ph n h ng d n v ph n bi t p c a Bi 3)

Gio trnh th c hnh vi x l.

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 2: Chng trnh i u khi n LCD hi n th hai dng ch WELLCOME TO MICROCONTROLLER SYSTEM 51 v DESIGNED BY: PQT. trn hai dng c a mn hnh LCD v i yu c u: dng ch th nh t s d ch chuy n lin t c t ph i sang tri, dng ch th hai ng yn. 1 Trnh t ti n hnh th nghi m: 1.1 K t n i thi t b th nghi m. Qu trnh k t n i thi t b th nghi m tng t nh Bi 1. 1.2 S nguyn l c a h th ng: S nguyn l c a h th ng tng t nh Bi 1. 1.3 V lu gi i thu t v vi t chng trnh i u khi n.

;*************************************************** ;CHUONG TRINH DIEU KHIEN LCD HIEN THI DONG CHU 1 DICH CHUYEN, DONG CHU 2 DUNG YEN ;*************************************************** ;RS -> P0.0, RW -> P0.1, E -> P0.2 ;DATA BUS -> PORT 1 ;*************************************************** EN BIT P0.2 RW BIT P0.1 BIT P0.0 RS DATABUS EQU P1 ;*************************************************** ORG 00H MAIN: ACALL LCDINIT ;KHOI TAO LCD ACALL DISP_SLINE ;HIEN THI DONG 2

Gio trnh th c hnh vi x l.

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 2: Chng trnh i u khi n LCD hi n th hai dng ch WELLCOME TO MICROCONTROLLER SYSTEM 51 v DESIGNED BY: PQT. trn hai dng c a mn hnh LCD v i yu c u: dng ch th nh t s d ch chuy n lin t c t ph i sang tri, dng ch th hai ng yn.
MP1: MOV SHIFT: ACALL DISP_FLINE MOV R1,#50 DEL500: MOV TH0,#HIGH(-10000) MOV TL0,#LOW(-10000) ACALL DELAY DJNZ R1,DEL500 ;THOI GIAN DUNG YEN CUA MOT TRANG THAI MAN HINH LCD INC DPTR ;TANG GIA TRI DPTR DE DICH CHUYEN DONG CHU MOV A,DPL ;KIEM TRA DA DICH XONG DONG CHU RA MAN HINH LCD CJNE A,#LOW(FLINE_DATA+55),SHIFT MOV A,DPH CJNE A,#HIGH(FLINE_DATA+55),SHIFT SJMP MP1 ;*************************************************** LCDINIT: ;CTC KHOI TAO LCD CLR RS ;RS = 0 - GUI LENH CLR RW ;RW = 0 - WRITE LCD MODE SETB EN ;E = 1 - ENABLE MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV TH0,#HIGH(-4100) MOV TL0,#LOW(-4100) ACALL DELAY ;DELAY 4.1MS MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV TH0,#HIGH(-100) MOV TL0,#LOW(-100) ACALL DELAY ;DELAY 100US MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#0CH ;CODE = 0CH - CHO PHEP LCD HIEN THI ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#01H ;CODE = 01H - XOA LCD ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#06H ;CODE = 06H - TU TANG DIA CHI HIEN THI, TAT DICH CHUYEN HIEN THI ACALL SENDCOMMAND ;GUI LENH RA LCD RET ;*************************************************** SENDCOMMAND: ;CTC GUI LENH (SENDCOMMAND) VA GUI DU LIEU (SENDDATA) RA LCD CLR RS ;RS = 0 - GUI LENH SJMP PULSE_EN SENDDATA: SETB RS ;RS = 1 - GUI DU LIEU NOP PULSE_EN: ;TAO XUNG ENABLE DE CHUYEN THONG TIN (COMMAND/DATA) VAO LCD CLR RW ;RW = 0 - WRITE LCD MODE CLR EN ;EN = 0 NOP SETB EN ;EN = 1 - XUNG ENABLE NOP ;KIEM TRA CO BAO BAN (BUSY FLAG) DE DAM BAO HOAN TAT VIEC LCD GHI NHAN THONG TIN GUI DEN ;************************************************************* ;MOV TH0,#HIGH(-1000) ;LENH NAY DUOC THAY THE CHO DOAN MA KIEM TRA DUOI DAY KHI ;MOV TL0,#LOW(-1000) ;CHAY CHUONG TRINH NAY TRONG PHAN MEM MO PHONG TOPVIEW ;ACALL DELAY ;************************************************************* MOV DATABUS,#0FFH ;CAU HINH PORT 1 CHO CHE DO PORT NHAP SETB RW ;RW = 1 - READ LCD MODE CLR RS ;RS = 0 - GUI LENH CLR EN ;EN = 0 NOP SETB EN ;EN = 1 - XUNG ENABLE NOP BUSY: ;BUSY = 0 -> HOAN TAT, BUSY = 1 -> DANG THUC HIEN ;HIEN THI DONG 1 ;DELAY 500MS ;XU LY DICH CHUYEN DU LIEU HIEN THI CHO DONG 1 DPTR,#FLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 1 CUA LCD

Gio trnh th c hnh vi x l.

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 2: Chng trnh i u khi n LCD hi n th hai dng ch WELLCOME TO MICROCONTROLLER SYSTEM 51 v DESIGNED BY: PQT. trn hai dng c a mn hnh LCD v i yu c u: dng ch th nh t s d ch chuy n lin t c t ph i sang tri, dng ch th hai ng yn.
A,DATABUS ;DOC DU LIEU TU LCD ACC.7,BUSY ;KIEM TRA CO BUSY BUSY2: ;KIEM TRA CO BAO BAN (BUSY FLAG) LAN THU HAI MOV A,DATABUS ;DOC DU LIEU TU LCD JB ACC.7,BUSY2 ;KIEM TRA CO BUSY LAN 2 CLR RW ;RW = 0 - WRITE LCD MODE (THOAT CHE DO READ, TRO VE CHE DO WRITE) ;************************************************************* RET ;*************************************************** DISP_FLINE: ;CTC DAT DIA CHI BAT DAU DONG 1 VA NAP DU LIEU DONG 1 VAO DDRAM MOV DATABUS,#80H ;CODE = 80H - DAT DDRAM DIA CHI BAT DAU CUA DONG 1 - 00H ACALL SENDCOMMAND ;GUI LENH RA LCD ACALL WRITE ;GUI VUNG DU LIEU SANG LCD RET ;*************************************************** DISP_SLINE: ;CTC DAT DIA CHI BAT DAU DONG 2 VA NAP DU LIEU DONG 2 VAO DDRAM MOV DATABUS,#0C0H ;CODE = C0H - DAT DDRAM DIA CHI BAT DAU CUA DONG 2 - 40H ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DPTR,#SLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 2 CUA LCD ACALL WRITE ;GUI VUNG DU LIEU SANG LCD RET ;*************************************************** WRITE: ;CTC GUI DU LIEU SANG LCD, KET THUC GUI DU LIEU KHI DU LIEU GUI DI LA 99H MOV R0,#0 ;OFFSET DAU TIEN TRONG VUNG DU LIEU CUA DPTR WR1: MOV A,R0 ;NAP OFFSET MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG DU LIEU MOV DATABUS,A ;CHUYEN DU LIEU CAN GUI RA PORT DEN LCD ACALL SENDDATA ;GUI DU LIEU RA LCD INC R0 ;CHUYEN SANG DU LIEU KE TIEP CJNE R0,#16,WR1 ;KIEM TRA NAP DAY DU DU LIEU CHO MOT DONG MAN HINH - 16 CHU RET ;*************************************************** DELAY: MOV TMOD,#01H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;*************************************************** FLINE_DATA: ;DU LIEU HIEN THI DONG 1 DB ' ' DB 'WELLCOME TO MICROCONTROLLER SYSTEM - 51' DB ' ' SLINE_DATA: ;DU LIEU HIEN THI DONG 2 DB 'DESIGNED BY: PQT' END MOV JB

1.4 Th c hi n l n l t cc b c t 1.3 n 1.8 tng t nh bi trn. 2 Bi t p: (xem thm trong ph n h ng d n v ph n bi t p c a Bi 3)

Gio trnh th c hnh vi x l.

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. 1 Trnh t ti n hnh th nghi m: 1.1 K t n i thi t b th nghi m. T t ngu n c p cho m hnh th nghi m. Dng dy bus 3 n i J63 (PORT0 / DATA) kh i vi i u khi n v i J47 (CTRL LCD) kh i LCD (ch l ta ch n i 3 bit th p c a J63 v J47 v i nhau). Dng dy bus 8 n i J64 (PORT1) kh i vi i u khi n v i J46 (DATA / CODE LCD) kh i LCD. Dng dy bus 8 n i J66 (PORT3 / FUNCTION) kh i vi i u khi n v i J76 (MOMENTARY SW) kh i nt nh n. Dng dy hai bus 3 n i J104 (POWER) kh i LCD v J114 (POWER) kh i nt nh n v i ngu n +5V kh i ngu n.
PORT 0 PORT 1

PORT 3

40 PINS

MOMENTARY SW

POWER

PORT 2

20 PINS

1.2 S

nguyn l c a h th ng:
RP1
1 +5V

C2
33p

X1
12MHz

C1
33p

2 3 4 5 6 7 8 9 10K P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD

AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7

MA CH IE U KHIE N LCD
LCD1
ALPHANUMERIC LCD 16 CHAR x 2 LINE +5V

+5V 19

XTAL1

18

AD0 AD1 AD2

10uF 9 RST

10k

29 30 31

PSEN ALE EA

R2
10k

+5V

R1

21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

D0 D1 D2 D3 D4 D5 D6 D7

1 2 3 4 5 6 7 8

PULSE BUTTON

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

Gio trnh th c hnh vi x l.

10

Bin so n: Ph m Quang Tr

D0 D1 D2 D3 D4 D5 D6 D7

C3

XTAL2

39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7

VSS VDD VEE

U1

RS RW E

RV1
10K

1 2 3

4 5 6

7 8 9 10 11 12 13 14

D0 D1 D2 D3 D4 D5 D6 D7

PORT 3

PORT 1

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. 1.3 V lu gi i thu t v vi t chng trnh i u khi n.

;*************************************************** ;CHUONG TRINH DIEU KHIEN LCD HIEN THI DONG CHU 1 HIEN THI XUNG, DONG CHU 2 DICH CHUYEN ;*************************************************** ;RS -> P0.0, RW -> P0.1, E -> P0.2 ;DATA BUS -> PORT 1 ;MOMENTARY SW -> PORT 3 (P3.0 -> ACT = 0) ;*************************************************** EN BIT P0.2 RW BIT P0.1 RS BIT P0.0 DATABUS EQU P1 ;*************************************************** ORG 00H MAIN: ACALL LCDINIT ;KHOI TAO LCD ACALL DISP_FLINE ;HIEN THI DONG 1 MOV R7,#0 ;SO XUNG BAN DAU MP1: MOV DPTR,#SLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 2 CUA LCD SHIFT: ACALL DISP_SLINE ;HIEN THI DONG 2 ACALL DISP_PULSE ;HIEN THI SO XUNG JB P3.0,DEL500 ;TIEP TUC CHUONG TRINH KHI KHONG NHAN NUT NHAN JNB P3.0,$ ;CHO NHA NUT NHAN MOV A,R7 ;TANG GIA TRI KHI CO NHAN NUT NHAN ADD A,#1

Gio trnh th c hnh vi x l.

11

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0.
DA MOV MOV DEL500: MOV TH0,#HIGH(-5000) MOV TL0,#LOW(-5000) ACALL DELAY DJNZ R1,DEL500 ;THOI GIAN DUNG YEN CUA MOT TRANG THAI MAN HINH LCD INC DPTR ;TANG GIA TRI DPTR DE DICH CHUYEN DONG CHU MOV A,DPL ;KIEM TRA DA DICH XONG DONG CHU RA MAN HINH LCD CJNE A,#LOW(SLINE_DATA+106),SHIFT MOV A,DPH CJNE A,#HIGH(SLINE_DATA+106),SHIFT SJMP MP1 ;*************************************************** LCDINIT: ;CTC KHOI TAO LCD CLR RS ;RS = 0 - GUI LENH CLR RW ;RW = 0 - WRITE LCD MODE SETB EN ;E = 1 - ENABLE MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV TH0,#HIGH(-4100) MOV TL0,#LOW(-4100) ACALL DELAY ;DELAY 4.1MS MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV TH0,#HIGH(-100) MOV TL0,#LOW(-100) ACALL DELAY ;DELAY 100US MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#0CH ;CODE = 0CH - CHO PHEP LCD HIEN THI ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#01H ;CODE = 01H - XOA LCD ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#06H ;CODE = 06H - TU TANG DIA CHI HIEN THI, TAT DICH CHUYEN HIEN THI ACALL SENDCOMMAND ;GUI LENH RA LCD RET ;*************************************************** SENDCOMMAND: ;CTC GUI LENH (SENDCOMMAND) VA GUI DU LIEU (SENDDATA) RA LCD CLR RS ;RS = 0 - GUI LENH SJMP PULSE_EN SENDDATA: SETB RS ;RS = 1 - GUI DU LIEU NOP PULSE_EN: ;TAO XUNG ENABLE DE CHUYEN THONG TIN (COMMAND/DATA) VAO LCD CLR RW ;RW = 0 - WRITE LCD MODE CLR EN ;EN = 0 NOP SETB EN ;EN = 1 - XUNG ENABLE NOP ;KIEM TRA CO BAO BAN (BUSY FLAG) DE DAM BAO HOAN TAT VIEC LCD GHI NHAN THONG TIN GUI DEN ;************************************************************* ;MOV TH0,#HIGH(-1000) ;LENH NAY DUOC THAY THE CHO DOAN MA KIEM TRA DUOI DAY KHI ;MOV TL0,#LOW(-1000) ;CHAY CHUONG TRINH NAY TRONG PHAN MEM MO PHONG TOPVIEW ;ACALL DELAY ;************************************************************* MOV DATABUS,#0FFH ;CAU HINH PORT 1 CHO CHE DO PORT NHAP SETB RW ;RW = 1 - READ LCD MODE CLR RS ;RS = 0 - GUI LENH CLR EN ;EN = 0 NOP SETB EN ;EN = 1 - XUNG ENABLE NOP BUSY: ;BUSY = 0 -> HOAN TAT, BUSY = 1 -> DANG THUC HIEN A R7,A R1,#100

;DELAY 500MS

Gio trnh th c hnh vi x l.

12

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0.
A,DATABUS ;DOC DU LIEU TU LCD ACC.7,BUSY ;KIEM TRA CO BUSY BUSY2: ;KIEM TRA CO BAO BAN (BUSY FLAG) LAN THU HAI MOV A,DATABUS ;DOC DU LIEU TU LCD JB ACC.7,BUSY2 ;KIEM TRA CO BUSY LAN 2 CLR RW ;RW = 0 - WRITE LCD MODE (THOAT CHE DO READ, TRO VE CHE DO WRITE) ;************************************************************* RET ;*************************************************** DISP_FLINE: ;CTC DAT DIA CHI BAT DAU DONG 1 VA NAP DU LIEU DONG 1 VAO DDRAM MOV DATABUS,#80H ;CODE = 80H - DAT DDRAM DIA CHI BAT DAU CUA DONG 1 - 00H ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DPTR,#FLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 1 CUA LCD ACALL WRITE ;GUI VUNG DU LIEU SANG LCD RET ;*************************************************** DISP_SLINE: ;CTC DAT DIA CHI BAT DAU DONG 2 VA NAP DU LIEU DONG 2 VAO DDRAM MOV DATABUS,#0C0H ;CODE = C0H - DAT DDRAM DIA CHI BAT DAU CUA DONG 2 - 40H ACALL SENDCOMMAND ;GUI LENH RA LCD ACALL WRITE ;GUI VUNG DU LIEU SANG LCD RET ;*************************************************** DISP_PULSE: ;CTC HIEN THI SO XUNG TAI CHAN P3.0 MOV DATABUS,#88H ;CODE = 88H - DAT DDRAM DIA CHI HIEN THI SO XUNG - 08H ACALL SENDCOMMAND ;GUI LENH RA LCD ACALL BCDTOASCII ;GOI CHUONG TRINH GIAI MA BCD SANG ASCII MOV DATABUS,7FH ;CHUYEN DU LIEU CAN GUI RA PORT DEN LCD (HANG CHUC) ACALL SENDDATA MOV DATABUS,7EH ;CHUYEN DU LIEU CAN GUI RA PORT DEN LCD (HANG DON VI) ACALL SENDDATA RET ;*************************************************** BCDTOASCII: ;CTC CHUYEN DOI TU SO BCD CHUA TRONG R7 (00 - 99) SANG MA ASCII (2 MA) MOV A,R7 ;LAY GIA TRI BCD (R7) CAN CHUYEN DOI ANL A,#0FH ;GIU LAI 4 BIT THAP (HANG DON VI) ADD A,#30H ;DOI SANG ASCII (ASCII = BCD + 30H) MOV 7EH,A ;CAT SO ASCII VAO VUNG NHO HANG DON VI MOV A,R7 ;LAY GIA TRI BCD (R7) CAN CHUYEN DOI ANL A,#0F0H ;GIU LAI 4 BIT CAO (HANG CHUC) SWAP A ADD A,#30H ;DOI SANG ASCII (ASCII = BCD + 30H) MOV 7FH,A ;CAT SO ASCII VAO VUNG NHO HANG CHUC RET ;*************************************************** WRITE: ;CTC GUI DU LIEU SANG LCD, KET THUC GUI DU LIEU KHI DU LIEU GUI DI LA 99H MOV R0,#0 ;OFFSET DAU TIEN TRONG VUNG DU LIEU CUA DPTR WR1: MOV A,R0 ;NAP OFFSET MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG DU LIEU MOV DATABUS,A ;CHUYEN DU LIEU CAN GUI RA PORT DEN LCD ACALL SENDDATA ;GUI DU LIEU RA LCD INC R0 ;CHUYEN SANG DU LIEU KE TIEP CJNE R0,#16,WR1 ;KIEM TRA NAP DAY DU DU LIEU CHO MOT DONG MAN HINH - 16 CHU RET ;*************************************************** DELAY: ;CTC DELAY CO KET HOP KIEM TRA NUT NHAN P3.0 MOV TMOD,#01H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;*************************************************** FLINE_DATA: ;DU LIEU HIEN THI DONG 1 DB 'PULSE = ' MOV JB

Gio trnh th c hnh vi x l.

13

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0.
SLINE_DATA: DB DB DB DB DB END ;DU LIEU HIEN THI DONG 2 ' ' 'DESIGNED BY PHAM QUANG TRI' ' - ELECTRIC TRAINING CENTER - ' 'HO CHI MINH UNIVERSITY OF INDUSTRY' ' '

1.4 Th c hi n l n l t cc b c t 1.3 2

n 1.8 tng t nh bi trn.

Bi t p: Bi 1: Hy vi t chng trnh i u khi n LCD hi n th hai dng ch KHOA CONG NGHE v DIEN TU ng yn trn hai dng c a mn hnh LCD. Bi 2: Hy vi t chng trnh i u khi n LCD hi n th hai dng ch KHOA CONG NGHE DIEN TU BO MON DIEN TU CONG NGHIEP v DH CONG NGHIEP trn hai dng c a mn hnh LCD v i yu c u: dng ch th nh t d ch chuy n lin t c t ph i sang tri, dng ch th hai ng yn. Bi 3: Hy vi t chng trnh i u khi n LCD hi n th hai dng ch TRUONG DAI HOC CONG NGHIEP THANH PHO HO CHI MINH v KHOA CONG NGHE DIEN TU BO MON DIEN TU CONG NGHIEP trn hai dng c a mn hnh LCD v i yu c u: hai dng ch ng th i d ch chuy n lin t c t ph i sang tri. Bi 4: Hy vi t chng trnh i u khi n LCD hi n th m t s k t a mn hnh LCD. Bi 5: Hy vi t chng trnh i u khi n LCD hi n th m t s k t c bi t nh: c bi t nh:

trn hai dng c

trn hai dng c a mn hnh LCD. Bi 6: Hy vi t chng trnh i u khi n LCD hi n th hai dng ch HO CHI MINH UNIVERSITY OF INDUSTRY ELECTRONIC TRAINNING CENTER v IN 1 = IN 2 = trn hai dng c a mn hnh LCD v i yu c u: dng ch th nh t s d ch chuy n t ph i sang tri, s l ng xung m c t i chn P3.0 (IN 1) v chn P3.1 (IN 2) s c hi n th trn dng th nh t ti p pha sau dng ch UP = DOWN= . Xung c t o ra b ng cch nh n nt nh n KEY0. Bi 7: Hy vi t chng trnh i u khi n LCD hi n th hai dng ch ti ng Vi t c d u (t ch n n i dung hi n th ) trn hai dng c a mn hnh LCD. Bi 8: Sinh vin t mnh suy ngh v pht tri n thm chng trnh.

Gio trnh th c hnh vi x l.

14

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. 3 H ng d n: 3.1 Gi i thi u LCD (Liquid Crystal Display):

Trong cc v d c a ph n ny, m t m t k thu t n gi n hi n th cc k t m c nh c a nh s n xu t t b pht k t n i v cc k t c ng i s d ng thi t k trn m t modul LCD k t . Modul LCD c k t n i v i vi i u khi n thng qua cc port xu t nh p. Modul LCD cng c th c k t n i tr c ti p v i bus d li u k t h p v i m ch gi i m a ch . Cc modul LCD ny c thi t k chuyn bi t s d ng v i cc lo i vi i u khi n khc nhau. i u ny c ngha l n khng th c kch ho t b i cc m ch IC n gi n. Modul LCD trnh by y c s d ng hi n th cc thng tin n gi n (d i d ng cc k t ). Ki u modul LCD c trnh by y, trong th c t c s d ng r t nhi u do c c u trc n gi n, d s d ng v gi thnh th p. Modul LCD c thi t k trn c s vi i u khi n HD44780 (Hitachi) v c th hi n th thng tin trn 2 dng, m i dng c 16 k t . N c th hi n th t t c cc ch trong b ng ch ci, ch Hy L p, cc d u ch m cu, cc k hi u ton h c,. Thm vo , modul LCD ny c th hi n th c cc k hi u do ng i s d ng thi t k ra. Ngoi ra cn c m t s c trng h u d ng khc nh t ng d ch chuy n thng tin hi n th (d ch tri v d ch ph i), hi n th con tr , n n n, Qui trnh hi n th thng tin trn modul LCD ny c chia ra lm 3 b c. B c 1: Modul LCD ph i c kh i ng. Thao tc ny s thi t l p cc thng s ho t ng cho chip i u khi n c tch h p s n trn modul LCD. B c 2: Cc k t do ng i s d ng thi t k s c t i vo trong CGRAM. Thao tc ny cho php hi n th thm 8 k t ng i dng vo t ng s 192 k t c lu tr m c nh trn modul. B c 3: N i dung c a thng tin bao g m cc k t ASCII chu n v cc k t do ng i s d ng thi t k c hi n th trn modul. 3.2 Ch c nng cc chn c a LCD HD44780: Modul LCD c cc chn c b tr thnh m t hng ngang trn m t bo m ch nh , c dng k t n i v i vi i u khi n. C t t c l 14 chn c nh s th t (s l 16 chn trong tr ng h p n n n c tch h p). Ch c nng c a cc chn ny c m t trong b ng d i y. Do ngy nay, cc modul LCD c s n xu t b i cc hng khc nhau ho c xu t x t cc qu c gia khc nhau. Cho nn thng s k thu t v cch b tr th t cc chn trn modul LCD s c nhi u i m khng ng nh t so v i modul LCD (chu n) c trnh by y. Cho nn, khi s d ng cc modul LCD ta c n ph i lu r ng lun lun ki m tra l i b ng thng s k thu t (datasheet) c cung c p b i nh s n xu t km theo t ng lo i LCD. Ph i ch ki m tra l i v tr chn s 1 trn modul so v i b ng thng s k thu t. Vi c s d ng modul LCD khng ng thng s k thu t ho c k t n i sai v tr chn c th d n n vi c lm cho LCD khng ho t ng nh mong mu n ho c b h h ng, khng th ph c h i l i c. B ng m t ch c nng cc chn c a cc modul LCD k t (chu n cng nghi p) S chn 1 2 3 Tn Vss Vdd Vee Ch c nng Ngu n cung c p cho LCD Ngu n cung c p cho LCD Ch nh tng ph n 15 M c logic I/O M t GND +5V 0 - Vdd Bin so n: Ph m Quang Tr

Gio trnh th c hnh vi x l.

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. 0 4 RS 1 I I D0 D7 ng vai tr l ng vo l nh. D0 D7 ng vai tr l ng vo d li u. Ghi thng tin (t b i u khi n n LCD) c thng tin (t LCD b i u khi n) C m truy xu t LCD LCD ho t ng bnh th ng n

0 5 R/W i u khi n ho t ng c a LCD 1 0 1 6 E T 1 xu ng 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 -

I I I I I/O I/O I/O I/O I/O I/O I/O I/O -

Cc d li u/L nh c truy n t i LCD Bit 0 LSB Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 MSB V(+) 0V

7 8 9 10 11 12 13 14 15 16

D0 D1 D2 D3 D4 D5 D6 D7 A K

D li u / L nh

Ngu n cung c p cho LED n n Ngu n cung c p cho LED n n

3.3 Mn hnh c a LCD HD44780: Mn hnh LCD c 2 dng, trn m i dng c kh nng hi n th 16 k t . M i k t l m t ma tr n i m (dot matrix) c kch th c 5 x 8 ho c 5 x 11. y ch trnh by k t c kch th c 5 x 8 b i v trn th c t n th ng c s d ng nhi u hn.

tng ph n trn mn hnh LCD ph thu c vo ngu n cung c p v cc thng tin c hi n th trn m t ho c hai dng. i u ch nh tng ph n ta thay i gi tr i n p (t 0V n Vdd) cung c p cho chn c k hi u l Vee. lm i u ny ta c th dng m t bi n tr i u ch nh m c i n p, xem cch m c bi n tr nh hnh bn d i. Trong m t s lo i LCD, ti n cho vi c quan st cc thng tin hi n th trn LCD c r rng, nh t l khi Gio trnh th c hnh vi x l. 16 Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. nh sng mi tr ng bn ngoi khng chi u sng, ng i ta th ng tch h p trn modul LCD m t n n n (Backlight) c mu xanh dng ho c mu xanh l cy. Trong qu trnh s d ng, ko di tu i th cho n n n c a LCD ta nn m c n i ti p v i n n n m t i n tr gi i h n dng i n qua n (tng t nh gi i h n dng qua cc LED thng th ng). Hnh d i y trnh by cch k t n i m ch khi modul LCD c s d ng n n n v cch i u ch nh tng ph n c a LCD.

Ghi ch: N u trn LCD khng c k t no c hi n th ho c t t c cc k t u b m trong qu trnh LCD ho t ng, th i u u tin ta nn lm l ki m tra l i bi n tr i u ch nh tng ph n cho ph h p. Tng t cho tr ng h p ch ho t ng b thay i (hi n th thng tin trn m t dng ho c hai dng). 3.4 B nh trong LCD HD44780: Trong modul LCD c 3 kh i b nh : DDRAM (Display Data RAM), CGRAM (Character Generator RAM) v CGRAM (Chareacter Generator ROM). 3.4.1 B nh DDRAM: B nh DDRAM c dng lu tr cc k t m n s c hi n th trn mn hnh LCD. Kch th c c a b nh ny c kh nng lu tr n 80 k t . M t ph n b nh c k t n i tr c ti p n cc k t trn mn hnh hi n th . Cc nh c a ch 00H 0FH dng lu gi thng tin hi n th hi n t i cho hng th nh t, cc nh c a ch 40H 4FH dng lu gi thng tin hi n th hi n t i cho hng th hai.

T t c cc ch c nng r t n gi n: n c kh nng thi t l p vi c hi n th sao cho cc a ch c tng ln m t cch t ng (d ch ph i). Ti p theo, n s t gi tr a ch b t u cho thng tin c n c hi n th (v d 00H). Sau , t t c cc k t c g i thng qua cc ng D0 D7 s c hi n th nh l m t thng tin chng ta th ng th y t tri sang ph i. Trong tr ng h p ny, qu trnh hi n th b t u t k t u tin dng th nh t trn mn hnh, khi a ch l 00H. N u c nhi u hn 16 k t c g i n, t t c k t ny cng s c ghi nh l i nhng s khng c hi n th (ch hi n th c 16 k t u tin). c th nhn th y c h t cc k t Gio trnh th c hnh vi x l. 17 Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. ny, ta c n ph i s d ng l nh d ch chuy n. T hnh nh minh h a b nh DDRAM bn trn, chng ta nh n th y r ng m i th c th c nhn th y n u mn hnh LCD l m t c a s m n c di chuy n t tri sang ph i trn cc nh ch a k t . Trong th c t , i u t o ra hi u ng thng tin di chuy n trn mn hnh (t tri sang ph i ho c ng c l i). N u con tr c cho php hi n th , n s xu t hi n t i v tr ang c nh a ch . Trong tr ng h p ny, cc k t s xu t hi n t i v tr c a con tr trong khi con tr c di chuy n m t cch t ng sang v tr c nh a ch k ti p. Khi , y l m t ph n c a b nh RAM m d li u c th c ghi vo v c t . y c m t i m b t l i l cc n i dung s b m t i khi ngu n cung c p cho modul LCD b ng t.

Gio trnh th c hnh vi x l.

18

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. 3.4.2 m t B nh CGROM: c trn modul LCD khi ch m c nh. M i k t s c

M t b n v i t t c cc k t c th hi n th a ch 8 bit tng ng trong b nh CGROM.

Gio trnh th c hnh vi x l.

19

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. a ch c a cc nh trong CGROM th ph h p v i gi tr ASCII chu n c a cc k t (ch ng h n m ASCII chu n c a k t A l 41H, quan st trong b n nh bn trn th ta th y k t A cng c a ch trong CGROM l 41H, tng t cho cc k t cn l i). i u ny c ngha l n u trong m t chng trnh, gi s r ng vi i u khi n th c thi l nh xu t k t P ra port th gi tr nh phn 01010000 s xu t hi n t i port tng ng. Gi tr ny l m ASCII tng ng cho k t P. Khi , con s nh phn ny c g i t i LCD, m t k hi u c lu tr t i nh 01010000 trong CGROM s c hi n th ln mn hnh LCD. Trong tr ng h p ny th k t P s c hi n th . i u ny p d ng cho t t c cc k t c a b ng ch ci nhng khng p d ng cho cc s . N u ta quan st m t cch chi ti t b n cc k t trong b nh ny, ta c th nh n th y r ng a ch c a t t c cc con s c d ch i 48 n v khi so snh gi tr c a cc con s ny (v d a ch c a s 0 l 48, c a s 1 l 49, c a s 2 l 50,). Chnh v l do ny v hi n th m t cch chnh xc cc con s th m i con s ph i c c ng thm m t gi tr th p phn l 48 tr c khi c g i n LCD. Ghi ch: Vo th i i m khi chi c my tnh u tin c ch t o, n ch ghi nh n cc s nhng khng ghi nh n cc ch . i u ny c ngha l vi c g i b t c k t no t bn phm n PC, t PC n my in ho c t vi i u khi n n my tnh, thng qua ng dy lin k t th th t ra l g i cc con s nh phn thay cho cc k t . M t b ng m n lin k t t t c cc k hi u chu n v cc con s tng ng c a chng c g i l b ng m ASCII.

Gio trnh th c hnh vi x l.

20

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. 3.4.3 B nh CGRAM:

Bn c nh kh nng c th hi n th t t c cc k t chu n, modul LCD ny cn c th hi n th cc k hi u m ng i s d ng nh ngha cho LCD. N cho php hi n th cc ki u ch cng nh nhi u k hi u khc c nh d ng trong m t khung c kch th c 5 x 8 i m. B nh RAM (CGRAM) c kch th c 64 byte. Kch th c cc thanh ghi c a b nh ny l 8 bit, nhng ch c 5 bit th p l c s d ng. M c 1 trong m i bit c a thanh ghi t ng trng cho m t i m en, trong khi 8 thanh ghi lin ti p nhau s tng ng v i m t k t . hi u r hn v n ny ta c th quan st hnh nh c trnh by d i y v cch th c t o ra m t k hi u do ng i s d ng nh ngha:

Cc k hi u th ng c nh ngha ngay khi b t u m t chng trnh b ng cch n gi n l ghi cc gi tr 0 v 1 vo cc thanh ghi tng ng c a b nh CGRAM c c cc k hi u mong mu n. Trong b nh CGRAM, cc thanh ghi c a ch 00H 07H ch a m c a k hi u th nh t; cc thanh ghi c a ch 08H 0FH ch a m c a k hi u th hai; v cc thanh ghi c a ch 38H 3FH ch a m c a k hi u th tm. M i k hi u (trong t ng s 8 k hi u m ng i s d ng c th nh ngha c) s c nh a ch t 00H 07H tng t nh cc k t chu n trong b n CGROM c a cc k t (xem b n nh CGROM ta s nh n th y c t u tin c ab n c tr ng dng nh a ch cho cc k t c t o ra b i ng i s d ng). Gio trnh th c hnh vi x l. 21 Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. 3.5 T p l nh c a LCD HD44780: T t c cc d li u c truy n t i LCD thng qua cc ng D0 D7 s li u, i u ny ty thu c vo tr ng thi logic t vo chn RS. c coi nh l m t l nh ho c m t d

RS = 1: Cc bit D0 D7 ng vai tr l a ch c a cc k t c n c hi n th . B x l tch h p trn modul LCD s xc nh a ch trong b n cc k t tch h p s n trn chip v hi n th cc k hi u tng ng ln mn hnh LCD. V tr hi n th c xc nh b i a ch DDRAM. a ch ny ho c l c nh ngha tr c ho c l a ch c a k t truy n tr c c tng ln m t cch t ng. RS = 0: Cc bit D0 D7 ng vai tr l cc l nh c dng xc c dng nh d ng LCD c trnh by trong b ng d i y: L nh Xa hi n th . Con tr v dng. u M t l nh nh ch hi n th .Danh sch cc l nh

M Th i gian RS RW D7 D6 D5 D4 D3 D2 D1 D0 th c hi n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 * 1.64mS 1.64mS

Xa hi n th v tr con tr v v tr 0 u dng ( a ch 0). Tr con tr v v tr u dng ( a ch 0). Cc n i dung trong DDRAM 0 khng thay i.

t ch

t chi u di chuy n con tr (I/D), qui nh vi c d ch chuy n hi n th u vo. 0 (S). Cc ho t ng ny c th c hi n trong qu trnh c/ghi d li u. t b t/t t hi n th (D), b t/t t con tr (C) v nh p nhy con tr v tr 0 k t (B). t di chuy n con tr ho c d ch chuy n hi n th (S/C), chi u d ch 0 chuy n (R/L). Cc n i dung trong DDRAM khng thay i. t kch th c d li u giao ti p (DL), s l ng dng hi n th (N) v 0 ki u ch c a k t (F). t a ch CGRAM. CGRAM c g i v nh thi t l p i u ny. t a ch DDRAM. DDRAM c g i v nh thi t l p i u ny. D li u n sau khi 0 D li u n sau khi 0

1 I/D S

40uS

i u khi n b t/t t hi n th . D i con tr /hi n th .

C B

40uS

1 S/C R/L *

40uS

t ch c nng. t a ch CGRAM. t a ch DDRAM. c c bo b n (BF) v b m ch . Ghi vo CGRAM ho c DDRAM. c t CGRAM ho c DDRAM.

1 DL N

40uS

a ch CGRAM

40uS

a ch DDRAM

40uS

c c bo b n (BF) ch th ho t ng bn trong ang c th c hi n a 0 v c b m a ch CGRAM ho c DDRAM. Ghi d li u. c d li u. 1 1

1 BF

a ch CGRAM / DDRAM

0 1

D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0

40uS 40uS

B ng t p l nh c a HD44780 Gio trnh th c hnh vi x l. 22 Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. Cc k hi u bit dng trong cc l nh: Thng s thi t l p 0 I/D S D C B S/C R/L DL N F BF Gim v tr con tr Khng d ch chuy n hi n th T t hi n th T t con tr T t nh p nhy con tr Di chuy n con tr D ch sang tri Giao ti p 4 bit 1/8 ho c 1/11 chu k lm vi c (1 dng) 5x7 i m C th ch p nh n l nh (khng b n) 1 Tng v tr con tr D ch chuy n hi n th B t hi n th B t con tr B t nh p nhy con tr D ch chuy n hi n th D ch sang ph i Giao ti p 8 bit 1/16 chu k lm vi c (2 dng) 5 x 10 i m Ho t ng bn trong ang x l (b n)

Tn bit

B ng gi i thch ngha c a cc bit s d ng trong t p l nh c a HD44780 C bo b n (BF: Busy Flag) l g? So snh v i vi i u khi n th LCD ho t ng ch m hn r t nhi u l n. B i v y LCD c n ph i cing c p m t tn hi u dng ch th r ng b hi n th s n sang nh n m t d li u m i ho c m t l nh m i sau khi d li u ho c l nh tr c c th c thi xong. Tn hi u c g i l c bo b n v c th c c t bit D7. Khi bit BF c xa (BF=0), ngha l b hi n th s n sng nh n thng tin. 3.6 K t n i LCD:

Ph thu c vo s l LCD 8 bit. Ch ho t m t chng trnh v truy n thng qua cc

ng ng dy c s d ng k t n i v i vi i u khi n, c hai ch l LCD 4 bit v ng thch h p c a LCD c xc nh ngay t th i i m b t u c a qu trnh x l trong c g i l qu trnh kh i ng. Trong tr ng h p th nh t (LCD 8 bit), d li u c ng D0 D7 v v n ny c gi i thch bn trn. Trong tr ng h p ch LCD 4 23 Bin so n: Ph m Quang Tr

Gio trnh th c hnh vi x l.

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. bit, nh m m c ch ti t ki m cc chn I/O c a vi i u khi n, ch c 4 bit cao (D4 D7) c s d ng k t n i, trong khi cc bit cn l i (D0 D3) th b tr ng khng dng n. Cho nn, m i d li u (8 bit) c g i n LCD qua hai b c: 4 bit cao c g i u tin (vi c ny c g i thng qua cc ng D4 D7 m t cch bnh th ng), sau 4 bit th p s c g i ti p theo. Bn c nh , trong th c t cc d li u r t hi m khi c c v t LCD (ph n l n d li u s c truy n t vi i u khi n n LCD), cho nn ti t ki m thm m t chn I/O n a c a vi i u khi n ta c th k t n i m t cch n gi n chn R/W c a LCD xu ng GND (ngha l ch cho php ghi thng tin vo LCD). V i cch k t n i nh th ny vi i u khi n khng th ki m tra c c bo b n v lc ny khng th c c thng tin t LCD v vi i u khi n. Cho nn thng tin c th hi n th m t cch bnh th ng trn LCD, ta c n ch n gi n th i gian c a LCD l p trnh cho vi i u khi n ho t ng chnh xc. Th t may m n l vi c gi i quy t v n ny r t n gi n, ta ch c n l p trnh vi i u khi n sao cho m i l nh ho c d li u c g i t i LCD cch nhau m t kho ng th i gian ph h p v kho ng th i gian ny ph i l n hn th i gian x l l nh ho c d li u c a LCD. Xem xt b ng t p l nh trnh by bn trn, ta nh n th y r ng khi LCD x l m t l nh ch m nh t cng m t kho ng 1.64ms, nh v y c n l p trnh vi i u khi n m i l n g i thng tin n LCD cch nhau kho ng 2ms l t t nh t. 3.7 Kh i ng LCD: M i l n c p ngu n cho LCD ho t ng, LCD s b xa m t cch t ng, thao tc ny c g i l reset t ng. Thao tc ny m t kho ng 15ms. Sau , b hi n th s n sng ho t ng. Ch ho t ng c thi t l p m c nh. C ngha l: B hi n th Ch o o o : DL = 1: Truy n thng b ng giao di n 8 bit. N = 0: Thng tin c hi n th trn m t dng. F = 0: Ki u k t l 5 x 8 i m. D = 0: T t hi n th . U = 0: T t con tr . B = 0: T t nh p nhy con tr . ID = 0: Cc c xa.

B t/t t hi n th /con tr : o o o

Ng vo k t : o o a ch trn b hi n th c tng ln 1 t ng. S = 0: T t d i hi n th .

Reset t ng ph n l n c th c hi n m khng c b t k v n g. Ph n l n c th c hi n nhng khng ph i l lun lun nh v y! N u v m t l do no , ngu n cung c p khng t t i gi tr yu c u trong kho ng th i gian 10ms th b hi n th s b t u ho t ng m t cch khng n nh, cho nn v n reset t ng x y ra khi c th lm cho ch ho t ng c a LCD khng nh cc thi t l p m c nh c trnh by. N u ngu n cung c p khng g p s c nh trn nhng b hi n th ho t ng chnh xc v n nh th qui trnh kh i ng ph i t o ra c m t thao tc reset cho php b hi n th lm vi c m t cch bnh th ng. Thu t ton kh i ng LCD ph thu c vo vi c k t n i v i vi i u khi n thng qua giao ti p 4 bit ho c 8 bit.

Gio trnh th c hnh vi x l.

24

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. Tr ng h p kh i ng LCD ch 8 bit, qui trnh th c hi n nh sau:

Gio trnh th c hnh vi x l.

25

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. Tr ng h p kh i ng LCD ch 4 bit, qui trnh th c hi n nh sau:

Gio trnh th c hnh vi x l.

26

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0. 3.8 Hi n th thng tin trn mn hnh LCD: Trong v d ny minh h a cch s d ng lo i LCD thng d ng nh t hi n nay hi n th cc thng tin l lo i LCD g m c 2 dng v i 16 k t hi n th trn m i dng. V cc c ng I/O c a vi i u khi n lun lun c ngha r t quan tr ng trong vi c thi t k i u khi n, nn y p d ng phng php giao ti p 4 bit gi a LCD v vi i u khi n. phng php ny, m i byte c truy n theo hai b c: u tin 4 bit cao c truy n i sau l t i 4 bit th p. B n s th y r ng, LCD c n c kh i ng t i th i i m b t u ( chu n b cho qu trnh ho t ng). Bn c nh , cc o n chng trnh c l p i l p l i nhi u l n s c tch ring v vi t thnh cc chng trnh con ring bi t. ci nhn u tin t t c i u ny d ng nh c v r c r i khng ng ng, nhng v c b n th ton b chng trnh ho t ng r t n gi n v hi n th dng ch Micro-controller Designed by: PQT.
RP1
1

C2
33p

X1
12MHz

C1
33p

2 3 4 5 6 7 8 9 10K P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD

AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7

+5V 19

U1
XTAL1

+5V

18

C3
10uF 9

XTAL2

RST

39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

MA CH IE U KHIE N LCD
LCD1
ALPHANUMERIC LCD 16 CHAR x 2 LINE +5V

R1
10k 29 30 31 PSEN ALE EA

VSS VDD VEE

RS RW E 4 5 6 RS RW EN

RV1
10K

1 2 3

RW RS EN D4 D5 D6 D7

1 2 3 4 5 6 7 8

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

Chng trnh i u khi n c vi t nh sau:


;*************************************************** ;CHUONG TRINH DIEU KHIEN LCD, HIEN THI DONG CHU "Micro-controller Designed by: PQT". ;SU DUNG GIAO TIEP 4 BIT. CHUONG TRINH KHONG DUNG PHUONG PHAP KIEM TRA CO ;BAO TRAN (BF) MA DUNG PHUONG PHAP TAO THOI GIAN TRE GIUA HAI LENH. ;*************************************************** ;KET NOI: DATA -> PORT1 (P1.4 - P1.7) ; RD/WR -> P1.1 ; RS -> P1.2 ; ENABLE -> P1.3 ;CHE DO: GIAO TIEP 4 BIT, CAC CHAN DB4 - DB7 CUA LCD DUOC NOI VOI P1.4 - P1.7 ; CUA VI DIEU KHIEN ;CHU Y: CAN PHAI XAC DINH CAC CHAN PORT DUNG DE DIEU KHIEN LCD HOAT DONG: ; LCD_ENABLE, LCD_RD_WR, LCD_REG_SELECT VA PORT KET NOI VOI LCD. NGOAI ; RA CUNG CAN PHAI XAC DINH DIA CHI CUA KY TU DAU TIEN CHO MOI DONG. ;*************************************************** ORG 00H MAIN: MOV SP,#59H ;KHAI BAO NGAN XEP 60H - 7FH INIC: ACALL LCDINIT ;KHOI TAO LCD

Gio trnh th c hnh vi x l.

27

Bin so n: Ph m Quang Tr

D4 D5 D6 D7

7 8 9 10 11 12 13 14

D0 D1 D2 D3 D4 D5 D6 D7

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0.
START: MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV ACALL MOV A,#80H ;LENH CHO PHEP KY TU SE HIEN THI TAI VI TRI DAU TIEN CUA DONG THU NHAT ;TREN MAN HINH LCD. LCD_SEND_COMMAND ;GOI CTC DAT TRANG THAI HOAT DONG CHO LCD. A,#'M' ;HIEN THI KY TU 'M'. LCD_SEND_DATA ;GOI CTC TRUYEN KY TU CHO LCD. A,#'i' ;HIEN THI KY TU 'i'. LCD_SEND_DATA A,#'c' ;HIEN THI KY TU 'c'. LCD_SEND_DATA A,#'r' ;HIEN THI KY TU 'r'. LCD_SEND_DATA A,#'o' ;HIEN THI KY TU 'o'. LCD_SEND_DATA A,#'-' ;HIEN THI KY TU '-'. LCD_SEND_DATA A,#'c' ;HIEN THI KY TU 'c'. LCD_SEND_DATA A,#'o' ;HIEN THI KY TU 'o'. LCD_SEND_DATA A,#'n' ;HIEN THI KY TU 'n'. LCD_SEND_DATA A,#'t' ;HIEN THI KY TU 't'. LCD_SEND_DATA A,#'r' ;HIEN THI KY TU 'r'. LCD_SEND_DATA A,#'o' ;HIEN THI KY TU 'o'. LCD_SEND_DATA A,#'l' ;HIEN THI KY TU 'l'. LCD_SEND_DATA A,#'l' ;HIEN THI KY TU 'l'. LCD_SEND_DATA A,#'e' ;HIEN THI KY TU 'e'. LCD_SEND_DATA A,#'r' ;HIEN THI KY TU 'r'. LCD_SEND_DATA A,#0C0H LCD_SEND_COMMAND A,#'D' LCD_SEND_DATA A,#'e' LCD_SEND_DATA A,#'s' LCD_SEND_DATA A,#'i' LCD_SEND_DATA A,#'g' LCD_SEND_DATA A,#'n' LCD_SEND_DATA A,#'e' LCD_SEND_DATA A,#'d' LCD_SEND_DATA A,#' ' LCD_SEND_DATA A,#'b' LCD_SEND_DATA A,#'y' LCD_SEND_DATA A,#':' LCD_SEND_DATA A,#' ' ;LENH CHO PHEP KY TU SE HIEN THI TAI VI TRI DAU TIEN CUA DONG THU ;HAI TREN MAN HINH LCD. ;GOI CTC DAT TRANG THAI HOAT DONG CHO LCD. ;HIEN THI KY TU 'D'. ;HIEN THI KY TU 'e'. ;HIEN THI KY TU 's'. ;HIEN THI KY TU 'i'. ;HIEN THI KY TU 'g'. ;HIEN THI KY TU 'n'. ;HIEN THI KY TU 'e'. ;HIEN THI KY TU 'd'. ;HIEN THI KY TU ' '. ;HIEN THI KY TU 'b'. ;HIEN THI KY TU 'y'. ;HIEN THI KY TU ':'. ;HIEN THI KY TU ' '.

Gio trnh th c hnh vi x l.

28

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0.
ACALL MOV ACALL MOV ACALL MOV ACALL LCD_SEND_DATA A,#'P' LCD_SEND_DATA A,#'Q' LCD_SEND_DATA A,#'T' LCD_SEND_DATA ;HIEN THI KY TU 'P'. ;HIEN THI KY TU 'Q'. ;HIEN THI KY TU 'T'.

$ SJMP ;*************************************************** ;KHAI BAO BIEN VA THONG TIN CAU HINH. ;*************************************************** LCD_ENABLE BIT P1.3 ;BIT DIEU KHIEN CHAN ENABLE CUA LCD. LCD_RD_WR BIT P1.1 ;BIT DIEU KHIEN CHAN RW CUA LCD. LCD_REG_SELECT BIT P1.2 ;BIT DIEU KHIEN CHAN RS CUA LCD. LCD_PORT SET P1 ;PORT KET NOI VOI LCD. BUSY BIT P1.7 ;CHAN PORT SE XUAT HIEN CO BAO BAN. LCD_START_ROW1 EQU 00H ;DIA CHI CUA KY TU DAU TIEN THUOC DONG THU NHAT TREN LCD. LCD_START_ROW2 EQU 40H ;DIA CHI CUA KY TU DAU TIEN THUOC DONG THU HAI TREN LCD. LCD_DB: ;CO SO DU LIEU CUA THONG TIN CAU HINH CHO LCD. DB 00111100B ;0 - 8 BIT, 2 DONG, DINH DANG 5x7. DB 00101100B ;1 - 4 BIT, 2 DONG, DINH DANG 5x7. DB 00011000B ;2 - DICH HIEN THI/CON TRO, PHAI/TRAI. DB 00001100B ;3 - BAT HIEN THI, TAT CON TRO, TAT NHAP NHAY CON TRO. DB 00000110B ;4 - CHE DO TANG DIA CHI, TAT DICH HIEN THI. DB 00000010B ;5 - DUA HIEN THI/CON TRO VE DAU DONG. DB 00000001B ;6 - XOA HIEN THI. DB 00001000B ;7 - TAT HIEN THI, TAT CON TRO, TAT NHAP NHAY CHON TRO. ;*************************************************** LCDINIT: ;CTC KHOI DONG CAU HINH CHO LCD. MOV DPTR,#LCD_DB ;NAP DIA CHI CO SO DU LIEU (LCD_DATABASE) CHUA THONG TIN CAU HINH LCD. ;BA DOAN LENH KHOI DONG LCD HOAT DONG O CHE DO 8 BIT DUOI DAY DUOC THUC HIEN ;TAI THOI DIEM BAT DAU (DE DAM BAO CHO LCD HOAT DONG ON DINH TRONG ;TRUONG HOP KHI CUNG CAP NGUON CHO LCD MA DIEN AP NGUON TANG LEN CHAM). MOV A,#0 ;LCD_DATABASE = 0 | 8 BIT, 2/1 DONG, DINH DANG 5x10/5x7. ACALL LCDINIT_STATUS_8 ;GOI CTC GUI CAU HINH KHOI DONG LCD (KIEU LCD 8 BIT). MOV A,#0 ;LCD_DATABASE = 0 | 8 BIT, 2/1 DONG, DINH DANG 5x10/5x7. ACALL LCDINIT_STATUS_8 MOV A,#0 ;LCD_DATABASE = 0 | 8 BIT, 2/1 DONG, DINH DANG 5x10/5x7. ACALL LCDINIT_STATUS_8 ;CHUYEN DOI TU CHE DO 8 BIT SANG CHE DO 4 BIT. MOV A,#1 ;LCD_DATABASE = 1 | 4 BIT, 2/1 DONG, DINH DANG 5x10/5x7. ACALL LCDINIT_STATUS_8 ;BAT DAU TU VI TRI NAY CHUONG TRINH THUC THI O CHE DO 4 BIT. MOV A,#1 ;LCD_DATABASE = 1 | 4 BIT, 2/1 DONG, DINH DANG 5x10/5x7. ACALL LCDINIT_STATUS ;GOI CTC GUI CAU HINH KHOI DONG LCD (KIEU LCD 4 BIT). MOV A,#3 ;LCD_DATABASE = 3 | BAT HIEN THI, TAT CON TRO, TAT NHAP NHAY CON TRO. ACALL LCDINIT_STATUS MOV A,#6 ;LCD_DATABASE = 6 | XOA HIEN THI. ACALL LCDINIT_STATUS MOV A,#4 ;LCD_DATABASE = 4 | CHE DO TANG DIA CHI, TAT DICH HIEN THI. ACALL LCDINIT_STATUS RET ;*************************************************** LCDINIT_STATUS_8: ;CTC KHOI DONG LCD (KIEU LCD 8 BIT) CAN CU VAO LCD_DATABASE PUSH B MOVC A,@A+DPTR CLR LCD_REG_SELECT CLR LCD_RD_WR ;LAY GIA TRI CAU HINH KHOI DONG CHO LCD TU LCD_DATABASE. ;RS = 0 - CHON BUS LENH. ;R/W = 0 - CHON GHI DU LIEU LEN LCD.

ACALL LCD_PORT_OUT ;GOI CTC XUAT DU LIEU RA PORT VI DIEU KHIEN. MOV B,#255 ;TAO THOI GIAN TRE TRONG TRUONG HOP RESET KHONG PHU HOP

Gio trnh th c hnh vi x l.

29

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0.
DJNZ B,$ DJNZ B,$ DJNZ B,$ ;TRONG SUOT QUA TRINH KHOI DONG.

POP B RET ;*************************************************** LCDINIT_STATUS: ;CTC KHOI DONG LCD (KIEU LCD 4 BIT) CAN CU VAO LCD_DATABASE. MOVC A,@A+DPTR ;LAY GIA TRI CAU HINH KHOI DONG CHO LCD TU LCD_DATABASE. ACALL LCD_SEND_COMMAND ;GUI THONG SO CAU HINH DEN LCD DE KHOI DONG LCD. RET ;*************************************************** LCD_SEND_COMMAND: ;CTC CHUYEN LENH DIEU KHIEN LEN LCD. PUSH B CLR LCD_REG_SELECT CLR LCD_RD_WR MOV B,#255 DJNZ B,$ DJNZ B,$ DJNZ B,$ ACALL LCD_PORT_OUT SWAP A DJNZ B,$ DJNZ B,$ DJNZ B,$ ACALL LCD_PORT_OUT ;RS = 0 - CHON BUS LENH. ;R/W = 0 - CHON GHI DU LIEU LEN LCD. ;NAP GIA TRI DE TAO THOI GIAN TRE. ;TAO KHOANG THOI GIAN TRE GIUA CAC LAN GUI LENH.

;GOI CTC XUAT LENH RA PORT VI DIEU KHIEN (4 BIT CAO CUA LENH). ;HOAN DOI VI TRI 4 BIT CAO VA 4 BIT THAP TRONG ACC. ;TAO KHOANG THOI GIAN TRE GIUA CAC LAN GUI LENH.

;GOI CTC XUAT LENH RA PORT VI DIEU KHIEN (4 BIT THAP CUA LENH).

POP B RET ;*************************************************** LCD_SEND_DATA: ;CTC CHUYEN DU LIEU CAN HIEN THI LEN LCD. PUSH B SETB LCD_REG_SELECT CLR LCD_RD_WR MOV B,#255 DJNZ B,$ ACALL LCD_PORT_OUT SWAP A DJNZ B,$ ACALL LCD_PORT_OUT ;RS = 1 - CHON BUS DU LIEU. ;R/W = 0 - CHON GHI DU LIEU LEN LCD. ;NAP GIA TRI DE TAO THOI GIAN TRE. ;TAO KHOANG THOI GIAN TRE GIUA CAC LAN GUI DU LIEU. ;GOI CTC XUAT DU LIEU RA PORT VI DIEU KHIEN (4 BIT CAO CUA DU LIEU). ;HOAN DOI VI TRI 4 BIT CAO VA 4 BIT THAP TRONG ACC. ;TAO KHOANG THOI GIAN TRE GIUA CAC LAN GUI DU LIEU. ;GOI CTC XUAT DU LIEU RA PORT VI DIEU KHIEN (4 BIT THAP CUA DU LIEU).

POP B RET ;*************************************************** LCD_PORT_OUT: ;CTC CHUYEN CAC LENH HOAC DU LIEU RA PORT VI DIEU KHIEN KET NOI LCD (DANG 4 BIT). PUSH ACC PUSH B MOV B,LCD_PORT ORL B,#11110000B ;GHI NHO LAI GIA TRI HIEN TAI (4 BIT THAP - THANH GHI B) CUA PORT VI DIEU ;KHIEN ;KET NOI VOI LCD, CAC BIT NAY CHINH LA CAC TIN HIEU DIEU KHIEN LCD NHU LA:

Gio trnh th c hnh vi x l.

30

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 3: Chng trnh i u khi n LCD hi n th hai dng ch PULSE = v DESIGNED BY PHAM QUANG TRI ELECTRIC TRAINING CENTER - HO CHI MINH UNIVERSITY OF INDUSTRY trn hai dng c a mn hnh LCD v i yu c u: s l ng xung m c (00 99) t i chn P3.0 s c hi n th trn dng th nh t ti p pha sau dng ch PULSE =, dng ch th hai s d ch chuy n t ph i sang tri. Xung c t o ra b ng cch nh n nt nh n KEY0.
ORL A,#00001111B ANL A,B ;ENABLE (EN), REGISTER SELECT (RS), READ/WRITE (RD/WR). SAU DO KET HOP VOI ;GIA TRI ;CUA CAC BIT DATA (4 BIT CAO - THANH GHI A) THEO CAC LENH/DU LIEU CAN ;CHUYEN TOI LCD ;XUAT CAC LENH HOAC DU LIEU CAN HIEN THI RA PORT KET NOI VOI LCD. ;EN = 1 - TAO XUNG ENABLE (CHUYEN TRANG THAI TU CAO XUONG THAP) ;EN = 0 - TAI CHAN EN CUA LCD -> GUI LENH/DU LIEU LEN LCD.

MOV LCD_PORT,A SETB LCD_ENABLE CLR LCD_ENABLE

POP B POP ACC RET ;*************************************************** END ;KET THUC CHUONG TRINH

Gio trnh th c hnh vi x l.

31

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 4: Chng trnh i u khi n LCD hi n th dng ch > KHOA DIEN TU < v 8 k t ng i dng t o ra (k t khng c thi t k s n trn LCD) trn hai dng c a mn hnh LCD. 1 Trnh t ti n hnh th nghi m: 1.1 K t n i thi t b th nghi m. T t ngu n c p cho m hnh th nghi m. Dng dy bus 3 n i J63 (PORT0 / DATA) kh i vi i u khi n v i J47 (CTRL LCD) kh i LCD (ch l ta ch n i 3 bit th p c a J63 v J47 v i nhau). Dng dy bus 8 n i J64 (PORT1) kh i vi i u khi n v i J46 (DATA / CODE LCD) kh i LCD. Dng dy bus 3 n i J104 (POWER) kh i LCD v i ngu n +5V kh i ngu n.

1.2 S

nguyn l c a h th ng:
RP1
1 +5V AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7

C2
33p

X1
12MHz

C1
33p

2 3 4 5 6 7 8 9 10K P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD

+5V 19

U1
XTAL1

18

C3
10uF 9

XTAL2

RST

39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

MA C H IE U KHIE N LCD
LCD1
ALPHANUMERIC LCD 16 CHAR x 2 LINE +5V

R1
10k 29 30 31 PSEN ALE EA

VSS VDD VEE

RS RW E 4 5 6 AD0 AD1 AD2

RV1
10K

1 2 3

D0 D1 D2 D3 D4 D5 D6 D7

1 2 3 4 5 6 7 8

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

Gio trnh th c hnh vi x l.

32

Bin so n: Ph m Quang Tr

D0 D1 D2 D3 D4 D5 D6 D7

7 8 9 10 11 12 13 14

D0 D1 D2 D3 D4 D5 D6 D7

E. H TH NG I U KHI N LCD. Bi 4: Chng trnh i u khi n LCD hi n th dng ch > KHOA DIEN TU < v 8 k t ng i dng t o ra (k t khng c thi t k s n trn LCD) trn hai dng c a mn hnh LCD. 1.3 V lu gi i thu t v vi t chng trnh i u khi n.

;*************************************************** ;CHUONG TRINH DIEU KHIEN LCD HIEN THI 2 DONG CHU DUNG YEN ;DONG THU NHAT HIEN THI "> KHOA DIEN TU <" ;DONG THU HAI HIEN THI CAC KY TU DO NGUOI SU DUNG TAO RA (8 KY TU) ;*************************************************** ;RS -> P0.0, RW -> P0.1, E -> P0.2 ;DATA BUS -> PORT 1 ;*************************************************** EN BIT P0.2 RW BIT P0.1 RS BIT P0.0 DATABUS EQU P1 ;*************************************************** ORG 00H MAIN: ACALL LCDINIT ;KHOI TAO LCD ACALL CGRAM ;DINH NGHIA (THIET KE) CAC KIEU KY TU NGUOI DUNG ACALL DISP_FLINE ;HIEN THI DONG 1 ACALL DISP_SLINE ;HIEN THI DONG 2 SJMP $ ;*************************************************** LCDINIT: ;CTC KHOI TAO LCD CLR RS ;RS = 0 - GUI LENH CLR RW ;RW = 0 - WRITE LCD MODE SETB EN ;E = 1 - ENABLE MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV TH0,#HIGH(-4100)

Gio trnh th c hnh vi x l.

33

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 4: Chng trnh i u khi n LCD hi n th dng ch > KHOA DIEN TU < v 8 k t ng i dng t o ra (k t khng c thi t k s n trn LCD) trn hai dng c a mn hnh LCD.
MOV TL0,#LOW(-4100) ACALL DELAY ;DELAY 4.1MS MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV TH0,#HIGH(-100) MOV TL0,#LOW(-100) ACALL DELAY ;DELAY 100US MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7 ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#0CH ;CODE = 0CH - CHO PHEP LCD HIEN THI ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#01H ;CODE = 01H - XOA LCD ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DATABUS,#06H ;CODE = 06H - TU TANG DIA CHI HIEN THI, TAT DICH CHUYEN HIEN THI ACALL SENDCOMMAND ;GUI LENH RA LCD RET ;*************************************************** SENDCOMMAND: ;CTC GUI LENH (SENDCOMMAND) VA GUI DU LIEU (SENDDATA) RA LCD CLR RS ;RS = 0 - GUI LENH SJMP PULSE_EN SENDDATA: SETB RS ;RS = 1 - GUI DU LIEU NOP PULSE_EN: ;TAO XUNG ENABLE DE CHUYEN THONG TIN (COMMAND/DATA) VAO LCD CLR RW ;RW = 0 - WRITE LCD MODE CLR EN ;EN = 0 NOP SETB EN ;EN = 1 - XUNG ENABLE NOP ;KIEM TRA CO BAO BAN (BUSY FLAG) DE DAM BAO HOAN TAT VIEC LCD GHI NHAN THONG TIN GUI DEN ;************************************************************* ;MOV TH0,#HIGH(-1000) ;DOAN LENH NAY DUOC THAY THE CHO DOAN LENH KIEM TRA DUOI DAY ;MOV TL0,#LOW(-1000) ;KHI CHAY CHUONG TRINH NAY TRONG PHAN MEM MO PHONG TOPVIEW ;ACALL DELAY ;************************************************************* MOV DATABUS,#0FFH ;CAU HINH PORT 1 CHO CHE DO PORT NHAP SETB RW ;RW = 1 - READ LCD MODE CLR RS ;RS = 0 - GUI LENH CLR EN ;EN = 0 NOP SETB EN ;EN = 1 - XUNG ENABLE NOP BUSY: ;BUSY = 0 -> HOAN TAT, BUSY = 1 -> DANG THUC HIEN MOV A,DATABUS ;DOC DU LIEU TU LCD JB ACC.7,BUSY ;KIEM TRA CO BUSY BUSY2: ;KIEM TRA CO BAO BAN (BUSY FLAG) LAN THU HAI MOV A,DATABUS ;DOC DU LIEU TU LCD JB ACC.7,BUSY2 ;KIEM TRA CO BUSY LAN 2 CLR RW ;RW = 0 - WRITE LCD MODE ;************************************************************* RET ;*************************************************** CGRAM: ;CTC DAT DIA CHI BAT DAU CUA BO NHO CGRAM (VUNG NHO CHUA CAC KY TU DO NGUOI SU DUNG TAO RA). MOV DATABUS,#40H ;CODE = 40H - DAT CGRAM CO DIA CHI BAT DAU LA 00H ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DPTR,#CGRAM_DATA ;NAP DIA CHI VUNG DU LIEU CUA CAC KY TU DO NGUOI DUNG THIET KE RA. ACALL WRITE ;GUI VUNG DU LIEU SANG LCD RET ;*************************************************** DISP_FLINE: ;CTC DAT DIA CHI BAT DAU DONG 1 VA NAP DU LIEU DONG 1 VAO DDRAM MOV DATABUS,#80H ;CODE = 80H - DAT DDRAM DIA CHI BAT DAU CUA DONG 1 - 00H ACALL SENDCOMMAND ;GUI LENH RA LCD MOV DPTR,#FLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 1 CUA LCD ACALL WRITE ;GUI VUNG DU LIEU SANG LCD RET ;*************************************************** DISP_SLINE: ;CTC DAT DIA CHI BAT DAU DONG 2 VA NAP DU LIEU DONG 2 VAO DDRAM MOV DATABUS,#0C0H ;CODE = C0H - DAT DDRAM DIA CHI BAT DAU CUA DONG 2 - 40H ACALL SENDCOMMAND ;GUI LENH RA LCD

Gio trnh th c hnh vi x l.

34

Bin so n: Ph m Quang Tr

E. H TH NG I U KHI N LCD. Bi 4: Chng trnh i u khi n LCD hi n th dng ch > KHOA DIEN TU < v 8 k t ng i dng t o ra (k t khng c thi t k s n trn LCD) trn hai dng c a mn hnh LCD.
MOV DPTR,#SLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 2 CUA LCD ACALL WRITE ;GUI VUNG DU LIEU SANG LCD RET ;*************************************************** WRITE: ;CTC GUI DU LIEU SANG LCD, KET THUC GUI DU LIEU KHI DU LIEU GUI DI LA 99H MOV A,#0 ;OFFSET DAU TIEN TRONG VUNG DU LIEU CUA DPTR MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG DU LIEU CJNE A,#99H,WRITE_CONT ;KIEM TRA LAY HET DU LIEU TRONG VUNG DU LIEU - 99H RET ;KHONG PHAI LA DU LIEU KET THUC - CHUA LAY HET DU LIEU WRITE_CONT: MOV DATABUS,A ;CHUYEN DU LIEU CAN GUI RA PORT DEN LCD ACALL SENDDATA ;GUI DU LIEU RA LCD INC DPTR ;CHUYEN SANG DU LIEU KE TIEP SJMP WRITE ;QUAY TRO VE DE GUI DU LIEU KE TIEP ;*************************************************** DELAY: MOV TMOD,#01H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET ;*************************************************** FLINE_DATA: ;DU LIEU HIEN THI DONG 1 DB '> KHOA DIEN TU <' DB 99H ;MA KET THUC DONG (TU CHON) SLINE_DATA: ;DU LIEU HIEN THI DONG 2 DB 00H,01H,02H,03H,04H,05H,06H,07H DB 99H ;MA KET THUC DONG (TU CHON) CGRAM_DATA: ;DU LIEU HIEN THI CAC KY TU DAC BIET (DO NGUOI SU DUNG TU QUI DINH) FONT1: DB 0AH,15H,11H,11H,0AH,04H,00H,00H ;HINH TRAI TIM XUOI. FONT2: DB 04H,0AH,11H,11H,15H,0AH,00H,00H ;HINH TRAI TIM NGUOC. FONT3: DB 04H,0EH,15H,04H,04H,04H,04H,00H ;HINH MUI TEN HUONG LEN. FONT4: DB 04H,04H,04H,04H,15H,0EH,04H,00H ;HINH MUI TEN HUONG XUONG. FONT5: DB 18H,18H,1FH,1FH,1FH,18H,18H,00H ;HINH CHU T NAM NGANG. FONT6: DB 1FH,1FH,03H,03H,03H,1FH,1FH,00H ;HINH CHU U NAM NGANG. FONT7: DB 0AH,15H,0AH,15H,0AH,15H,0AH,00H ;HINH CARO 1. FONT8: DB 15H,0AH,15H,0AH,15H,0AH,15H,00H ;HINH CAR 2. DB 99H ;MA KET THUC (TU CHON) END

1.4 Th c hi n l n l t cc b c t 1.3 n 1.8 tng t nh bi trn. 2 Bi t p: (xem thm trong ph n h ng d n v ph n bi t p c a Bi 3)

Gio trnh th c hnh vi x l.

35

Bin so n: Ph m Quang Tr

You might also like