Download as pdf or txt
Download as pdf or txt
You are on page 1of 128

Mc lc

BI 1 : GII THIU V VI IU KHIN 8051 ....................................................5 1. Gii thiu v vi iu khin ...............................................................................5 2. Gii thiu cc loi chip 8051............................................................................7 3. Gii thiu v P89V51RB2................................................................................7 4. Lp trnh cho P89V51RB2 ............................................................................ 12 5. Np chng trnh........................................................................................... 34 BI 2 : GIAO TIP VO RA I/O.......................................................................... 37 1. Gii thiu giao tip vo ra I/O....................................................................... 37 2. V d chng trnh nhp nhy led ................................................................. 38 BI 3 : GIAO TIP VI LED 7 THANH ............................................................. 42 1. C bn v led 7 thanh .................................................................................... 42 2. Nguyn l lp trnh cho led 7 thanh ............................................................... 44 3. V d minh ha .............................................................................................. 45 BI 4 : GIAO TIP VI LED MA TRN............................................................ 49 1. C bn v led ma trn.................................................................................... 49 2. To font cho led ma trn................................................................................ 50 3. V d minh ha. ............................................................................................. 52 BI 5 : GIAO TIP VI PHM BM................................................................... 54 1. C bn v phm bm...................................................................................... 54 2. Chng trnh v d......................................................................................... 55 3. K thut chng rung bn phm....................................................................... 57 BI 6 : GIAO TIP LCD ....................................................................................... 59 1. Gii thiu v LCD 16x2 ................................................................................ 59 2. Cch cu hnh giao tip vi LCD cho P89V51RB2................................. 65

3. V d .............................................................................................................. 67 BI 7 : TIMER ....................................................................................................... 70 1. Gii thiu v timer......................................................................................... 70 2. Cch cu hnh timer trong Keil C cho P89V51RB2 ..................................... 74 3. V d minh ha .............................................................................................. 75 BI 8 : NGT......................................................................................................... 78 1. Gii thiu v ngt .......................................................................................... 78 2. Cc bc cu hnh cho ngt hot ng ......................................................... 79 3. V d minh ha .............................................................................................. 82 BI 9 : NG C BC ..................................................................................... 84 1. C bn v ng c bc................................................................................ 84 2. Cc mch iu khin ng c bc .............................................................. 85 3. V d .............................................................................................................. 88 BI 10 : IU KHIN NG C MT CHIU ................................................ 90 1. Gii thiu v ng c mt chiu ................................................................... 90 2. V d minh ha .............................................................................................. 92 BI 11 : GIAO TIP VI MA TRN PHM ................................................... 94 1. C bn v ma trn phm ................................................................................ 94 2. V d minh ha .............................................................................................. 95 BI 12 : GIAO TIP VI CNG LPT ................................................................. 98 1. C bn v cng LPT...................................................................................... 98 2. V d minh ha ............................................................................................ 102 BI 13 : GIAO TIP MY TNH ....................................................................... 104 1. C bn v giao tip RS232 .......................................................................... 104 2. Cch cu hnh module UART ..................................................................... 106 3. V d. ........................................................................................................... 107 BI 14 : GIAO TIP VI GLCD ........................................................................ 114

1. C bn v GLCD ......................................................................................... 114 2. V d minh ha ............................................................................................ 120 BI 15 : GIAO TIP VI ADC........................................................................... 123 1. C bn v ADC ........................................................................................... 123 2. V d minh ha ............................................................................................ 127

BI 1 : GII THIU V VI IU KHIN 8051 - Gii thiu chung v vi iu khin. - Gii thiu v vi iu khin 8051, P89V51RB2. - Lp trnh cho P89V51RB2. 1. Gii thiu v vi iu khin Khi nim vi iu khin (microcontroller MC) kh quen thuc vi cc sinh vin CNTT, in t, iu khin t ng cng nh C in t N l mt trong nhng IC thch hp nht thay th cc IC s trong vic thit k mch logic. Ngy nay c nhng MC tch hp tt c cc chc nng ca mch logic. Ni nh vy khng c ngha l cc IC s cng nh cc IC mch s lp trnh c khc nh PLC khng cn dng na. MC cng c nhng hn ch m r rng nht l tc chm hn cc mch logic MC cng l mt my tnh my tnh nhng v n c y chc nng ca mt my tnh. C CPU, b nh chng trnh, b nh d liu, c I/O v cc bus trao i d liu. Cn phn bit khi nim MC vi khi nim vi x l (microprocessor MP) nh 8088 chng hn. MP ch l CPU m khng c cc thnh phn khc nh b nh I/O, b nh. Mun s dng MP cn thm cc chc nng ny, lc ny ngi ta gi n l h vi x l (microprocessor system). Do c im ny nn nu la chn gia MC v MP trong mt mch in t no th tt nhin ngi ta s chn MC v n s r tin hn nhiu do tch hp cc chc nng khc vo trong chip. Vy mt vi iu khin chy c th cn nhng iu kin g :

- Th nht l ngun cp, ngun cp l ci u tin, c bn nht trong cc mch in t, v vn v ngun l 1 trong nhng vn rt au u. Khng c ngun th khng th gi l 1 mch in c. Ngun cp cho vi iu khin l ngun 1 chiu. - Th hai l mch dao ng, mch dao ng lm g ? Gi s cc bn lp trnh cho con 8051 : n thi im A lm 1 cng vic g , th th n ly ci g xc nh c thi im no l thi im A ? chnh l mch dao ng. V d nh mi ngi u thng nht vo mt gi chun lm vic. C h thng vi iu khin cng vy, c h thng khi u ly xung nhp clock xung nhp mch dao ng lm xung nhp chun hot ng. - Th ba l ngoi vi, ngoi vi y l cc thit b giao tip vi vi iu khin thc hin 1 nhim v no m vi iu khin a ra. V d nh cc bn mun iu khin ng c 1 chiu, nhng v vi iu khin ch a ra cc mc in p 0-5V, v dng iu khin c my chc mA, vi ngun cp ny th ko th ni trc tip ng c vo vi iu khin iu khin, m phi qua 1 thit b khc gi l ngoi vi, chnh xc hn y l driver, ngi ta dng driver c th iu khin c cc dng in ln t cc ngun in nh. Cc bn phm, cng tc l cc ngoi vi. - Th 4 l chng trnh, y l file .hex np cho vi iu khin, chng trnh chnh l thut ton m bn trin khai thnh cc cu lnh ri bin dch thnh m hex np vo vi iu khin. Cc cng c hc 8051 : Ngn ng lp trnh : C, ASM Phn mm lp trnh : Keil C, Read51 Mch np : STK200, Burn-E Mch pht trin : Board trng, phn mm m phng, kit

2. Gii thiu cc loi chip 8051 - 8051 c ln u tin c sn xut bi Intel nm 1980. - Cho n nay, 8051 c pht trin bi nhiu nh sn xut nh Atmel, Philip thnh nhiu phin bn khc nhau, da trn core 8051 : AT89C51, AT89C52, P89V51Rx - Dng P89V51RB2 c sn xut bi Philips. 3. Gii thiu v P89V51RB2 y l dng vi iu khin c sn xut bi Philips (NXP), mang tt c cc c im ca dng 8051, ngoi ra, cn c thm mt s tnh nng khc m 8051 khng c. Sau y l cc tnh nng ca P89V51RB2 : - C 16KB Flash, 1024B Ram. - Cho php chn la 2 ch clock, ch bnh thng, chip chy vi tc nh 8051 (12 chu k clock trn mt chu k my), ch X2, chip chy vi tc 6 chu k clock trn 1 chu k my. - H tr c ch np ni tip (ISP) v np song song. - H tr ch IAP : Cho php cu hnh li b nh flash trong khi chip ang chy. - in p hot ng t 0 n 5V, tn s hot ng ln ti 40MHz. - H tr giao tip UART v SPI. - C module Capture/Compare/PWM. - C 4 cng, mi cng 8 bit. - Ba timer/counter 16 bit. - H tr watdog. - 8 ngun ngt vi 4 mc u tin. - Hai thanh ghi DPTR Sau y l s khi ca P89V51RB2 :

M t chn ca P89V51RB2 : S chn :

- Cng P0: Bnh thng y l cng ra. c th va lm u ra, va lm u vo th mi chn ca P0 phi c ni ti mt in tr treo 10 k bn ngoi. S d nh vy l v cng P0 c dng cc mng h, y l im khc vi cc cng P1, P2 v P3. Khi ni 8051 ti b nh ngoi, P0 tr thnh bus a ch v bus d liu dn knh tit kim s chn [byte thp ca bus a ch nu l a ch]. - Cng P1: P1 ch c mt cng dng l vo/ra. - Cng P2: P2 c 2 cng dng, hoc lm nhim v vo/ra hoc l byte a ch cao ca bus a ch 16-bit cho cc thit k c b nh chng trnh ngoi hoc cc thit k c nhiu hn 256 byte b nh d liu ngoi. - Cng P3: P3 c 2 cng dng. Khi khng hot ng vo/ra, cc chn ca P3 c nhiu chc nng ring (mi chn c chc nng ring lin quan n cc c trng c th ca 8051). Bit Tn a ch bit P3.0 P3.1 RxD TxD B0H B1H Nhn d liu ca cng ni tip Pht d liu ca cng ni tip Chc nng

P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

INT0 INT1

B2H B3H B4H B5H B6H B7H

Ngt ngoi 0 Ngt ngoi 1 Chn vo ca b nh thi/m 0 Chn vo ca b nh thi/m 1 iu khin ghi b nh d liu ngoi iu khin c b nh d liu ngoi

T0 T1
WR
RD

Chc nng cc chn ca cng P3.

- Chn cho php b nh chng trnh PSEN : 8051 cung cp cho ta 4 tn hiu iu khin bus. Tn hiu cho php b nh chng trnh PSEN (Program Store Enable) l tn hiu xut. y l tn hiu cho php ta truy xut b nh chng trnh ngoi. Chn ny thng ni vi chn cho php xut OE (Output Enable) ca EPROM (hoc ROM) cho php c cc byte lnh. - Chn cho php cht a ch ALE: Chn xut tn hiu cho php cht a ch ALE (Address Latch Enable) phn knh (demultiplexing) bus d liu v bus a ch. - Chn truy xut ngoi EA (External Access): Chn vo ny c th c ni vi 5V (logic 1) hoc vi GND (logic 0). + Nu chn ny ni ln 5V, 8051 thc thi chng trnh trong ROM ni (chng trnh nh hn 4K/8K). + Nu chn ny ni vi GND (v chn PSEN cng logic 0), chng trnh cn thc thi cha b nh ngoi. - Chn RESET (RST): Khi ng li. y l chn vo, mc tch cc cao, bnh thng mc thp. Khi c xung cao t ti chn ny th b vi iu khin s kt thc mi hot ng hin ti v tin hnh khi ng li. Khi reset, mi gi

