Professional Documents
Culture Documents
I/ Kiõn Thøc Chung Vò LCD (Liquid Crystals Display)
I/ Kiõn Thøc Chung Vò LCD (Liquid Crystals Display)
LCD dng trong thng tin gii tr (Mn hnh Tivi, my vi tnh)
LCD dng trong truyn thng (Mn hnh in thoi, hin th ca h thng chuyn dng)
LCD dng trong lnh vc iu khin phn ny chng ta ch xt ti LCD loi nh v vic dng LCD hin th ca h thng chuyn dng. 2. C s vt l ca LCD. _ ng nh tn gi ca n, LCD (Liquid Crystals Display ) - Mn hnh tinh th lng - , c s vt l LCD c th hin th c thng tin , hnh nh chnh l do c tnh ca vt liu ch to nn LCD, tc l Liquid Crystals (thch anh lng). _ c tnh ca Liquid Crystals : Th nht: Liquid Crystals l vt liu trong sut va c tnh cht ca ch rn,li va c tnh cht ca cht lng (chnh iu ny lam nn s khc bit): + nh sng truyn qua Liquid Crystals theo gc nghing ca cc phn t , v nh sng b phn x tr li. y chnh l tnh cht ca cht rn. + Khi Liquid Crystals c tch in, n s b thay i gc nghing ca cc phn t, v kt qu l nh sng c th truyn xuyn qua. y chnh l tnh cht ca cht lng. Th hai :
2
LCD gm 2 b mt dng rnh , gia 2 b mt ny l 1 lp Thch Anh lng (Liquid Crystal). Trc ht ni v c tnh 2 b mt rnh : trn mi b mt c cc rnh . Cc rnh trn 1 mt song song vi nhau v vung gc vi cc rnh trn mt cn li (theo hng bc-nam/ ty-ng). By gi ni v c tnh ca lp Liquid Cristal ( gia) : nh sng truyn qua lp ny theo gc ca cc phn t, v v th nh sng b xon 90 khi xuyn qua lp Liquid Cristal ny. Nhng khi phn cc cho lp Liquid Cristal, cc phn t c sp xp li theo phng ngang, v v th m nh sng c th truyn qua lp Liquid Cristal m khng b xon. (Hnh 2) Th ba : V tnh cht ca lp lc nh sng n cc. Chng ta u bit rng nh sng l sng truyn theo nhiu phng khc nhau. Lp lc n cc thc ra ch l tp hp cc ng thng trong sut song song Chnh l 2 b mt rnh ca LCD ni trn-. Sau khi i qua lp lc n cc, nh sng ch cn thnh phn sng c phng trng vi phng cc ng thng trn lp lc cc. LCD c 2 lp lc n cc c phng lc vung gc nhau. V vy, sau khi ra khi c 2 lp lc n cc nh sng b chn li hon ton. nh sng ch c th truyn qua c 2 lp lc n cc nu sau khi qua lp lc th nht nh sng c xon 1 gc 90 ri mi i qua lp lc th 2. Tht may, vic xon nh sng hon ton c th thc hin c theo tnh cht lp Liquid Cristal ni trn. C th tng kt ng i ca nh sng nh sau: c 1 im ti trn LCD: nh sng pht ra t bn trong LCD s i qua b mt rnh th nht (lp lc n cc), sau nh sng i qua lp Liquid Cristal (lp ny c phn cc nn nh sng qua n m khng b xon), sau nh sng qua b mt rnh th 2lp phn cc th 2 (lp lc n cc), nh sng khng l ra c khi lp ny(b chn li hon ton) ta thy 1 im ti trn mn hnh LCD. (Hnh 3) c 1 im sng trn LCD: qu trnh i tng t nh3
ng khc ch nh sng qua lp Liquid Cristal khng c phn cc nn nh sng b xon 90 , nh th m i qua c b mt rnh th 2 (lp lc n cc) Ta thy 1 im sng trn LCD. (Hnh 3)
Hnh 2
Hnh 3
LCD hin th c 2 hng mi hng hin th c 16 k t (LCD c 14 chn) nh c minh ho trn hnh. Thng s ca LCD : +Kch thc hin th : 16 k t x 2 dng. +Mu hin th: en/trng +Ch giao tip : 8 bt v 4 bt +C ch hin th : 5x7 hoc 5x10 1. Cu trc ca LCD
1a. Gii thiu s chn LCD .
_ LCD c tng s 14 chn chia lm 3 nhm: Nhm 1: (3 chn) Cp ngun VDD, VSS : cp 5V, 0V VEE: thay i in p thay i tng phn Nhm 2: (8 chn) Vo ra thng tin vi VK : T chn D0-D7 Nhm 3 : (3 chn) iu khin vic vo ra thng tin : E,RS,R/W E :(bt /tt ) (cho php/ khng cho php trao i thng tin vi VK ) RS :(loi thng tin trao i)Thng tin trao i l lnh iu khin hay d liu hin th
R/W : (hng truyn ca thng tin) c trng thi t LCD hay thng tin do VK gi vo LCD hin
K hi u
VSS VDD VEE
Tn Cp ngun Cp ngun
Contrast 0V (GND)
M t chc nng
Ni vi dng ngun (+4.5V~+5.5V)
4 5
RS RW
iu chnh in p chn ny s tng gim tng phn ca LCD. cho nn n thng c ni vi bin tr. Nu RS=0 : LCD nhn lnh t VK Nu RS=1: LCD nhn d liu t VK hin th Chn chc nng ghi/ c RS=1 : chn chc nng c d liu t LCD vo VK RS=0 : chn chc nng ghi d liu t VKvo LCD hint th Cho php/ ko cho php LCD trao i thng tin vi VK. Ch khi E chuyn t 10 th tn hiu cc chn D0-D7 mi c a vo LCD.
7 8
D0 D1
8 chn ny c ni vi VK vo/ra
9 10 11
D2 D3 D4
12 13 14
D5 D6 D7
thng tin
_ T nhng c im v chc nng c cp trn ta c th i ti vic hnh thnh vic ghp ni ca LCD vi vi iu khin nh sau:
Nh trn hnh minh ho ta c th thy cc chn D0-D3 l ng tn hiu 2 chiu ( trao i thng tin Vi iu khin v LCD). 3 chn iu khin RS, R/W, E l chn a tn hiu iu khin t Vi iu khin ti LCD nn n ch l ng tn hiu 1 chiu thi.
V chn Contrast (VEE) iu chnh tng phn ca LCD nn ta cp ngun cho n thng qua bin tr (nh hnh v)
Mn hin th ca LCD ni chung c th ln ti hn 40 k t trn mt dng v mt mn c th c ti 4 dng.Trong c mt b RAM cha m 80 k t gi l b nh DDRAM(display data ram),mn hin th c th dch c mn quan st c cc k t khc. B k t hin th : B hin th c th hin th c cc k t c lp trnh trc hoc cc k t do ngi dng nh ngha.Trong b iu khin hin th c mt b nh ROM dng pht k t, trong Rom ny cha 192 k t,khi cn chn nhng k t ny th n c chn thng qua tng m ca n, c ti 96 m k t ASCII, 64 m k t ting Nht, 32 k t c bit khc. Trong b iu khin LCD cng c mt b RAM gi l CGRAM(character generator ram) trong b nh ny lu 8 k t do ngi dng nh ngha, cc k t u tin phi vit vo CGRAM trc ri sau mi hin th ra mn hin th c. 2. Tp lnh ca LCD.
2a. Kh nng hin th ca LCD.
LCD c kh nng hin th rt linh hot _ Thit lp ch hin th : Hin th trn 1 dng hay c 2 dng. Chn c ch hin th (5x7 hay5x10). Chn kiu con tr mn hnh (c/khng gch chn , c/khng nhp nhy) _ Thit lp kiu trao i thng tin : Trao i thng tin vi Vi iu khin dng 4 bit hay 8 bt. _ Trnh by ni dung hin th. Hin th k t trn LCD. Hin th k t v tr bt k trn LCD. To ch chy trn LCD
9
thc hin c cc kh nng hin th trn, ta cn ra lnh cho LCD thc hin cc thao tc, tc l phi s dng tp lnh ca LCD.
10
Binary Command Clear Display Hex D7 0 0 0 0 0 0 0 D6 0 0 0 0 0 0 1 D5 0 0 0 0 0 1 A A D4 0 0 0 0 1 8/4 A D3 0 0 0 1 D/C 2/1 A D2 0 0 1 D R/L 10 / 7 A D1 0 1 1/D U x x A D0 1 x S B x x A 01 02 or 03 04 to 07 08 to 0F 10 to 1F 20 to 3F 40 to 7F
(Xo mn hnh)
Display & Cursor Home Character Entry Mode
Set Display Address 1 A 1 / D: 1=Increment*, 0=Decrement 1=Display shift on, S: 0=Off* D: U: B: D / C: 1=Display on, 0=Off* 1=Cursor underline on, 0=Off* 1=Cursor blink on, 0=Off* 1=Display shift, 0=Cursor move
A A A A A 80 to FF R / L: 8 / 4: 1=Right shift, 0=Left shift 1=8-bit interface*, 0=4-bit interface 2 / 1: 1=2 line mode, 0=1 line mode* 10 / 7: 1=5x10 dot format, 0=5x7 dot format* x = Don't care * = Initialization settings
Ch thch bng lnh: K hiu X 1/D S D U B D/C R/L 8/4 2/1 10/7 Con tr c gch chn Con tr nhp nhy Dch chuyn Chiu dch chuyn Ch trao i thng tin S dng hin th C ch Chc nng a ch con tr Dch con tr sau khi hin th Ch thch bt nh phn (0,1)tu 1= t ng tng; 0= t ng gim C (1); Khng (0) =1: bt LCD; =0: tt LCD C (1); Khng (0) C (1); Khng (0) Mn hnh (1); Con tr (0) Sang phi (1); Sang tri (0) 8 bt (1); 4 bt (0) 2 dng (1) ; 1 dng (0) C 5x10 (1); C 5x7 (0)
11
_ Cc lnh trn chia lm 3 nhm : Nhm 1: Cc lnh thit lp ch hin th : Display On/Off & Cursor , Function Set , Character Entry Mode . Nhm 2: Cc lnh iu khin qu trnh hin th (con tr v mn hnh): Display & Cursor Home , Display On/Off & Cursor , Display/Cursor Shift, Set CGRAM Address, Nhm 3: Lnh kim tra trng thi ca LCD : Set Display Address _ Trn y l tp lnh ca LCD, cc m lnh ny s c a t Vi iu khin vo LCD qua 8 ng D0-D7. Mun LCD nhn v hiu cc tn hiu a vo ny l lnh th phi s dng ng Nhm 3 chn iu khin vic vo ra thng tin : E,RS,R/W . Khi no LCD hiu tn hiu a vo l d liu, khi no l lnh l do s kt hp ca 3 chn ny quyt nh. Cc ch vo ra thng tin ca LCD (kt hp cc chn E, RS, R/W) C 2 ch a thng tin vo LCD (t vi iu khin): thng tin a vo l lnh; Thng tin a vo l d liu hin th C 1 ch a thng tin ra khi LCD (vo vi iu khin) : c trng thi hin hnh ca LCD cho Vi iu khin bit. iu khin LCD l phi s dng linh hot cc ch ny. Vic quyt nh dng ch vo ra thng tin no l do 3 chn E, RS,R/W ca LCD quyt nh. + Chn E: quyt nh vic khi no chp nhn thng tin cc chn cn li : l khi tn hiu chn E chuyn mc t 1 0. + Chn RS quyt nh vic nhn lnh hay d liu. Lnh (RS=0 ); D liu (RS=1) + Chn R/W quyt nh chiu truyn d liu . Vo LCD(R/W=0); Ra khi LCD (R/W=0). Tng hp theo bng sau:
12
V d mun hin th 1 ch ci A trn LCD ta phi ln lt qua cc ch sau: Cp ngun c trng thi ca LCD xem LCD sn sng cha Gi lnh t Vi iu khin vo LCD thit lp ch hin th Gi m ca k t cn hin th vo LCD.
RS 0 0 1
Cc R/ W 0 1 0
ch vo/ra thng tin do RS, R/W quyt nh Ch Lnh gi t Vi iu khin vo LCD c c bn (D7) v v tr con tr (D0-D6) ca LCD D liu gi t Vi iu khin vo LCD
13
3. Cc ng dng hin th trn LCD. Phn ny s s dng tp lnh ca LCD c xt mc 2 t c mc ch hin th trn LCD kt hp vi s dng linh hot Nhm cc chn iu khin vo ra thng tin E, RS, R/W.
3a. Thit lp ch hin th cho LCD.
0 0 0
0 0 0
0 0 1
0 0 8/4
0 1 2/1
0 D 10 / 7
0 U x
1 B x
01 08 to 0F 20 to 3F
_ t vn : Khi LCD modul c Reset, trng thi ban u ngay khi c cp ngun mn hnh LCD cha c g c hin th c. Thm ch , lc ny nu ta cho d liu vo hin th 1 k t no th LCD cng khng th lm c. Bi v trc tin LCD phi nhn c lnh iu khin trc khi n c th hin th thng tin. Lnh iu khin m ta mun ni ti chnh l lnh cho LCD bt ch hin th v thit lp ch hin th cho LCD (V d: hin th trn 1 hay 2 dng, con tr hin th theo dng no..) _ Lnh Display On/Of and Cursor khi c gi ti LCD s bt ch hin th ca LCD v ng thi cng xc nh kiu con tr hin th. Nu bt D =1 s bt LCD (ngc li s tt LCD). Nu bt U=1 con tr mn hnh s c gch chn (v ngc li ). Nu bt B=1 th con tr s nhp nhy (v ngc li). Tt nht nn chn kiu con tr hin th l con tr nhp nhy v c gch chn tin quan st. Mun vy , ta s gi ti LCD m lnh sau : 00001111($0F). C th cc thao tc nh sau : RS mc logic 0 (LCD hot ng ch nhn lnh), R/W = 0 (truyn d liu t vi iu khiu vo LCD) cc ng vo D0-D7 c t l: 00001111 ($0F)) Sau cng
14
chn E c 1 chuyn mc 1v 0 mc cao (cho php LCD nhn d liu). Sau khi cc thao tc ny c thc hin, 1 con tr nhp nhy, c gch chn s xut hin gc bn tri mn hnh LCD . _ Lnh Function Set: Nu mun LCD hin th c 2 dng. Ta c th dng cu lnh Function Set.Lnh ny cn xc nh LCD trao i thng tin vi bn ngoi bng 4 ng hay 8 ng d liu, phn gii 5x10 hay 5x7. Nu bt 8/4 =1 th LCD s dng 8 bt D0-D7 trao i thng tin vi Vi iu khin (nu =0 th ch dng 4 bit thi). Nu bt 2/1=1 th LCD s hin th trn c 2 dng (nu =0 th ch hin th trn 1 dng ). Nu bt 10/7=1 mi k t s c hin th vi c ch 5x10 (nu =0 th c ch 5x7). V d : dng 8 ng d liu, hin th 2 dng, phn gii 5x7 th ta s gi ti LCD m lnh sau: 00111000 ($38). Thao tc c th: RS =0, R/W=0 cc ng vo D0-D7 c t l: 00111000 ($38) chn E c 1 chuyn mc 1v 0 mc cao (cho php LCD nhn d liu). _ Tng tng phn ln 1 cht v hin gi ta ang hin th bng c 2 dng ca LCD. Tip theo y , ta c th hin th ch trn LCD theo tng bc sau: chn RS =1 ( mc cao) (Chuyn LCD t ch nhn lnh sang ch nhn k t ,k hiu), R/W=0 Sau ta ch vic a tn hiu m ho ca k t cn hin th vo ng d liu ca LCD Cho chn E 1 chuyn mc 1 v 0. V d : hin th ch A , ta truyn gi tr 01000001 ($47) (chnh l m ASCII ca k t A) vo 8 ng d liu ca LCD. Thm ch ta c th hin th 1 dy k t nh s xt phn sau y. Kt lun thit lp ch hin th ban u cho LCD bng lnh : Display On/Of and Cursor : 00001111($0F) Function Set: 00111000 ($38)
15
_ t vn : Sau khi thit lp cho LCD ch hin th nh trn, ta s hin th 1 vi k t trn LCD. Vy LCD c th hin th nhng k t no v a cc k t vo LCD nh th no? Phn ny s gii p cu hi . _ LCD c b nh ROM m ho cc k t m n c th hin th. Tng s c 192 k t, khi cn chn nhng k t ny th ch cn t m nh phn ca n u vo, c ti 96 m k t ASCII, 64 m k t ting Nht, 32 k t c bit khc. M t bng m ho k t chun: 16 m u tin trong bng (t $00 - $0F) cn trng cha cc k t , biu tng do ngi dng t nh ngha. 16 k t tip theo (t $10 - $1F) hin th cc k t trng. Cc v tr tip theo hin th k t nh trn hnh minh ho. T $80 - $9F khng s dng. _Ch rng hin th k t th khi a m ho ca k t vo D0-D7 th LCD phi ch nhn d liu (tcl RS=1. R/W=0) Sau t m nh phn ca k t vo D0-D7 to ra 1 chuyn mc 1 v 0 chn E. Ngay sau ta s thy k t c hin th trn mn hnh
16
17
_ t vn : Khi LCD bt u c hot ng, sau khi c thit lp kiu hin th, ta s thy trn LCD c 1 con tr u dng u tin (y gil a ch $00). Mi khi 1 k t, biu tng c hin th, con tr li dch sang phi 1 v tr (tc l sang a ch tip theo $01, $02). S t ng tng a ch ca con tr nh vy to s thun tin trong hin th 1 chui k t trn LCD v ta khng cn phi nh a ch hin th cho tng k t. Nhng nu ta khng mun hin th chui k t v tr u ca dng u tin na, m mun hin th t 1 v tr bt k , th lc ny ta phi cho LCD bit a ch hin th thng qua lnh Set Display Address _ Lnh Set Display Address : Lnh ny s t con tr mn hnh v tr (c to xc nh bi 0AAAAAAA) trn mn hnh . Sau ta c th cho hin th ch ti v tr mi ca con tr. _ Cc nh a ch trn mn hnh LCD. Ta bit rng a ch t con tr c th nhn gi tr trong khong $00-$7F tc l 128 a ch. Nhng trn thc t (do kch thc ca LCD )ch c 80 a ch c xc nh, 40 a ch cho dng trn v 40 a ch cn li cho dng di. Ch c LCD loi 40x2 hng mi dng ht 80 a ch , cn loi LCD nh hn (nh ca ta ang xt ) cng khng dng ht 80 a ch . Cch nh a ch hin th trn LCD c minh ho theo hnh sau: _ V Set Display Address l lnh nn LCD phi lm vic ch lnh t Vi iu khin gi vo LCD.
18
_ V d : mun hin th ch A trn LCD ti v tr s 10 ca dng trn ($0A hay 00001010) ta lm nh sau: t chn RS=0 , R/W=0 t m 10001010 vo chn D0-D7 To cho chn E 1 chuyn mc 1 v 0. Sau bc ny, con tr s v tr $0A. Gi ht ch nhn lnh, ta thit lp ch nhn d liu : RS=1, R/W=0 t m ho ca k t A (00010100) vo D0-D7 To cho E 1 chuyn trang thai 1 0. Ngay sau , ta s thy ch A hin ti v tr s 10 ca dng trn.
19
_ t vn : Tu vo kch thc ca LCD m s lng k t hin th trn LDC b hn ch. Nhng hu ht cc LCD u c chc nng dch chuyn khi k t c hin th sang tri hoc sang phi. iu ny gip ch rt nhiu nu ni dung cn hin th ln hn ca s LCD, v cng lm cho hin th ca LCD tr nn sinh ng hn. Mun vy , ta dng lnh
Cursor/Display Shift _ Lnh Cursor/Display Shift . Nu D/C=1 LCD s dch
chuyn mn hnh (nu =0 LCD dch chuyn con tr). Nu R/L=1 LCD dch chuyn sang phi (nu =0 th dch sang tri). _ V d: Sau y ta xt c th 1 v d dch chuyn 1 khi k t trn LCD: Nhp lnh vo LCD thit lp trng thi ban u (hin th 1 dng, con tr nhp nhp c gch chn ) (lnh Function Set, Display On/Off and Cursor ), sau truyn d liu vo LCD , y ta truyn cho LCD 26 k t t A-Z (truyn m t 01000001 01011010 tc l t $41-$5A) Tuy nhin trn LCD ta ch quan st c 16 k t dng trn , t A-P. Nhng k t cn li v con tr u b khut v bn phi nn ta khng quan st c. Gi ta s dng lnh Cursor/Display Shift dch khi 26 k t sang tri c th nhn c cc k t cn li v con tr. Mi ln lnh Cursor/Display Shift c nhp vo LCD, khi 26 k t s dch i 1 v tr. C lin tc nhp lnh vo LCD, sau 1 thi gian ta s nhn c k t ..Z, sau l c con tr cng c hin th. Vn tip tc nhp lnh dch chuyn vo ta li thy cc k t u (A,B..) c hin th nh th c khi 26 k t c quay vng quanh - y chnh l cch LCD thc hin lnh Cursor/Display Shift20
V khi nhn lnh ny LCD khng thay i a ch ca tng k t , m dch chuyn c khi a ch ca LCD sang tri hay sang phi. _ Lnh Cursor/Display Shift ngoi c tc dng i dch chuyn i vi k t nh trnh by trn , n cn c dng dch chuyn con tr hin th. Dng lnh ny i vi con tr s gip ta chnh sa ni dung ti 1 a ch bt k trong ca s hin th.
3e. Con tr c s.
_t vn : Sau khi thc hin ch chy trn LCD, ta thy rng c h thng a ch ca mn hnh LCD b dch chuyn. C cch no nhanh nht a h thng a ch tr v dng chun nh ban u khng? y l lc ta dng lnh Display and Cursor Home, Clear Display _ Lnh Cursor Home : va c tc dng a con tr v a ch u tin ($00), va c tc dng ko a ch 0 ca khi a ch ca LCD v v tr gctri ca dng u tin. _ Lnh Clear Display cng c 2 tc dng trn ca lnh Cursor Home , ngoi ra n cn c tc dng xo tt c ni dng va c hin th trn LCD .
3f. Ch nhn d liu
1/D
04 to 07
_ t vn : Nh cc trng hp ta xt trn, khi 1 k t c nhp vo, sau khi LCD hin th k t th con tr t ng tng a ch ca n ln . Tuy nhin khng phi nht thit lc no cng phi hin th theo cch , tc l sau khi hin th con tr c th t ng gim a ch. Hy xt 1 v d c th mn hnh hin th ca 1 chic my tnh in t b ti bnh thng. Khi bt my c s 0 gc bn phi mn hnh. Sau ngi dng nhp 1 s vo, th sau khi hin th s , con tr li t ng dch sang tri (tc l gim a ch ca n). C nh vy, cng nhiu k t c nhp vo th con tr cng sang bn tri (tc l a ch ca n cng gm). By gi ta s lm cho mn hnh LCD ca ta hot ng nh choc nng ca mn hnh chic my tnh in t. chnh l hiu qu ca vic s dng lnh Character Entry
Mode
_ Lnh Character Entry Mode : Nu S=1 con tr s t ng dch a ch sau khi hin th (nu=0 th khng dch). Nu 1/D=1 a ch con tr t ng tng 1 tc l con tr dch sang phi sau khi hin th (nu =0 th dch sang tri). _ Thc hin ln lt cc bc sau: Nhp cc lnh thch hp (Function Set, Display On/Off and Cursor)vo LCD thit lp ch ban u cho LCD, ch dng 1 dng hin th, nh a ch hin th $10 (lnh Set Display Address ) . Sau gi lnh Character Entry Mode vo LCD m nh phn l: 00000111 ($07) . Lnh ny s thit lp ch hin th- dch tri cho LCD (tc l sau khi hin th th con tr dch sang tri). Mi cng vic chun b va thit lp ch hon tt. Gi ch cn 1 vic l nhp s hay k t vo LCD kim tra kit qu. Nhp d liu vo LCD . Ta nhp cc s t 0-9 (m ho t 00110000 n 00111001 ($30 n $39 )). Ta s they LCD
22
hot ng ng nh mn hnh hin th ca my tnh in t. Sau khi 1 s c hin th, con tr s dch sang tri ch hin th s tip theo. _ bng cc lnh ca LCD ta they rng lnh c th nhp vo LCD vi 4 cch m ho khc nhau t 00000100 n 00000111 ($04 n $07). Mi 1 cch m ho s p ng 1 nhu cu trong i sng thc t (nh mn hnh my tnh in t chng hn)
3g. Hin th k t tu trn LCD theo nh ngha ngi dng.
_ Lnh Set CGRAM Address : s khi ng chc nng hin th cc k t , hnh dng theo nh ngha ring ca ngi s dng. LCD cho php nh ngha ti a 8 k t ngi dng . _ Cc bc thc hin: V d mun hin th hnh ngi nh minh ho ta phi ln lt thc hin cc bc sau:
Thit lp ch lm vic cho LCD. Gi lnh Set CGRAM Address n Vi iu khin (m lnh bt k t $04-$78).
23
t lc ny tr i, d liu c truyn vo s to nn hin th theo ngi dng theo tng dng 1. Nhp 1 b 8 dng m nh phn hin th c nh y mun (00001110, 00010001, 00001110, 00000100, 00011111, 00000100, 00001010, 00010001 ($0E, $11, $0E, $04, $1F, $04, $0A, $11) ). Sau khi LCD nhn 8 dng vo ny, 1 hnh s c hin trn mn hnh LCD. Nu g b 8 dng bt vo ta s c 2 k t , hnh v khc. _ Ch rng CGRAM l b nh tm thi, nu mt in n s mt. V vy khi ni LCD vi Vi iu khin, th b 8 dng bit phi c lu sn trong b nh ROM ca Vi diu khin, khi no dng ti th nh ngha c gi ra.
3g. LCD trao i vi bn ngoi bng 4 bit
_ t vn : Trong thc t thng gp LCD c iu khin bsng loi Chip 4 bit ra. Trong khi LCD co 8 ng vo ra d liu. V th ta phi xem xt kh nng lm vic vi LCD m ch dng 4 ng d liu ( tng thch vi loi Vi iu Khin 4 bit). 4 bit c gi l 1 na byte. ch 4 bit, dng 4 bit no trao i thng tin? Tr li: dng 4 bit cao D4-D7 trao i thng tin. $ bit thp cn li D0-D3 phi tun th cch x l sau: 4 bit khng s dng ny phi th t do hoc ni vi 1 cc thng qua in tr 4k7-47k. Tuyt i khng c ni 4 chn khng s dng ny trc tip vi t v s lm cho LCD hiu nhm l dng 8 bt trao i d liu (4 bit D0-D3 l 0000).
24
LCD lm vic ch giao tip 4 bit th vic u tin l phi thit lp (ra lnh cho LCD) chn ch lm vic 4 bit (dng lnh Function Set ) . Nhng c vn ny sinh l lnh cng ch c a vo LCD bng 4 bit D4D7 m thi, cn 4 bt thp th khng th thay it gi tr tu c. Nhng tht may mn l trong lnh Function Set bt ra lnh cho LCD lm vic ch 4 bit l bit 4 , v vy ch cn gi ti LCD m lnh 00100000 l thit lp c ch trao i thng tin 4 bit. Sau khi thit lp ch trao i thng tin4 bit, k t lc ny mi lnh v d liu c gi ti LCD u phi chia lm 2 phn : 4 bt phn cao gi trc, sau mi gi 4 bt phn thp . Mi 1 ln gi thng tin ti LCD u phi cp cho chn E 1 xung dng. Nh vy v s ln gi ch 4 bit gp 2 ln s ln gi ch 8 bit, nn s xung dng cn cp cho chn E cng gp i.
3h.c thng tin v LCD.
_ Lnh : C bn ca LCD s c c trn ng D7. Nu D7=1 tc l LCD ang thc hin lnh v n cha sn sng nhn thng tin t VI diu khin (nu D7=0 tc l LCD sn sng ch thng tin). 6 bit A l m ho v tr ca con tr trn mn hnh, c c ra chn D0-D6. _ Cc thng tin trng thi bo v Vi iu khin VK i LCD ht bn mi gi lnh tip theo.
25
Cn ti thi gian LCD thc hin 1 lnh to nhng khong thi gian tr thch hp trong khi lp trnh Assembly. Khong thi gian tr c tc dng i LCD thc hin xong lnh trc ri mi gi lnh tip theo. Sau khi cp ngun cho LCD phi i cho ti khi LCD khi ng xong hon ton, ta chn vo 1 thi gian tr.
26
Lp trnh Assembly cho Vi iu Khin 89C51 iu khin hot ng ca LCD ; LCD Example Program ; Port 1 = D0-D7 (data port), R/W ni vi P3.2, Enable ni vi P3.4, RS ni vi P3.3 ;***** #INCLUDE "8051EQU.INC" ;include predefined constants ; ; ************************************************************ ************** ; Bin v Hng ; ; Lp 1 b nh m c 16 nh ( cho 1 LCD). ; vit k t ln LCD, k t c a vo b m sau ; tt c cc bt c ng lot a vo LCD. B0 .EQU 070H ;BUFFER POSITION 1 B1 .EQU 071H ; B2 .EQU 072H ; B3 .EQU 073H ; B4 .EQU 074H ; B5 .EQU 075H ; B6 .EQU 076H ; B7 .EQU 077H ; B8 .EQU 078H ; B9 .EQU 079H ; B10 .EQU 07AH ; B11 .EQU 07BH ; B12 .EQU 07CH ; B13 .EQU 07DH ; B14 .EQU 07EH ; B15 .EQU 07FH ;BUFFER POSITION 16 ; ; ************************************************************ ************** ;
27
; RESET
;reset routine
.ORG 0H ;locate next command at 00H AJMP START ;jump to START (first command of program) ; ; ************************************************************ ************** ; ; INTERRUPTS ;place interrupt routines at appropriate ;memory locations .ORG 03H ;external interrupt 0 RETI .ORG 0BH ;timer 0 interrupt RETI .ORG 13H ;external interrupt 1 RETI .ORG 1BH ;timer 1 interrupt RETI .ORG 23H ;serial port interrupt RETI .ORG 2BH ;locate beginning of rest of program ; ; ************************************************************ ************** ; INITIALIZE: ;set up control registers ; MOV TCON,#00H MOV TMOD,#00H MOV PSW,#00H MOV IE,#00H ;disable interrupts RET ; ; ************************************************************ ************** ;
28
DELAYMS: ;millisecond delay routine ; ;uses R7 MOV R7,#00H ;put 00H in register R7 LOOPA: INC R7 ;increment R7 MOV A,R7 ;move R7 to Accumlator CJNE A,#0FFH,LOOPA ;jump to LOOPA if R7 not equal to #FFH RET ;return ; ; ************************************************************ ************** ; DELAYHS: ;half second delay using milsec delay ; ;uses R5 R6 (R7) MOV R6,#00H MOV R5,#002H LOOPB: INC R6 ACALL DELAYMS MOV A,R6 JNZ LOOPB DEC R5 MOV A,R5 JNZ LOOPB RET ; ; ************************************************************ ************** ; DELAYS: ;delay for a second or two ; ;uses (R5 R6 R7) ACALL DELAYHS ACALL DELAYHS ACALL DELAYHS ACALL DELAYHS RET ;
29
; ************************************************************ ************** ; ; ; ************************************************************ ************** ; WRITELCD: SETB P3.4 ;enable LCD ACALL DELAYMS ;wait for write completion CLR P3.4 ;disable LCD RET ; ; ************************************************************ ************** ; EXECUTELCD: CLR P3.3 ;ditto SETB P3.4 ;enable LCD ACALL DELAYMS CLR P3.4 SETB P3.3 ;Make rs=1 RET ; ; ************************************************************ ************** ; LCDSETUP: ; MOV P1,#03CH ;set up LCD 8 bits and 2 lines ACALL EXECUTELCD MOV P1,#00DH ;turn on display and cursor off ACALL EXECUTELCD MOV P1,#006H ;set increment one and shift ACALL EXECUTELCD MOV P1, #02H ; Home Display
30
ACALL EXECUTELCD RET ; ; ************************************************************ *************** ; CLEARBUFFER: ; uses R0 ; MOV R0,#070H CBONE: MOV @R0,#' ' ; put a blank in the memory address specified in R0 INC R0 ; go to next memory address CJNE R0,#080H,CBONE ; stop when address is 80H RET ; ; ************************************************************ *************** ; WRITEBUFFER: ;uses R0 ; MOV R0,#070H WBONE: MOV P1,@R0 ; get character stored in the memory address specified in R0 ACALL WRITELCD INC R0 ; go to next memory address CJNE R0,#080H,WBONE ; stop when address is 80H RET ; ; ; ************************************************************ *************** ; WRITEIguana_Labs: ;write Iguana Labs to LCD ;
31
ACALL CLEARBUFFER MOV B0,#'I' ;write I MOV B1,#'g' ;write g MOV B2,#'u' ;write u MOV B3,#'a' ;write a MOV B4,#'n' ;write n MOV B5,#'a' ;write a MOV B6,#' ' ;write MOV B7,#'L' ;write L MOV B8,#'a' ;write a MOV B9,#'b' ;write b MOV B10,#'s' ;write s ACALL WRITEBUFFER RET ; ; ************************************************************ *************** ; WRITELCD_Example: ;write Example to LCD ; ACALL CLEARBUFFER MOV B0,#'L' ;write L MOV B1,#'C' ;write C MOV B2,#'D' ;write D MOV B3,#' ' ;write MOV B4,#'E' ;write E MOV B5,#'x' ;write x MOV B6,#'a' ;write a MOV B7,#'m' ;write m MOV B8,#'p' ;write p MOV B9,#'l' ;write l MOV B10,#'e' ;write e ACALL WRITEBUFFER RET ; ; ************************************************************ ************** ;
32
BEGLINEONE: ; MOV P1,#080H ;go to beginning of line one ACALL EXECUTELCD RET ; ; ************************************************************ *************** ; BEGLINETWO: ; MOV P1,#0C0H ;go to beginning of line two ACALL EXECUTELCD RET ; ; ************************************************************ *************** ; CLEARDISPLAY: ; MOV P1,#001H ;clear display ACALL EXECUTELCD ACALL BEGLINEONE ;go to beginning of line one RET ; ; ************************************************************ *************** ; ; ************************************************************ *************** ; START: ;beginning of main program ; MOV SP,#02FH ;initialize stack pointer to 2FH ACALL INITIALIZE ;initialize registers ACALL DELAYHS
33
CLR P3.2 ;make LCD R/W low (Stays low since we are just writing to LCD) ACALL LCDSETUP ;initialize LCD LCDLOOP: ACALL CLEARDISPLAY ; erase LCD screen ACALL DELAYHS ACALL BEGLINEONE ; move cursor to beginning of top line ACALL WRITEIguana_Labs ACALL DELAYHS ACALL BEGLINETWO ; move cursor to beginning of bottom line ACALL WRITELCD_Example ACALL DELAYHS AJMP LCDLOOP ; go to LCDLOOP: (repeat) ; .END ;end program
34