tr trn cc thanh ghi s b xo. Lu , reset c hiu qu, chn RST cn duy tr trng thi tch cc mc cao ti thiu 2 chu k my. - Cc chn XTAL1 v XTAL2: Mch dao ng bn trong chip 8051 c ghp ni vi thch anh bn ngoi hai chn XTAL1 v XTAL2.

4. Lp trnh cho P89V51RB2 Gii thiu lp trnh cho P89V51RB2, chng ta c th s dng 2 ngn ng c bn l C v ASM. Nhn chung, 2 ngn ng ny c nhng u v nhc im ring. Ngn ng ASM c u im l gn nh, gip ngi lp trnh nm bt su hn v phn cng. Tuy nhin li c nhc im l phc tp, kh trin khai v mt thut ton, khng thun tin xy dng cc chng trnh ln. Ngc li ngn ng C li d dung, tin li, d debug, thun tin xy dng cc chng trnh ln. Nhng nhc im ca ngn ng C l kh gip ngi lp trnh hiu bit su v phn cng, cc thanh ghi, tp lnh ca vi iu khin, hn na, xt v tc , chng trnh vit bng ngn ng C chy chm hn chng trnh vit bng ngn ng ASM. Ty vo tng bi ton, tng yu cu c th m ta chn la ngn ng lp trnh cho ph hp. Gii thiu phn mm Keil C C rt nhiu phn mm lp trnh cho P89V51RB2, Keil C l mt trong nhng phn mm kh ni ting v ph bin. Trong khun kh gio trnh ny, chng ta s s dng phn mm Keil C lp trnh cho P89V51RB2. To Project mi trong Keil C : to 1 project mi chn Project New project nh sau:

c hnh sau:

nh tn v chuyn n th mc bn lu project. Bn nn to mi mt th mc cho 1 project. Ri chn Save.

c hnh sau:

Trong ny c 1 lot cc hng in t sn xut 8051. Bn lp trnh cho con no th chn con y, kch chut vo cc du + m rng cc con IC ca cc hng. y ta lp trnh cho P89V51RB2 ca hng Philips nn ta chn nh sau:

Khi chn chip th ngay lp tc ci bng hin ra 1 s tnh nng ca chp cc bn c th nhn thy. Nhp OK c ca s nh sau:

Chng ta s chn No. V nu chn Yes ch lm cho file lp trnh ca bn thm nng . Chng ta c ca s sau:

to 1 file code cc bn chn File

New hoc n Ctrl+N. Nh sau:

c ca s nh sau:

Cho ca s Text 1 to ra c nh sau:

Tip theo bn chn File c g. Nh sau:

Save As hoc Ctrl+S. nh file mc d cha

Cc bn nhp tn vo text box file name. Ch tn g cng c nhng khng c thiu ui m rng .C . V nhn Save

Trong bn tri mn hnh, ca s project workspace, cc bn m rng ci target 1 ra c nh sau:

Nhp chut phi vo th mc Suorce Group1 c hnh nh trn. Chn Add files to Group Source Group1 add file vo project. c nh sau:

Chn file .C m cc bn va nh. Ca ti l ThinhiemLED.c . Nhn Add 1 ln ri n Close. Nu bn n Add 2 ln n s thng bo l file add bn ch vic OK ri nhn Close. c nh sau:

By gi nhn trong Source Group 1 thy file ThinhiemLED.C . Cc bn nhp chut phi vo vng son tho file ThinhiemLED.C nh sau, thm file th vin.Chn Insert< #include <REGX51.H>

Lp trnh : Cc bn vit chng trnh th 1 chng trnh nh sau lm v d. Khi vit xong 1 dng lnh nn gii thch dng lnh lm g. V d:

Cc bn nn chia chng trnh nh trn. Vi 1 file nh th n hi rm r. Nhng vi 1 file ln khong 1000 dng code th n li rt sng sa. Cc bn nn to 1 file mu ri nh vo 1 file text u mi ln dng ch vic copy ri paste qua ch khng nn mi ln to mt ci nh vy li phn tc dng. Pha trn l phn b tin x l v khai bo bin. Tip theo l vit hm tr. bin dch chng trnh, cc bn nhn phm F7, nu chng trnh bo nh sau c ngha l bin dch thnh cng :

5. Np chng trnh np chng trnh cho P89V51RB2, chng ta s dng phn mm Flash Magic np, chng ta cu hnh giao din phn mm c nh sau :

Sau kch vo Browse chn file hex cn np ri kch vo Start. Nu chng trnh hin th hp thoi yu cu reset li thit b th chng ta nhn phm reset trn mch bt u np :

Khi np thnh cng, s c dng status thng bo nh sau :

BI 2 : GIAO TIP VO RA I/O C bn v giao tip vo ra I/O Cc cng trong P89V51RB2 v c bn v chc nng ca cc cng Cch cu hnh vo ra I/O Vit chng trnh nhy led

1. Gii thiu giao tip vo ra I/O Lp trnh I/O l lp trnh n gin v c bn nht, nhng li c s dng nhiu nht, chng ta iu khin on/off bng n, ng c, hay 1 thit b no cng l 1 dng ca iu khin I/O. gim bt s chn ra, mt s chn ca P89V51RB2 l cc chn a chc nng, n phc v cho cc thit b ngoi vi. y khi nim thit b ngoi vi khng c ngha l 1 chip khc mua ri bn ngoi m l cc m un c tch hp sn trong chip nh cc m un ADC, Counter.... Khi cc thit b ngoi vi ny c enable th cc chn ny khng c s dng nh cc chn ca cc cng I/O thng thng na. P89V51RB2 c 4 cng vo ra l P0, P1, P2, P3. Tt c cc cng ny u c th cu hnh lm chc nng vo/ra c bn.

2. V d chng trnh nhp nhy led Nhp nhy led l mt v d kinh in cho nhng ngi mi tip xc vi mt loi vi iu khin no . V d sau y s lm nhp nhy led ni vo chn RB1 ca vi iu khin LED l vit tt ca ch Light Emitting Diode, c ngha l diode pht quang, loi diode ny khi c phn cc thun vi iu kin in p v dng in th s pht ra nh sng.

LED c ng dng rt rng ri, chng ta thng thy led c dng trong n bo ngun, n nhy, bng quang bo, gn y, ngi ta ang pht trin led lm n chiu sng, do dng LED tit kim c in v hiu qu cao trong chiu sng. S mch S ghp ni mt led :

S ghp ni 8 led :

U1 39 38 37 36 35 34 33 32 P1`0 P1`1 P1`2 P1`3 P1`4 P1`5 P1`6 P1`7 1 2 3 4 5 6 7 8 19 18 31 9 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 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 30 29

5V 15 R2 13 1 2 3 4 5 6 7 8 9 102 11 9 7 5 3 1

D2 16 14 12 10 8 6 4 2

P1.0/T2 P3.0/RXD P1.1/T2-EX P3.1/TXD P1.2 P3.2/INT0 P1.3 P3.3/INT1 P1.4 P3.4/T0 P3.5/T1 P1.5 P1.6 P3.6/WR P1.7 P3.7/RD XTAL1 XTAL2 EA/VPP RST AT89S52 ALE/PROG PSEN

led

Y1

C2 22

12MHz

C1 22 C3

5V

10uF

SW1 RESET

R3 10K

Trong v d sau, chng ta s ni 8 led vo cng P1, s ni nh hnh trn. Sau y l s thut ton :

Chng trnh :

Phn tch chng trnh : Chng trnh trn rt n gin, nhim v ca chng trnh l o mc logic ti cng P1 sau mt khong thi gian nh trc (khong 1s). #include <Philips\REG51F.H> Cu lnh trn dng thm th vin ca P89V51RB2 vo project. P1 = 0xFF; Cu lnh trn s xut ra cng P1 gi tr l 0xFF = 0b1111 1111 = 255. C ngha l tt c cc chn cng P1 u c mc logic l 1. P1 = 0x00; Cu lnh trn s xut ra cng P1 gi tr l 0x00 = 0b0000 0000 = 0. C ngha l tt c cc chn cng P1 u c mc logic l 0. Bi tp - Vit chng trnh nhp nhy P2 - Vit chng trnh cho led sng dn t tri qua phi. Led ni vo P3

BI 3 : GIAO TIP VI LED 7 THANH - C bn v led 7 thanh - Nguyn l lp trnh led 7 thanh. - V d minh ha

1. C bn v led 7 thanh bi hc ny, chng ta s hc v giao tip gia P89V51RB2 v led 7 thanh, cc hin th s trn led 7 thanh, cng nh cc gii thut v qut led. Led 7 thanh l linh kin in t dng hin th s. u im ca led 7 thanh l gi thnh r, khong cch quan st xa v d dng trong lp trnh. Nhc im l led 7 thanh ch hin th c 1 s k t nht nh. Led 7 thanh c 2 loi l anot chung v catot chung. C hnh dng thc t v hnh dng nguyn l nh hnh sau :

10 9

5 D13A Anot chung

A 7

B 6

C 4

D 2

E 1

G DP 10 9 5

D12A Catot chung

8 3 8 3

2. Nguyn l lp trnh cho led 7 thanh

S ghp ni vi vi iu khin

Led 7 thanh bao gm 7 thanh a,b,c,d,e,f,g v 1 thanh dp, mi thanh l mt led. Ty vo cch ni chung anot hay catot gia cc thanh m ta c 2 loi anot chung hoc catot chung. Nh hnh v trn, led 7 thanh c dng anot chung, mun thanh no sng, chng ta ch vic cp in p dng vo chn tng ng, khi led tng ng vi thanh s c phn cc thun v pht sng. V d nh hnh v trn, sng thnh hnh s 5, ta cn cc thanh a,f,g,c,d sng, khi ta cn cp mc logic 1 (tng ng vi in p 5V) vo cc chn tng ng, v kt qu l ta c 1 chui s nh phn 10110110, hay dng m hex : 0xB6. Bng cch tng t, ta cng to c gi tr (m) xut ra port ca vi iu khin led sng cc s t 0 n 9. Ngi ta thng to ra 1 bng m nh vy nh vy tin s dng.

3. V d minh ha v d sau, chng ta s hin th ln lt cc s t 0 n 9 ln led 7 thanh. S nguyn l

Trong s trn, tt c cc ng data (t LED_D0 n LED_D7) c ni tng ng vo P1. Chn CS_LED7.1 c ni xung GND, transistor Q20 s thng, led s sng khi c phn cc thun. Bng m ha cc ch s

Chng trnh

Phn tch chng trnh : Bin led[] l mt mng s kiu char, dng lu tr cc m ca cc s tng ng, v d s 0 s c m l phn t u tin ca mng : led[0] hay 0xC0, tng t, s 1 s c m l led[1] hay 0xF9 Ln lt chng ta xut tng phn t ca mng led [] ra cng ni vo led (P1), khi chy chng trnh, chng ta s thy led sng t 0 n 9. Cch giao tip vi nhiu led Chng ta c th s dng nhiu port giao tip vi nhiu led 7 thanh, mi led ni vi 1 port khc nhau, tuy nhin, vi iu khin, v d nh dng P89V51RB2 ch c 4 port 8 bit, nu lm nh vy, chng ta ch c th giao tip vi nhiu nht l 4 led 7 thanh. gii quyt vn trn, ngi ta s dng 1 phng php l qut led, ti mt thi im ch c mt led sng, mi led s sng trong mt khong thi gian nht nh, sau led tt v led k tip li sng. Lm nh vy, vi khong thi gian sng/tt rt nhanh, mt chng ta khng th phn bit c s ri rc v kt qu l chng ta s thy led sng lin tc. Vi phng php qut led, ngi ta chia ra lm 2 ng : ng iu khin v ng d liu, ng d liu c ni vo cc thanh a, b,c,d,e,f,g, ng iu khin dng bt/tt cc led.

V d nh hnh v trn, chng ta ch cn dng 2 port iu khin 4 led, port d liu l port 2 v port iu khin l port 1. Bi tp - Vit chng trnh hin th s 1234 ld 4 led 7 thanh theo nh gi trn. - Vit chng trnh m trong 1 khong bt k nh hn 9999, v d t 1000 n 65535. S m c hin th ln 4 led 7 thanh.

BI 4 : GIAO TIP VI LED MA TRN - C bn v led ma trn - Cch to font cho led ma trn - V d minh ha

1. C bn v led ma trn Led ma trn l mt lot cc led n c sp xp thnh cc hng v cc ct dng ma trn, cc led c cng hng th s chung 1 chn, chn cn li ni chung vi cc led nm cng ct. Ma trn led c ng dng rt nhiu trong thc t, in hnh l cc bng quang bo.

iu khin led ma trn sng theo mun, chng ta s dng phng php qut led, li dng tnh nng lu nh mt ngi, trong cc bin qung co, chng

ta nhn thy led sng lin tc, thc ra khng phi vy, m l led nhp nhy lin tc, nhng do tc cao nn mt ngi khng kp phn bit v kt qu l chng ta nhn thy 1 hnh nh lin tc. C 1 cch qut led ma trn l qut theo hng v qut theo ct, v d trong bi s trnh by cc qut theo hng (ma trn led chng ta s dng l ma trn kch c 8x8), y cng l cch qut led ph bin hin nay.

2. To font cho led ma trn C rt nhiu phn mm h tr chng ta to font cho led ma trn, tuy nhin, sau y tc gi s hng dn cc bn s dng phn mm Excel nm trong b Microsoft Office) to bng font, sau y l font cho ch A :

Phng php qut led nh sau :

- u tin, chng ta cho hng th nht active, cc hng th nht c gi tr 0x18 (cc mu vng tng ng c gi tr 1, cc mu xanh nht c gi tr 0), nh vy 2 led hng th nht s sng (tng ng vi 2 mu vng). - Sau chng ta un-active hng th nht, ton b cc led hng th nht tt, v cho active hng th 2, cng tng t nh trn, chng ta a gi tr l 0x24 cho cc hng th 2, kt qu l chng ta cng c 2 sng (tng ng vi 2 mu vng) hng th 2. - Tng t, chng ta cho sng ln lt cc hng vi cc gi tr nh hnh v trn. - Do tc qut nhanh nn mt chng ta khng phn bit c s chuyn ng ri rc ca cc led. V kt qu l chng ta nhn thy led sng thnh hnh ch A nh hnh v. Cc k t khc cng c th to tng t nh trn.

3. V d minh ha. on chng trnh sau s lm hin th ch A ln led ma trn, cc hng v cc ct c ni tng ng vo P1 v P2 :

Bi tp

Da vo nguyn l to ch A trn, bn hy to v vit chng trnh hin th cc k t bt k trong bng ch ci

BI 5 : GIAO TIP VI PHM BM - C bn v phm bm. - Chng trnh v d giao tip vi phm bm

1. C bn v phm bm Bn phm c s dng trong rt nhiu cc thit b, gip ngi s dng la chn cc chc nng ca thit b. C th ni giao tip bn phm l mt ng dng kh quan trng. Ngoi ra cn nhiu loi phm bm khc, v cu to cng khc, c th l phm bm thng ng, khi ta bm phm th 2 u tip xc khng thng nhau. Hoc cng c loi phm bm cm ng, da trn s thay i in tr ca mng in tr, hoc da trn s thay i in dung hay in cm mi khi c tay ngi chm vo.

2. Chng trnh v d v d ny ,chng ta s lp trnh dng bn phm iu khin cc con led bt tt theo mun. S nguyn l

C 8 phm bm, c ni vi P1 ca P89V51RB2, cc led n c ni vo P2 ca P89V51RB2. Chng ta s lp trnh xem trng thi ca P1 (trng thi ca cc phm bm) bng cch quan st trng thi ca led. Chng trnh :

Phn tch chng trnh : Chng trnh trn rt n gin, chng ta lin tc ly gi tr ca P1 gn cho gi tr ca P2 thng qua cu lnh : P2 = P1;

3. K thut chng rung bn phm V sao phi chng rung : Bn phm ca chng ta l bn phm c hc, b mt tip xc ca c cu bn trong phm khng phi l phng l tng, do vy, mi khi bm phm hay nh phm, xung vo vi iu khin s khng phi l 1 xung thng ng, m l rt nhiu xung kim. V thi gian qut ca vi iu khin rt nhanh, nn tt c cc gi tr ti thi im rung u c ghi li. Chng ta phi tm cch sao cho vi iu khin khng ly gi tr ti thi im rung.

S xung khi bm phm

Thi im 2 v 4 (xung mu ) trong hnh trn l thi im m khi ta bt u nhn phm v khi bt u nh phm, thi im 1 v 5 l thi im phm trng thi n nh khi c nh hon ton, thi im 3 l thi im phm trng thi n nh khi ang c nhn. C 2 phng php chng rung l chng rung bng phn cng v chng rung bng phn mm. Chng rung bng phn cng Chng ta mc thm t ni song song vi phm bm, thng l t 104, t ny c tc xng hp th cc xung nhn i vo chn vi iu khin, nh vy s trit tiu hon ton cc xung kim.

Chng rung bng phn mm Mi khi pht hin c tn hiu bm phm, chng ta cho vi iu khin khng c lin tc gi tr ca phm na bng cch cho delay mt khong thi gian, khong trn 10ms, sau khong thi gian , chng ta li c phm nh bnh thng. V d code nh sau :
If(pht hin bm phm){ Delay_ms(10); Tip tc lm cc cng vic khc }

Bi tp - Vit chng trnh giao tip vi phm bm v led 7 thanh, mi khi bm phm, s trn led li tng ln 1 n v. Khi s tng n 9 m bm tip th s tr v 0.

BI 6 : GIAO TIP LCD - Gii thiu v LCD - Cch cu hnh cho LCD - V d minh ha

1. Gii thiu v LCD 16x2 Ging nh led 7 thanh, LCD l mt thit b ngoi vi dng giao tip vi ngi dng, so vi led 7 thanh th LCD c u im l hin th c tt c cc k t trong bng m ascci, trong khi led 7 thanh ch hin th c mt s k t, nhng LCD li c nhc im l gi thnh cao v khong cch nhn gn. LCD l t vit tt ca Liquid Crystal Display (mn hnh tinh th lng). C nhiu loi mn hnh LCD vi cc kch c khc nhau, v d nh LCD 16x1 (16 ct v 1 hng), LCD 16x2 (16 ct v 2 hng), LCD 20x2 (20 ct v 2 hng) Trong bi hc ny, ta xt loi LCD 16x2 bn ph bin trn th trng.

S nguyn l ca LCD 16x2

Hnh dng thc ca 1 LCD 16x2 (16 hng, 2 ct).

Chc nng ca cc chn LCD :

Cc chn Vcc, Vss v Vee Chn Vcc cp dng ngun 5V, chn Vss ni t, chn Vee c dng iu khin tng phn ca mn hnh LCD. RS ( Register select) Khi mc thp, ch th c truyn n LCD nh xo mn hnh ,v tr con tr .Khi mc cao, k t c truyn n LCD R/W (Read/Write) Dng xc nh hng ca d liu c truyn gia LCD v vi iu khin. Khi n mc thp d liu c ghi n LCD v khi mc cao, d liu c c t LCD. Nu chng ta ch cn ghi d liu ln LCD th chng ta c th ni chn ny xung GND tit kim chn E (Enable) Cho php ta truy cp/xut n LCD thng qua chn RS v R/W.Khi chn E mc cao (1) LCD s kim tra trng thi ca 2 chn RS v R/W v p ng cho ph hp. Khi d liu c cp n chn d liu th mt xung mc cao xung thp phi c p n chn ny LCD cht d liu trn cc chn d liu. Xung ny phi rng ti thiu l 450ns. Cn khi chn E mc thp (0), LCD s b v hiu ho hoc b qua tn hiu ca 2 chn RS v R/W. Cc chn D0 - D7 y l 8 chn d liu 8 bt, c dng gi thng tin ln LCD hoc c ni dung ca cc thanh ghi trong LCD. Cc k t c truyn theo m tng ng trong bng m ascii. Cng c cc m lnh m c th c gi n LCD xo mn hnh hoc a con tr v u dng hoc nhp nhy con tr. LCD c 2 ch giao tip, ch 4 bit (ch dng 4 chn D4 n D7 truyn d liu) v ch 8 bit (dng c 8 chn d liu t D0 n D7), ch 4 bit, khi truyn 1 byte, chng ta s truyn na cao ca byte trc, sau mi truyn na thp ca byte.

Trc khi truyn cc k t ra mn hnh LCD ta cn thit lp cho LCD nh chn ch 4 bit hoc 8 bit, 1 dng hay 2 dng ,bt/tt con tr Di y l bng tp lnh ca LCD :

c thanh ghi lnh,ta phi t RS=0 v R/W =1 v xung cao xung thp cho bt E. Sau khi c thanh ghi lnh,nu bit D7(c bn ) mc cao th LCD bn, khng c thng tin hay lnh no c xut n n. Khi D7=0 mi c th gi lnh hay d liu n LCD. Chng ta nn kim tra bit c bn trc khi ghi thng tin ln LCD. Bng d liu ca LCD C th di chuyn con tr n v tr bt k trn mn hnh LCD bng cch np vo cc gi tr tng ng nh bng sau v gi yu cu n LCD:

Nh vy,0x80 n 0x8F cho dng lnh 1, 0xC0 n 0xCF cho dng lnh 2

Phn khe thi gian ca LCD :

S kt ni vi vi iu khin :

2. Cch cu hnh giao tip vi LCD cho P89V51RB2 Trong khun kh gio trnh ny, chng ti cung cp cho cc bn th vin driver giao tip vi LCD ch 8 bit. Sau y l th vin :

Mt s hm c bn : LCDcontrol(unsigned char x) : Gi lnh ln LCD LCDinit() : Khi to LCD, gi 1 ln trc khi s dng th vin. LCDputs(unsigned char *s,unsigned char row) : Hin th chui k t *s ln dng row ca LCD, row c th l 1 hoc 2, tng ng vi dng 1 hoc 2 ca LCD Cc bc cu hnh s dng th vin: Bc 1 : nh ngha cc chn cho LCD Bc 2 : Khi to LCD : LCDinit(); Bc 3 : Vit lnh cn thit : LCDcontrol, LCDputs

3. V d Trong v d sau, chng ta s hin th dng ch LOP HOC VDK 8051 ln LCD. S kt ni nh sau : Chn LCD BF RS RW EN D0-D7 Chng trnh : Chn vi iu khin P2.7 P1.0 P1.1 P1.2 P2

Chng trnh trn rt n gin, chng ta lm theo ng 3 bc nu phn trn : nh ngha chn vi iu khin kt ni vi LCD, khi to LCD v vit lnh. Bi tp Cc hm c sn trong th vin ch h tr chng ta hin th k t ln LCD, by gi bn hy lp trnh mt hm sao cho c th hin th s thc, s nguyn ln LCD, i s truyn vo l s cn hin th. G i : Cc k t hin th ln LCD tun theo chun trong bng m ASCII, mun hin th k t no, chng ta c th truyn lun k t vo hm lcd_putc() hoc c th cho i s truyn vo l v tr ca k t trong bng m ASCII. V d s 1 c v tr l 49 trong bng m ASCII, nh vy mun hin th s 1 ln LCD, chng ta dng th c 2 cch sau (S dng hm LCDwrite trong th vin) LCDwrite (1); Hoc LCDwrite (49); Hay : LCDwrite (48 + 1);

BI 7 : TIMER - Gii thiu v timer trong P89V51RB2 - Cch cu hnh timer trong Keil C cho P89V51RB2. - V d minh ha 1. Gii thiu v timer Timer l mt trong nhng module rt quan trng trong vi iu khin, s dng timer, chng ta c th lp trnh cc tc v din ra 1 cch chnh xc theo thi gian nh trc, c th m s xung ni vo u vo timerHu nh tt c cc loi vi iu khin u c timer, s lng timer mi dng vi iu khin c th khc nhau. Timer c ng dng rng ri trong thc t, gi s nh chng ta mun to ra 1 khong thi gian chnh xc l 1ms lm 1 tc v no , hay nh chng ta mun m sn phm i qua bng chuyn, hoc m s xung t encoder Tt c cc cng vic chng ta c th hon ton thc hin bng timer. C 2 ch hot ng i vi timer, ch timer v ch counter. Vi ch timer th xung a vo module timer l xung nhp ca h thng, cn vi ch counter th xung a vo module timer l xung bn ngoi. Trong vi iu khin P89V51RB2 c 3 timer : Timer 0, Timer 1, v Timer 2, ty vo tng mc ch c th m chng ta s quyt nh la chn timer no v hot ng ch no cho ph hp. Timer 0 v timer 1 : y l 2 timer 16 bit, c th c cu hnh hot ng ch timer hoc m s kin (counter). Gi tr trong thanh ghi cha gi tr ca cc timer s tng mi chu k my. Vic la chn ch timer hay counter ph thuc vo bit C/T trong thanh ghi TMOD.

Sau y ta cng tm hiu cc thanh ghi lin quan n timer 0 v timer 1 : - TMOD : l thanh ghi 8 bit dng iu khin cc timer, trong 4 bit cao l iu khin timer 1 v 4 bit thp l iu khin timer 0 :

Trong : Cc bit M1 v M0 dng chn ch cho timer, c th nh sau :


M1 M0 Ch Ch hot ng B nh thi 13 bt gm 8 bt l b nh thi/ b m 5 bt t trc

B nh thi 16 bt (khng c t trc)

B nh thi 8 bt t np li

Sau khi trn, gi tr trong thanh ghi TL s t ng c t bng gi tr t sn trong thanh ghi TH.
Ch b nh thi chia tch

Nu timer 0 ch ny th TL0 s tr thnh 1 b m/nh thi 8 bit c iu khin bi timer 0 cn TH0 cng tr thnh b m 8 bit, nhng c iu khin bi timer 1. Nu timer 1 ch ny th n s b dng (ging nh khi t TR1 = 0), ng dng ch yu ca timer 1 trong ch ny l to tc baud. C/T : Clock/Timer : Dng chn ch m hoc nh thi. Gate : Khi Gate = 0 th vic tt hoc bt b nh thi do phn mm quyt nh, cn khi Gate = 1 th vic ny ph thuc vo tc ng bn ngoi, 2 cng P3.2 v P3.3 s iu khin vic dng hoc chy cc timer. - TH, TL : l cc thanh ghi ca timer, mi thanh ghi gm 8 bit, 2 thanh ghi ny hp li thnh thanh ghi 16 bit ca timer, trong TH gm 8 bit cao v TL gm 8 bit thp. C 2 b timer => c th vit TH0, TL0, hay TH1, TL1. - TR : (Timer Run) cho php timer chy hoc dng tng ng vi gi tr bng 1 hoc 0. - TF : (Timer Flag) y l c trn ca timer, khi b m trong timer m n FFFF th s nhy v 0, khi TF t ng c set bng 1. Timer 2 : Ging nh timer0 v timer 1, timer 2 cng l timer 16 bit, c th c cu hnh hot ng ch timer hoc m s kin (counter). Gi tr trong

thanh ghi cha gi tr ca cc timer s tng mi chu k my. Vic la chn ch timer hay counter ph thuc vo gi tr ca bit C/T2 trong thanh ghi T2CON. Timer 2 c 4 ch hot ng l Capture, T ng np li, to xung, v to tc baud.

C th v timer 2, cc bn c th xem trong datasheet ca nh sn xut.

2. Cch cu hnh timer trong Keil C cho P89V51RB2 Bc 1 : Thit lp cc ch hot ng, v d nh chn ch 0, 1, 2 hay 3, cu hnh hot ng ch timer hay counter Bc 2 : t gi tr khi u cho timer, Bc ny c th c hoc khng, nu khng c, timer s m t 0.

3. V d minh ha Trong v d sau y, chng ta s vit chng trnh nhy led dng timer. Led nhp nhy sau 1 thi gian nh trc, led ni vo chn P1.8 :

Phn tch : Trong chng trnh trn, ta s dng timer 0 hot ng ch 2, l ch 8 bit, t ng np li, gi tr np li l 0, gin hot ng ca timer 0 nh sau :

Chng ta s dng mt bin m l i, c mi khi timer 0 tng gi tr n 255 v tr v 0, bit TF0 s c set ln 1, mi ln nh vy chng ta tng bin i ln 1 v reset li bit TF0. Khi i tng n 1000 th chng ta mi o gi tr logic ti chn P1.8 thng qua cu lnh P1 ^= 0x80; Sau , li reset li bin i. Tip theo, chng ta cng lm mt v d na, v d sau s xut ra cng mt xung c thi gian mc cao l 75us v thi gian mc thp l 25us (chng ta s dng thch anh 12MHz, nh vy mi ln tng ca timer tng ng vi 1us). Sau y l chng trnh :
#include <Philips\REG51F.H>
void main(){ TMOD = 0x22; //chn ch t np li cho c 2 timer TH0 = -75; // gi tr np li cho timer 0 TH1 = -25; // gi tr np li cho timer 1 P1 = 0xFF; TR0 = 1; // khi ng timer 0 while(1){ if(TF0 == 1){ TF0 = 0;

TR1 = 1; TR0 = 0; P1 = 0; } if(TF1 == 1){ TF1 = 0; TR0 = 1; TR1 = 0; P1 = 1; } } } // ht code

// khi ng timer 1 // tt timer 0

Phn tch Chng ta s dng c 2 timer, timer 0 s m trong vng 75s, timer 1 s m trong vng 25s, ti 1 thi im ch c 1 timer c php hot ng, khi timer ny m xong th dng v khi ng timer kia, v ngc li, c nh vy trong thi gian timer chy, ta s t c gi tr ca P1. Cc bn lu l chng ta t gi tr np li l -75 v -25, y cng l gi tr ca 181 v 231 nu i sang h Hex, vit nh vy ta d hnh dung hn. Bi tp - Vit hm to tr n (ms) (delay), s dng timer, n l i s truyn vo, thi gian thc hin hm l n (ms).

BI 8 : NGT

Gii thiu v ngt Cch cu hnh cho ngt trong P89V51RB2. V d minh ha vi ngt ngoi V d minh ha vi ngt timer 1. Gii thiu v ngt

Ging vi timer, ngt cng l 1 trong nhng module rt quan trng ca vi iu khin, s dng ngt s gip chng ta khng phi mt thi gian kim tra lin tc 1 on chng trnh no , ngoi ra, chng ta c th s dng ngt ng thi cho vi iu khin cng 1 lc lm nhiu nhim v. Chng ta cng hnh dung 1 v d n gin v ngt nh sau : Mi gia nh u c 1 ci chung ca, ci chung ca ng vai tr nh 1 ngt, mi khi c ai bm chung (xy ra ngt), chng ta xung m ca cho ngi vo. Nu nh khng c chung ca, chng ta phi lin tc kim tra xem c ai cng hay khng m ca, lm nh th s mt thi gian hn rt nhiu. Mt chng trnh ngt cng ging nh 1 chng trnh con, khi iu kin xy ra ngt tha mn, vi iu khin s tm dng chng trnh ang thc hin nhy ti chng trnh ngt, sau khi thc hin xong chng trnh ngt, vi iu khin li tip tc thc hin cng vic m trc n ang lm. im khc bit gia chng trnh ngt v chng trnh con l chng trnh ngt khng c i s truyn vo v khng c php gi (call) t 1 chng trnh chnh hay 1 chng trnh con khc. Vi iu khin P89V51RB2 c rt nhiu loi ngt, c th tng loi, chng ta c th tham kho trong datasheet. Trong bi hc ny, chng ta ch xem xt 2 loi ngt l ngt ngoi v ngt timer.

2. Cc bc cu hnh cho ngt hot ng Trc ht, chng ta cng tm hiu cc thanh ghi lin quan n cu hnh cho ngt ca P89V51RB2 :
1> Thanh ghi cho php ngt IE (Interrupt Enable): IE.7 EA Cho php/khng cho php ngt ton cc IE.6 -Khng s dng IE.5 ET2 Cho php ngt do timer 2 IE.4 ES Cho php ngt do port noi tiep IE.3 IE.2 IE.1 IE.0 ET1 EX1 ET0 EX0 Cho php ngt do timer 1 Ngt ngoi 1 Cho php ngt do timer 0 Ngt ngoi 0

2> Vecto ngt Reset h thng Ngt ngoi 0 Timer 0 Ngt ngoi 1 Timer 1 Port ni tip Timer 2 3> u tin ngt IP.7 IP.6 IP.5 IP.4 IP.3 IP.2 IP.1 IP.0

RST IE0 TF0 IE1 TF1 RI hoc TI TF2 or EXF2

0000H 0003H 000BH 0013H 001BH 0023H 002BH

-0 1 2 3 4 5

--PT2 PS PT1 PX1 PT0 PX0

u u u u u u

tin tin tin tin tin tin

ngt ngt ngt ngt ngt ngt

do do do do do do

timer 2 port ni tip timer 1 bn ngoi (ngt ngoi 1) timer 0 bn ngoi (ngt ngoi 0)

4> Chui vng (Th t ngt khi khng c u tin ngt): Ngt ngoi 0 -> timer 0 -> Ngt ngoi 1 -> timer 1 -> Port ni tip -> timer 2.

Cu trc hm ngt nh sau :


void ten_ham() interrupt vecto_ngat using bang_thanh_ghi{ // Statement }

Trong : ten_ham : l tn ca hm ngt, bn t l g cng c, min l hp l. Vecto_ngat : bn c th chn 0,1,2,3 ty , trong 1,2,3 l th t ca vecto ngt nh ti lit k bn trn. V d bn mun y l hm ngt ca timer 0 th bn phi chn vecto ngt l 1. interrupt, using : l t kha ca hm ngt, bn c th b using. Cn interrupt l bt buc. bang_thanh_ghi : C 4 bng thanh ghi (bn xem trong cu to ca P89V51RB2), bn c th chn bng no ty bng cch ghi s th t ca bng vo. Ci ny khng bt buc, nu khng c phn ny cng khng sao, chng trnh s t ng chn bng thanh ghi cho bn. Sau khi to xong hm ngt, cc bn phi c lnh cho php ngt hot ng, v d nu ti mun cho php ngt do timer 0 th cc lnh nh sau :
EA = 1; ET0 = 1; // Cho php ngt ton cc // Cho php ngt do timer 0

Hoc bn cng c th dng 1 lnh duy nht nh sau :


IE = 0x82;

Vi lnh ny th ch ngt do timer 0 c cho php. Ty vo tng trng hp c th m bn chn theo cch no. Lu l hm ngt c th xy ra bt k lc no, v vy nu trong hm main() bn gi hm ngt th s c li. Cc bc cu hnh cho ngt : - Ngt ngoi : o t ch cho ngt : ngt theo sn ln (xung). o Cho php ngt ton cc. o Vit chng trnh cho ngt ngoi - Ngt timer : o o o o t ch cho timer (xem phn timer) Cho php ngt timer. Cho php ngt ton cc. Vit chng trnh cho ngt timer.

- Cc loi ngt khc cng cu hnh tng t nh 2 loi ngt trn.

3. V d minh ha V d vi ngt ngoi : Vit chng trnh iu khin led dng ngt ngoi, c khi no c ngt ngoi xy ra th o trng thi ca 8 led, led ni vo P1 : Chng trnh :

V d vi ngt timer : Trong chng trnh sau, chng ta s iu xung chn P1.0 vi chu k 100us
#include <Philips\REG51F.H> void timer0() interrupt 1 { // Ngt do timer 0 P1_0 = !P1_0; } void main(){ TMOD = 2; // Ch t np li 8 bit, timer 0 TH0 = -100; // Gi tr np li TR0 = 1; // Khi ng timer 0 IE = 0x82; // Cho php ngt do timer 0 (82H = 10000010B) While(1); // khng lm g, i ngt xy ra } // Ht code

Bi tp

- Bi tp phn ny dnh cho cc bn l hy tm hiu v lp trnh cho cc ngt cn li

BI 9 : NG C BC - C bn v ng c bc. - Cc mch iu khin ng c bc - V d minh ha 1. C bn v ng c bc ng c bc l loi ng c n gin, c chnh xc cao, iu khin d dng, kch thc nh gi v c ng dng rt rng ri trong cc lnh vc iu khin chuyn ng, cc ng c dng trong u a CD, trong cng... hu ht l cc ng c bc. ng c bc hin nay t ti chnh xc rt cao, c th quay 1,8o mi bc. Cc c im chnh ca ng c bc : - Khng chi than : Khng xy ra hin tng nh la chi than lm tn hao nng lng, ti mt s mi trng c bit (hm l...) c th gy nguy him. - To c mmen gi : Mt vn kh trong iu khin l iu khin ng c tc thp m vn gi c mmen ti ln. ng c bc l thit b lm vic tt trong vng tc nh. N c th gi c mmen thm ch c v tr nh vo tc dng hm li ca t trng rotor. - iu khin v tr theo vng h : Mt li th rt ln ca ng c bc l ta c th iu chnh v tr quay ca roto theo mun m khng cn n phn hi v tr nh cc ng c khc, khng phi dng n encoder hay my pht tc (khc vi servo). - c lp vi ti : Vi cc loi ng c khc, c tnh ca ti rt nh hng ti cht lng iu khin. Vi ng c bc, tc quay ca rotor khng ph thuc vo ti (khi vn nm trong vng momen c th ko c). Khi momen ti qu ln gy ra hin tng trt, do khng th kim sot c gc quay.

2. Cc mch iu khin ng c bc C 3 cch iu khin ng c : iu khin bc, na bc v vi bc. chnh xc tng dn theo th t trn. Xt v cu to th ng c bc cng c cu to gm cc cun dy, mch iu khin ng c bc gn ging vi mch iu khin ca cc thit b nh relay, ng c 1 chiu

Nu s dng mch c nguyn l nh trn, chng ta c th s dng 1 IC tch hp sn nh ULN2003, IC h ULN200x c u vo ph hp TTL, cc u emitor c ni vi chn 8.

Mi transitor darlington c bo v bi hai diode. Mt mc gia emitor ti collector chn in p ngc ln t ln transitor. Diode th hai ni collector vi chn 9. Nu chn 9 ni vi cc dng ca cun dy, to thnh mch bo v cho transitor. Ngoi ra, c nhiu IC tch hp sn dng iu khin ng c bc, ph bin l cp IC L297 v L298, chuyn dng iu khin ng c bc vi nguyn l s dng mch cu H (L298), IC L297 cho php chng ta chn ch iu khin na bc hoc bc. ng c bc trong kit th nghim l ng c 6 dy, trong c 2 dy ngun v 4 dy pha, chiu quay ca ng c ph thuc vo th t in p cp cho cc pha ny, sau y l s nguyn l iu khin 1 pha :

Cc P2 c ni vo chn vi iu khin, chng ta s dng opto cch li gia phn cng sut v phn iu khin, in p cp cho cc pha ca ng c c iu khin thng qua FET. Cc pha khc c s nguyn l tng t hnh trn. Vic nhn bit cc u dy rt n gin, chng ta cng xem qua s sau :

Chng ta ch vic o in tr gia cc u dy vi nhau, u dy no thng vi 2 u dy khc v in tr dy dn gia u dy vi 2 u dy cn li bng nhau th l u s 1 hoc u s 2, hai u ny c vai tr nh nhau nn khng cn phn bit 2 u ny. Gi ta phi xc nh th t cp in p vo cc u dy a,b iu khin ng c quay. Chng ta ni ngun vo 2 u chung 1,2, sau ln lt cp in p vo cc u dy cn li, cho ti khi t ti 1 th t cp in p no m ng c ch quay theo 1 chiu th chng ta ghi li th t v coi nh l th t chun iu khin ng c, mun ng c quay theo chiu ngc li, chng ta ch vic cp in p vo 4 u dy theo th t ngc li.

3. V d Chng trnh sau s iu khin ng c bc 6 u dy quay theo 1 chiu c nh, cc u dy c ni vo P2 (Xem phn define trong chng trnh).

Ch yu chng ta iu khin 2 ch l bc v na bc, ch vi bc ch s dng khi yu cu chnh xc cao.

ch bc , chng ta ln lt cp xung vo cc pha ca ng c, cn ch na bc, chng ta cp cng 1 lc xung vo 2 pha k tip nhau ca ng c . Tc quay ca ng c bc ph thuc vo thi gian chuyn gia 2 ln cp xung k tip nhau vo cc u dy. Trong chng trnh trn, thi gian cp xung l time_delay. Bi tp Chng trnh trong v d iu khin ng c bc theo ch bc (cp xung vo 1 cun dy ti 1 thi im), bn hy vit chng trnh iu khin ng c bc theo ch na bc. (cp xung vo 2 cun dy k tip nhau ti mt thi im).

BI 10 : IU KHIN NG C MT CHIU - Gii thiu v ng c 1 chiu - V d minh ha

1. Gii thiu v ng c mt chiu ng c mt chiu l loi ng c c cu to v cch iu khin n gin nht, tc ng c c iu khin thng qua in p cp vo 2 u ng c. ng c mt chiu c ng dng rt rng ri trong cc h thng t ng. Cho n nay, c rt nhiu phng php dng iu khin ng c mt chiu, bi ging ny s trnh by cch s dng module PWM iu ch in p t ln hai u ng c, do iu khin c tc ng c. Mch cu H Mch cu H l mt trong nhng mch ph bin iu khin ng c mt chiu, s d gi l mch cu H v mch c hnh ch H. S nguyn l ca mch cu H nh sau :

C 4 kha chuyn 1,2,3,4. Ti mt thi im lun lun c 2 kha m v 2 kha ng. Gi s kha 1 v kha 4 ng, dng in chy qua ng c s chy t tri qua phi, ng c s quay theo 1 chiu. Nu kha 2 v 3 ng, dng in i qua ng c s c chiu t phi qua tri, nh vy ng c s quay theo chiu ngc li Trnh hai kha 1 v 3 hoc 2 kha 2 v 4 cng ng, nh vy s gy ra hin tng on mch. Nh vy vi vic thay i vic ng m cc van, chng ta c th thay i chiu quay ca ng c. By gi chng ta cn iu khin tc ng c, gi s chng ta cho 2 van 1 v 4 cng ng m lin tc (ging nh phn PWM), in p t ln ng c s c dng xung, nu tc ng m thp, ng c s quay git cc v lc c in p, lc khng c in p. Nu tc ng m cao (khong trn 15KHz) th do qun tnh nn chng ta s thy ng c quay trn u. Trong thc t, cc kha chuyn trong hnh trn c th dng cc transistor, hay Mostfet, khng nn dng relay, v relay c tc ng m thp.

2. V d minh ha Sau y l s nguyn l 1 van ca module iu khin ng c c s dng trong v d :

Mch trn s dng Mosfet iu khin ng c, diode D11 c tc dng bo v cho FET, Opto Op6 c tc dng cch li mch ng c vi mch iu khin, iu ny s m bo an ton cho phn mch iu khin. on chng trnh sau s minh ha vic iu khin ng c 1 chiu quay thun, quay ngc :

Bi tp c th iu khin c tc ng c 1 chiu, chng ta thay i in p cp vo chn MotorPWM bng cch to xung PWM thng qua timer ca vi iu khin. Bi tp dnh cho bn l hy vn dng bi hc v timer iu khin tc ng c.

BI 11 : GIAO TIP VI MA TRN PHM - C bn v ma trn phm - V d minh ha

1. C bn v ma trn phm Ging nh led ma trn, ma trn phm l tp hp cc phm n, c ni vi nhau thnh dng ma trn.

Ma trn phm 4x4

Vic giao tip vi bn phm ma trn cng tng t nh giao tip vi led ma trn, chng ta cng c 2 kiu l qut theo hang v qut theo ct. Sau y chng ta s cng tm hiu cch qut phm theo hang :

- Ban u, chng ta cp in p (gi s l 5V mc logic 1) vo hang A, cc hang cn li cp mc logic 0. - Sau , chng ta kim tra mc logic ti cc ct 1,2,3,4, nu ct no c mc logic 1 th phm tng ng ct c nhn. Gi s ct 1 c mc logic 1 th phm 7 c nhn. - Tng t, chng ta ln lt cho cc hang B, C, D c mc logic 1, cc hang cn li c mc logic 0, thng qua vic c mc logic ti cc ct, chng ta s bit c phm no c nhn.

2. V d minh ha Sau y l chng trnh minh ha cch qut phm, bn phm gm 8 phm c ni vo Port B, gi tr ca cc phm sau khi c c a ra port C.

S mch bn phm Chng trnh

Bi tp Chng trnh trn ch c gi tr ca phm bm v xut gi tr (nh phn) ra P2, bn hy vn dng bi led 7 thanh vit chng trnh c gi tr ca phm v xut ra led 7 thanh.

BI 12 : GIAO TIP VI CNG LPT - C bn v cng LPT - V d minh ha

1. C bn v cng LPT LPT l vit tt ca ch Line Print Terminal, giao tip LPT l giao tip song song nhm mc ch ni my tnh PC vi my in. V sau, cng song song pht trin thnh mt tiu chun khng chnh thc. Tn gi ca cng song song bt ngun t kiu d liu truyn qua cng ny : cc bit d liu c truyn song song hay ni c th hn l byte ni tip cn bit song song. Cho n nay cng song song c mt hu ht cc my tnh PC c sn xut trong nhng nm gn y. Cng song song cn c gi l cng my in hay cng Centronics. Cu trc ca cng song song rt n gin vi tm ng d liu, mt ng dn mass chung, bn ng dn iu khin chuyn cc d liu iu khin ti my in v nm ng dn trng thi ca my in ngc tr li my tnh. Giao din song song s dng cc mc logic TTL, v vy vic s dng trong mc ch o lng v iu khin c phn n gin.

S cng LTP Khong cch cc i gia cng song song my tnh PC v thit b ngai vi b hn ch v in dung k sinh v hin tng cm ng gia cc ng dn c th lm bin dn tn hiu. Khong cch gii hn l 8m, thng thng ch c 1,5 2 m. Khi khong cch ghp ni trn 3m nn xon cc ng dy tn hiu vi ng ni t theo kiu cp dy xon hoc dng loi cp dt nhiu si trong mi ng dn d liu iu nm gia hai ng ni mass. Tc truyn d liu qua cng song song ph thuc vo linh kin phn cng c s dng. Trn l thuyt tc truyn t gi tr 1 Mbit/s, nhng vi khong cch truyn b hn ch trong phm vi 1m. Vi nhiu mc ch s dng th khong cch ny hon ton tha ng. Nu cn truyn trn khong cch xa hn, ta nn ngh n kh nng truyn qua cng ni tip hoc USB. Mt im cn lu l : vic tng khong cch truyn d liu qua cng song song khng ch lm tng kh nng gy li i vi ng d liu c truyn m cn lm tng chi ph ca ng dn.

Sau y l chc nng ca cc ng dn tn hiu: Strobe (1) Vi mt mc logic thp chn ny, my tnh thng bo cho my in bit c mt byte ang sn sng trn cc ng dn tn hiu c truyn. D0 n D7 Cc ng dn d liu Acknowledge Vi mt mc logic thp chn ny, my in thng bo cho my tnh bit l nhn c k t va gi v c th tip tc nhn. Busy (bn 11)

My in gi n chn ny mc logic cao trong khi ang n nhn hoc in ra d liu thng bo cho my tnh bit l cc b m trong my tnh bit l cc b m trong my tnh b y hoc my in trong trn thi Off-line. Paper empty (ht giy 12) Mc cao chn ny c ngha l giy dng ht. Select (13) Mt mc cao chn ny, c ngha l my in ang trong trng thi kch hot (On-line) Auto Linefeed (t np dng) C khi cn gi l Auto Feed. Bng mt mc thp chn ny my tnh PC nhc my in t ng np mt dng mi mi khi kt thc mt dng. Error (c li) Bng mt mc thp chn ny, my in thng bo cho my tnh l xut hin mt li, chng hn kt giy hoc my in ang trong trng thi Off-Line. Reset (t li) Bng mt mc thp chn ny, my in c t li trng thi c xc nh lc ban u. Select Input Bng mt mc thp chn ny, my in c la chn bi my tnh. Cp ni gia my in v my tnh bao gm 25 si, nhng khng phi tt c iu c s dng m trn thc t ch c 18 si c ni vi cc chn c th. Nhn xt ny gip chng ta tn dng nhng cp ni m trong li b t mt hai si. Qua cch m t chc nng ca tng tn hiu ring l ta c th nhn thy cc ng dn d liu c th chia thnh 3 nhm: - Cc ng dn tn hiu, xut ra t my tnh PC v iu khin my tnh, c gi l cc ng dn iu khin. - Cc ng dn tn hiu, a cc thng tin thng bo ngc li t my in v my tnh, c gi l cc ng dn trng thi.

- ng dn d liu, truyn cc bit rieng l ca cc k t cn in. T cch m t cc tn hiu v mc tn hiu ta c th nhn thy l: cc tn hiu Acknowledge, Auto Linefeed, Error, Reset v Select Input kch hot mc thp. Thng qua chc nng ca cc chn ny ta cng hnh dung c iu khin cng my in.

2. V d minh ha My tnh s gi d liu (dng 8 bit) thng qua cc ng data, t DATA0 n DATA7. V s nhn d liu phn hi t thit b thng qua cc ng iu khin, sau y l s kt ni :

Do hnh thc giao tip l giao tip song song, nn lp trnh kh n gin, on code sau y dng nhn d liu t cng LPT v xut ra led, led c ni vi P1, d liu nhn t cng LPT c ni vo P2.

on m trn c d liu gi xung t cng LPT (cc ng t D0 n D7) thng qua P2, sau xut d liu ra P1. Phn mm giao tip vi cng LPT cc bn c th t vit, dng cc ngn ng lp trnh nh Visual Basic, hay C++, C#...

BI 13 : GIAO TIP MY TNH - C bn v giao tip RS232. - Cch cu hnh giao tip RS232 trong Keil C cho P89V51RB2 - V d minh ha

1. C bn v giao tip RS232 RS232 l mt dng giao thc, dng truyn d liu gia cc thit b in t c h tr giao thc ny. RS232 l mt trong nhng giao thc ra i sm nht v c th ni l n gin nht. Cho n nay, RS232 vn cn c ng dng rt nhiu do giao thc n gin, tin cy cao, v khong cch truyn kh xa, tuy nhin tc truyn vn mc kh khim tn so vi cc giao thc ra i sau ny nh USB, SPI, I2C s dng c giao tip RS232 vi P89V51RB2, chng ta s dng module UART c sn trong P89V51RB2. UART l vit tt ca Universal Asynchronous Receiver Transmitter, l giao tip truyn nhn d b, d b y c ngha l thit b truyn v thit b nhn khng cng chung xung nhp clock. Trong giao thc RS232, chng ta quan tm n nhng thng s sau : - Tc baud : L s bit truyn trn 1s, in hnh l 9600 bit/s - Parity : c 2 loi parity l parity chn v parity l, dng tng tnh kim sot li trong 1 ln truyn, gi s ta cu hnh parity l chn th mi ln truyn, nu s bit c mc logic 1 l l th module t thm 1 bit 1 vo cui khung truyn, cn nu s bit c mc logic 1 l chn th khng thm bit 1 vo cui khung truyn. Parity l cng tng t nh vy. - S bit trn mi ln truyn : L s bit d liu (data) trn mi khung truyn, thng l 8 bit.

Mt khung truyn UART c cu trc nh sau :

2. Cch cu hnh module UART

Thanh ghi SCON

- SM0, SM1, SM2 l 3 bit cho php chn cc ch 0, hoc 1, hoc 2. - Bit TCLK v/hoc RCLK trong thanh ghi T2CON cho php chn ngun sinh sinh tc Baud UART truyn pht t timer1 hoc 2, khi TCLK= 0, Timer 1 l ngun sinh tc Baud, khi TCLK= 1, Timer 2 l ngun sinh tc Baud. - TI: c ngt truyn pht - RI: c ngt thu nhn. - REN: cho php thu.

3. V d. Sau y l mt chng trnh minh ha giao tip RS232, khi khi ng, vi iu khin s gi chui k t Chuong trinh test RS232 ln PC.

Mch nguyn l :

Trong mch nguyn l, chng ta s dng thm 1 IC max 232 chuyn in p tng ng vi 2 mc logic 0 v 1 ca vi iu khin thnh in p mc logic tng ng vi P89V51RB2, hai chn 11 v 12 ca max232 c ni vi 2 chn TX v RX ca vi iu khin.

Chng trnh :

Chng trnh giao tip RS232 rt n gin. c th quan st k t c truyn ln PC, chng ta c th s dng 1 phn mm c sn trong window l Hyper Terminal, m phn mm ny, chng ta lm nh sau : - Vo Start/All Program/Accessories/Communications/Hyper Terminal - Tip n, xut hin hp thoi nhc nh nhp tn thng tin khu vc, chng ta chn cancel, sau chn yes v ok

- Sau chng ta nhp m t kt ni :

- Nu li xut hin hp thoi nhc nh nhp tn thng tin khu vc, chng ta lm nh trn. - Sau , chng ta chn cc thng s thit lp kt ni :

Chn cng COM kt ni

Chn tc baud, s bit d liu trn 1 khung truyn v parity - Giao din ca chng trnh nh sau :

- Kt qu, chng ta c nh sau :

- Ch : Ngoi chng trnh Hyper Terminal c sn trong window, chng ta c th s dng nhiu chng trnh khc nh Terminal, hay nh chng trnh c sn trong CCS nh siow (Serial Input/Output Monitor), giao din cc chng trnh nh sau :

Bi tp: liu V d trn m t vic gi d liu ln PC, bn hy vit chng trnh c d gi v t PC.

BI 14 : GIAO TIP VI GLCD - C bn v GLCD - V d minh ha 1. C bn v GLCD Graphic LCD (gi tt l GLCD) loi chm khng mu l cc loi mn hnh tinh th lng nh dng hin th ch, s hoc hnh nh. Khc vi Text LCD, GLCD khng c chia thnh cc hin th cc m ASCII v GLCD khng c b nh CGRAM (Character Generation RAM). GLCD 128x64 c 128 ct v 64 hng tng ng c 128x64=8192 chm (dot). Mi chm tng ng vi 1 bit d liu, v nh th cn 8192 bits hay 1024 bytes RAM cha d liu hin th y mi 128x64 GLCD. Ty theo loi chip iu khin, nguyn l hot ng ca GLCD c th khc nhau, bi ny s gii thiu loi GLCD c iu khin bi chip KS0108 ca Samsung, c th ni GLCD vi KS0108 l ph bin nht trong cc loi GLCD loi ny (chm, khng mu)

Hnh nh GLCD

Chip KS0108 ch c 512 bytes RAM (4096 bits = 64x64) v v th ch iu khin hin th c 64 dng x 64 ct. iu khin GLCD 168x64 cn 2 chip KS0108, v thc th trong cc loi GLCD c 2 chip KS0108, GLCD 128x64 do tng t 2 GLCD 64x64 ghp li Cc GLCD 128x64 dng KS0108 thng c 20 chn trong ch c 18 chn l thc s iu khin trc tip GLCD, 2 chn (thng l 2 chn cui 19 v 20) l 2 chn Anode v Cathode ca LED nn. Trong 18 chn cn li, c 4 chn cung cp ngun v 14 chn iu khin+d liu. Khc vi cc Text LCD HD44780U, GLCD KS0108 khng h tr ch giao tip 4 bit, do bn cn dnh ra 14 chn iu khin 1 GLCD 128x64.

S chn GLCD

Chn VSS c ni trc tip vi GND, chn VDD ni vi ngun +5V, mt bin tr khong 20K c dng chia in p gia Vdd v Vee cho chn Vo, bng cch thay i gi tr bin tr chng ta c th iu chnh tng phn ca GLCD. Cc chn iu khin RS, R/W, EN v cc ng d liu c ni trc tip vi vi iu khin. Ring chn Reset (RST) c th ni trc tip vi ngun 5V. EN (Enable): cho php mt qu trnh bt u, bnh thng chn EN c gi mc thp, khi mt thc hin mt qu trnh no (c hoc ghi GLCD), cc chn iu khin khc s c ci t sn sng, sau kch chn EN ln mc cao. Khi

EN c ko ln cao, GLCD bt u lm thc hin qu trnh c yu cu, chng ta cn ch mt khong thi gian ngn cho GLCD c hoc gi d liu. Cui cng l ko EN xung mc thp kt thc qu trnh v cng chun b chn EN cho qu trnh sau ny. RS (Register Select): l chn la chn gia d liu (Data) v lnh (Instruction), v th m trong mt s ti liu bn c th thy chn RS c gi l chn DI (Data/Instruction Select). Chn RS=1 bo rng tn hiu trn cc ng DATA (D0:7) l d liu ghi hoc c t RAM ca GLCD. Khi RS=0, tn hiu trn ng DATA l mt m lnh (Instruction). RW (Read/Write Select): chn la gia vic c v ghi. Khi RW=1, chiu truy cp t GLCD ra ngoi (GLCD->AVR). RW=0 cho php ghi vo GLCD. Giao tip vi GLCD ch yu l qu trnh ghi (AVR ->GLCD), ch duy nht trng hp c d liu t GLCD l c bit BUSY v c d liu t RAM. c bit BUSY th chng ta kho st cho Text LCD, bit ny bo GLCD c ang bn hay khng, vic c ny s c dng vit hm wait_GLCD. c d liu t RAM ca GLCD l mt kh nng mi m Text LCD khng c, bng vic c ngc t GLCD vo AVR, chng ta c th thc hin nhiu php logic hnh (hay mt n, mask) lm cho vic hin th GLCD thm th v. CS2 v CS1 (Chip Select): nh ti trnh by trong phn trn, mi chip KS0108 ch c kh nng iu khin mt GLCD c kch thc 64x64, trn cc GLCD 128x64 c 2 chip KS0108 lm vic cng nhau, mi chip m nhim mt na LCD, 2 chn CS2 v CS1 cho php chn mt chip KS0108 lm vic. Thng thng nu CS2=0, CS1=1 th na tri c kch hot, ngc li khi CS2=1, CS1=0 th na phi c chn. Chng ta s hiu r hn cch phi hp lm vic ca 2 na GLCD trong phn kho st b nh ca LCD.

T chc b nh. Chip KS0108 c mt loi b nh duy nht l RAM, khng c b nh

cha b font hay cha m font t to nh chip HD44780U ca Text LCD. V vy, d liu ghi vo RAM s c hin th trc tip trn GLCD. Mi chip KS0108 c 512 bytes RAM tng ng vi 4096 chm trn mt na (64x64) LCD. RAM ca KS0108 khng cho php truy cp tng bit m theo tng byte, iu ny c ngha l mi ln chng ta vit mt gi tr vo mt byte no trn RAM ca GLCD, s c 8 chm b tc ng, 8 chm ny nm trn cng 1 ct. V l do ny, 64 dng GLCD thng c chia thnh 8 pages, mi page c cao 8 bit v rng 128 ct (c 2 chip gp li). Hnh 3 m t b mt mt GLCD v cng l cch sp xp RAM ca cc chip KS0108. T chc RAM ca 2 chip KS0108 tri v phi hon ton tng t, vic c hay ghi vo RAM ca 2 chip cng c thc hin nh nhau. Chng ta s chn na tri GLCD kho st. Nh bn thy trn hnh 3, 64 dng t trn xung di c chia thnh 8 dy m ta gi l 8 pages. Page trn cng l page 0 v page di cng la page 7. Trong cc GLCD, page cn c gi l a ch X (X address), hay ni cch khc X=0 l a ch ca page trn cng, tng t nh th, X=7 l a ch ca page di cng. Mi page cha 64 ct (ch xt 1 chip KS0108), mi ct l mt byte RAM 8 bit, mi bit tng ng vi 1 chm trn LCD, bit c trng s thp (LBS - tc bit D0 nh trong hnh 3) tng ng vi chm trn cao nht. Bit c trng s cao nht (MBS - tc bit D7 nh trong hnh 3) tng ng vi chm thp nht trong 1 page. Th t cc ct trong 1 page gi l a ch Y (Y address), nh th ct u tin c a ch Y = 0 trong khi ct cui cng c a ch Y l 63. Bng cch phi hp a ch X v a ch Y chng ta xc nh c v tr ca byte cn c hoc ghi. Chip KS0108, tt nhin, s h tr cc lnh di chuyn n a ch X v Y ghi hay c RAM

Tp lnh cho chip KS0108. So vi HD44780U ca Text LCD, lnh cho KS0108 ca GLCD n gin v t hn v v th vit chng trnh iu khin GLCD cng tng i d hn Text LCD. C tt c 7 lnh (Instruction) c th giao tip vi KS0108. Ti s ln lt gii thch ngha v cch s dng ca tng lnh.

Display ON/OFF Hin th GLCD: lnh ny cho php GLCD hin th ni dung trn RAM ra b mt GLCD. vit lnh ny cho GLCD, 2 chn RS v RW cn c ko xung mc thp (RS=0: y l Instrucion, RW=0: AVR->GLCD). M lnh (code) c cha trong 7 bit cao (D7:1) v bit D0 cha thng s. Quan st bng 2, d thy m lnh nh phn cho Display ON/OFF l 0011111x (0x3E+x) trong x=1: cho php GLCD hin th, x=0: tt hin th. Set Address chn a ch: ng hn y l lnh chn ct hay chn a ch Y. Hai bit D7 v D6 cha m lnh (01000000=0x40=64) v 6 bit cn li cha ch s ca ct mun di chuyn n. Ch l mi na GLCD c 64 ct nn cn 6 bit cha ch s ny (26=64). Vy lnh ny c dng 0x40+Y. V d nu chng ta mun di chuyn n ct 36 chng ta ghi vo GLCD m lnh: 0x40+36. Hai chn RS v RW c gi mc thp khi thc hin lnh ny. Set Page chn trang: lnh cho php chn page (hay a ch X) cn di chuyn n, do GLCD ch c 8 pages nn ch cn 3 bit cha a ch page. M lnh cho lnh ny c dng 0xB8+X. Trong bin X l ch s page cn di chuyn n. Hai chn RS v RW c gi mc thp khi thc hin lnh ny. Display Start Line chn line u tin: hay cn gi l lnh cun, lnh ny cho php di chuyn ton b hnh nh trn GLCD (hay RAM) ln pha trn mt s dng no , chng ta gi l LOffset. S lng LOffset c th t 0 n 63 nn cn 6 bit cha gi tr ny. M lnh Display Start Line c dng 0xC0+LOffset. Hai chn RS v RW c gi mc thp khi thc hin lnh ny. Khi di chuyn GLCD ln pha trn, phn d liu pha trn b che khut s cun xung pha di. Hnh 5 l mt v d cun GLCD ln 20 dng. Status Read c trng thi GLCD: y l mt trong 2 lnh c t GLCD. Cng ging nh vi Text LCD, lnh c trng thi GLCD ch yu xt bit BUSY (bit th 7) xem GLCD c ang bn hay khng, lnh ny s c dng vit mt hm wait_GLCD ch cho n khi GLCD rnh. V y l lnh c t GLCD nn chn RW phi c set ln mc 1 trc khi thc hin, chn RS vn mc thp (c

Instruction). Write Display Data ghi d liu cn hin th vo GLCD hay RAM: v y l 1 lnh ghi d liu hin th nn chn RS cn c set ln 1 trc khi thc hin, chn RW gi mc 0. Lnh ny cho php ghi mt byte d liu vo RAM ca KS0108 v cng l d liu s hin th ln GLCD ti v tr hin hnh ca 2 con tr a ch X v Y. 8 bit d liu ny s tng ng vi 8 chm trn ct Y page X. Ch l sau lnh Write Display Data, a ch ct Y t ng c tng ln 1 v v th nu c mt d liu mi c ghi, d liu mi s khng ln d liu c. Vic tng t ng a ch Y rt c li cho vic ghi d liu lin tip, n gip gim thi gian set li a ch ct Y. Sau khi thc hin ghi ct Y=63 (ct cui cng trong 1 page, i vi 1 chip KS0108), Ys v 0. Read Display Data c d liu hin th t GLCD (cng l d liu t RAM ca KS0108): lnh c ny mi so vi Text LCD, n cho php chng ta c ngc 1 byte d liu t RAM ca KS0108 ti v tr hin hnh v AVR. Sau khi c c gi tr ti v tr hin hnh, chng ta c th thc hin cc php Logic nh o bit, or hay andlm tng kh nng thao tc hnh nh. Trc khi thc hin c chng ta cn di chuyn n v tr mun c bng 2 lnh set a ch X v Y, sau khi c gi tr a ch page X v ct Y khng thay i, do nu c tip m khng di chuyn a ch th vn thu c gi tr c.

2. V d minh ha Phn ny s trnh by cc hm h tr c bn giao tip vi GLCD :

Bi tp Da vo driver cung cp trn, bn hy lp trnh hin th cc hnh 2D nh hnh ch nht, hnh vung, hnh trn

BI 15 : GIAO TIP VI ADC - C bn v ADC - V d giao tip vi ADC0804

1. C bn v ADC Chng ta bit rng cc tn hiu th gii xung quanh chng ta ton l cc tn hiu tng t : dng in 220VAC, dng in 5V, sc gi, tc ng c, tuy nhin vi iu khin ch x l c cc tn hiu s : 10101, nh vy, cn phi c 1 thit b no chuyn i qua li gia 2 loi tn hiu ny, l l do v sao chng ta c cc b ADC v DAC. ADC l 1 thit b dng chuyn i tn hiu tng t thnh tn hiu s. Cn DAC th ngc li, chuyn tn hiu s thnh tn hiu tng t. Chip ADC0804 l b chuyn i tng t s trong h cc lot ADC0800 t hng National Semiconductor. N cng c nhiu hng khc sn xut, in p lm vic 0-5v v c phn gii l 8 bt. Ngoi phn gii th thi gian chuyn i cng l mt yu t quan trng khc khi nh gi mt b ADC. Thi gian chuyn i c nh ngha nh l thi gian m b ADC cn chuyn mt u vo tng t thnh mt s nh phn. Trong ADC0804, thi gian chuyn i thay i ph thuc vo tn s ng h c cp ti chn CLK v CLK IN nhng khng th nhanh hn 110s. Cc chn ca ADC0804 c m t nh sau : - Chn chn chp: L mt u vo tch cc mc thp c s dng kch hot chp ADC 804. truy cp ADC0804th chn ny phi mc thp. - Chn (c): y l mt tn hiu u vo c tch cc mc thp. Cc b ADC chuyn i u vo tng t thnh s nh phn tng ng vi n v gi no trong mt thanh ghi trong. c s dng nhn d liu c chuyn i u ra ca ADC 804. Khi CS = 0 nu mt xung cao xung

thp c p n chn th u ra s 8 bt c hin din cc chn d liu D0 D7. Chn cng c coi nh cho php u ra. - Chn ghi (thc ra tn chnh xc l Bt u chuyn i). y l chn u vo tch cc mc thp c dng bo cho ADC0804bt u qu trnh chuyn i. Nu CS = 0 khi to ra xung cao xung thp th b ADC0804bt u chuyn i gi tr u vo tng t Vin v s nh phn 8 bt. Lng thi gian cn thit chuyn i thay i ph thuc vo tn s a n chn CLK IN v CLK R. Khi vic chuyn i d liu c hon tt th chn INTR c p xung thp bi ADC 804. - Chn CLK IN v CLK R: Chn CLK IN l mt chn u vo c ni ti mt ngun ng h ngoi khi ng h ngoi c s dng to ra thi gian. Tuy nhin ADC0804 cng c mt my to xung ng h. s dng my to xung ng h trong(cng cn c gi l my to ng h ring ) ca 804 th cc chn CLK IN v CLK R c ni ti mt t in v mt in tr nh ch ra trn hnh 12.5. Trong trng hp ny tn s ng h c xc nh bng biu thc :

Gi tr tiu biu ca cc i lng trn R = 10k v C = 150pF v tn s nhn c l f = 606kHz v thi gian chuyn i s mt l 110s. - Chn ngt (ngt hay gi chnh xc hn l kt thc chuyn i). y l chn u ra tch cc mc thp. Bnh thng n trng thi cao v khi vic chuyn i hon tt th n xung thp bo cho CPU bit l d liu c chuyn i sn sng ly i. Sau khi xung thp, ta t CS = 0 v gi xung cao 0 xung thp ti chn ly d liu ra ca 804. - Chn Vin (+) v Vin(-). y l cc u vo tng t vi sai m Vin = Vin (+) - Vin(-). Thng thng Vin(-) c ni xung t v Vin(+) c dng nh u vo tng t c chuyn i v dng s . - Chn Vcc. y l chn ngun ni + 5v, n cng c dng nh in p tham chiu khi u vo Vref/2(chn 9) h.

- Chn Vref/2 Chn ny c dng cho in p tham chiu. Nu chn ny h th in p u vo tng t cho ADC0804 nm trong di 0 n +5V. Chn Vref/2 c dng thc thi cc in p u vo khc ngoi di 0 n +5V - Cc chn d liu D0 D7 Cc chn d liu D0 D7 (D7 l bt cao nht MBS v D0 l bt thp nht LSB) l cc chn u ra d liu s. y l nhng chn c m ba trng thi v d liu c chuyn i ch c truy cp khi chn CS=0 v chn b a xung thp. tnh in p u ra ta c th s dng cng thc sau:

- Chn t tng t v chn t s. y l nhng chn u vo cp t chung cho c tn hiu s v tng t. t tng t c ni ti t ca chn tng t, cn t s c ni ti t ca chn . L do m ta phi c hai t l cch ly tn hiu tng t t cc in p k sinh to ra vic chuyn mch s c chnh xc. Trong phn trnh by ca chng ta th cc chn ny c ni chung vi mt t. Tuy nhin, trong thc t thu o d liu cc chn t ny c ni tch bit. T nhng iu trn ta kt lun rng cc bc cn phi thc hin khi chuyn i d liu bi ADC0804 l : - Bt CS=0 v gi mt xung thp ln cao ti chn bt u chuyn i. - Duy tr hin th chn . Nu xung thp th vic chuyn i c hon tt v ta c th sang bc k tip. Nu cao tip tc thm d cho n khi n xung thp. - Sau khi chn xung thp, ta bt CS = 0 v gi mt xung cao - xung - thp n chn ly d liu ra khi chp ADC 804. Phn chia thi gian cho qu trnh ny c trnh by trn hnh sau.

2. V d minh ha

Bi tp

Bn hy tm hiu module DAC (DAC0808) v lm v d mu nh trn

You might also like