You are on page 1of 116

Chng 1

1.1. t Vn .
Ngy nay k thut vi iu khin tr nn quen thuc trong cc ngnh k thut v trong dn dng. T cc dy chuyn sn xut ln n cc thit b gia dng, chng ta u thy s hin din ca vi iu khin. Cc b vi iu khin c kh nng x l nhiu hot ng phc tp m ch cn mt chip vi mch nh, n thay th cc t iu khin ln v phc tp bng nhng mch in gn nh, d dng thao tc s dng. Vi iu khin khng nhng gp phn vo k thut iu khin m cn gp phn to ln vo vic pht trin thng tin. chnh l s ra i ca hng lot thit b ti tn trong ngnh vin thng, truyn hnh, c bit l s ra i ca mng Internet -siu xa l thng tin, gp phn a con ngi n nh cao ca nn vn minh nhn loi. Chnh v cc l do trn, vic tm hiu, kho st vi iu khin l iu m cc sinh vin ngnh in m c bit l chuyn ngnh k thut in-in t phi ht sc quan tm. chnh l mt nhu cu cn thit v cp bch i vi mi sinh vin, ti ny c thc hin chnh l p ng nhu cu . Cc b iu khin s dng vi iu khin tuy n gin nhng vn hnh v s dng c li l mt iu rt phc tp. Phn cng vic x l chnh vn ph thuc vo con ngi, chnh l chng trnh hay phn mm. Tuy chng ta thy cc my tnh ngy nay cc k thng minh, gii quyt cc bi ton phc tp trong vi phn triu giy, nhng cng l da trn s hiu bit ca con ngi. Nu khng c s tham gia ca con ngi th h thng vi iu khin cng ch l mt vt v tri. Do vy khi ni n vi iu khin cng ging nh my tnh bao gm 2 phn l phn cng v phn mm. Cc b vi iu khin theo thi gian cng vi s pht trin ca cng ngh bn dn tin trin rt nhanh, t cc b vi iu khin 4 Bit n gin n cc b vi iu khin 32 Bit. Vi cng ngh tin tin ngy nay cc my tnh c th i n vic suy ngh, tri thc cc thng tin a vo, l cc my tnh thuc th h tr tu nhn to.

Mc d vi iu khin i c nhng bc di nh vy nhng tip cn c vi k thut ny khng th l mt vic c c trong mt sm mt chiu. Vic hiu c c ch hot ng ca b vi iu khin 8 Bit l c s chng ta tm hiu v s dng cc b vi iu khin ti tn hn, y chnh l bc i u tin khi chng ta mun xm nhp su hn vo lnh vc ny. tm hiu b vi iu khin mt cch khoa hc v mang li hiu qu cao lm nn tn cho vic xm nhp vo nhng h thng ti tn hn. Vic trang b nhng kin thc v vi iu khin cho sinh vin l ht sc cn thit. Xut pht t thc tin ny em i n quyt nh chn ti H THNG A X L. ng dng vo vic qun l cc phng trong mt to nh bao gm: cho php vo phng khi c m vo, o nhit phng, bo chy.

1.2. Mc ch, Yu Cu Ca Ti.


ti ny phi gii quyt c nhiu vic nh thu thp d liu v nhit , bo ng khi c chy hoc c s xm nhp bt hp php, kim tra s cho php ra vo trong mt phm vi qun l rng. Cho nn h thng a x l ny s c thit k bao gm mt my tnh PC v cc mng vi x l con, trong my tnh PC s m nhn vic qun l iu khin tt c cc mng vi x l con trong h thng. H thng ny c th dng trong vic kim sot mt khch sn, mt to nh cao tng hoc mt chung c bng cch b tr h thng nh sau:my tnh PC t trung tm iu hnh kim tra, n s iu khin cc mng vi x l con c t ti cc phng ring bit trong to nh. My tnh PC s thu nhn d liu t cc mng con, x l v sau ra lnh cho chng. Cc mng con ny thc hin cc lnh t PC. Cc lnh bao gm: m ca phng cho ngi vo khi c m vo hp l, bo ng khi c chy hay c s t nhp, hin th nhit .

1.3. C S L Lun.
Da trn c s ca cc ti vi x l v vi iu khin, c bit l cc tnh nng ca chng cng nh cc h IC giao tip, hin th v gii m , nhm thit k mt h thng vi iu khin gp phn lm phong ph thm cho vic hiu bit v lnh vc ny ng thi c th m rng v nh hng v sau. ti ny c thc hin ch yu da vo kin thc v vi x l, cc phng php truyn d liu, giao tip ngoi vi ca my tnh ng thi cc l thuyt v mch in t cng nh vic tm hiu v cc linh kin IC c dng. Ni chung l cc kin thc cn thit cho mt sinh vin ra trng ng dng nhng g hc c vo thc t vi ci nhn ng n hn. Cc linh kin c s dng trong ti s bao gm:

Vi iu khin AT89C51. B bin i ADC : IC ADC0804. My tnh PC v IC Max232, IC N75176B. B gii m BCD sang Led 7 on IC 74247 v Led 7 on. B cnh bo dng IC LM555.

1.4. Gii Hn Ca Ti.


Do thi gian nghin cu v thc hin ti c gii hn, lun n ny ch thc hin trong phm vi sau: H thng a x l s c thit k bao gm: mt my tnh PC kt ni iu khin vi hai mng (kit) vi x l. Mi kit vi x l th bao gm cc khi sau: khi o v hin th nhit ; khi bn phm nhp; khi m nhn m ca, bo chy. Vi mt h thng nh vy cng khi qut mt cch r rng v ni dung chnh ca ti, v ngoi ra chng ta s rt d dng m rng thm cc kit vi x l con nu cn thit. Bi v v nguyn l th cc mng vi x l con ny hon ton ging nhau, ch khc nhau v v tr v a ch trong mng. V a ch th chng ta d dng thm vo bng phn mm.

Chng 2

2.1. Gii thiu khi qut v h IC MCS-51


MCS-51( l mt h IC vi iu khin do Intel pht trin v sn xut. Mt s nh sn xut c php cung cp cc IC tng thch vi cc sn phm MCS-51( ca Intel l Siemens, Advanced Micro Devices, Fujitsu, Philips, Atmel Cc IC ca h MCS-51( c cc c trng chung nh sau: 4 port I/O 8 bit Giao tip ni tip 64K khng gian b nh chng trnh m rng

64K khng gian b nh d liu m rng Mt b x l lun l (thao tc trn cc bit n) 210 bit c a ch ha B nhn/chia 4 (s.

Ngoi ra, ty theo s hiu sn xut m chng c nhng khc bit v b nh v b nh thi/b m nh trong bng so snh di y: Bng 2.1 So snh gia cc IC h MCS-51 S hiu sn xut 8031 8051 8751 8951 8032 8052 8752 8952 B nh chng trnh trn chip 0K 4K ROM 4K EPROM 4K FLASH 0K 8K ROM 8K EPROM 8K FLASH B nh d liu S b nh thi trn chip (b m) 128 byte 2 128 byte 2 128 byte 2 128 byte 2 256 byte 3 256 byte 3 256 byte 3 256 byte 3

2.2. Gii Thiu AT89C51.


AT89C51 l mt Microcomputer 8 bit, loi CMOS, c tc cao v cng sut thp vi b nh Flash c th lp trnh c. N c sn xut vi cng ngh b nh khng bay hi mt cao ca hng Atmel, v tng thch vi chun cng nghip ca 80C51 v 80C52 v chn ra v b lnh. V l do , k t y v sau ta s dng thut ng 80C51 (hoc "8051") Hnh 2.1 S khi ca AT89C51

2.2.1. Nhng c Trng Ca AT89C51. + Tng thch vi cc sn phm MCS-51 + 4KByte b nh Flash c th lp trnh li vi 1000 chu k c/xo + Hot ng tnh y : 0Hz n 24MHz + Kho b nh chng trnh ba cp + 128 x 8 bit RAM ni + 32 ng xut-nhp lp trnh c (tng ng 4 port) + Hai timer/counter 16 bit + Mt port ni tip song cng lp trnh c + Mch ng h v b dao ng trn chip Cu hnh chn ca AT89C51 nh sau:

Hnh 2.2 S chn ca AT89C51 Nh vy AT89C51 c tt c 40 chn. Mi chn c chc nng nh cc ng I/O (xut/nhp), trong 24 chn c cng dng kp: mi ng c th hot ng nh mt ng I/O hoc nh mt ng iu khin hoc nh thnh phn ca bus a ch v bus liu. M t chn VCC (chn 40) Chn cp ngun. GND (chn 20) Chn ni t. Port 0 Port 0 l mt port xut/nhp song hng cc mng h 8 bit. Nu c s dng nh l mt ng xut th mi chn c th ko 8 ng vo TTL. Khi mc 1 c vit vo cc chn ca port 0, cc chn ny c th c dng nh l cc ng nhp tng tr cao. Port 0 c th c nh cu hnh hp knh gia bus a ch v bus d liu (phn byte thp) khi truy cp n b nh d liu v b nh chng trnh ngoi. ch ny, P0 c cc in tr pullup bn trong. Port 0 cng nhn cc byte code (byte m chng trnh) khi lp trnh Flash, v xut ra cc byte code khi kim tra chng trnh. Cn c cc in tr pullup bn ngoi khi thc hin vic kim tra chng trnh. Port 1 Port 1 l mt port xut/nhp song hng 8 bit c cc in tr pullup bn trong. Cc b m ng ra ca port 1 c th ko hoc cung cp 4 ng

nhp TTL. Khi mc 1 c vit vo cc chn ca port 1, chng c ko ln cao bi cc in tr pullup ni v c th c dng nh l cc ng nhp. Nu ng vai tr l cc ng nhp, cc chn ca port 1 (c ko xung thp qua cc in tr bn ngoi) s cp dng IIL do cc in tr pullup bn trong. Port 2 Port 2 l mt port xut/nhp song hng 8 bit c cc in tr pullup bn trong. Cc b m ng ra ca port 2 c th ko hoc cung cp 4 ng vo TTL. Khi cc mc 1 c vit vo cc chn ca port 2 th chng c ko ln cao bi cc in tr pullup ni v c th c dng nh cc ng vo. Khi c dng nh cc ng vo, cc chn ca port 2 (c ko xung qua cc in tr bn ngoi) s cp dng IIL do c cc in tr pullup bn trong. Port 2 pht ra byte cao ca a ch khi c t b nh chng trnh ngoi v khi truy cp b nh d liu ngoi dng cc a ch 16 bit (MOVX @DPTR). Trong ng dng ny, n dng cc in tr pullup ni "mnh" khi pht ra cc mc 1. Khi truy cp b nh d liu ngoi dng cc a ch 8 bit (MOVX @RI), port 2 pht ra cc ni dung ca thanh ghi chc nng c bit P2. Port 2 cng nhn cc bit cao ca a ch v mt vi tn hiu iu khin khi lp trnh v kim tra Flash. Port 3 Port 3 l mt port xut-nhp song hng 8 bit c in tr pullup ni bn trong. Cc b m ng ra ca port 3 c th ko hoc cung cp 4 ng vo TTL. Khi cc mc 1 c vit vo cc chn ca port 3 th chng c ko ln cao bi cc in tr pullup ni v c th c dng nh cc ng vo. Khi c dng nh cc ng vo, cc chn ca port 3 (c ko xung qua cc in tr bn ngoi) s cp dng IIL do c cc in tr pullup bn trong. Port 3 cng cung cp cc chc nng ca cc c trng c bit nh c lit k di y: Bng 2.2 Cc chc nng chuyn i trn Port 3 Chn P3.0 P3.1 P3.2 P3.3 Tn RXD TXD INT0
INT1

Cc chc nng chuyn i Port nhp tip ni Port xut tip nt Ngt khng bn ngoi Ngt mt bn ngai

P3.4 P3.5 P3.6 P3.7 RST (chn 9)

T0 T1 WR
RD

Ng vo Timer/Counter 0 Ng vo Timer/Counter 1 Xung ghi b nh d liu ngoi Xung c b nh d liu ngai

Ng vo reset. Mt mc cao trn chn ny khong hai chu k my trong khi b dao ng ang chy s reset thit b. ALE/ PROG ALE l mt xung ng ra cht byte thp ca a ch trong khi truy cp b nh ngoi. Chn ny cng l ng nhp xung lp trnh ) khi lp trnh Flash. Khi hot ng bnh thng, ALE c pht vi mt t l khng i l 1/6 tn s b dao ng v c th c dng cho cc mch ch timing v clocking bn ngoi. Tuy nhin, lu rng mt xung ALE s b b qua mi khi truy cp b nh d liu ngoi. Nu mun, hot ng ALE c th cm c bng cch set bit 0 ca SFR ti a ch 8Eh. Nu bit ny c set, ALE ch dc hot ng khi c mt lnh MOVX hoc MOVC. Ngc li, chn ny c ko ln cao bi cc in tr pullup "nh". Vic set bit cm-ALE khng c tc dng khi b vi iu khin ang ch thi hnh ngoi. PSEN PSEN (Program Store Enable) l xung c b nh chng trnh ngoi. Khi AT89C52 ang thi hnh m (code) t b nh chng trnh ngoi, PSENc kch hoat hai lan moi chu ky may, nhng hai hoat ong PSEN se b bo qua moi khi truy cap bo nh d lieu ngoai. EA /Vpp

EA (External Access Enable) phai c noi vi GND e cho phep thiet b c code t b nh chng trnh ngoi c a ch t 0000H n FFFFH. Tuy nhin, lu rng nu bit kho 1 (lock-bit 1) c lp trnh, s c cht bn trong khi reset.
EA phai c noi vi Vcc khi thi hanh chng trnh ben trong. Chan nay cng nhn in p cho php lp trnh Vpp=12V khi lp trnh Flash (khi p lp trnh 12V c chn).
XTAL1 v XTAL2

XTAL1 v XTAL2 l hai ng vo v ra ca mt b khuch i dao ng nghch c cu hnh dng nh mt b dao ng trn chip.

Hnh 2.3. Cc kt ni ca b dao ng


Khng c yu cu no v duty cycle ca tn hiu xung ngoi,v ng nhp ni vi mch to xung ni l mt flip-flop chia i, nhng cc ch nh v thi gian high v low, cc mc p ti a v ti thiu phi c tun theo. Cc c trng khc s c trnh by mt cch chi tit hn nhng phn tip theo sau y. 2.2.2. T Chc B Nh 8051/8031 c b nh theo cu trc Harvard: c nhng vng b nh ring bit cho chng trnh v d liu. Nh ni trn, c chng trnh v d liu c th bn trong; d vy chng c th c m rng bng cc thnh phn ngoi ln n ti a 64 Kbytes b nh chng trnh v 64 Kbytes b nh d liu. B nh bn trong bao gm ROM v RAM trn chip, RAM trn chip bao gm nhiu phn : phn lu tr a dng, phn lu tr a ch ha tng bit, cc bank thanh ghi v cc thanh ghi chc nng c bit. Hai c tnh cn lu l : Cc thanh ghi v cc port xut nhp c xp trong b nh v c th c truy xut trc tip ging nh cc a ch b nh khc. Ngn xp bn trong RAM ni nh hn so vi RAM ngoi nh trong cc b vi x l khc.

Chi tit v b nh RAM trn chip:

Nh ta thy trn hnh ( ), RAM bn trong 8051/8031 c phn chia gia cc bank thanh ghi (00H1FH), RAM a ch ha tng bit (20H2FH), RAM a dng (30H7FH) v cc thanh ghi chc nng c bit (80HFFH). 2.2.2.1. RAM a dng. Mc d trn hnh cho thy 80 byte RAM a dng chim cc a ch t 30H 7FH, 32 byte di cng t 00H n 1FH cng c th c dng vi mc ch tng t (mc d cc a ch ny c mc ch khc). Mi a ch trong vng RAM a dng u c th c truy xut t do dng cch nh a ch trc tip hoc gin tip. V d, c ni dung a ch 5FH ca RAM ni vo thanh ghi tch ly, lnh sau s c dng : MOV A, 5FH Lnh ny di chuyn 1 byte d liu dng cch nh a ch trc tip xc nh a ch ngun (5FH). ch nhn d liu c ngm xc nh trong m lnh l thanh ghi tch ly A. RAM bn trong cng c th c truy xut dng cch nh a ch gin tip qua R0 hay R1. V d, hai lnh sau thi hnh cng nhim v nh lnh n trn :

FFFF

FFFF

FF

B nh chng trnh c chn qua psen

Bo nh d lieu c chon qua WR va RD

Bo nh tren chip 00 0000 0000

Bo nh m rong

Hnh 2.4 Tm tt cc vng b nh ca 8031/8051. MOV MOV R0, #5FH A, @R0

Lnh u dng a ch tc thi di chuyn gi tr 5FH vo thanh ghi R0, v lnh th hai dng a ch trc tip di chuyn d liu c tr bi R0 vo thanh ghi tch ly.

a ch byte 7F

a ch bit

a ch byte FF F0 E0

a ch bit

F7 F6 F5 F4 F3 F2 F1 F0 E7 E6 E5 E4 E3 E2 E1 E0

B ACC PSW IP P3 IE

RAM a dung 30 2F 2E 2D 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 18 17 10 0F 08 07 00

D0 D7 D6 D5 D4 D3 D2 D0 B8
BC BB BA B9 B8

7F 7E 7D 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1D 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D 0C 0B 0A 09 08 07 07 06 05 04 03 02 00 1

B0 A8

B7 B6 B5 B4 B3 B2 B1 B0
AF AC AB AA A9 A8

A0 A7 A6 A5 A4 A3 A2 A1 A0 99 98 90 8D 8C 8B 8A 89 88 87 83 82 81 80
khong c a ch hoa bit 9F 9E 9D 9C 9B 9A 99 98 97 96 95 94 93 92 91 90 khong c a ch hoa bit khong c a ch hoa bit khong c a ch hoa bit khong c a ch hoa bit khong c a ch hoa bit 8F 8E 8D 8C 8B 8A 89 88 khong c a ch hoa bit khong c a ch hoa bit khong c a ch hoa bit khong c a ch hoa bit 87 86 85 84 83 82 81 80

P2
SBUF SCON P1 TH1 TH0 TL1 TL0 TMOD TCON PCON DPH DPL SP P0

Bank 3 Bank 2 Bank 1 Bank thanh ghi 0 (mac nh cho R0-R7) RAM

CAC THANH GHI CHC NANG AC BIET

Hnh 2.5 Tm tt b nh d liu trn chip.

2.2.2.2 RAM a ch ha tng bit 8051/8031 cha 210 bit c a ch ha, trong 128 bit l cc a ch byte 20H n 2FH, v phn cn li l trong cc thanh ghi chc nng c bit. tng truy xut tng bit ring r bng phn mm l mt c tnh tin li ca vi iu khin ni chung. Cc bit c th c t, xa, AND, OR, ... vi mt lnh n. a s cc vi x l i hi mt chui lnh c-sa-ghi t c hiu qu tng t. Hn na, cc port I/O cng c a ch ha tng bit lm n gin phn mm xut nhp tng bit. C 128 bit c a ch ha a dng cc byte 20H n 2FH. Cc a ch ny c truy xut nh cc byte hoc nh cc bit ph thuc vo lnh c dng. V d, t bit 67H, ta dng lnh sau : SETB 67H Ch rng a ch bit 67H l bit c trng s ln nht (MSB) a ch byte 2CH. Lnh trn s khng tc ng n cc bit khc a ch ny. Cc vi x l s phi thi hnh nhim v tng t nh sau : MOV A, 2CH ORL A, #10000000B MOV 2CH,A ; c c byte ; set MSB ; ghi li c byte

2.2.2.3 Cc bank thanh ghi : 32 byte thp nht ca b nh ni l dnh cho cc bank thanh ghi. B lnh ca 8051/8031 h tr 8 thanh ghi (R0 n R7) v theo mc nh (sau khi reset h thng) cc thanh ghi ny cc a ch 00H07H. Lnh sau y s c ni dung a ch 05H vo thanh ghi tch ly : MOV A, R5 y l lnh 1 byte dng a ch thanh ghi. Tt nhin, thao tc tng t c th c thi hnh bng lnh 2 byte dng a ch trc tip nm trong byte th hai : MOV A, 05H Cc lnh dng cc thanh ghi R0 n R7 th s ngn hn v nhanh hn cc lnh tng ng nhng dng a ch trc tip. Cc gi tr d liu c dng thng xuyn nn dng mt trong cc thanh ghi ny. Bank thanh ghi tch cc c th chuyn i bng cch thay i cc bit chn bank thanh ghi trong t trng thi chng trnh (PSW). Gi s rng bank thanh ghi 3 c tch cc, lnh sau s ghi ni dung ca thanh ghi tch ly vo a ch 18H : MOV R0, A

tng dng cc bank thanh ghi cho php chuyn hng chng trnh nhanh v hiu qu (tng phn ring r ca phn mm s c mt b thanh ghi ring khng ph thuc vo cc phn khc). 2.2.3 Cc Thanh Ghi Chc Nng c Bit Mt bn vng b nh trn chip c gi l khng gian thanh ghi chc nng c bit (SFR) nh c trnh by trong bng. Lu rng khng phi tt c cc a ch u c s dng, v cc a ch khng c s dng c th khng c cung cp trn con chip. Cc hnh ng c n cc a ch ny ni chung s tr v cc d liu ngu nhin, v cc hnh ng vit s c mt hiu ng khng xc nh. Cc phn mm ngi dng khng nn vit cc mc 1 n nhng v tr khng c lit k ny, v chng c th c dng trong cc sn phm tng lai khi thm vo cc c trng mi. Trong trng hp ny, cc gi tr reset hoc khng tch cc ca cc bit mi s lun l 0. Cc thanh ghi ni ca 8051/8031 c truy xut ngm nh bi b lnh. V d lnh INC A s tng ni dung ca thanh ghi tch ly A ln 1. Tc ng ny c ngm nh trong m lnh. Cc thanh ghi trong 8051/8031 c nh dng nh mt phn ca RAM trn chip. V vy mi thanh ghi s c mt a ch (ngoi tr thanh ghi m chng trnh v thanh ghi lnh v cc thanh ghi ny him khi b tc ng trc tip, nn khng li lc g khi t chng vo trong RAM trn chip). l l do 8051/8031 c nhiu thanh ghi nh vy. Cng nh R0 n R7, c 21 thanh ghi chc nng c bit (SFR : Special Function Register) vng trn ca RAM ni, t a ch 80H n FFH. Ch rng hu ht 128 a ch t 80H n FFH khng c nh ngha. Ch c 21 a ch SFR l c nh ngha. Ngoi tr tch ly (A) c th c truy xut ngm nh ni, a s cc SFR c truy xut dng a ch trc tip. Ch rng mt vi SFR c th c a ch ha bit hoc byte. Ngi thit k phi thn trng khi truy xut bit v byte. V d lnh sau : SETBch0E0H s set bit 0 trong thanh ghi tch ly, cc Bit Ky hieu a Y ngha bit khc khng i. Ta thy rng E0H ng thi l a ch byte ca c thanh ghi tch ly v l a ch bit ca bit c trng s nh nht trong thanh ghi tch ly. V lnhPSW.7 ch tc ng trn bit, nn ch C nh ch bit l c hiu qu. SETB c a CY D7H
PSW.6 2.2.3.1.T TrngD6H AC C nh phu Thi Chng Trnh : PSW.5 F0 D5H C 0 PSW.4trng thi chng D4H (PSW : Program Status Word) RS1 Bit 1 chon bank thanh ghi T trnh PSW.3 RS0 D3H chon cha cc bit trng thi nh bng tm ttBit 000 : bank 0 :thanhch 00H07H sau = bank a ghi Bng 2.3 t trng thi chng trnh. 01 = bank 1 : a ch 08H0FH 10 = bank 2 : a ch 10H17H 11 = bank 3 : a ch 18H1FH PSW.2 OV D2H C tran PSW.1 D1H D tr PSW.0 P D0H C parity chan

a ch D0H

* C nh C nh (CY) c cng dng kp. Thng thng n c dng cho cc lnh ton hc : n s c set nu c mt s nh sinh ra bi php cng hoc c mt s mn bi php tr. V d, nu thanh ghi tch ly cha FFH, th lnh ADD A, #1 s tr v thanh ghi tch ly kt qu 00H v set c nh trong PSW. C nh cng c th xem nh mt thanh ghi 1 bit cho cc lnh lun l thi hnh trn bit. V d, lnh sau s AND bit 25H vi c nh v t kt qu tr vo c nh : ANL C, 25H * C nh ph Khi cng cc s BCD, c nh ph (AC) c set nu kt qu ca 4 bit thp trong khong 0AH n 0FH. Nu cc gi tr c cng l s BCD, th sau lnh cng cn c DA A (hiu chnh thp phn thanh ghi tch ly) mang kt qu ln hn 9 vo nibble cao. * C 0 C 0 (F0) l 1 bit c a dng dnh cho cc ng dng ca ngi dng. * Cc bit chn bank thanh ghi Cc bit chn bank thanh ghi (RS0 v RS1) xc nh bank thanh ghi c tch cc. Chng c xa sau khi reset h thng v c thay i bng phn mm nu cn. V d, ba lnh sau cho php bank thanh ghi 3 v di chuyn ni dung ca thanh ghi R7 (a ch byte 1FH) n thanh ghi tch ly : SETB SETB MOV RS1 RS0 A, R7

Khi chng trnh c hp dch, cc i ch bit ng c thay th cho cc k hiu RS1 v RS0. Vy, lnh SETB RS1 s ging nh lnh SETB 0D4H. * C trn C trn (OV) c set sau mt lnh cng hoc tr nu c mt php ton b trn. Khi cc s c du c cng hoc tr vi nhau, phn mm c th kim tra bit ny xc nh xem kt qu c nm trong tm xc nh khng. Khi cc s khng du c cng, bit OV c th c b qua. Cc kt qu ln hn +127 hoc nh hn -128 s set bit OV. Kt qu l mt s c du 8EH c xem nh -116, khng phi l kt qu ng (142), v vy, bit OV c set. 2.2.3.2 Thanh ghi B. Thanh ghi B a ch F0H c dng cng vi thanh ghi tch ly A cho cc php ton nhn v chia. Lnh MUL AB s nhn cc gi tr khng du 8 bit trong A v B ri tr v kt qu 16 bit trong A (byte thp) v B (byte cao). Lnh DIV AB s chia A cho B ri tr v kt qu nguyn trong A v phn d trong B. Thanh ghi B cng c th c xem nh thanh ghi m a dng. N c a ch ha tng bit bng cc a chi bit F0H n F7H. 2.2.3.3.Con tr ngn xp . Con tr ngn xp (SP) l mt thanh ghi 8 bit a ch 81H. N cha a ch ca byte d liu hin hnh trn nh ca ngn xp. Cc lnh trn ngn xp bao gm cc thao tc ct d liu vo ngn xp v ly d liu ra khi ngn xp. Lnh ct d liu vo ngn xp s lm tng SP trc khi ghi d liu, v lnh ly d liu ra khi ngn xp s c d liu v gim SP. Ngn xp ca 8051/8031 c gi trong RAM ni v c gii hn cc a ch c th truy xut bng a ch gin tip. Chng l 128 byte u ca 8051/8031. khi ng li SP vi ngn xp bt u ti 60H,cc lnh sau y c dng: MOV SP, #5FH Trn 8051/8031 ngn xp b gii hn 32 byte v a ch cao nht ca RAM trn chip l 7FH. S d dng gi tr 5FH v SP s tng ln 60H trc khi ct byte d liu u tin. Ngi thit k c th chn khng phi khi ng li con tr ngn xp m n ly gi tr mc nh khi reset h thng. Gi tr mc nh l 07H v kt qu l ngn u tin ct d liu c a ch l 08H. Nu phn mm ng dng khng khi ng li SP, bank thanh ghi 1 (c th c 2 v 3) s khng dng c v vng RAM ny c dng lm ngn xp. Ngn xp c truy xut trc tip bng cc lnh PUSH v POP lu tr tm thi v ly li d liu, hoc c truy xut ngm bng cc lnh gi

chng trnh con (ACALL, LCALL) v cc lnh tr v (RET, RETI) ct v ly li b m chng trnh. 2.2.3.4. Con Tr D Liu Con tr d liu (DPTR) c dng truy xut b nh ngoi l mt thanh ghi 16 bit a ch 82H (DPL : byte thp) v 83H (DPH : byte cao). Ba lnh sau s ghi 55H vo RAM ngoi a ch 1000H : MOV MOV A, #55H DPTR, #1000H

MOVX @DPTR, A Lnh u tin dng a ch tc thi ti d liu 55H vo thanh ghi tch ly. Lnh th hai cng dng a ch tc thi, ln ny ti d liu 16 bit 1000H vo con tr d liu. Lnh th ba dng a ch gin tip di chuyn d liu trong A (55H) n RAM ngoi a ch c cha trong DPTR (1000H). 2.2.3.5.Cc Thanh Ghi Port Xut Nhp . Cc port ca 8051/8031 bao gm Port 0 a ch 80H, Port 1 a ch 90H, Port 2 a ch A0H v Port 3 a ch B0H. Tt c cc port u c a ch ha tng bit. iu cung cp mt kh nng giao tip thun li. V d nu mt motor c ni qua mt cun dy c transistor li n bit 7 ca Port 1, n c th c bt v tt bng mt lnh n : SETB CLR P1.7 ; bt motor P1.7 ; tt motor

Cc lnh trn dng du chm xc nh mt bit trong mt byte. Trnh hp dch s thi hnh s chuyn i cn thit, v vy hai lnh sau y l nh nhau : CLR CLR P1.7 97H

Trong mt v d khc, xem xt giao tip n mt thit b vi mt bit trng thi gi l BUSY, c set khi thit b ang bn v c xa khi thit b sn sng. Nu BUSY c ni ti P1.5, vng lp sau s c dng ch thit b tr li trng thi sn sng : WAIT : JB P1.5, WAIT Lnh ny c ngha l nu bit P1.5 c set th nhy ti nhn WAIT. Ni cch khc nhy tr li v kim tra ln na. 2.2.3.6. Cc Thanh Ghi Timer. 8051/8031 cha hai b nh thi / m 16 bit c dng cho vic nh thi hoc m s kin. Timer 0 a ch 8AH (TL0 : byte thp) v 8CH (TH0 : byte cao). Timer 1 a ch 8BH (TL1 : byte thp) v 8DH (TH1 : byte cao). Vic vn hnh timer c set bi thanh ghi Timer Mode (TMOD) a ch 89H

v thanh ghi iu khin timer (TCON) a ch 88H. Ch c TCON c a ch ha tng bit. 2.2.3.7. Cc Thanh Ghi Port Ni Tip. 8051/8031 cha mt port ni tip trn chip dnh cho vic trao i thng tin vi cc thit b ni tip nh my tnh, modem hoc cho vic giao tip vi cc IC khc c giao tip ni tip (cc b chuyn i A/D, cc thanh ghi dch...). Mt thanh ghi gi l b m d liu ni tip (SBUF) a ch 99H s gi c hai d liu truyn v nhn. Khi truyn d liu th ghi ln SBUF, khi nhn d liu th c SBUF. Cc mode vn hnh khc nhau c lp trnh qua thanh ghi iu khin port ni tip (SCON) (c a ch ha tng bit) a ch 98H. 2.2.3.8. Cc Thanh Ghi Ngt. 8051/8031 c cu trc 5 ngun ngt, 2 mc u tin. Cc ngt b cm sau khi reset h thng v s c cho php bng vic ghi thanh ghi cho php ngt (IE) a ch A8H. C hai thanh ghi c a ch ha tng bit. 2.2.3.9. Thanh Ghi iu Khin Cng Sut. Thanh ghi iu khin cng sut (PCON) a ch 87H cha nhiu bit iu khin. Chng c tm tt trong bng sau : Bng 2.4 Thanh ghi iu khin cng sut. Bit 7 th mode 1,2 va 3 cua port noi tiep. 6 Khong nh ngha. 4 Khong nh ngha. 5 3 GF1 Bit c a dung 1. 2 GF0 Bit c a dung 0. 1 PD Giam cong suat, c set e kch hoat mode giam cong suat, ch thoat khi reset 0 IDLMode ch, set e kch hoat mode ch, ch thoat khi co ngat hoac reset he thong. Ky hieu SMOD Y ngha Bit gap oi toc o baud, neu c set toc o baud se tang gap oi trong cac

2.2.4 Bo v b nh. Cc bit kho b nh chng trnh. Vi iu khin AT89C51 c 3 bit kho c th b khng lp trnh (U) hoc c lp trnh (P) nhn cc c trng

thm vo c lit k trong bng di y (vi LB1, LB2, LB3 l cc bit kha tng ng). Bng 2.5 ngha cc bit kho bb nh chng trnh. Ch LB1 1 U 2 P LB2 U U LB3 U U Kiu bo v Khng kho chng trnh Cc lnh MOVC c thi hnh t b nh chng trnh ngoi b cm khi ly cc byte m t b nh ni, /EA c ly mu v c cht li khi reset v hn na, vic lp trnh b nh Flash l b cm. U Nh ch 2 nhng vic kim tra cng b cm P Nh ch 3 nhng vic thi hnh ngoi cng b cm.

3 4

P P

P P

Khi bit kho 1 c lp trnh, mc logic ti chn c ly mu v cht li khi reset. Nu thit b c bt ngun m khng c reset, vic cht s c khi to vi mt gi tr ngu nhin cho n khi c reset. Gi tr c cht ca phi bng vi mc logic hin ti chn cho thit b lm vic mt cch chnh xc. 2.2.5. Hot ng Ca Port Ni Tip. 2.2.5.1. Gii thiu. 8051/8031 c mt port ni tip trong chip c th hot ng nhiu ch trn mt di tn s rng. Chc nng ch yu ca port ni tip l thc hin chuyn i song song sang ni tip i vi d liu xut, v chuyn i ni tip sang song song vi d liu nhp. Truy xut phn cng n port ni tip qua cc chn TXD v RXD. Cc chn ny c cc chc nng khc vi hai bit ca Port 3, P3.1 chn 11 (TXD) v P3.0 chn 10 (RXD). Port ni tip cho hot ng song cng (full duplex : thu v pht ng thi), v m lc thu (receiver buffering) cho php mt k t s c thu v c TXD RXD gi trong khi k t th hai c nhn. Nu CPU c k t th nht trc khi (P3.1) (P3.0) k t th hai c thu c thu y th d liu s khng b mt. Hai thanh ghi chc nng c bit cho php phn mm truy xut n port CLK SBUF Q D Thanh ni tip l : SBUF (chSCON. B m port ni tip (SBUF)ghi a ch 99H tht s v ghi) dch CLK l hai b m. Vit vo SBUF np d liu s c pht, v c SBUF truy xut d liu thu c. y l hai thanh ghi ring bit : thanh ghi ch ghi pht v thanh ghi ch c thu. Xung nhp
Xung nhp toc o baud (phat) toc o baud (thu) SBUF (ch oc)

Bus noi 8051/8031

Hnh 2.6 S hot ng Port ni tip. Thanh ghi iu khin port ni tip (SCON) a ch 98H l thanh ghi c a ch bit cha cc bit trng thi v cc bit iu khin. Cc bit iu khin t ch hot ng cho port ni tip, v cc bit trng thi bo kt thc vic pht hoc thu k t. Cc bit trnh thi c th c kim tra bng phn mm hoc c th c lp trnh to ngt. Tn s lm vic ca port ni tip, cn gi l tc baud c th c nh (ly t b dao ng trn chip). Nu s dng tc baud thay i, Timer 1 s cung cp xung nhp tc baud v phi c lp trnh. 2.2.5.2. Thanh ghi iu khin port ni tip Ch hot ng ca port ni tip c t bng cch ghi vo thanh ghi ch port ni tip (SCON) a ch 98H. Sau y l cc bng tm tt thanh ghi SCON v cc ch ca port ni tip : Bng 2.6 Ky hieu a ch ch port ni tip SCON.ta Tm tt thanh ghi Bit Mo SCON.7 SM0 9FH SCON.6 SM1 9EH SCON.5 SM2 9DH truyen va 3; RI se th 9 thu c la 0. SCON.4 REN 9CH (nhan) SCON.3 TB8 9BH o 2 SCON.2 RB8 9AH SCON.1 TI 99H ky t; SCON.0 RI 98H t; c Bit 0 cua che o port noi tiep. Bit 1 cua che o port noi tiep. Bit 2 cua che o port noi tiep. Cho phep thong a x ly trong cac che o 2 khong b tac ong neu bit Cho phep bo thu phai c at len 1 e thu cac ky t. Bit 8 phat, bit th 9 c phat trong cac che va 3; c at va xoa bang phan mem. Bit 8 thu, bit th 9 thu c. C ngat phat. at len 1 khi ket thuc phat c xoa bang phan mem. C ngat thu. at len 1 khi ket thuc thu ky xoa bang phan mem.

Bng 2.7 Cc ch port ni tip. SM0 SM1 Che o Mo ta 0 0 0 Thanh ghi dch 0 1 1 UART 8 bit 1 0 2 UART 9 bit 64). 1 1 3 UART 9 bit Toc o baud Co nh (FOSC /12). Thay oi (at bang timer). Co nh (FOSC chia cho 12 hoac Thay oi (at bang timer).

Trc khi s dng port ni tip, phi khi ng SCON cho ng ch . V d, lnh MOV SCON, #01010010B khi ng port ni tip cho ch 1 (SM0/SM1 = 0/1), cho php b thu (REN = 1) v t c ngt pht (T1 = 1) ch b pht sn sng hot ng. 2.2.5.3 Cc ch hot ng. Port ni tip c 4 ch hoat ng, c th chn c bng cch vit cc s 1 hay 0 vo cc bit SM0 v SM1 trong SCON. C ba ch cho php truyn thng bt ng b, vi mi k t c thu (nhn) hoc pht u c ng khung bng mt bit start v 1 bit stop. ch th t, port ni tip hot ng nh mt thanh ghi dich n gin. 2.2.5.4. Thanh ghi dch 8 bit (ch 0). Ch 0 c chn bng cch ghi cc bit 0 vo SM1 v SM0 ca SCON, a port ni tip vo ch thanh ghi dch 8 bit. D liu ni tip vo v ra qua RXD v TXD xut xung nhp dch. 8 bit c pht hoc thu vi bit u tin l LSB. Tc baud c nh 1/12 tn s dao ng trn chip. Vic pht i c khi ng bng bt c lnh no ghi d liu vo SBUF. D liu c dch ra ngoi trn ng RXD (P3.0) vi cc xung nhp c gi ra ng TXD (P3.1). Mi bit pht i hp l (trn RXD) trong mt chu k my. Trong mi chu k my, tn hiu xung nhp xung thp S3P1 v tr v mc cao S6P1.

Mot chu ky may S1 P1 OSC ALE D lieu xuat Clock dch Phong to ALE D lieu xuat Clock dch (TXD) D0 D1 D2 D3 D4 D5 D6 D7 P2 P1 S2 P2 P1 S3 P2 P1 S4 P2 P1 S5 P2 P1 S6 P2

Bit d lieu hp le

Hnh 2.7 Gin thi gian port ni tip pht ch 0. Vic thu c khi ng khi bit cho php b thu (REN) l 1 v bit ngt thu (RI) l 0. Qui tc tng qut l t REN khi bt u chng trnh khi ng port ni tip, ri xa RI bt u hot ng nhp d liu. Khi RI b xa, cc xung nhp c a ra ng TXD, bt u chu k my k tip, v d liu theo xung nhp ng RXD. Ly xung nhp cho d liu vo port ni tip xy ra cnh dng ca TXD.
Mot chu ky may

ALE D lieu nhap (RXD) Clock dch (TXD) D0 D0 D0 D0 D0 D0 D0 D0

Hnh 2.8 Gin thi gian port ni tip thu ch 0. Mt ng dng ca ch thanh ghi dch l m rng kh nng xut ca 8051/8031. IC thanh ghi dch ni tip ra song song c th c ni vo cc

ng TXD v RXD ca 8051/8031 cung cp thm 8 ng ra. C th ni xu chui thm cc thanh ghi dch m rng thm.
Them 8 ngo ra

8051

TXD (P3.1) RXD (P3.0)

Clock D lieu

Thanh ghi dch

Hnh 2.9 Ch thanh ghi dch ca port ni tip. 2.2.5.5. UART 8 bit vi tc baud thay i c (ch 1). ch 1, port ni tip ca 8051/8031 lm vic nh mt UART 8 bit vi tc baud thay i c. Mt UART (Universal Asynchronous Receiver/Transmitter : B thu/pht bt ng b vn nng) l mt dng c thu v pht d liu ni tip vi mi k t d liu i trc l bit start mc thp v theo sau l bit stop mc cao. i khi xen thm bit kim tra chn l gia bit d liu cui cng v bit stop. Hot ng ch yu ca UART l chuyn i song song sang ni tip vi d liu xut v chuyn i ni tip sang song song vi d liu nhp. ch 1, 10 bit c pht trn TXD hoc thu trn RXD. Nhng bit l : 1 bit start (lun lun l 0), 8 bit d liu (LSB u tin) v 1 bit stop (lun lun l 1) .Vi hot ng thu, bit stop c a vo RB8 trong SCON. Trong 8051/8031 ch d baud c t bng tc bo trn ca Timer 1. To xung nhp v ng b ha cc thanh ghi dch ca port ni tip trong cc ch 1, 2 v 3 c thit lp bng b m 4 bit chia cho 16, ng ra l xung nhp tc baud. Ng vo ca b m ny c chn qua phn mm

16 toc o baud

16

Xung nhp toc o baud Thanh ghi dch port noi tiep Hnh 2.10 To xung nhp port ni tip. Truyn d liu (pht) c khi ng bng cch ghi vo SBUF, nhng vn cha tht s bt u chy cho n khi s thay th k tip ca b m chia cho 16 cung cp tc baud cng ni tip. D liu c dch ra ngoi trn ng TXD bt u bng bit start, theo sau l 8 bit d liu v sau cng l bit stop. rng (theo thi gian ca mi bit) l nghch o ca tc baud c lp trnh trong timer. C ngt pht (TI) c t ln 1 khi xut hin bit stop trn TXD.
1 toc o bit bit D3 TX sta D0 D1 D2 baud D4 D5 D6 D7 sto D p TI rt (SCON. 1) Ngat phat (chuan b cho d lieu)

Hnh 2.11 t c TI port ni tip. Vic thu d liu c khi ng bng mt chuyn trng thi t 1 xung 0 trn RXD. B m 16 tc thi c xa ng b s m vi lung bit n. Lung bit n c ly mu gia 16 ln m. B thu s pht hin c bit start sai bng cch yu cu trng thi 0 (bit start) ln m th 8 sau khi c chuyn trng thi t 1 xung 0 u tin.

Nu iu ny khng xy ra, ngi ta gi s l b thu c kch bi nhiu ch khng phi do mt k t hp l. B thu c reset v quay v trng thi ngh (idle), tm kim (i) chuyn trng thi t 1 xung 0 k. Gi s pht hin c bit start hp l, th tip tc thu k t. Bit start c b qua v 8 bit d liu c a vo thanh ghi dch cng ni tip theo xung nhp. Khi c c tt c 8 bit, iu sau y xy ra : 1. Bit th 9 (bit stop) c cht vo RB8 trong SCON. 2. SBUF c np vi 8 bit d liu. 3. C ngt b thu (RI) c t ln 1. Tuy nhin, nhng iu ny ch xy ra nu c nhng iu kin sau : 1. RI = 0 2. SM2 = 1 v bit stop thu c l 1, hoc SM2 = 0. i hi RI = 0 bo m l phn mm c k t trc (v RI c xa). iu kin th hai hi phc tpn nhng ch p dng trong ch truyn thng a x l. iu hm l khng t RI ln 1 trong ch truyn thng a x l khi bit d liu th 9 l 0). 2.2.5.6. UART 9 bit vi tc baud c nh (ch 2). Khi SM1 = 1 v SM0 = 0, cng ni tip lm vic ch 2, nh mt UART 9 bit c tc baud c nh. 11 bit s c pht hoc thu : 1 bit start, 8 bit d liu, bit d liu th 9 c th lp trnh c v 1 bit stop. Khi pht, bit th 9 l bt c g c a vo TB8 trong SCON (c th l bit parity). Khi thu, bit th 9 thu c s trong RB8. Tc baud ch 2 l 1/32 hoc 1/16 tn s dao ng trn chip. 2.2.5.7. UART 9 bit vi tc baud thay i c. Ch ny ging nh ch 2 ngoi tr tc baud c th lp trnh c v c cung cp bi timer. Tht ra, cc ch 1,2 v 3 rt ging nhau. Cc khc bit l tc baud (cc nh trong ch 2, thay i trong cc ch 1 v 3) v s bit d liu (8 trong ch 1, 9 trong cc ch 2 v 3). 2.2.6. Khi ng v truy xut cc thanh ghi cng ni tip. 2.2.6.1. Cho php thu. Bit cho php b thu (REN = Receiver Enable) trong SCON phi c t ln 1 bng phm mm cho php thu cc k t. Thng thng thc hin vic ny u chng trnh khi khi ng cng ni tip, timer, ... C th thc hin vic ny theo hai cch. Lnh SETB REN s t REN ln 1, hoc lnh MOV SCON, #xxx1xxxxB s t REN ln 1 v t hoc xa cc bit khc trong SCON khi cn (Cc x phi l 0 hoc 2 t ch lm vic). 2.2.6.2. Bit d liu th 9.

Bit d liu th 9 cn pht trong cc ch 2 v 3 phi c np vo trong TB8 bng phn mm. Bit d liu d liu th 9 thu c t RB8. Phn mm c th cn hoc khng cn bit d liu th 9, ph thuc vo c tnh k thut ca thit b ni tip s dng. (Bit d liu th 9 cng ng mt vai tr quan trng trong truyn thng a x l). 2.2.6.3. Thm 1 bit parity. Thng s dng bit d liu th 9 thm parity vo k t. Nh xt cc chng trc, bit P trong t trng thi chng trnh (PSW) c t ln 1 hoc b xa mi chu k my thit lp kim tra chn vi 8 bit trong thanh ghi tch ly. V d, nu truyn thng cn 8 bit d liu cng thm kim tra chn, c th s dng cc lnh sau pht 8 bit trong thanh ghi tch ly vi kin tra chn thm vo bit th 9 : MOV MOV MOV C, P TB8, C SBUF, A ; t bit parity chn vo TB8 ; n tr thnh bit d liu th 9 ; Chuyn 8 bit t ACC vo SBUF. ; t bit parity chn vo c C ; i sang parity l

Nu cn parity l th sa cc lnh li nh sau : MOV C, P CPL MOV MOV C TB8, C SBUF, A

D nhin, vic s dng parity khng b gii hn cc ch 2 v 3. ch 1, 8 bit d liu c truyn i c th bao gm 7 bit d liu cng thm bit parity. truyn m ASCII 7 bit vi parity chn bit 8, c th s dng cc lnh sau : CLR PMOV ACC.7 ; bo m MSB c xa C, P ; parity chn trong ; t parity chn vo MSB ; Gi k t i 7 bit d liu cng prity chn.

MOV ACC.7, C MOV SBUF, A

2.2.6.4. Cc c ngt. Hai c ngt thu v pht (RI v TI) trong SCON ng mt vai tr quan trng trong truyn thng ni tip dng 8051/8031. C hai bit c t ln 1 bng phn cng, nhng phi c xa bng phn mm. V d, thng RI c t ln 1 khi kt thc vic thu k t v bo b m thu trn. iu kin ny c th c kim tra trong phn mm hoc c th c lp trnh gy ra mt ngt. Nu phn mm mun nhp mt k t t thit b c ni vo cng ni tip (c th l thit b u cui hin th video), n phi i cho n khi RI c t ln 1, ri xa RI v c k t t SBUF. Chng trnh nh sau :

WAIT : JNB CLR MOV RI

RI, WAIT

; Kim tra RI cho n khi n = 1

; Xa RI ; c k t

A, SBUF

TI c t ln 1 cui lc pht k t v bo b m pht trng. Nu phn mm mun gi mt k t n mt thit b c ni vo cng ni tip, trc ht n phi kim tra xem cng ni tip sn sng cha. Ni cch khc, nu k t trc c gi i, i cho n khi vic truyn d liu hon tt trc khi gi k t k. Cc lnh sau s truyn k t trong thanh ghi tch ly: WAIT : JNB TI, WAIT CLR TI MOV SBUF, A ; Kim tra TI cho n khi n bng 1 ; Xa TI ; Gi k t i.

Cc on chng trnh trn l mt phn ca cc hm nhp v xut k t chun. 2.2.7. Tc baud port ni tip. Nh ni, tc baud c nh cc ch 0 v 2. Trong ch 0, n lun lun l tn s dao ng trn chip c chia cho 12. Thng thng thch anh n nh tn s dao ng trn chip ca 8051/8031, nhng cng c th s dng ngun xung nhp khc. Gi s vi tn s dao ng danh nh l 12 MHz, th tc baud ch 0 l 1 MHz.
dao ong tren chip

12

xung nhp toc o baud

a) che o 0

dao ong tren chip

64

SMOD = 0 SMOD = 1

xung nhp toc o baud

32

b) che o 2

dao ong tren chip

32

SMOD = 0 SMOD = 1

xung nhp toc o baud

16

c) cac che o 1 va 3.

Hnh 2.12 Cc ngun to xung nhp cho port ni tip. Mc nhin sau khi reset h thng, tc baud ch 2 l tn s b dao ng chia cho 64. Tc baud cng b nh hng bi mt bit trong thanh ghi iu khin ngun cung cp (PCON). Bit 7 ca PCON l bit SMOD. t bit SMOD ln 1 lm gp i tc baud trong cc ch 1, 2 v 3. Trong ch 2, tc baud c th b gp i t gi tr mc nhin ca 1/64 tn s dao ng (SMOD = 0) n 1/32 tn s dao ng (SMOD = 1). V PCON khng c nh a ch theo bit, nn t bit SMOD ln 1 cn phi theo cc lnh sau : MOV MOV A, PCON PCON, A ; Ly gi tr hin thi ca PCON ; t bit 7 (SMOD) ln 1 ; Ghi gi tr ngc v PCON. SETB ACC.7

Cc tc baud trong cc ch 1 v 3 c xc nh bng tc trn ca Timer 1. V timer hot ng tn s tng i cao, trn timer c chia thm cho 32 (16 nu SMOD = 1) trc khi cung cp xung nhp tc baudcho port ni tip. * S dng Timer 1 lm xung nhp tc baud Xt 8051, cch thng dng to tc baud l khi ng TMOD cho ch 8 bit t ng np li (ch 2) v t gi tr np li ng vo TH1 cho tc trn ng vi tc baud. TMOD c khi ng nh sau : MOV TMOD, #0010xxxxB Cc x l cc bit 1 hoc 0 cn cho timer. Cng c th t c cc tc baud thp bng cch s dng timer ch 1 vi TMOD = 0001xxxxB. Tuy nhin, tn thm phn mm v cc thanh ghi TH1/TL1 phi c khi ng li sau mi ln trn. Vic ny s c thc hin trong chng trnh phc v ngt. Mt chn la khc l cp xung nhp cho Timer 1 t ngoi dng T1(P3.5). V lun lun tc baud l tc trn ca Timer 1 c chia cho 32 (hoc cho 16, nu SMOD = 1). Cng thc tng qut xc nh tc baud trong cc ch 1 v 3 l : Tc baud = Tc trn ca Timer 1 ( 32. V d, mun lm vic vi tc baud l 1200 baud, th tc trn ca Timer 1 phi l : 1200 32 = 38.4 KHz.

Nu dng thch anh 12 MHz, Timer 1 c cp xung nhp 1 MHz hay 1000 KHz. V tc trn ca Timer 1 l 38.4 KHz v timer c cp xung nhp 1000 KHz, th cn trn sau 1000 ( 38.4 = 26.04 xung nhp (lm trn l 26). V timer m ln v trn xy ra khi c s thay i t FFH xung 00H s m. Nh vy gi tr ng cn np vo TH1 l 26. Cch d nht t gi tr np li vo TH1 l : MOV TH1, # 26 Trnh hp dch s thc hin chuyn i cn thit. Trong trng hp ny 26 c chuyn thnh 0E6H. Nh vy, lnh trn hon ton ging vi lnh : MOV TH1, # 0E6H Do vic lm trn nn c sai s nh trong tc baud. Tng qut th cho php dung sai 5% trong truyn thng bt ng b (start/stop). C th c c tc baud chnh xc nu dng thch anh 11.059 MHz. Bng sau y tm tt cc gi tr np li cho cc tc baud thng dng nht, dng thch anh 12 MHZ hoc 11.059 MHz : Bng 2.8 Tm tt tc baud. Toc Gia tr o baud 9600 2400 1200 19200 9600 2400 1200 Tan so thach anh 12.000 MHz 12.000 MHz 12.000 MHz 11.059 MHz 11.059 MHz 11.059 MHz 11.059 MHz
SMOD

Toc o baud that 8923 2404 1202 19200 9600 2400 1200 Sai so 7% 0.16% 0.16% 0 0 0 0

nap lai vao TH1 7 (F9H) 13 (F3H) 26 (E6H) 3 (FDH) 3 (FDH) 12 () 24 (E8H)

1 0 0 1 0 0 0

2.2.8. Ngt ( INTERRUPT). Mt ngt l s xy ra mt iu kin, mt s kin m n gy ra treo tm thi thi chng trnh chnh trong khi iu kin c phc v bi mt chng trnh khc. Cc ngt ng mt vai tr quan trng trong thit k v ci t cc ng dng vi iu khin. Chng cho php h thng p ng bt ng b vi mt s kin v gii quyt s kin trong khi mt chng trnh khc ang thc thi. T chc ngt ca 8051:

C 5 ngun ngt 8031: 2 ngt ngoi, 2 ngt t timer v 1 ngt port ni tip. Tt c cc ngt theo mc nhin u b cm sau khi reset h thng v c cho php tng ci mt bng phn mm. Khi c hai hoc nhiu ngt ng thi, hoc mt ngt xy ra khi mt ngt khc ang c phc v, c c hai s tun t hi vng v s u tin hai mc dng xc nh vic thc hin cc ngt. Vic hi vng tun t th c nh nhng u tin ngt th c th lp trnh c. Cho php v cm ngt : Mi ngun ngt c cho php hoc cm ngt qua mt thanh ghi chc nng t bit c nh a ch bit IE ( Interrupt Enable : cho php ngt ) a ch A8H. Bng 2.9 thanh ghi ngt. Bit IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0 K hiu EA _ ET2 ES ET1 EX1 ET0 EX0 a ch bit AFH AEH ADH ACH ABH AAH A9H A8H M t Cho php / Cm ton b Khng c m t Cho php ngt t Timer 2 (8052) Cho php ngt port ni tip Cho php ngt t Timer 1 Cho php ngt ngoi 1 Cho php ngt t Timer 0 Cho php ngt ngoi 0

Tm tt thanh ghi IE Cc c ngt : Khi iu kin ngt xy ra th ng vi tng loi ngt m loi c c t ln mt xc nhn ngt Bng 2.10 Cc c ngt.
Ngt Bn ngoi 0 C IE0 Thanh ghi SFR v v tr bit TCON.1

Bn ngoi 1 Timer 1 Timer 0 Port ni tip Port ni tip

IE1 TF1 TF0 TI RI Cc lai c ngt

TCON.3 TCON.7 TCON.5 SCON.1 SCON.0

Cc vect ngt :

Khi chp nhn ngt, gi tr c np vo PC c gi l vector ngt. N l a ch bt u ca ISR cho ngun to ngt, cc vector ngt c cho bng sau : Bng 2.11 Cc vector ngt. Ngt Reset h thng Bn ngoi 0 Timer 0 Bn ngoi 1 Timer 1 Port ni tip Timer 2 C RST IE0 TF0 IE1 TF1 TI v RI a ch vector 0000H 0003H 000BH 0013H 001BH 0023H 002BH

Vector reset h thng (RST a ch 0000H) c trong bng ny v theo ngha ny, n ging ngt : n ngt chng trnh chnh v np cho PC gi tr mi.

Chng 3: Bin

i tng t s

(analog digital)

Bin i tng t s (analog digital) l thnh phn cn thit trong vic x l thng tin v cc cch iu khin s dng phng php s. Tn hiu thc Analog. Mt h thng tip nhn d liu phi c cc b phn giao tip Analog Digital (A/D). Cc b chuyn i tng t s, vit tt l ADC thc hin hai chc nng c bn l lng t ha v m ha. Lng t ha l gn cho nhng m nh phn cho tng gi tr ri rc sinh ra trong qu trnh lng t ha.

3.1. Tng Qut.


3.1.1. Quan H In Out: Bin i AD c tnh cht t l. Tn hiu vo Analog c bin i thnh mt phn s X bng cch so snh vi tn hiu tham chiu Vref. u ra ca b ADC l m ca phn s ny. Bt k mt sai s tn hiu Vref no cng s dn n sai s mc ra, v vy ngi ta c gn gi cho Vref cng n nh cng tt. Vref
ADC

Vin

Digital output

Hnh 3.1 Quan h vo ra cc khi ADC Nu b ADC xut m ra gm n bit th s mc ra ri rc l 2n. i quan h tuyn tnh, tn vo c lng t ha theo ng mc ny. Mi mc nh vy l mt tn hiu Analog c phn bit vi hai m k tip nhau, n chnh l kch thc ca LSB (Least Significant Bit). Q= LSB = FS/2N Trong : Q FS : Lng t : gi tr ton thang

LSB : bit c trng s thp nht Tt c cc gi tr Analog ca lng t Q c biu din bi m s, m m ny tng ng vi gi tr trung bnh ca lng t (c th hiu l gia khong LSB) gi l mc ngng. Cc gi tr Analog nm trong khong t mc ngng sai bit i LSB vn c th hin bng cng mt m, l sai s lng t ha. Sai s ny c th s gim i bng cch tng s bit trong m ra b ADC.

Hnh 3.2 Quan h vo ra 3.1.2. Phn Gii: L gi tr bin i nh nht ca tn hiu vo ra c yu cu thay i m ln mt mc. phn gii c a ra vi gi thit l tng. 3.1.3. Chnh Xc: S sai bit gia cc gi tr in p tn hiu vo so vi gi tr FS tng ng vi m xut ra. Thng c ghi trong c tnh ca cc b ADC thng mi. 3.1.4. ADC. Ty theo cng ngh ch to m b ADC c u vo n cc hay lng cc, a s nm trong khong 05V hoc 010V i vi n cc v -5+5V hoc 10V+10V i vi ADC lng cc. Tn hiu vo cn ph hp vi tm vo xc nh cho tng b ADC. Nu u vo khng ht thang s to m v dng u ra. Vn ny c gii quyt bng cch chn tm u vo b ADC sau chnh li thch hp cho u vo ca ngun Analog. Khi s dng b ADC n cc m c tn hiu vo l lng cc trong khong Vpp th ta cn phi cng in p vo Vi vi mt in p nn bng +Vpp, khi ta s c Vi nm trong khong 0..+2Vpp; tn hiu ny s c a ti u vo b ADC. Nu s dng ADC lng cc th khng cn cng tn hiu v u ra ta s nhn c m lng cc. 3.1.5. u Ra B ADC: a s cc ADC c u ra 8 Bits, 16 Bits d vy cng c loi 3 Digit, m BCD, 10 Bits, 14 Bits. u cc b ADC thng l m nh phn t nhin hoc c du. ADC dng cho my o ch th s a dng thng l m BCD.

3.1.6. Tn Hiu Tham Chiu Vr: Vi+ Convertion ViEnable) Vr Start Clock Hnh 3.3 Cc ng vo, ra chnh ca b ADC Hnh v cho thy u vo v u ra ca b ADC. Mi ADC u yu cu c tn hiu Vr. Bt k mt sai s no trn Vr u gy ra li li c tnh ca AD. V vy Vr l tn hiu m bo chnh xc v n nh ca b AD. Dng IC n p c th tha mn iu ny. 3.1.7. Tn Hiu iu Khin: Mi b ADC u c tnh xung Clock v tn hiu iu khin hot ng. Thit b ngoi giao tip vi ADC s khi ng qu trnh AD bng cch pht mt xung Start vo u vo Start ca ADC, ADC s nhn bit cnh ln ca xung Start v ngay sau n s ko ng EOC (End of Conversion) xung thp (khng tch cc). Lc ny ADC ang thc hin qu trnh bin i, tng ng vi mi xung Clock a vo ADC s thc hin c mt bc bin i, sau mt bc nht nh ty theo b ADC, th qu trnh bin i hon thnh. Khi bin i xong, AD s nng ng EOC ln mc cao, tn hiu ny c th dng kch mt ngt cng ca my tnh (nu dng giao tip vi my tnh). c c d liu u ra ca b ADC th phi nng ng OE (Output Enable) ca ADC ln mc cao, sau khi c xong th li tr ng ny v mc thp. OE (Output (EOC) End of

ADC
Digital Output

3.2.Cc K Thut ADC: 3.2.1. ADC C Vr Dng Nc Thang:


Analog input Vi Comparateur Vht Vref Reference

DAC

Digital output

Clock

Control

Counter

Hnh 3.4 S khi AD c Vr dng nc thang Counter: B m to u ra cho b ADC bng hoc ln hn gi tr vo Vi. N c reset ti mi thi im bt u thc hin AD v m dn ln sau mi xung Clock. C mi ln m b DAC li nng ln mi nc thang (1 LSB). B so snh s dng b m li khi in p DAC (p hi tip) t ti gi tr vo Vi. Nhc im ca phng php ny l Tc (thi gian chuyn i) theo mc tn hiu vo v i khi rt lu. Tc=2? x Tclock i vi b DAC n bit khi bin i mt tn hiu vo mc FS (Full Scale). Mt ci tin ca phng ny l tracking hay servo s dng b m thun nghch cho php DAC a tn hiu vo lin tc. Bng s khng ch b m t bn ngoi ti mt im nht nh ta dng b DAC kiu tracking nh mt b S & H (Sample and Hold). 3.2.2. ADC Thng Bng Lin Tc: S khi ging nh phng php trc, nhng b m l b m thun nghch. V c bn cng ging nh phng php trn nhng b m hot ng c ch thun nghch. Khi tn hiu Vht < Vi th b m s m ln, ngc li th b m s m xung. Qu trnh xc lp ghi nhn c khi gi tr Vht dao ng xung quanh gi tr Vi. Tc cng ph thuc vo Vi v nhc im sai s cng ging phng php trn: sai s ng ph thuc vo thi gian bin i v sai s tnh ch yu b bin i DA v b so snh.

Hnh 3.5 Th Thi Gian AD Thng Bng Lin Tc

3.2.3.Phng Php Bin i AD Hm Dc Tuyn Tnh: (Phung Php Tch Phn Mt Dc) V bn cht thc hin bin i trung gian t in p ra khong thi gian sau o khong thi gian theo phng php s. Qu trnh bin i s xy ra nh sau: Comparator Vi Vs
Scan

V1 V2

Gate

Clock

Couter

Start Result Hnh 3.6 S khi phng php ADC hm dc tuyn tnh Sau thi gian kch khi, b m s bt u m ln v mch qut s bt u to ra tn hiu tuyn tnh thi gian. Tn hiu qut v tn hiu vo Vi c so snh vi nhau, khi hai tn hiu ny bng nhau th mch so snh s ng cng khng cho xung ti b m na. Nh vy ni dung ca b m s t l vi thi gian to, m to li t l thun vi gi tr Vi nn ni dung b m t l vi Vi.

Hnh 3.7 Dng Sng ADC Hm Dc Tuyn Tnh chnh xc ca phng php ny ph thuc vo tuyn tnh ca tn hiu qut (sai s dc cng nh, chnh xc cng cao), tn hiu ph thuc vo tn s ca tng xung. Phng php ny c tc hot ng cao hn cc phng php ban u, v chnh xc cng cao hn do khng cn s dng b bin i DA. 3.2.4. ADC Xp X Lin Tip:
Analog Input Vi Comparateur

Vref Reference Clock SAR Digital output DAC

Hnh 3.8 ADC xp x lin tip Phng php ny c dng trong k thut bin i AD tc cao trung bnh. N cng dng mt b DAC bn trong to ra mt in p bng mc vo v ca tn hiu sau ng bng n chu k xung Clock cho trng hp ADC n bit.

Phng php ny cho php rt ngn Tc rt nhiu v khng ph thuc vo tn hiu vo Vi. K thut ny ph thuc vo s xp x tn hiu vo vi m nh phn, sau thay i cc bit trong m ny mt cch lin tip cho n khi t c m gn ng nht. Ti mi bc ca qu trnh ny, gi tr xp x ca m nh phn thu c s c lu vo SAR (Successive Approximate Register). Vic bin i lun c bt u ti MSB (Most Significant Bit) ca SAR khi c bt ln. B so snh s so snh u ra ca ADC vi Vi v ra lnh cho b iu khin ngt MSB nu nh gi tr ban u ny vt qu u vo AD. Trong chu k xung Clock k tip, MSB li c pht tr li. Mt ln na b so snh s quyt nh ly hay b MSB ny. S bin i ny s tin dn n s ng nht so vi tn hiu vo xut d liu ny ra. DAC output 100 MSB 1 LSB 1 0 SAR output Hnh 3.9 th dng sng ca mch

111 111 110 101 100 010 011 011 100 011 010 001 000 110 101

Hnh 3.10 S thay i mc logic 3.2.5. ADC Tch Phn Hai Dc:

K thut ny thy r trn s khi. Ta thy in p vo c tch phn trong khong thi gian t1, ng bng lc b m m ht. Ti cui t1, b m s reset v b tch phn chuyn qua mc tham chiu m, u ra ca b tch phn s gim tuyn tnh v zero ti b m ngng m v c reset. in tch np t trong khong thi gian t gn bng in tch x trong khong thi gian t2: t1 x V1 = t2 x V2 t2 / t1 = V1 / V2 = X T s X cng chnh l t s m m nh phn ca b m ln nht ( gi tr m c vo cui t2 cng l gi tr xut ra. K thut ny c mt s u im, nht l cht lng kh n. Tn hiu vo c tch phn qua mt chu k, do bt k mc n no cng c tn s l bi s ca 1/t1 u b loi.
Analog reference Vr

+ - +

Vi

Clock

Control logic

Couter

Digital Output

Hnh 3.11 S khi ADC tch phn hai dc

Ch rng, tn s xung Clock khng nh hng g n phn gii. phn gii ca k thut ny ch b gii hn bi cht lng mch v khng ph thuc vo phi tuyn ca b AD: Do u ra ca b tch phn c th nhy cp t do m khng s pht sinh m li u ra. V vy m phn gii tt rt d t c v c th thay i bng cch chnh kch thc ca vng m v tn s xung Clock. Tn s thp l nhc im duy nht ca phng php. Phng php ny thng c dng cho cc ng h hin s, my o a nng ch th s, cm bin nhit v nhng ng dng c yu cu khng cao v tn s ly mu. 3.2.6. ADC Dng Bin i V F (in p tn s)

VFC

B pht

B thu

nh thi

Digital output

Hnh 3.13 S khi b bin i AD dng VF Hnh trn cho thy k thut ny trong b bin i AD. p vo Analog c mt b VF chnh xc bin thnh mt dy xung c tn s t l vi p vo. Mt b m s m s xung ny trong mt khong thi gian nht nh ri xut s m cho b AD. Ging k thut tch phn dc kp, k thut ny c tn s thp nhng kh nhiu tt. Nu thi gian Tc thp mc c th chp nhn

c th phng php VF cho php t c phn gii cao vi tn hiu thay i chm vi gi thnh h. u im ca phng php ny l c kh nng iu khin t xa trong mi trng n. C th lm mt b VF nh mt hm truyn d liu t xa di dng s n trm kim sot, ti y c b x l (tip nhn + b m + xut d liu). iu ny trnh c vic truyn tn hiu Analog qua mi trng nhiu c kh nng lm xu tn hiu. Vic truyn bng tn hiu VF cng c kh nng trit nhiu bng cch to s cch ly gia b bin i vi thit b cm bin, mt yu cu quan trng trong cc trm kim sot v iu khin cc h thng in cao p. Thc t, k thut ny ph thuc vo cc vi mch VFC thng dng, r tin, c cht lng tt (tuyn tnh v n nh).

3.2.7. ADC Song Song:


Vr Vi

R1 Encoder 2n-1 R2 Comparator Digital output

Hnh 3.14 S khi AD song song c dng trong k thut cn bin i AD tc cao, nh k thut Video, k thut Radar, dao ng k s. Trong k thut ny tn hiu vo c so snh ngay lp tc vi tt c cc mc ngng bng cch dng nhiu b so snh. Vic lng t ha do vy thc hin hon tt trong cng mt lc. B gii m nhanh lp tc i cc tn hiu so snh c ti u ra. ADC dng phng php ny c tn s ly nu ph thuc vo tc (thi gian tr) ca cc b so snh. Thng thung vi mch so snh c thi gian tr trong khong 10-12ns, v vy trn l thuyt, tn s ly mu ca ADC c phn gii 8 Bits cn ti 2 8 1=255 b so snh, do vy kch thc vi mch s rt ln. 3.3. Giao Tip Phn Mm: D liu truyn gia ADC v vi x l c th t chc trong phn mm theo 3 cch: 3.3.1. Memory Mapped Transfers (Truyn Theo Bn Nh): Trong bn b nh, ADC c ch nh trong mt vng b nh thc s cha s dng. Bn cnh vic s dng ti a b nh, ta c dng phn cng gii m a ch t ti thiu n ti a khng lng ph khng gian trong b nh. 3.3.2 Input / Output Mapped Tranfers (Truyn Theo Bn I/O): Mt vi h thng to ra vng I/O c a ch rt ring bit, m a ch c th ging a ch b nh, c th phn bit chng vi nhau bng cch dng tn hiu iu khin c bit IOR, IOW trn h thng Bus ca IBM PC. S phn bit gia I/O v 2 vng b nh lm cho thit k h thng tr nn tt hn.

N cho php gii m a ch s dng phn cng l ti thiu, gii m t vng IO n gin v tt hn b nh c gi tr cha s dng. 3.3.3. DMA (Direct Memory Access : Truy Mt Trc Tip B Nh): Khi ch c truyn d liu n gin gia b nh v ngoi vi c dng tch ly trong qu trnh chuyn lm chm qu trnh mt cch khng cn thit. Bng vic s dng kt hp trong phn cng trong dng thit b phc v gi l iu khin DMA. Vic truyn trc tip c tc ng nhanh hn nhiu, hu ht cc b vi x l cho php DMA thc hin y bng cch cp iu khin ca Bus h thng cho khong nh trc. iu khin DMA ly a ch yu cu v tn hiu iu khin. Ti cui khong, iu khin Bus quay li vi x l. Truyn d liu hon ton c th ly nhiu chu k DMA thi hnh. 3.4.Giao Tip Phn Cng: Thit k phn cng theo m hnh d liu song song hay ni tip. 3.4.1. D Liu Truyn Song Song: Phn cng cho giao tip d liu song song hu ht bao gm ng ra m ba trng thi m ADC ni vi Bus d liu ca vi x l. a ch gii m v tn hiu iu khin ghi c ca cho php m truyn d liu ADC vo (P. Gii m tng ng v tn hiu iu khin ca (P to thnh lnh bt u cho b bin i. N khng cn dng iu khin R/W ring bit, d sao vic lm ny cho php a ch ging nhau cho vic gi lnh n ADC v c ng ra ADC. Cc ADC mi hn c b m ba trng thi vi mch iu khin ca chng. Nhng ADC ny c th ni trc tip vi Bus d liu ca vi x l. Giao tip nhiu thit b, th ta phi cung cp gii m v i khi phi mt vi cng qun l tn hiu iu khin. Giao tip vi h thng (P th n gin bi v (P cung cp a ch Port trc tip v vic gii m a ch l khng cn thit. 3.4.2.M Hnh D Liu Ni Tip : Dng trong vic truyn d liu i xa. Truyn ng b ni tip dng cho tuyn phc v hay tuyn in thoi. Thit b gi l UART (truyn nhn khng hon ton ng b). UART nhn v truyn d liu dng tun t nhng giao tip vi (P dng song song.

Chng 4: Giao

Tip My Tnh

4.1 Cc Vn C Bn V My Tnh Tri qua mt thi gian di t pht minh u tin ra my tnh cho n nay, my tnh khng ngng nng cao v pht trin qua nhiu th h. Tuy nhin hu ht my tnh ang ph bin hin nay u c ngun gc xut pht t h PC (Personal Computer). u tin l kiu my PCXT do hng IBM ch to vi b x l (CPU) 8088 ca hng Intel. y l h thng x l d liu 16 bit nhng dng bus d liu 8 bit. Tip theo l my AT ra i vi b x l 80286 c tnh nng hn hn chip 8088 ca my PC XT. N c kh nng to ra b nh o, a nhim v, tc nhanh, tin cy cao v dng bus d liu 16 bit. a nhim (Multitasking) l kh nng thc hin mt lc nhiu nhim v: Va in mt ti liu Va tnh ton mt php tnh Cng vic ny thc hin c nh hon chuyn nhanh theo s theo di ca CPU n cc chng trnh m n ang nm quyn iu khin. Vic ny c thc hin ngay bn trong CPU cng vi mt vi gip ca h iu hnh.B nh o (Virtull Memory) cho php my tnh lm vic vi mt b nh dng nh ln hn nhiu so vi b nh vt l hin c: Cng vic ny thc hin c nh mt phn mm v s thit k phn cng cc k tinh xo. Ngy nay cc my AT 386, 486, Pentium dng chip CPU ln lt l 80386, 80486, P5 l kt qu ca trnh k thut v cng ngh hin i. Chng trnh mt b nh ln hn t tin l : 8088 hay 80286 cng vi nhiu chc nng mi, thm na l tc vi x l khng ngng c nng cao rng ca data bus cng m rng ln 32bit ri 64 bit vi Pentium.

4.2. Cc Phng Php iu Khin Vo Ra:


4.2.1.Vo Ra iu Khin Bng Chng Trnh Thit b ngoai vi iu ghp vi Bus h thng vi x l thng qua cc phn thch ng v cng ngh ch to v logic. Thch ng v cng ngh ch to l iu chnh mc cng ngh sn xut thit b ngoi vi v cng ngh sn xut ca

mch trong h vi x l. Thch ng v Logic l nhim v to tn hiu iu khin ngoi vi tn hiu trn bus h thng. Trong h vi x l mt vng nh dng lm ni cha a ch cng vo ra v CPU xut hoc nhp d liu t cc cng vo ra ny cc lnh xut nhp In/Out Lc ny cng vo ra c xem nh thanh ghi ngoi, chng c vit vo hoc c ra nh nh Ram qua hai lnh trn. phn bit hng xut hoc nhp d liu t cng vo ra CPU pht ra tn hiu iu khin c hoc vit. phn bit vng nh vi thit b vo ra CPU pht ra tn hiu iu khin IO/M. Khi c cc lnh ny th cc lnh In/Out mi c tc dng. Ngoi cc lnh qui chiu b nh, cng nh kh nng trao i d liu gia thit b ngoi vi v h vi x l. Lc vo ra c gn nh mt a ch nh ca b nh. Cc thanh ghi lin quan ti cng vo ra c xem nh ngn nh. Khi b vi x l gi a ch v xung iu khin c hay vit b nh khng cn xc nh ni gi l b nh hay thit b vo ra. N ch hi ni gi d liu vo trong khong thi gian cho php. B logic bn ngoi s gii m a ch kt hp vi xung MR, MW, chn thit b m khng phn bit ngn nh hay thit b vo ra. 4.2.2.Vo Ra iu Khin Bng Ngt: Vi phng php iu khin vo ra bng chng trnh, CPU phi lin tc kim tra trng thi ca thit b ngoi vi n khi sn sng, l s lng ph thi gian ca CPU v chng trnh di v phc tp. Khi b vi x l c nhiu thit b ngoi vi CPU khng p ng yu cu ca chng. C th p ng yu cu ngoi vi nhanh chng v khng theo trnh t nh nh trc nh c cu ngt CPU. Nh tnh cht p ng tc thi ca vi x l khi c yu cu ngt t thit b ngoi vi do cc ngt thng c dng nhng trng hp yu cu ap ng nhanh, thi gian tr li ngn, thc hin bt k thi im no. Khi CPU phi chuyn n chng trnh con, yu cu ngt cui bt k lnh no trong chng trnh chnh. Cc chng trnh con phc v ngt c th lu tr ni dung cc thanh ghi v khi phc li khi thc hin xong chng trnh phc v ngt v trc khi tr li chng trnh chnh. Giao tip vi ma tnh l trao i d kin gia mt my tnh vi mt hay nhiu thit b ngoi vi. Theo tiu chun sn xut, my tnh giao tip vi ngi s dng bng hai thit b: Bn phm nhp d liu Mn hnh hin th

Ngoi ra nh sn xut cho ta nhiu cch giao tip khc thng qua cc port nh l cc ng giao tip: Giao tip qua port com (ni tip)

Giao tip qua port Parallel (song song)

Ty theo trng hp ng dng c th m chn cch giao tip thch hp.

4.3. Phng Php Giao Tip


4.3.1.Giao Tip Vi My Tnh Thng Qua Slot Card: Bn trong my tnh, ngoi nhng khe cm dng cho card vo - ra, card mn hnh, vn cn nhng rnh cm trng. giao tip vi my tnh, ta c th thit k card m rng gn vo khe cm m rng ny. my tnh PC/XT rnh cm ch c 1 loi vi rng 8 bit v tun theo tiu chun ISA (Industry Standard Architecture). Rnh cm theo tiu chun IS c 62 ng tn hiu, qua cc ng tn hiu ny my tnh c th giao tip d dng vi thit b bn ngoi thng qua card m rng. Trn rnh cm m rng, ngoi 20 ng a ch, 8 ng d liu, cn c mt s ng iu khin nh:,, IOW, AEN, CLK, ... Do card giao tip vi my tnh qua slot card n gin, s bit c th tng d dng, gim c nhiu linh kin, tc truyn d liu nhanh (truyn song song). Tuy nhin, do khe cm nm bn trong my tnh nn khi mun gn card giao tip vo th phi m np ra, iu ny gy bt tin cho ngi s dng. 4.3.2.Giao Tip Qua Serial Port (Port COM). IBM PC cung cp 2 cng ni tip: COM1 v COM2. Cc cng ny giao tip theo tiu chun RS232. Chng c th c ni vi mt Modem dng cho mng in thoi, hay ni trc tip vi mt my tnh khc. D liu c truyn qua cng ny theo cch ni tip, ngha l d liu c gi i ni tip nhau trn 1 ng dy. Do cc d liu c truyn i tng bit mt nn tc truyn chm, cc tc truyn c th l 300, 600, 1200, 2400, 4800bps, 9600bps, chiu di d liu c th l 5, 6, 7 hoc 8 bit v kt hp vi cc bit Start, Stop, Parity to thnh mt khung (frame). Ngoi ra cng ny cn c cc iu khin thu (Receive), pht (Trans), kim tra. Cch giao tip ny cho php khong cch truyn d liu xa, tuy nhin tc truyn rt chm tc ti a l 20kbps. 4.3.3.Giao Tip Qua Cng PRINT (Cng My In). IBM PC cho php s dng n 3 cng song song c tn l LP1, LP2 v LP3. Kiu giao tip song song c dng truyn d liu gia my tnh v my in. Khc vi cch giao tip qua Port Com, cch giao tip ny d liu c truyn song song cng mt lc 8 bit. V th n c th t tc cao.Connector ca Port ny c 25 chn bao gm 8 chn d liu v cc ng tn hiu bt tay (Handshaking ).Tt c cc ng Data v tn hiu iu khin u mc logic hon ton tng thch vi mc TTL. Hn na, ngi lp trnh c th iu khin cho php hoc khng cho php cc tn hiu to Interrupt t ng vo nn vic giao tip n gin v d dng. Tuy nhin, giao tip vi mc logic TTL nn khong cch truyn b hn ch so vi cch truyn qua Port

Com, ng thi cp truyn cng phc tp hn. l nhc im ca cch giao tip ny.

4.4. Gii Thiu V Truyn Thng Ni Tip :


Hin nay cc tiu chun truyn thng cng theo hai hng phn bit nhau da vo cch truyn : song song hay ni tip. Cch truyn song song rt d b nhiu tc ng nn khng th truyn i xa c, do cng t c s dng. Truyn ni tip cng c 2 loi : ng b hay khng ng b. Trong cch truyn ng b, dy k t c truyn s km theo k t ng b l SYN (m ASCII l 22). Phng thc ny cho tc truyn kh cao nhng do mch x l truyn v nhn (bao gm mch thm k t ng b, pht hin v bo sai) kh phc tp nn ch dng trong cc ng dng c yu cu cao v tc truyn. Cn trong cc ng dng thng thng, nht l cc ng dng trong lnh vc iu khin t ng, th khng c yu cu v tc m yu cu v tin cy nhng mch thc hin n gin, r tin. Khi , cch truyn khng ng b rt ph hp. Theo cch truyn ny th cc k t c truyn ring r, phn lm tng frame c bit bt u, cc bit d liu ca k t cn truyn, bit chn l ( kim tra li ng truyn), v cc bit kt thc.Trong khun kh Lun Vn ny ,ta ch s dng chun truyn thng RS-232C (RS :Recommended Standard) ,l mt chun truyn ni tip bt ng b rt ph bin hin nay. Chun ny ln u tin c gii thiu vo nm 1962 do hip hi k thut in t EIA (Electronics Industries Association) a ra nh l chun giao tip truyn thng gia my tnh v thit b ngoi vi nh :modem, my v, mouse, my tnh khc

4.5. Cu To Cng Truyn Ni Tip :


Bng 4.1 Sp xp chn ca cng ni tip my tnh: 9 chn 1 2 3 4 5 6 7 8 9 25 chn 8 3 2 20 7 6 4 5 22 Chc nng DCD _ Data Carrier Detect (Li vo) RxD _ Receive Data (Li vo) TxD _ Transmit Data (Li ra) DTR _ Data Terminal Ready (Li ra) GND _ Ground (Ni t) DSR _ Data Set Ready (Li vo) RTS _ Request to Send (Li ra) CTS _ Clear to Send (Li vo) RI _ Ring Indicator (Li ra)

4.6. Cc Chun Truyn Ni Tip :

dng ni tip ta c rt nhiu chun truyn nh: RS-232, RS-422, RS423, RS-449, RS-485 do khng i su vo cc chun truyn ny nn ta ch kho st s 2 chun truyn RS-232 v RS-485 : Bng 4.2. So snh cc tiu chun truyn EIA:

Thng s Cable length(max ) Baud Rate (tc baud) Mode Driver No Receiver No Logic 0 Logic 1

RS_232 RS_422 RS_423 RS_485 15m (50FT) 1.2km(4000FT) 1.2km(4000FT) 1.2km(4000FT) 20Kps/15m 10Mbps/12m 100Kbs/9m 10Mbps/120m 10Kbps/90m 100Kbps/1.2km 1Kbps/1.2km Unbalanced Balanced Unbalnced Differental Differental 1 1 1 1 10 10 +5V+15V -5V -15V 2V +2v +5V -2V -5V 1.8V 2 +3.6V +6V -3.6V -6V 3.4V 2 10Mbps/12m 1Mbps/120m 100Kbps/1.2km Balanced Differental 32 32 +1.5V +5V -1.5V -5V 1.3V 2

Community (truyn thng) Cable/Sign 1 al (Cp / tn hiu) Methode Simplex (Phng Half_duplex thc) Full_duplex Short circuit 500mA current

Simplex Half_duplex Full_duplex 150mA

Simplex Half_duplex Full_duplex 150mA

Simplex Half_duplex Full_duplex 150mA

4.6.1 Phng Thc Truyn D Liu Ca RS-232 : D liu trao i din ra trn hai ng dn TxD v RxD. Qua chn cm ra TxD, my tnh gi d liu ca n n cc thit b khc. Trong khi d liu m my tnh nhn c, li c dn n chn ni RxD. Cc tn hiu khc ng vai tr nh l tn hiu h tr khi trao i thng tin v v vy khng phi trong mi ng dng u dng n. Cc bit d liu c gi i theo kiu o ngc, ngha l cc bit c gi tr 1 s c mc in p LOW, cc bit c gi tr 0 s c mc in p HIGH. Mc tn hiu nhn v truyn qua chn RxD v TxD thng thng nm trong khong 12V n +12V. Mc in p i vi mc HIGH nm gia +3V n +12V.

Mt chui d liu truyn i theo dng ni tip nhau trn mt ng dn: bt u bng mt bit khi u (Start bit), tip theo l cc bit d liu (data bit), bit thp i trc. S bit d liu nm trong khong 5 n 8 bit, tip l bit kim tra chn l (Parity) v cui cng l bit kt thc (stop bit). Hnh thc truyn ny c kh nng dng cho nhng khong cch ln , bi v cc kh nng gy nhiu l nh hn l dng cng song song. Tc truyn c thit lp bng tham s Baudrate, l s bit truyn i trong 1 giy, thng thng l 300, 600, 1500, 2400, 4800, 9600 v 19200. Mt nhc im khng nh ca cng ni tip l tc truyn d liu b hn ch. V d nh vi tc 9600 baud cho php truyn nhiu nht l 960 byte mi giy. Khun dng d liu (Frame) cn phi c thit lp nh nhau c hai bn gi cng nh nhn. Start bit +12V -12V 1 D0 1 D1 D2 0 D3 D4 1 0 D5 0 D6 1 D7 0 Stop bit

T= 1/fbaud 1.04 ms Hnh 4.1. Dng d liu trn cng RS_232 vi tc baud 9600baud. Mt trong nhng yu cu quan trng ca RS-232 l thi gian chuyn i t mt mc logic ny ti mc logic khc khng vt qa 4% thi gian 1 bit. V th tc 19200 thi gian chuyn mc logic phi nh h . Vn ny lm gii hn chiu di ng truyn . Vi tc truyn 19200 baud c th truyn xa nht l 50ft (1ft = 30.48cm, 15.24cm) Mt trong nhng vn quan trng cn ch khi s dng RS-232 l mch thu pht khng cn bng ( n cc ). iu ny c ngha l tn hiu vo c so vi t. V vy, nu in th ti hai im t ca hai mch thu pht khng bng nhau th s c dng in chy trn t. Kt qu s c p ri trn

dy t ( V= I.R ) s lm suy yu tn hiu logic. Nu truyn tn hiu i xa , R s tng dn n p ri trn t s ln dn n lc tn hiu logic s ri vo vng khng xc nh v mch thu s khng nhn ng d liu c truyn t mch pht. Chnh s khng cn bng trn mch thu pht l mt trong nhng nguyn nhn gii hn ng truyn. 4.6.2. Chun RS-485: Giao tip EIA RS-485 da trn chun RS-422A , n l mt ci tin ca chun ny v c m rng giao tip ngoi vi. c tnh in ca n ging nh RS-422A. RS-485 l chun truyn vi sai , s dng hai dy cn bng, tc truyn c th t ti 10Mbps v chiu di cp truyn c th ln n 4000feet (khong 1.2km ). in p vi sai ng ra t +1.5V (+5V nu l logic 0 v t 1.5V( -5V nu l logic1. Mt c im khc bit quan trng ca RS-485 l n cung cp n 32 Drivers v 32 Receives trn cng mt ng truyn. iu ny cho php to ra mt mng cc b. c kh nng nh vy, ng ra ca driver RS-485 phi l ng ra 3 trng thi. N c th mc tng tr cao bus khng b chp khi c mt driver truyn. Vi chun mi ny , tc truyn , khong cch truyn c ci thin rt nhiu. D liu nhn l phn khc nhau gia d liu khng o (A) v d liu o(A), khng yu cu ni t gia thit b thu v thit b pht, D liu c truyn trn ng dy cn bng, thng l cp dy xon vi mt tr u cui. 4.7. Lp Trnh Cho Cng RS-232 : ng vai tr ch o trong iu khin qu trnh truyn thng ni tip l vi mch 8250 .Vi mch ny c th c lp rp trn bn mch chnh ca my tnh PC hoc trn mt card vo ra . lp trnh cho cng ni tip hoc truyn thng ni tip ta phi hiu cu trc ,cc thanh ghi v cch lp trnh truy nhp ti vi mch ny . Vi mch 8250 ln u tin c gii thiu vo nm 1973 v nhanh chng chim lnh v tr c s dng rng ri trn cc my tnh PC .Vi mch ny c 40 chn v c s dng truyn v nhn d liu theo cch ni tip v d b (khng ng b) .Tn gi b truyn nhn khng ng b vn nng (UART : Universal Asynchronous Receiver / Transmitter) xut pht t chc nng ca vi mch 8250 trong mch in ghp ni vi li ra cng ni tip ca cng RS232C . Trn mch in ,UART m nhim cc chc nng chnh nh sau : Chuyn i tn hiu song song i t n v x l trung tm ca my tnh (CPU) thnh tn hiu ni tip truyn ra khi my tnh v chuyn i tn hiu ni tip a n my tnh thnh dng song song chuyn n n v x l trung tm . B sung cc bit : bt u ,chn l ,dng vo mi k t hnh thnh khung truyn v ly ra nhng bit t cc k t nhn c .

Duy tr tnh trng cc bit ring bit c pht ra vi tc truyn d liu thch hp, tnh ton cc bit chn l trn cc cc k t nhn v truyn ,ng thi thng bo cho h thng bit bt k mt sai st no c pht hin . Thit lp cc tn hiu bt tay phn cng thch hp v thng bo trng thi ca cc mch . thc hin cc chc nng k trn, UART c cc giao tip chnh nh sau : Giao tip vi h thng BUS vo ra ca CPU. Giao tip vi tn hiu ng h h thng . Giao tip vi cng ni tip theo chun RS-232C B thu pht d b vn nng UART c thit k ring iu khin qu trnh truyn thng khng ng b .Chip 8250 l chip c bn c thit k cho CPU 80286 ,hin nay cc chip thng dng l UART 16450 v UART 16550A tng ng vi cc BUS d liu 16 bit v 32 bit .i khi ta c n tng l vi mch 8250 l loi c ,bi v 8250 c s dng cho cc my tnh i u .V sau c thay th bng cc loi 16450 v cc th h tip theo nh 16550 ,16750 .Vi mch 16450 hon ton ging vi 8250 v chc nng v s sp xp chn ,nhng c ch to bng mt cng ngh khc v c kh nng hot ng vi tc nhanh hn. Tt c nhng g ta bit v vi mch 8250 u c th vn dng cho vi mch 16450 . So vi loi 8250 ,vi mch 16450 c thm b nh vo trc ra trc (FIFO). hiu c vai tr ca b nh ny ,ta lu ti mt c im chung ca cc vi mch l : X l ch tng k t ,c th l khi nhn mt k t mi m k t trc y cha c c ra th s xy ra tnh trng mt mt d liu . c th thc hin nhng nhim v khc mt cch ng thi ,ngay c khi tc truyn cao hn , trong vi mch 16450 c thm vo hai b nh trung gian dng cho vic truyn v nhn d liu .y chnh l b nh FIFO ,nh vy m k t c c ra lun lun trong hng nhn. Vi mch 16550 l th h c ci tin v tc ca 16450 v c tnh tng thch k tha vi 16450 .Tt c nhng g ta bit v vi mch 16450 v 8250 cng c th vn dng cho vi mch 16550 .Tt nhin l vi mch 16550 vn c nhng c tnh ring .Th h mi nht l vi mch 16750 cha thanh ghi FIFO (First In First Out ) 64 Kbyte v cho php truyn d liu vi tc n 921,6 Kbps . Cc vi mch ny cho php truyn d liu vi tc cao hn 8250 ,nhng v nguyn tc hot ng th khng thay i .V vy , tm hiu c ch truyn d liu ni tip ,ta vn c th bt u vi vi mch 8250 .Ngoi ra, trn cc my tnh sn xut gn y ,mt s chc nng iu khin truyn thng ni tip c tch hp vo trong cc vi mch a chc nng, nhng bn thn chng vn hot ng nh mt linh kin ring l. Trong khun kh lun vn ny ,ta khng trnh by chi tit v cu to cng nh cch vi mch 8250 hot ng .Ta ch trnh by sau y cc kin thc lin

quan n k thut lp trnh cho cng RS-232 . l cc hiu bit v cc thanh ghi ca UART 8250 ,cch lp trnh v iu khin ngt cho cng RS-232 . 4.7.1. Cc thanh ghi ca UART 8250 : c tm tt trong bng sau :

Bng 4.3. Cc thanh ghi ni ca b thu pht ni tip 8250 (khng ng b).
Register name Transmitter holding register Receiver data register Baud rate divisor (LSB) Baud rate divisor (MSB) Interrupt enable register Interrupt ID register Line control register Modem control register Line status register Modem status register Code THR RDR BRDL COM1 COM2 COM3 COM4 Function 3F8H 2F8H 3E8H 2E8H OUTPUT 3F8H 3F8H 2F8H 2F8H 2F9H 2F9H 2FAH 2FBH 2FCH 2FDH 2FEH 3E8H 3E8H 3E9H 3E9H 3EAH 3EBH 3ECH 3EDH 3EEH 2E8H 2E8H 2E9H 2E9H 2EAH 2EBH 2ECH 2EDH 2EEH INPUT OUTPUT OUTPUT OUTPUT INPUT OUTPUT OUTPUT INPUT INPUT

BRDH 3F9H IER IID LCR MDC LST MSR 3F9H 3FAH 3FBH 3FCH 3FDH 3FEH

Cc thanh ghi trong UART 8250 c th chia ra lm ba loi : Thanh ghi iu khin (Control Register): dng nhn v thc hin cc lnh t CPU. Thanh ghi trng thi (Status Register): dng thng bo cho CPU bit UART ang lm g. Thanh ghi m (Buffer Register) : dng gi k t trong lc truyn hoc x l. Cc thanh ghi ny cng gi cc k t nh phn c truyn v nhn. Vic la chn cc thanh ghi c thc hin qua a ch v khi iu khin. Mi thanh ghi c gn mt a ch so snh tng i (offset) vi a ch c s ca cng ni tip. Cc a ch ca hai cng ni tip u tin trong hu ht cc my tnh c tiu chun ha. C th ni : ton b hot ng ca giao din ni tip c iu khin qua cc thanh ghi ca UART, trong thanh ghi m truyn / nhn d liu thng c tnh l hai thanh ghi. Do ch c 8 a ch (xem thm v cu to ca UART 8250) nn cn n s chuyn mch bn trong thng qua bit DLAB (bit 7 ca thanh ghi iu khin ng truyn). Cc a ch ca tng thanh ghi u c tnh theo khong cch n a ch c s, khong cch ny thng c gi l offset. Ty theo thanh ghi, offset nhn gi tr c th trong khong t 0 n 7.

Vi mch UART 8250 c tt c 10 thanh ghi, sau y ta s ln lt tm hiu cc thanh ghi ny : 4.7.1.1 Cc Thanh Ghi Gi : Nh thy r t tn gi, cc thanh ghi ny thc cht l cc b m c chuyn dng gi mt k t, k t ny c nhn nhng cha c c, hoc mt k t c gi ti cng ni tip nhng cn cha c truyn i. Khi m t qu trnh truyn d liu qua cng ni tip ,cc thanh ghi gi (holding register) thng c gi l cc b m nhn hoc b m truyn. Vic s dng cc b m nhn v truyn cng l mt c im ca vi mch 8250. c im ny cho php mt k t th hai c gi ti cng ni tip trc khi k t th nht c truyn hoc c xong xui bi b x l. Trong thi gian ch k t th nht c truyn hoc c, k t th hai nm trong b m. Sau y ta s thy r hn l : trng thi ca b m truyn v b m nhn c quy nh bi thanh ghi trng thi ng truyn, c th hn l bit 7 ca thanh ghi iu khin ng truyn LCR (Line Control Register). Khi bit ny c t bng 0 th thao tc c t a ch c s s c t b m RX v thao tc bit s vit vo b m TX. Mt th d v qu trnh ny c minh ha trn hnh sau:
Viet vao bo em TX/RX B B Bo em TX 3 3 3F8h B B Bo em RX oc t bo em TX/RX R R RD 3 3 3F8h T T TD

Hnh 4.2.c ra v ghi vo t b m TX/RX. 4.7.1.2. Thanh Ghi iu Khin ng Truyn (Line Control Register): Mt thanh ghi khc trong vi mch 8250 c gi l thanh ghi iu khin ng truyn LCR (Line Control Register). Thanh ghi ny gi cc tham s c ngi lp trnh thit lp v xc nh khun mu ca cuc trao i thng tin. Cc thng tin v cc bit d liu, s lng bit dng v kiu chn l c s dng u c ct gi trong thanh ghi ny. D liu c th c vit vo thanh ghi ny v c c ra sau y. Bit cao ca thanh ghi ny gi l bit cht truy xut h s chia. Nu bit ny c t ln 1 th gi tr thanh ghi c s c truy xut lm byte thp ca thanh ghi h s chia chn tc truyn, v gi tr thanh ghi c s +1 s

c truy xut lm byte cao ca thanh ghi h s chia chn tc truyn. Nu bit ny c xa v 0 th thanh ghi c s s thnh thanh ghi m thu pht. a ch Hex : 3FB (2FB): 7 6 5 4 3 2 1 0 Bit Ni dung Bit 0 Bit 1 00 : 5 bit data ; 01 : 6 bit data 10 : 7 bit data ; 11 : 8 bit data Bit 2 0 : 1 bit stop 1 : 1,5 hay 2 bit stop Bit 3 0 : khng kim tra parity 1 : kim tra parity Bit 4 1 : kim tra parity chn 0 : kim tra parity l Bit 5 1 : nu bit 4 = 1; 0 : nu bit 4 = 0 Bit 6 Cho php cm ng truyn ni tip 1 : ng ra b xo trng ; 0 : cm Bit 7 1 : chn h s chia; 0 : b m thu, pht 4.7.1.3. Thanh Ghi Tc Baud : Tuy gi l thanh ghi tc baud nhng trn thc t trn thanh ghi khng lu tr gi tr ca tc baud m d liu c truyn, trn hai thanh ghi 8 bit ch cha s chia 16 bit c dng suy ra tc baud. Tc t baud c t bng cc np mt s chia chim 16 bit, bng 8 bit thp hn ca s chia t trn a ch b m TX/RX v 8 bit pha trn t trn a ch k tip sau b m TX/RX. S tng gp i s cc thanh ghi l cn thit v khi bit 7 ca thanh ghi LCR (thng vit tt l DLAB) c t li v gi tr logic 0 ,hai a ch ny gn lin vi b m nhn v b m truyn. Khi bit DLAB c t vo mt gi tr logic 1 th hai a ch ny gn lin vi hai cht s chia .Cc cht s chia bao gm 16 bit hay hai byte, c sp xp thnh cc bit c gi tr thp LSB (least significant bit) v bit c gi tr cao hn MSB (most significant bit), c s dng trong vic t tc baud ca h thng truyn thng. Gi tr ct gi trn hai thanh ghi ny ph thuc vo tn s ca b cng hng thch anh c ni vi chn XTAL1 v XTAL2 (chn 16 v 17) ca vi mch 8250, c th l gi tr ny c nhn vi 16 ri c s dng chia tn s ca tn hiu ng h ca cng ni tip. ng h ca cng ni tip c tiu chun ha trong cc my tnh c nhn i u tn s 1,8432 MHz. Sau ny s dng tn s 2,4576 MHz v 3,072 MHz
Nu cn c tc baud bng 1200 baud th theo cch tnh sau y s c c gi tr s chia tng ng.

S chia = 96 S chia = 060 Hex

Bi v cc cht s chia c rng l hai byte, gi tr 060 Hex cn c chia ra gi trn hai thanh ghi LSB v MSB. Vi gi tr tc baud bng 1200 trong th d ny, 60 Hex c ct gi trong LSB (bit c gi tr nh) v gi tr 0 c ct gi trong MSB (bit c gi tr ln hn). Bng sau minh ha mt s tc baud v cc gi tr s chia tng ng di c hai dng thp phn v thp lc phn (Hex). Gi tr ny ca s chia c np vo b m TX/RX khi bit DLAB c mt gi tr logic 1 t vo.

Bng 4.5 Bng tc baud ng vi xung nhp 1,8432 MHz Tc baud mun c 50 75 110 134,5 150 300 600 1200 1800 2000 2400 3600 4800 7200 9600 S chia c dng to ra : 16xng h Thp phn 2304 1536 1047 857 768 384 192 96 64 58 48 32 24 16 12 Hex 900 600 417 359 300 180 0C0 060 040 03A 030 020 018 010 00C Sai s theo phn trm (sai khc gia mong mun v thc t ) 0,026 0,058 0,69 -

4.7.1.4. Thanh ghi trng thi ng truyn (Line Status Register): Thanh ghi trng thi ng truyn (LSR : Line Status Register) c minh ha trn hnh sau l mt thanh ghi 8 bit, cha thng tin v qu trnh truyn d liu qua cng ni tip cn cung cp cho b x l.
Loi tran Bit 0. Bit thng bo cho bit d liu nhn c (DR: Data Received). Bit 0 c t vo mt gi tr logic 1 khi d liu Loi khung truyen v sn sng c nhn b x l c. Bit 1. Mt gi tr logic 1 bit ny c ngha lchant nhn trc b Loi k le mt v n khng c c trc khi mt k t mi c nhn. K t mi 0 S6 ghi ln k t trc. Tn hieu lam dng c S5 Bit 2. Mt gi tr logic 1 bit c ngha l khien c nhn c tnh phat t S4 chn l sai. Khi thanh ghi trng thi ng dn (LSR) c c, bit ny c S3 S2 t v gi tr logic 0. S1 Bit 3. Nu k t nhn khng c mt bit dng hp l th bit 3 trong S0 thanh ghi LSR c t vo mt gi tr logic 1. at thanh 1 khi d lieu nhan c a ch Hex : 3FD (2FD) at thanh 1 khi ky t c nap vao bo em truyen .

at thanh 1 khi bo em truyen trong rong .

Hnh 4.3. Thanh ghi trng thi ng truyn. Bit 4 : c quy nh l bit gin on ngt (break interrupt bit). Bit ny c t ng t vo mt gi tr logic 1 khi d liu nhn c c gi mt mc trng trn chiu di ca mt t d liu. Bit 5: c quy nh l bit bo hiu trng thi rng ca b m truyn (THRE: Transmit Holding Register Empty). Bit ny bo hiu l cng ni tip sn sng tip nhn k t khc c truyn. Bit 6 : V tr bit ny l mt bit ch c. Khi bit ny c gi tr logic 1 th b truyn ang cn trng. Bit 7 : Khng c s dng v lun c t gi tr logic 0. truy nhp ln thanh ghi trng thi ng truyn ta lu ti mt s chc nng ca thanh ghi ny. Thanh ghi trng thi ng truyn (LSR: Line Status Register) xc nh trng thi ca b m truyn v b m nhn. Thanh ghi ny ch dng c ra, tt c cc bit c t ng ci t bng phn cng. Vai tr cc bit c minh ha trn hnh trn. Khi xut hin li trong qu trnh truyn k t th mt( hoc mt vi ) bit li c t bng 1 . Mt iu ri ro c th xy ra khi truyn d liu l mt k t mi c th c vit vo b m truyn trc khi k t trc y c gi. K t mi ny s vit ln ni dung ca k t ang c truyn. trnh tnh trng ny bit S5 c kim tra xc nh xem liu vn cn mt k t trong b nh. Nu c th n c t thnh 1, bng khng th b m truyn l trng rng .

4.7.1.5. Thanh ghi cho php ngt : Vi mch 8250 c nhiu kh nng ngt. C hai thanh ghi c s dng iu khin v xc nh cc ngun ngt. Thanh ghi u tin trong hai thanh ghi l thanh ghi cho php ngt IER (Interrupt Enable Register ) cn thanh ghi th hai l thanh ghi nhn dng ngt IIR (Interrupt Identification Register) Bit 0 .Mi ln nhn mt k t th mt ngt li c to ra .Bit ny c t li (reset) sau khi k t c b vi x l c . Bit 1 .Nu bit ny c t mt gi tr logic 1 th b m truyn (thanh ghi gi truyn) trng v mt ngt xut hin . Bit 2 : cho php c s thay i trong trng thi ng truyn b nhn theo cch7 gy ra mt ngt. 6
B B Bit 5 4 3 2 1 0 0

a ch Hex 3FC (2FC)

1= Enable Data A Available Interrupt 1= Enable Tx Holding Register E Empty Interrupt 1= Enable Receive L Line Status Interrupt 1= Enable Modem S Status Interrupt

= =0 = =0 = =0 = =0 Hnh 4.4. Thanh ghi cho php ngt. Bit 3: Cho php c s thay i trong trng thi modem ngt b x l. Cc Bit 4-7 : Cc bit ny lun c t gi tr logic 0. 4.7.1.6. Thanh ghi nhn dng ngt : Nu nh mt ngt xut hin th phn mm chng trnh phi kim tra thanh ghi xc nh xem s kin no ang gy ra ngt. Thanh ghi nhn dng ngt IIR (Interrupt Identification Register) cha ng m, nhn dng iu kin (ngt) no ang yu cu ch .

Hnh sau minh ha thanh ghi IIR. Gia cc ngt cng c mc u tin khc nhau. Tnh u tin c ngha l c mt vi ngt t ra l quan trng hn cc ngt khc.
7 6 5 4 3 2 1 0 0

a ch Hex 3FA (2FA)

B B Bit

0 0 If Interrupt Pending
I I Interrupt ID Bit (0) I I Interrupt ID Bit (1) = = =0 = = =0 = = =0 = = =0

Hnh 4.5. Thanh ghi nhn dng ngt. = = =0

Bng 4.6. Cc mc u tin ca tng ngt Thanh ghi nhn dng CC NGT V T LI CHC NNG ngt Bit Mc u iu khin t li Bit 1 Bit 0 Kiu ngt Ngun ngt 2 tin ngt 0 0 1 Khng dng Khng dng Li trn hoc li chn l hoc li c thanh ghi Trng thi 1 1 0 Cao nht khung truyn trng thi ng ng nhn hoc break truyn interrupt C d liu C d liu c thanh ghi 1 0 0 Th hai nhn nhn m b nhn c thanh ghi IR (nu l ngun B m B m truyn 0 1 0 Th ba ngt) hoc ghi truyn trng trng vo b m truyn Xa gi hoc d liu sn sng Trng thi c thanh ghi 0 0 0 Th t hoc bo chung modem trng thi modem hoc pht hin tn hiu ng nhn Bng trn y lit k cc mc u tin ca tng ngt. Ct t li ngt lit k tc ng no l cn n t li ngt c cht. 4.7.1.7. Cc thanh ghi MODEM : Hai thanh ghi cui cng trong 8250 c s dng kim sot cng nh iu khin cc tn hiu bt tay. C th hai thanh ghi l:
Bit

* Thanh ghi iu khin modem * Thanh ghi trng thi modem

Data Terminal Ready (DTR)

Thanh ghi iu khin modem l mt thanh ghi 8 bit, iu khin vic xut Request to vic xut ra tn hiu bt tay. S sp xp cc bit v ngha ca send (RTS) ra cc tn hiu bt tay c quy nh trn hnh sau.
Out 1 Out 2

a ch Hex 3FC (2FC)


7

Loop
=0 =0 =0

Hnh 4.6. Thanh ghi iu khin modem. Ngoi tn hiu DTR v RTS c m t trc y, c ba tn hiu b sung c th c s dng. Hai trong s l cc tn hiu out (ra ngoi). Trong mt s ng dng, hai li ra out c th c s dng iu khin cc chc nng bn ngoi nh: cc r le b truyn khng dy (radio) hoc modem, cc b chuyn knh hoc cc thit b tng t. Li ra th ba t thanh ghi c gi l vng. Mt mc logic 1 vit vo v tr bit ny s t 8250 vo ch vng lp ngc. Khi hot ng ch ny ng dn TxD c ni vi ng dn RxD. ng thi ng dn RTS c ni vi ng dn CTS, DTR c ni vi DSR, cn out 1 v out 2 c ni vi cc li vo RLSD v RI. Ch vng lp ngc cho php kim tra phn cng ca h thng. Nu nh thanh ghi iu khin modem cho php ngi lp trnh t cc ng dn bt tay li ra th thanh ghi trng thi modem (MSR: Modem Status Register) h tr ngi lp trnh kh nng kim tra cc ng dn bt tay li vo. Hnh sau ch ra s sp xp cc bit trn thanh ghi MSR.

Bit

7 6 5 4 3 2 1 0

a ch Hex 3FE (2FE)

Delta Clear to Send (DCTS)


Delta Data Set Ready (DDSR) Trailing Edge Ring Indicator (TERI)

Delta Rx Line Signal Detect (DRLSD)


Clear to Send (CTS) Data Set Ready (DSR) Ring Indicator (RI) Receive Line Signal Detect (RLSD)

Hnh 4.7 Thanh ghi trng thi modem. Bit 0: Mt gi tr logic 1 v tr bit ny c ngha l c s thay i theo cch xa li vo gi bi v bit ny va c c. Bit 1: Tng t nh bit 0, mt gi tr logic 1 v tr ny c ngha l c s thay i tn hiu li vo theo cch sn sng gi d liu. Bit 2: Cho php b x l bit l ng dn bo chung (ring indicator) thay i t mt gi tr logic 1 sang gi tr logic 0. Bit 3: Mt gi tr logic 1 v tr ny c ngha l c s thay i trn ng dn pht hin c tn hiu nhn, bi v thanh ghi MSR va c c. Bit 4: L phn b (complement) ca tn hiu li vo CTS, bt ngun t thit b nhn bn ngoi. Bit 5: L phn b ca li vo RTS. Bit 6: L phn b ca li vo bo hiu chung. Bit 7: l phn b ca li vo pht hin tn hiu trn ng dn nhn ca vi mch 8250.

Vic thit lp cc thng s truyn ni tip c thc hin bng cch thay i cc gi tr trong cc thanh ghi phc v truyn ni tip. 4.7.2. Cc Phng Php Truyn Thng : 4.7.2.1. n cng (Simplex Communication ):

Truyn thng mt chiu , d liu ch c th truyn i theo mt chiu t my tnh ti thit b ngoi vi m khng c chiu ngc li. 4.7.2.2. Bn song cng (Half_ duplex Communication): Thng tin c truyn theo hai bc. Bc 1 d liu c truyn t my tnh n ngoi vi. Bc 2 l bc nhn d liu t ngoi vi n my tnh. Cho php truyn hai chiu . 4.7.2.3. Song cng (Full_ duplex Communication ): Pht v thu ng thi. thc hin truyn thng tin cn c cc nghi thc iu khin : ACK (ACKnowledge ) tn hiu bo xc nhn, my thu xc nhn d liu c truyn. NAK ( Not ACKnowledge) my thu gi tn hiu khng xc nhn nu d liu sai. CRC (Cyclic Redundacy Check) kim tra d tha chu k. S dng cc thng tin tha pht hin v sa li. V d dng ba phn t cng thc hin mt chc nng , nu u ra ca mt phn t khc v u ra ca hai phn t kia th xem nh sai v phi loi b . 4.7.3. Lp trnh vi Visual Basic : T phin bn 4.0 tr i, Visual Basic c h tr cho lp trnh qua cng ni tip. c th lp trnh cho cng ny, trc ht ta phi xc lp thng s cng truyn trong window cho Vi mch UART c th hot ng. Trong ti ny cng RS-232 c set nh hnh sau:

Hnh 4.8. Cc thng s giao tip ca cng ni tip. V cui cng b sung thnh phn MSComm trong VB bng cch Chn Project => Components. VB h tr cho MSComm rt nhiu c tnh phc v cho lp trnh giao tip. Bng sau l 5 c tng c bn ca MSComm c dng trong lun vn. Bng 4.9. Cc c tnh ca iu khin MSComm :
Cac ac tnh CommPort Input(nhap vao) Output(xuat ra) PortOpen Settings Mo ta at va tra lai ch so cong truyen thong ang dung Tra lai va loai bo xau ky t khoi bo em nhan Xuat mot xau ky t ti vao bo em truyen M/ong mot cong (True/False) at va tra lai cac tham so truyen thong :toc o truyen theo bit(baurd) ,Parity ,So bit data , so bit Stop

4.7.3.1. c tnh Settings:

c tnh settings dng t v tr li cc thng s truyn thng cho cng RS-232 gm: tc baud ,tnh chn l ,s bit d liu v s cc bit dng. C php ca cu lnh l : [form.]MSComm.Settings [=paramString$] Nu paramString$ khng hp l (valid) th khi m cng ,iu khin truyn thng s pht sinh li 380 (li gi tr thuc tnh khng hp l) paramString$ l mt chui cha 4 thng s thit lp cho cng truyn thng RS-232 v c dng nh sau : BBBB ,P ,D ,S y BBBB xc nh tc baud ,P l bit ch tnh chn l ,D l s bit d liu ,v S l s cc bit dng (stop bits) .Gi tr mc nh ca paramString$ l : 9600 ,N ,8 ,1 S bit d liu hp l trong mt khung truyn l : 4 ,5 ,6 ,7 ,8 (default) S bit Stop hp l l : 1 ,1.5 ,2 Th d t thng s cho cng truyn dng trong lun vn ny l tc baud 9600 ,khng kim tra bit chn l ,8 bit d liu ,1 bit dng th lnh t l: MSComm1.Settings =4800 ,N ,8 ,1 Kiu d liu ca MSComm1.Settings l : String . 4.7.3.2. c tnh CommPort : c tnh ny dng t v tr li s cng truyn thng .C php ca cu lnh l : [form.]MSComm.CommPort [=portnumber%] Ta c th t portnumber% (Kiu d liu : Integer ) bng mt gi tr nm trong khong t 1 n 16 (gi tr mc nh l 1). Trc khi dng lnh PortOpen phi thit lp cng bng CommPort. Nu ta dng c tnh PortOpen trc khi thit lp cng bng CommPort th iu khin truyn thng pht li 68 (cng khng tn ti) 4.7.3.3. c tnh PortOpen : PortOpen dng t v tr li trng thi ca cng truyn thng (ng hoc m) .c tnh ny khng c trong thi gian thit k chng trnh .C php ca cu lnh l : [form.] MSComm.PortOpen [={True/ False}] Thng s thit lp l True m cng, cn False ng (gii phng) cng v xa ni dung cc b m nhn v truyn. MSComm t ng ng cng ni tip khi ng dng kt thc . Trc khi dng c tnh ny (portopen) ,phi t thng s cng bng c tnh CommPort vi mt gi tr hp l, nu ta qun i c tnh ny li 68 s pht sinh .

Th d sau khi t tham s t 2 lnh trn, ta dng Portopen ra lnh m cng: MSComm1.Settings = 4800 ,N ,8 ,1 MSComm1.CommPort=1 MSComm1.PortOpen=True 4.7.3.4. c tnh Input : Input dng nhn vo v xa b mt chui k t t b m nhn .c tnh ny khng sn c trong khi thit k v l ch c (Read_only) khi chy chng trnh. C php ca cu lnh l : [form.] MSComm.Input Th d di y ch ra cch c d liu t b m nhn. Reponstext = MSComm1.Input Khi Reponstext s cha xu d liu nhn c t b m nhn. 4.7.3.5. c tnh Output : c tnh Output s xut mt chui k t vo b m truyn. C php cu lnh l : [form.]MSComm.Output [=outstring$] Th d sau y cho bit cch gi cc k t m ngi dng g vo t bn phm : Private Sub Form_load (KeyAscii as Integer) MSComm1.Outport =Chr$(KeyAscii) End Sub c tnh Output c th xut d liu dng text hay dng binary . gi d liu text ,ta phi khai bo mt bin kiu Variant v cho n cha chui mun gi ,sau gn bin ny cho c tnh Output . gi d liu dng binary ,ta phi truyn mt bin Variant cha mt mng cc byte cho c tnh Output . Thng thng ,nu ta gi mt chui theo chun ANSI ti ng dng ,ta c th gi d liu dng text .Nu ta c d liu m cha cc k t iu khin c nhng (embedded) nh cc k t NULL, th ta s truyn d liu theo dng binary . Kiu d liu ca c tnh ny l :Variant 4.7.3.6. Mt c c tnh khc: Ngoi 5 c tnh trn, MSComm rt nhiu c tnh khc cn thit cho vic lp trnh c th nu s lc nh sau: c tnh InputLen quy nh s k t c c bi cu lnh Input . xc nh s cc k t trong b m ,c tnh InBufferCount c kim tra .t InputLen l 0 c ton b ni dung ca b m nhn.

c tnh InputMode quyt nh kiu d liu thu v qua c tnh Input .Nu c tnh ny c set l CommInputModeText th c tnh Input s tr v d liu kiu text vo 1 bin Variant .Nu InputMode l comInputModeBinary th Input s tr v d liu nh phn trong mt mng cc byte vo mt bin Variant . c tnh InBufferCount tr li s k t trong b m nhn .N cng c th c s dng xa b m bng cch t s ca cc k t bng 0 .c tnh ny khng c trong thi gian thit k chng trnh (design time) c tnh OutBufferSize t v tr li kch thc ca cc k t trong b m truyn. c tnh OutBufferCount tr li s k t trong b m truyn .Nh c tnh ny, ta c th xa ni dung b m truyn bng cch t gi tr ca OutBufferCount =0. c tnh CDTimeout t v tr li gi tr cc i ca thi gian (tnh bng ms) .y l khong thi gian iu khin i tn hiu pht hin c tn hiu mang (Carrier Detected) trc mt timeout (qu gi) .c tnh ny ch ra thi gian vt qu bng vic t thng s c tnh CommEvent thnh CDTO (Carrier Detect Timeout Error) v pht sinh s kin OnComm. c tnh CTSHolding xc nh xem liu c th gi d liu c hay khng bng cch kim tra trng thi ng CTS (Clear To Send) .Thng thng th tn hiu CTS c gi t MODEM ti my tnh ch rng vic truyn d liu c th c tin hnh .c tnh ny khng c sn trong thi gian thit k v l ch c khi chy chng trnh. c tnh RTSEnable xc nh xem liu c cho php ng RTS hay khng .Thng thng tn hiu RTS (Request To Send) c gi t my tnh ti MODEM yu cu s cho php truyn d liu. c tnh Sthreshold dng t v tr li s k t t nht cho php trong b m truyn trc khi iu khin MSComm t c tnh CommEvent thnh comEvSend v pht sinh s kin OnComm. t thuc tnh SThreshold bng 0 (mc nh ) lm v hiu ha vic pht sinh s kin OnComm khi pht d liu .t SThreshold bng 1 lm iu khin MSComm pht sinh s kin OnComm khi b m pht hon ton trng .Nu s k t trong b m truyn nh hn numchars% ,thuc tnh CommEvent c t thnh comEvSend v s kin OnComm c pht sinh .S kin comEvSend ch c pht sinh 1 ln ,khi m s k t t qua mc Sthreshold . c tnh Handshaking cho php xc lp v tr li giao thc bt tay (handshaking) .N c th c t thnh :Khng c handshaking ,handshaking phn cng (s dng RTS/CTS ) hoc handshaking phn mm (Xon/Xoff). Vi giao thc ny d liu c chuyn giao t phn cng ca cng ti b m nhn .Khi mt k t n cng ni tip th thit b truyn thng phi chuyn d liu n b m nhn chng trnh ta vit c th c n .Nu khng c b m nhn v chng trnh ca ta phi c trc tip tng k

t t phn cng th rt c th b mt d liu v cc k t c th c truyn n rt nhanh .Mt giao thc bt tay bo m d liu khng b mt v l do trn b m, xy ra khi m d liu truyn n cng qu nhanh thit b thng tin c th chuyn d liu vo b m nhn. c tnh CommEvent tr li hu ht s kin hoc li truyn thng gn nht. c tnh ny khng c sn trong khi thit k v l ch c khi chy chng trnh Mc d s kin OnComm c pht sinh mi khi c mt s kin hay li truyn thng xy ra ,nhng c tnh CommEvent li cha m s ca s kin hay l li truyn thng .Nh vy xc nh xem iu g xy ra th ta phi kim tra c tnh CommEvent c tnh ParityReplace t v tr li k t dng thay th k t khng hp l trong dng d liu khi li chn l xy ra. Bit chn l l bit c truyn cng vi cc bit d liu v c dng cho vic kim tra li .Khi dng bit chn l ,iu khin truyn thng s cng tt c cc bit c gi tr bng 1 v kim tra tng s cc bit xem l chn hay l (tng ng vi vic xc lp bit chn l khi m cng ) .Theo mc nh ,iu khin dng du chm hi (?) thay th cc k t khng hp l .t ParityReplace l b kh nng thay th k t khi li chn l xut hin .S kin OnComm vn c pht sinh v thuc tnh CommEvent c t thnh comEventRxParity . Hm ComInput dng tr li v xa chui k t b m nhn.C php nh sau : ComInput(ByVal hwnd As Integer ,LpData as Any ,ByVal do Data as nteger ) As Integer Hm ny tng t nh c tnh Input nhng tr li s byte nhn c . Hm ComOutput dng vit mt chui k t vo b m truyn .C php nh sau : ComOutput(ByVal hwnd As Integer ,LpData as Any ,ByVal do Data as Integer ) As Integer Hm ny tng t nh c tnh Output nhng tr li s byte k t c gi i 4.7.3.7. Hi vng cng RS-232 : Thng khi lm vic vi iu khin MSComm, ta dng phng php iu khin theo s kin .Nhng ta cng c th s dng k thut hi vng thng tin qua cng RS-232. K thut ny quy nh l s nhn c p ng bng cch kim tra lin tc s cc k t nhn c trong b m nhn (InBufferCount) .Khi c nhiu hn mt k t trong b m li vo th k t ny s c c.

Chng 5: Thit 5.1. Mng RS485:

K Phn Cng

Nh trnh by chng trc vic truyn nhn gia PC v cc kit Vi x l, gia cc Vi x l vi nhau c thc hin thng qua mng theo chun RS485. Di y xin trnh by k v l do ti sao li chn chun RS-485 cho mng trn v mt s vn cn lu khi s dng chun RS-485.

Ta dng cng ni tip (cng COM ) thc hin giao tip gia PC vi cc Kit Vi x l. Cc nh sn xut my tnh chun ho giao tip cho cng ni tip(cng COM) l chun RS-232. Vo nm 1962 Hip hi cc nh Cng Nghip in T (EIA) cho ban hnh chun RS-232 p dng cho cng ni tip. Cc ch RS c vit tt t Recommended Standard (Ttiu chun c ngh). Ghp ni qua cng ni tip theo chun RS-232 l mt trong nhng k thut c s dng rng ri nht ghp ni cc thit b ngoi vi vi my tnh gia cc my tnh vi nhau. Qua cng ni tip c ghp ni chut, modem, b bin i AD, cc thit b o lng, ghp hai my tnhS lng v chng loi cc thit b ngoi vi ghp ni qua cng ni tip ng hng u trong s cc kh nng ghp ni vi my tnh. Tuy nhin chun RS-232 ch cho php ghp ni mt-mt, do khng th p dng cho mng cn thit k. Vic chn mt chun truyn thng khc l cn thit, v s dng Chun RS-485 l chn la hp l. Mng s dng chun RS-485 rt a dng: ta c th ghp ni cc PC vi nhau, hoc gia PC vi cc Vi x l, hoc bt k thit bi truyn thng ni tip bt ng b no. Khi so snh vi Ethernet v nhng giao din truyn thng theo nhng chun khc th giao din RS-485 n gin v gi thnh thp hn nhiu. i vi mt mng Multi-network thc s gm nhiu mch pht v nhn cng ni vo mt ng dy bus chung, mi node u co th pht v nhn data th RS485 p ng cho yu cu ny. Chun RS-485 cho php 32 mch truyn v nhn cng ni vo ng dy bus (vi b lp Repeater t ng v cc b truyn nhn tr khng cao,gii hnh ny c th m rng ln n 256 node mng). Bn cnh RS-485 cn c th chu c cc xung t data v cc iu kin li trn ng truyn. Mt s u im ca RS-485: Gi thnh thp: Cc b iu khin Driver v b nhn Receiver khng t v ch yu cu cung cp ngun n +5V to ra mc in p vi sai ti thiu 1.5V ng ra vi sai.

Kh nng ni mng: RS-485 l mt giao din a im, thay v gii hn hai n v, RS485 l giao din c th cung cp cho vic kt ni c nhiu b truyn v nhn. Vi b nhn c tr khng cao kt hp vi b repeater, RS-485 c th cho kt ni ln n 256 node. Kh nng kt ni: RS-485 c th truyn xa 1200m, tc ln n 10Mbps.Nhng 2 thng s ny khng xy ra cng lc. Khi tc truyn tng th tc baud gim. V d: khi tc l 90Kbps th khong cch l 1200m, 1Mbps th khong cch l 120m, cn tc 10Mbps th khong cch l 15m. S d, RS-485 c th truyn trn mt khong cch ln l do chng s dng ng truyn cn bng. Mi mt tn hiu s truyn trn mt cp dy, vi mc in p trn mt dy l in p b (tri d ) vi in p trn dy kia. Receiver s p ng phn hiu gia cc mc in p, c minh ho hnh di:
A B V V A B G N D

Hnh 5.1 ng truyn cn bng.


V I N

Hnh 5.2 ng truyn khng cn bng.

Mt thut ng khc ca ng truyn tn hiu dng ny l vi sai tn hiu. Khi thc hin trao i thng tin tc cao, hoc qua mt khong cch ln trong mi trng thc, phng php n cc (single-ended) thng khng thch hp. Vic truyn dn d liu vi sai (hay tn hiu vi sai cn bng) cho kt qu tt hn trong phn ln trng hp. Tn hiu vi sai c th loi b nh hng do s thay i khi ni t v gim nhiu c th xut hin nh in p chung trn mng. Khi ng dy qua mi trng nhiu, nhiu tc ng ln hai dy l nh nhau. V Receiver nhn tn hiu bng cch ly chnh lch p

gia hai ng dy (vi sai), nn nhiu c t ng trit tiu. Ngc li, RS232 dng dy bt cn bng hay n cc, b nhn p ng theo s khc bit mc in p tn hiu v ng dy t dng chung (mt giao din bt cn bng c th c nhiu dy t nhng tt c u c ni li vi nhau). Do tn hiu nhn c Receiver l tn hiu t b Transmitter cng vi nhiu v st p trn ng dy, iu ny c th lm cho d liu m Receiver c c b sai lch. Mt thun li khc trn ng dy cn bng l chng trnh c (trong mt gii hnh no ) s chnh lch in th trn dy t gia b truyn v b nhn. Trong mt lin kt di, in th t gia b truyn v b nhn c th chnh lch nhau. i vi ng dy bt cn bng, iu ny c th lm b nhn c sai tn hiu vo, nhng i vi ng dy cn bng, s chnh lch ny khng nh hng g bi b nhn ch phn bit mc logic trn u vo da vo s khc bit gia hai dy tn hiu. Trn thc t cc linh kin RS-485 ch chu c s chnh lch in p gia cc t trong gii hn ch nh trong Datasheet. Mt cch khc kh hoc gim vn in p t ny l cch ly ng kt ni in th t ca b truyn v b nhn khng b nh hng ln nhau. V c kh nng chng nhiu tt nh vy nn chun RS-485 c kh nng truyn d liu trn mt khong cch xa. Chun TIA/EIA-485 gi hai ng dy vi sai l A v B. Ti b truyn tn hiu vo c mc logic TTL cao s lm cho mc p trn dy A dng hn trn dy B, v mc logic thp s lm cho in p trn dy B dng hn dy A. Ti b nhn, nu mc p trn dy A dng hn dy B th mc logic TTL s xut ra l cao, ngc li l thp. Ti b nhn RS-485, tm vi sai u vo A v B ch cn trn 0.2V (tc 200mV). Nu p ti A ln hn B 0.2V th b nhn s hiu y l mc logic 1, ngc li s hiu l mc logic 0. Nu chnh lch gia A v B nh hn 0.2V, mc logic s khng c xc nh. S khc nhau v yu cu in p ti b truyn v b nhn to ra gii hn nhiu khong 1.3V, tn hiu vi sai c th mo dng hoc c xung nhiu bng 1.3V v to b nhn vn nhn c ng mc logic. Gii hn nhiu ny tuy nh hn so vi RS-232 nhng ta nn nh rng tn hiu vi sai ca RS-485 c trit tiu phn ln nhiu t khi mi bt u.

5.1.1.Mng truyn nhn RS-485.


Mng RS-485 c thit k da trn giao thc ch t, hot ng da vo chn iu khin RTS. Chn RTS c nhim v cho mt node ca mng c php truyn hoc nhn. iu ny lm cho mng c th d dng trnh c s xung t ng truyn. 5.1.1.1.Mch chuyn i RS-232 sang RS-485.

R rng l cng Com ca PC thc hin truyn d liu theo chun RS232, do ta phi thc hin mt mch chuyn i t chun RS-232 sang chun RS-485. Mch chuyn i ny phi tho mn cc yu cu sau: p ng nhanh Hot ng tin cy n gin, gi thnh r Mch thit k c da trn hai IC cn bn l MAX 232 v SN75176B. Max 232 l IC ca hng Maxim dng chuyn i tn hiu t chun RS-232 sang TTL v ngc li. SN75176B dng (ca hng Texas Intrument ) chuyn i tn hiu t RS-485 sang TTL v cng nh t TTL sang RS-485. Ta c th thay Max 232 bng HIN 232CP, thay SN75176B bng Max 485, LTC 485 hay DS3695. S ca Max 232 nh di y:
+ C 1 C 1 0 1 1C 1 + 3 u FC 1 5 1 6 B I E N - 1 2 V D O I D E N D I E N 2A P C V + 1 + 1 2 V V - 6 C 1 0 4 0 u F 3 0 u F + 5

4C 2 + 2 0 u F5C 2 +

5R 4 1 1T 1 I N4 0 0 T T L / C M O S + 5R 3 I N P U T 1 0T 2 I N4 0 0

T 1 O U T1

R S - 2 3 2 O U T N P U T

T 2 O U T7

1 T T L / C M O S O U T P U T 9

R 1 O U T 2

R 1 I N1 R 1 5 K 0 R 2 I N8

3 R S - 2 3 2 I N P U T

R 2 O U T

5 0

R 2 5 K 0

M A X 2 3 2

Hnh 5.3 S ca IC Max 232. Khi s dng Max 232 cn lu cc c im sau: v n thc hin chuyn i gia chun RS-232 sang TTL cho nn p u vo s b i mc u ra.V d: p ra chn 14 l +12V th chn 11 (ng vo ca chn 14) p s l 0V, ngc li nu ti chn 14 p l -12V th ti chn 11 l +5V. Nguyn l hot ng ca mch: Tn hiu RS-232 t cng Com ca PC (chn 2,3,7) c a vo ng vo v ra RS-232 ca Max 232 (chn 14,8 v 13), ng ra v ng vo TTL ca Max 232 (chn 11,9 v 12) s c a vo ng vo v ra TTL ca SN75176B. Ng ra ca SN75176B (chn 6 v 7) s l tn hiu dng thc RS-485. Khi truyn d liu th a chn RTS ln mc cao, chn RE v DE ca SN75176B s mc cao. RE mc cao s cm nhn, DE tch cc mc cao, do mng trng thi truyn tn hiu. Khi nhn d liu th a chn RTS xung mc thp, chn DE mc thp s cm truyn, RE mc thp s cho php nhn. Vi hot ng ca mch chuyn i nh trn th mng ny ch truyn d liu theo kiu half-duplex. Mch chuyn i c bn nh sau:
P 1 5 9 4 8 3 7 2 6 1 C O N N V C R R 6 7 7 6 B C 9

0
T R T S 1 R E C T O C C M A X 1 R 4 1 3 5 X 8 7 U 3 R R 4 T T D C C

V 16 V 1 0 2 1 2 1 B 2 2 GND 3 2 VCC C C R 1 2 O 9 U T T X O U T 1 1 R X U T T1 I 1N 0 U T T2 I N 1 2 C C V V+ 1 1 3 1 + 6 C C C C C C 1 1 5 1 2 8 C C 1 2 T S 3 2 4 1 S N U D R D R 7 1 8 E E 7

I R N I R N

O O 9 +

GND

VCC

A B

J R R 8 3 2 1 0 C

R R

X 2

Hnh 5.4 Nguyn l mch chuyn i RS-232 sang RS-485. iu khin truyn nhn c thc hin bng chn RTS. Nh vy, khi PC cn truyn data, n s kch chn RTS sao cho chn s 3 ca SN75176B ln

15

nc cao v bt u thc hin truyn d liu. Thc hin truyn d liu xong,chn s 2 ca SN75176B s c a xung mc thp ch cc tn hiu tr v t cc Slave. Cng vic s c tip tc nh vy cho n khio kt thc qu trnh truyn nhn. Tuy nhin do tnh cht v hot ng ca Max 232 v chun RS-232, khi chn 7 ca cng Com (chn RTS ) mc cao th chn 12 ca Max 232 li mc thp, v vy mch chuyn i c ci tin nh sau:
J 1 1 2 N P 1 1 6 2 7 3 8 4 9 5 C O N N R R T X X D 1 7 1 E C T O R + C D 1 3 4 + C 2 5 C 2 GND M A X 2 3 2 V C C B C C 4 D 8 R T T C 9 1 2 + 1 2 1 T S 1 G U O N 5 V L 16 E U 3 R D L 1 V 1 2 O O + C V 6 C V 2 + + + 4 S 3 R R V 3 C C N 7 5 1 7 6 5 E C I RN I RN D C 1 O 9 O 1 1 2 U R T R T 4 U 4 1 2 3 D R R D V 2 8 A 6 R 1 B 7 R 5 5 N 0 O I T O I K I T 1 2 6 0 C C V C C D 4 D 5

C R 5

C N 7 6 0 1 2 3 1 2 3 J O 3 I T O I K I T 2

VCC

1 2

I N

VCC

1U 0

GND

TU 2 T I N U T

E E

15 R

D K D

2 R 3 5

D 1 K

Hnh 5.5 Mch thi cng chuyn i RS-232 sang RS-485. Truyn nhn ni tip theo chun UART, cc ng truyn TXD v RXD lun bit 1 (5V theo chun TTL). n khi c tn hiu c truyn th ng truyn c h xung bit 0 ( 0V theo chun TTL) bt u bit START. Chun RS-232 qui nh bit 1 l mc p thp t -3V n -12V, bit 0 l mc p cao t +3V n +12V. Chun TTL li qui nh ngc li, bit 1 l mc p cao ( ti a +5V), bit 0 l mc p thp (thp nht l 0V). Do y ta qui c mc cao l p dng +5V hay +12V, mc thp l p m -12V hay 0V. Trong thc t, vic iu khin vic truyn nhn d liu thng c thc hin bng chn RTS hoc CTS. Do chn 7(RTS )v chn 8(CTS)ca cng

Com c ni vi nhau nhm mc ch lm cho mch thm sinh ng khi s dng. Khi truyn chn RTS chn s 7 ca cng Com ln mc cao, khi nhn th RTS li xung mc thp. Trong khi mch khng thc hin truyn nhn th chn 9 (l chn thc hin vic truyn d liu dng TTL), chn 10 (l chn thc hin vic nhn d liu ) v chn 11 ca Max 232 mc cao (+5V) nn chn 14 ca Max 232 li mc thp v vy Led D4 c phn cc ngc nn khng sng. Led D5 ph thuc vo chn RTS lc , nu RTS mc cao th D5 sng, RTS mc thp th D5 tt. Khi thc hin truyn, RTS c kch ln mc cao nn chn 12 ca Max 232 xung mc thp (0V).Trong khi , chn 14 vn mang p m (do chn 11 lun mc cao), iu ny lm cho Led D4 b phn cc ngc nn khng sng. Lc ny d liu vn cha c truyn nn chn 9 vn mc cao v Led D5 sng. Khi d liu ang c truyn, chn 9 lun mc cao ti bt c bit 1 no, do Led D5 c dng ch ra rng ti node ny ca mng ang trong trng thi ang truyn d liu. Khi thc hin nhn, RTS c a xung mc thp nn chn 12 ca Max 232 ln mc cao (+5V). Trong khi , chn 9 li mc cao v chn 14 mang p m (do chn 11 lun mc cao), iu ny lm Led D4 v c Led D5 b phn cc ngc nn khng sng. Lc ny d liu vn cha c truyn n nn chn 22 lun mc cao nn c hai Led vn cha sng. Khi d liu ang c nhn, chn 11 lun mc thp ti bt c bit 0 no, lc chn 14 s mc cao (+12V). Chnh lch p gia hai u D4 (gia 12V v 5V) lm D4 sng. Do Led D4 c dng ch rng node ny ca mng trong trng thi ang nhn d liu. Nh ni trn, khi RTS (chn s 7 ca cng Com) mc cao th chn 12 ca Max 232 mc thp, do vic chuyn i chn 12 ca Max 232 thnh mc cao l cn thit thun li cho vic lp trnh iu khin. Trong mch thc hin (mch thi cng ), khi chn RTS mc cao (+12V) th D2 v D1 u dn. Lc p anode ca D1 s bng p cathode v bng Vcc=5V. Do /DE mc cao (5V). Khi RTS mc thp th D1 v D2 khng dn, trong khi D3 dn lm cho p /DE bng 0V (GND). 5.1.1.2. Mch Chuyn i RS-485 sang TTL v ngc li.
+ 5 V

8 1 2
SN75176B RS-485 TRANSCEIVER

R R E D E D A B 6 7

3 4 5

Hnh 5.6 S ca IC SN75176B. SN75176B thc hin vic chuyn i t RS-485 sang TTL v ngc li, cho nn vic chuyn i t TTL sang RS-485 v ngc li rt n gin. Nh hnh bn, chn 6 v 7 l 2 chn mang d liu theo chun RS-485. Chn 1 v 4 mang d liu theo chun TTL. Khi truyn d liu TTL t chn 4 (TXD) c chuyn i thnh dng RS-485 v truyn i chn 6 v 7. Khi nhn d liu t chn 6 v 7 c chuyn i thnh TTL v a vo chn 1. Chn 2 ) l chn iu khin vic nhn d liu. tch cc mc thp. Chn 3 (DE) l chn iu khin vic truyn d liu, DE tch cc mc cao.

5.1.2. Mng RS-485:


Mng RS-485 c thit k hot ng theo nguyn tc Master-Slave(ch -t ). Mt trm ch (Master) c trch nhim ch ng phn chia quyn truy nhp bus cho cc trm t Slave. Cc trm t (Slave) ng vai tr b ng, ch c quyn truy nhp bus v gi tn hiu i khi c yu cu. Trm ch dng phng php hi vng tun t theo chu k kim sot ton b hot ng ca c h thng.

Hnh 5.7 S giao thc Master/Slave. V hot ng din ra theo chu k nn trm ch c trch nhim ch ng yu cu ch ng yu cu d liu t trm t v sau chuyn sang trm t khc. Phng php ny c u im l vic kt ni cc trm t n gin, tn km bi gn nh ton b cng vic iu khin giao tip u tp trung ti trm

ch. Tuy nhin, phng php ny c hiu sut ng truyn thp. Mc d vy vi yu cu trao i d liu ca ti th m hnh ny l hp l.

T X D

P C

X D

R S - 2 3 s a n g R S - 4 8

2A 5B

A B

R S - 4 8 5T X D K s a n g R X D X T T L

I T 1

V L

A B

R S - 4 8 5T X D K s a n g R X D X T T L

I T 2

V L

Hnh 5.8 S khi mng. Khi mch chuyn i t RS-232 sang RS-485 v t RS-485 sang TTL c trnh by mc 5.1.1 Phn mch RS-485 c thc hin nh sau:
V V 8 C C 6 R 5 1 2 0 G N D G N D B 7 R 1 1 5 6 0 7 B C C R 1 0 5 6 0 A 6 A V 8 C C 1 E E 3 2 4

V C C

T S

V C C

X D

1 3 2 4 S N

R D R D E E

R D R

R R

X D T S

T X D

T X D

7 5 1 7 6 5

S 5

7 5 1 7 6

C V R 1 2 5 6 0 8 V C C 6 R 6 1 2 0 G N D 7 B A R D R D S 5 N E E 1 3 2 4 C C

R R

X D T S

T X D

R 1 3 5 6 0

7 5 1 7 6

Hnh 5.9 Mng giao tip RS-485 c thi cng. Mc d tn hiu c xc nh bng in p chnh lch gia hai dy dn A v B, khng c lin quan n t, h thng RS-485 vn cn mt ng dy ni chung t cho cc trm vi nhau. t ny n thun l im mass, n khng cn phi ni xung t thc s. Mt sai lm thng gp l ch dng hai dy ni hai trm. Nu ng ra A v B l thc s cn bng, dng trn dy A s i ngc vi dy B, nn trit tiu ln nhau. Nhng trong thc t, s cn bng hon ho l khng tn ti. Trong trng hp nh vy, dng tn hiu s tm cch quay ngc tr li ngun pht, bc x nhiu ra mi trng xung quanh lm nh hng n tnh tng thch in t ca h thng. Vic ni t s tao ra mt ng thot c tr khng nh ti mt v tr xc nh, nh vy gim thiu tc hi gy nhiu. Do tc truyn thng v chiu di dy dn c th khc nhau rt nhiu trong cc ng dng, mng RS-485 cn s dng tr u cui ti hai u dy R5,R6. S dng tr u cui c tc dng chng cc hiu ng ph trong truyn dn tn hiu, v d s phn x tn hiu. Tr u cui c s dng c gi tr bng tr khng c tnh ca cp truyn, thng c chn t 10 n 12. Mt sai lm thng gy tc hi nghim trng l dng ti u cui ti mi trm. V d i vi mt mng c 10 trm th tr khng to ra do cc tr u cui mc song song s l 1. Trong trng hp ny hu qu gy ra l dng qua cc tr u cui s ln p, cc tn hiu mang thng tin ti cc b thu s suy yu mnh dn n sai lch hon ton. C nhiu phng php chn u cui. Ngoi vic dng mt tr ni hai chn A v B (gi l chn song song), ta cng c th dng mt t C mc ni tip vi mt in tr (gi l chn RC). Mch RC ny cho php khc phc nhc im ca vic dng in tr ni trn. Trong lc tn hiu giai on qu , th C ngn mch v tr R s chn u cui. Khi t C ngng dn th s ngn chn dng mt chiu, do s khng c s gim ti gy ra do mch chn u cui. Tuy nhin hiu ng thng thp ca mch RC lm gii hn tc truyn ca mch.
V C C R R 5 4

A
R R

A
R R 3 5

B
R R 4 1

Hnh 5.10 Cc phng php chn u cui trong mng RS-485.

Bng 5.1 So snh cc phng php chn u cui. Phng php Tc Cht lng tn hiu Tn hao ngun Khng chn Thp Km Thp Song song Cao Tt Cao Chn RC Trung bnh Hn ch Thp ti cy Cao Tt Cao

Cc in tr phn cc nhm mc ch gi cho ng truyn lun mt trng thi khi ng truyn ri. Nh trn s , chn A c ko ln ngun v chn B c a xung mass, ng truyn lun trng thi bit 1, h thng c th nhn dng bit START mt cch chnh xc.

5.2.Mng vi x l:
Vic ghp ni cc Vi x l vi nhau nhm mc ch thc hin cng vic m mt vi x l khng th gnh vc ht ni. Ta gi h thng ny l mng Vi x l hay truyn thng a x l. Mng vi x l bao gm mt Master v cc Slave v hot ng theo phng php Master/Slave. Nh vy Master s thc hin cng vic qun l hot ng ca ton b phn mng ny. Master s truyn a ch v cc yu cu cho Slave th nht v ch Slave a thng tin tr v, sau tip tc thc hin truyn a ch cho cc Slave tip theo. Nh vy, iu cn thit l cc Slave phi bit khi no l d liu c dnh cho n. Ni chnh xc hn, ta phi xc nh phng php nh a ch cho mng. Ta phn tch kh nng thc hin chng trnh iu khin cho mng ny: Mt phng php nh a ch l trong mt byte truyn th c bn bit d liu v bn bit cho vic nh a ch. y qa l mt phng php rt hiu qu trong vic truyn nhn d liu v phng php ny c th c dng trong c trng hp c s dng ngt hay khng s dng ngt Serial Port. Tuy nhin s byte d liu truyn i s tng gp i v tt c cc Slave u phi x l nhn d liu cho tt c cc byte c truyn t Master. iu ny lm gim hiu sut ng truyn rt nhiu. Tu theo s lng Slave hay loi d liu cn truyn m s lng bit a ch c th thay i (dng t hay nhiu bit), s lng cc byte cn truyn c th tng hoc khng (v d : vi loi d liu c gi tr t 0 -127 v 2 Slave ta ch cn 1 bit xc nh a ch v nh vy khng tng thm byte no khi truyn i c). im c bit ca phng php ny l truyn nhn c s lng byte khng gii hn gia Slave v Master m khng cn mt khung truyn no. Phng php khc l gi thit ta khng dng ngt thc hin qu trnh truyn nhn, nh vy cc Slave s thc hin vic ch d liu

n r Master. iu ny c th lm gii hn kh nng hot ng ca h thng, v cc Slave phi trng thi treo ch tn hiu t Master nn s khng th thc hin lin tc cng vic ca n. Tuy nhin iu ny c th b qua nu mng c t Slave v do tc hi vng nhanh cc Slave c th thc hin cng vic ca mnh mt cch lin tc. Ngoi ra, phng php ny cn bt buc phi c khung truyn xc nh (byte a ch v byte kt thc khi d liu). Vn chnh yu ca phng php ny l Slave phi phn bit c byte a ch cng nh byte kt thc vi byte d liu. Byte u tin s l byte a ch, cc Slave s so snh a ch v s thc hin x l cc hot ng lin quan n cc lnh (hoc thng tin ) cha trong byte d liu nu a ch l ng, v s khng lm g c v chuyn v trng thi ch khi nhn a ch sai. phng php ny, cc Slave cng phi x l truyn nhn cho tt c cc byte c truyn t Master, ngoi ra chng trnh thc hin tng ny kh phc tp. Phng php n l dng ngt trong truyn thng, hon ton khng c s khc bit g vi vic khng dng ngt, ngoi tr vic cc Slave c th thc hin cng vic ca n mt cch c lp v do s lng cc Slave c tng ln n mc c th. Vic truyn nhn cng c thc hin theo mt khung truyn xc nh. Sau khi nhn c ng byte a ch, Slave phi cm ngt cho Port ni tip v thc hin nhn cc byte d liu tip theo cho n khi kt thc khi d liu. Nh vy, cc Slave cng thc hin vic x l truyn nhn cho tng byte t Master. Nh phn tch trn, cc phng php trn u mc phi mt trong hai hoc c hai nhc im di y: D liu phi phn bit c vi byte a ch v byte kt thc. iu ny lm cho d liu phi b i t nht hai gi tr no (c trng cho byte a ch v byte kt thc) lm gii hn gi tr ca d liu. Cc Slave bt buc phi x l cho tng byte ca Master, lm lng ph thi gian ca cc Slave hay ni ng hn l cc Slave phi thc hin nhng cng vic khng cn thit v lm nh hng n hiu sut cng vic. Vi s cn thit phi c mt phng php truyn thng c hiu qu trong truyn thng a x l, nh sn xut thit k cc ch hot ng 2 v 3(mode 2 v mode 3) cho cng ni tip ca vi x l nhm thc hin yu cu truyn thng a x l. Trong cc ch ny, 9 bit d liu c truyn i v bit th 9 c t vo RB8 sau khi nhn. Port ni tip c th c lp trnh khi nhn c bit STOP, ngt cng ni tip c tc ng ch nu bit 9 l bit 1. c tnh ny c cho php bng cch t bit SM2 ca thanh ghi SCON ln 1.ng dng ca vic ny trong mi trng ni mng dng nhiu AT89C51 theo giao thc Master/Slave nh hnh sau. Khi vi x l ch mun truyn i mt khi d liu n mt trong cc vi x l t, trc ht n gi i mt byte a ch xc nh Slave cn gi. Byte a ch

khc vi byte d liu bit th 9, nu bit th 9 l bit 1 th n l byte a ch, nu l bit 0 th l byte d liu. Tuy nhin byte a ch s ngt tt c cc b x l t, mi b x l t c th kim tra byte nhn c phi l byte a ch ca n khng. B x l t c ng a ch s xo bit SM2 ca n v chun b thu cc byte d liu theo sau. Cc vi x l khng ng a ch th gi nguyn bit SM2 v thc hin cng vic ring ca chng v b qua cc byte d liu tip theo. SM2 khng nh hng trong ch 0 v trong ch 1, c th s dng n kim tra s hp l ca bit STOP. Khi nhn ch 1, nu bit SM2 l 1, th ngt thu s khng c tc ng tr khi nhn c bit STOP hp l.
V C C

C R

H U S - 4

A 6 N 8 5 7

A B G N D

V C C

D R

R D

1 3 E 2 E 4 7 5 1 7 6 V 6 7 8 C C 1 3 E 2 E 4 N 7 5 1 7 6

P P R R

3 . 0 / R T S T S

X D

3 . 1 / T X D - 4 8 5 - V X L

A B G N D

V C C 5

D R

R D S

V 8 V C C 6 7 A B G N D R D

C 1 3 E 2 E 4

P P R

3 . 0 / R T S - V

X D X L

D R

3 . 1 / T X D

S L

C R

H U A N S - 4 8 5
6 7

S V 8 C C

7 5 1 7 6

A B G N D

V C C

D R

R D N C

1 3 E 2 E 4 7 5 1 7 6

P P R

3 . 0 / R T S - V

X D

S 3 . 1 / T X D
X L

S V 8 C

V C C

6 7

A B G N D

D R

R D N

1 3 E 2 E 4 7 5 1 7 6

P P R

3 . 0 / R T S - V

X D X L

3 . 1 / T X D

S L

Hnh 5.11 Mng vi x l. M hnh tng qut mng vi x l c thit k trong ti nh s trn. Nh vy, cc thnh vin trong mng c th khong cch kh xa nhau v d liu c truyn gia cc thnh vin trong mng l theo chun RS-485. Mt khc, s lng cc thnh vin trong mng cng tng ln, v khi s lng cc thnh vin c gii hn bi chun RS-485 (tc c th c 32 thnh vin).

Nu khong cch gia cc Slave khng xa v s lng cc Slave khng nhiu th vic truyn d liu gia cc thnh vin trong mng c th c thc hin thng qua chun TTL nh s di y:
V C C

C R

H U S - 4

A N 8 5

VC C

6 7

A B G N D

D R

R D

1 3 E 2 E 4 N 7 5 1 7 6

P P R

3 . 0 / R T S

X D

3 . 1 / T X D - 4 8 5

P P

3 . 0 / R

3 . 1 / T X D

X D

P P

3 . 0 / R

3 . 1 / T X D

X D

P P

3 . 0 / R

X D

3 . 1 / TS X L D

Hnh 5.12 Mng vi x l tnh lc. Nhng t s mng tnh lc ta thy rng cc Slave cng nhn c cc byte t PC truyn v cho Master. PC truyn v Master theo chun UART 8 bit, nhng cc Slave li chun UART 9 bit. Nh vy iu g xy ra vi cc Slave khi PC giao tip vi Master.

Hnh 5.13 Gin bit UART 8bit 9bit. Da trn gin bit ta thy rng ngt cng ni tip ca cc Slave s tc ng khi bt k mt byte no ca PC c truyn i. Sau khi truyn xong 8 bit data, bit STOP a tn hiu ln mc cao. Do xy ra trng hp ng truyn vn bit cao sau bit STOP (giao thc UART 8 bit), iu ny lm cho cc vi x l Slave hiu rng bit 9 l 1 v n vn nhn c mt bit STOP hp l v th l n thc hin ngay trnh phc v ngt cho cng ni tip. Cng ging

nh vy khi Master thc hin truyn d liu v PC, sau bit STOP l bit START cho nn cc vi x l Slave s khng nhn c 1 bit STOP hp l cho n byte cui cng m Master truyn v cho PC. Lc ny, ng truyn c th lun mc cao sau bit STOP, v cc vi x l Slave c th thc hin ngt ni tip. Do mng c th hot ng sai.

5.2.1. Thit k Slave Bn Phm (Slave 1).


Slave bn phm (Slave 1) c nhim v ch yu l qut phm nhp tr v m phm cho Master. giao tip vi bn phm v gii m phm ta c nhiu cch, cch tt nht c th l dng cc IC gii m phm nhp. y do khng i hi cao cho nn ch dng Port1 ca vi iu khin AT89C51 giao tip vi bn phm s HEX, dng phn mm gii m phm nhp. Bn phm c 16 phm c sp xp thnh 4 hng v 4 ct. Cc ng hng c ni vi cc chn Port t P1.4 n P1.7 v cc ng ct c ni vi cc chn t P1.0 n P1.3.

V 2 2 2 2 2 2 2 2 U 1 2P 3P 4P 5P 6P 7P 8P P 0 1 2 3 4 5 6 7 P P P P P P P P 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 L S 4 40

C 3 3 3 30 31 32 33 34 5 9 8A 7A 6A 5A 4A 3A 2A A 0 1 20 31 4 5 6 7

R X D T X D R T S

. . . . . . . . . . . . . . . . E

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

P P P P P P P P

/ / / / / / / / / / / / / / / / / PX N X E C

A 0 A 0 A 0 A 0 A 0 A 0 A 0 A 0 RP TP IP IP TP TP WP RP

.8 .9 .1 .1 .1 .1 .1 .1

0 1 2 3 4 5 6 7

/ / / / / / / /

D D D D D D D D

0 1 2 3 4 5 6 7

VCC

1 1 1 1 1 1 1 1 3 2

1 1X 2 D . X 1 D3 . N 1 T4 . N 1 T5 . 0 1 6. 1 1 7. 1 R 8. 1D .

0 9A P

E GND

1 9 TR A 1O L 8 G 1 T A L 2 R A 5 3 1 / 9V P S T 1 P C D E F

HEX Keypad

9 20

Hnh 5.14 S giao tip Slave vi bn phm. Bn phm HEX Keypad c thit k bng cc cng tc nhn ( cng tc lun lun h trng thi bnh thng). Khi nhn mt phm trn bn phm th

cng tc s ng li lc hai ng chn Port ni ti cng tc s giao nhau to ra mc logic ging nhau v bng phng php qut cc chn Port ta s pht hin ra phm c n.

5.2.2. Slave o V Hin Th Nhit (Slave 2).


Slave ny s m nhn vic o v hin th ra led 7 on nhit ca mi trng v truyn nhn nhit t Master. S khi giao tip ngoi vi nh sau:

Hnh 5.15 S khi o v hin th nhit . Ngoi vi bao gm hai khi chnh l khi o nhit v khi hin th nhit 5.2.2.1. Khi o nhit . Khi o nhit gm mch cm bin nhit v mt b chuyn i ADC giao tip vi vi iu khin thng qua Port 0. 5.2.2.1.1 Mch cm bin nhit . Mch ny dng o nhit ca phng, v kt hp vi b cm bin chy bo ng chy khi c chy xy ra hay l nhit xung quanh phng tng ln qu cao. C nhiu phng php thit k mch o nhit . Ta c th dng cm bin nhit bn dn hay l cp nhit, hoc ta cng c th dng IC cm bin nhit. Di y l s thc hin mch o nhit thng dng dng c cp nhit kt hp vi cm bin nhit.

R 1

0 T L 7 5

0 K 2 3 + C 1 1 6

U O 6 4 1 + 7 1 + 4 5 1 + 4 5 + 1 2 V U 3 T L 6 0 2 V U 3 2 T L 6 7 1 3 0 8

1 8 2 C

K 4 R 8+ 1 2 V U 7 5 4 L 6 + M 7 4 1 1 2 C O N 2 J 6 0 K

0 U

V R R 7

2 8 2 C 2 3 R 1 0 1 K 2

U 2 3 L 1

1 1 +

3 15 0 K

7 +

Hnh 5.16 Mch o nhit thng dng. U1,U2,U3 (dng OPAMP cho offset thp) ng vai tr mt b m in p l tng: c tr khng vo rt ln v tr khng ra rt nh, khng cc u vo nh hng ln nhau. in p ra trn cp nhit in (Thermocuople) : V3 = S(Td -Ta) = S.Td S. Ta Vi Td: nhit cn o Ta: l nhit mi trng S l nhy ca cp nhit in V/0C) Nh vy l gi tr in p ra trn cp nhit in ngoi vic cha thng tin ca nhit cn o cn b nh hng bi nhit mi trng. loi tr nh hng trn, ta cn phi c mt khi to ra in p theo nhit ca mi trng. V ta c th dng IC cm bin LM335. IC LM335 l loi cm bin nhit bn dn, c nhy l K=10mV/0K. Ap to ra do LM335 cm bin c l: V2 = K Ta [0K]= K(273+ Ta) [0C] = K.273 + K. Ta = 2.73V+ K. Ta [0C]

4 1

C th trit tiu nh hng ca Ta, nhng li to ra mt mc in p l 2.73V 00C nn cn phi c mt khi tr i 2.73V nhm to in p u ra l 0V 00C. Bin tr R1 chnh l thnh phn b tr in p 2.73V nh ni trn. U4 ng vai tr b cng c khuch i v a ra in p c iu ch vo IC ADC bin tn hiu tng t thnh s, a vo vi x l x l. Mc ch ca mch o nhit c thit k y l o nhit phng hin th v bo chy. Ta nhn thy rng ta ang cn o nhit mi trng, do mch b nhit ca mi trng l khng cn thit. Cho nn vic o nhit y ta ch cn dng IC cm bin nhit LM335 l . S c tinh gin v sa i nh sau v y cng l s ca mch cm bin v gia cng nhit c thi cng trong ti ny.
+ 5 V + 1 2 V

R 1

1 0 K 2 3 + C 1 1 0 6 U 4 1 T 7 5

U L 6 O + 7 1 + 4 5 7 + 1 2 V U T L 6 0 3 2

1 8 2 C

3 1

K 4 R 6+ 1 2 V U 4 L 6 + M 7 4 1 1 2 J 6 0 K

5 R

V 7 R

2 8 2 C 2 3 R 1 0 4 K R 4 5 0 K

U 2 3 L 1 M

2 +

4 1

7 5

31 50

K C

g A o

v D C

n a o

Hnh 5.17 Mch cm bin nhit mi trng dng IC LM335. Cc linh kin U1,U2 ng vai tr b m p. Ap ti chn s 6 ca U2 chnh l p ra ca LM335. Bin tr R1 c chnh to ra mt mc p 2.73V cho ng ra Vout l 0V khi nhit l 0oC. U3 v cc bin tr R3,R4,R5,R6 va ng vai tr l b tr in p va l b khuch i. Khi ny to thnh b tr in p gia p a ra t IC cm bin nhit LM335 vi 2.73V (c a ra t bin tr R1). IC LM335 hot ng tt nhit ti a ti 150oC, trong khi d liu c biu din bng mt s 8 bit tc l 256 gi tr, do ta c th thit k mch vi phn gii bng 0.5oC.

Ap ra chn s 6 ca U4 tng mi khi nhit tng mi 0.5oC. Ap cc i chn 6 s l 5V, do , tm nhit cc i mch ny c th o c chnh xc l. Ap vi sai gia chn 2 v 3 ca U4 0V 0oC. Tng ng vi nhit tng ln mi mt C th p vi sai ny s tng ln mi 10mV. B khuch i s c thit k sao cho p chn s 6 ca U4 s l 5V khi nhit l 127.5 oC hay p vi sai gia chn 2 v 3 bng 127.5x10(mV) =1.275V. Do li ca b khuch i bng. c li ny cc bin tr R3,R4,R5,R6 phi tha mn in kin sau. 5.2.2.1.2. Mch chuyn i ADC Ap ra ca khi cm bin nhit s c chuyn i sang tn hiu s a vo vi iu khin x l bng b chuyn i ADC (Analog - Digital Convert). B chuyn i ADC y dng IC ADC0804. u im ca ADC0804 l khng t tin, bin i in p tng t thnh tn hiu s 8-bit trong khong thi gian 10s. Nhc im l khng c nhiu knh nh ADC0809 nhng trong ti ny th dng n l hp l v n gin. ADC0804 c iu khin bi mt ng vo ghi v mt ng ra ngt INTR . Viec bien oi c bat au bang cach cho WR xuong mc thap. Khoang 10s sau th vic bin i s hon tt, ADC0804 xc lp xung mc thp. INTR khng c xc lp ( mc cao) khi c chuyn trng thi t 1 n 0 k ca, bt u ln bin i ADC k. v ni vi AT89C51 trn cc ng P1.0 v P1.1. mch thit k ta dng P0 giao tip vi vi iu khin. ADC0804 hot ng nh vo mt ngun xung clock bn ngoi c to ra bng mch RC c ni gia chn 19 v 4.in p ng vo tng t l tn hiu sai bit t trn cc ng vo Vin(+) v Vin(-) trn cc chn 6 v 7. Ap ra t mch cm bin nhit c a vo hai chn ny. S mch thit k xem hnh sau:

4 + 5 U 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 3 2 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 P P P P P P P P P P P P P P P P 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 0 . . . . . . . . . . . . . . . . 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 V 40

. 7

K + 5 V U 1 9 1 2 7 - I N 1 9 L K R R 6 1 C 9 V R E AG N D F G N D / 2 L K 4 I N C R C 2 D 1 S 4 1 5 0 p 0 k C B B B B B B B B 0 1 2 3 4 5 6 7 R T R 20 0 8 0 _ 2 6 + I N 4

2 3 4 5 6 7 8 9

/ / / / / / / / / / / / / / / /

AP AP AP AP AP AP AP AP R T I I T T W R

80 90 10 10 10 10 10 10

. . 0. 1. 2. 3. 4. 5.

0 1 2 3 4 5 6 7 1 1 01 11 1 1 1 1

/ / / / / / / / . . . . . . . .

3 A3 A3 A3 A3 A3 A3 A3 A 1 0 2 1 3 2 4 3 5 4 6 5 7 6 8 7

9 D 8 D 7 D 6 D 5 D 4 D 3 D 2 D

0 1 2 3 4 5 6 7

1 1 1 1 1 1 1 1 3 5

8 7 6 5 4 3 2 1

A D D D D D D D D

V C C /V R E F

VC C

p r a b i e n

t c a m n h i e t

X PD X P D N P T N P T 0 P 1 P RP DP

W I N

0 9 A P

L E / P S E N G N D

1 9 R X OT A G L 1 1 8 X T A L+25 v 3 1 E A / V 9P P R S T 5 1

T 8

20

Hnh 5.18 Mch chuyn i ADC. 5.2.2.2. Khi hin th nhit . Hin th nhit l cn thit v khi chng ta s quan st c kt qu o c c ci nhn trc quan hn. hin th nhit c nhiu cch nh dng mn hnh tinh th lng LCD, ma trn Led, hoc Led 7 on. Trong phm vi ti ny ta chn phng php dng Led 7 on hin th v dng k thut qut Led bng phn mm. Khi hin th nhit bao gm mt IC gii m BCD sang m Led 7 on v mch phn cc cho Led 7 on. IC gii m dng IC 74247 gii m t BCD sang Led 7 on tch cc mc thp. Cho nn led 7 on dng trong mch hin th l loi Anode chung. Khi hin th giao tip vi vi iu khin thng qua Port 2, cc chn vo BCD ca IC74247 (D0,D1,D2,D3) c ni vi cc chn (P2.0,P2.1,P2.2,P2.3) v cc chn Port cn li nh P2.4,P2.5,P2.6 c dng chn Led. Trong mch phn cc Led ta dng ba Led 7 on hin th nhit t hng chc n hng n v v hng thp phn. Khi tn hiu c xut ra Port 2 th IC 74247 s chuyn i m BCD sang m Led 7 on tch cc mc thp phn cc cho cc Led v ng thi Port 2 cng s chn Led hin th, bt u l led hng chc k n hng n v cui cng l hng thp phn, do dng k thut qut led nn quan st c th tn s qut led phi ln hn 40Khz tc l chu k qut phi nm trong khong 25ms.

10

R R P 2 1 . 4 K U 0 1 2 3 A B C D E F G B 7 O 1 3 R R 1 2 R R 1 R1 R 1 0 R R 9 R R 1 5 R 1 4 R R 3 3 A 4 A 5 A 6 A 7 A1 1 A 9 2 A 0 0 1 1 1 1 0 1 2 3 84 5 6 A A A A A A A 0 1 2 3 4 5 6 7 6 4 2 1 9 A B C D E 0F G 7 S 3 8 3 D E A 4 P 8 3 5 2 1 1

2 0 Q A

2 K 3 P 1 0 R 2 3 2 . 5 1 1 5 K U A A A A A A A 0 7 1 6 2 4 3 2 4 1 5 9 61 0 7 ] A B C D E F G S 1 8 3 D

R 1

2 0

4 K Q A 2 1 0 1 P R 2 5 2 . 6 5 1 U 0 7 1 6 2 4 3 2 4 1 5 9 61 0 7 K 2 A B C D E F G S 8 3 D E A 1 1

R 0

2 K Q 1 0 1

4 5

+ U P P P P + 5 2 2 2 2 V . . . . 07 11 22 36 3 5 4 7

V 16 7

5 8 3 5 R 3 G - C A

D D D D L R B 4

P E

A A A A A A 2 A7 3 0

8 3 5 P G - C A

VCC B I I / R 2

GND

G [ 0

- C . . 6

Hnh 5.19 S mch hin th nhit .


Tnh ton mch phn cc cho Led:
+ 5 V

R R P 2 . 4 1 K A 2 1

2 2 1 0 K Q 3

1 0 1 5

i 7 6 4 2 1 9 1 0

U A B C D E F G 7 S

3 8 3 D E G P 8 3 5

- C

Hnh 5.20 Mch phn cc cho Led 7 on Trong mch Transistor ng vai tr nh mt cng tc ng m cc Led v c iu khin bi chn Port 2. Cc Transistor lm vic vi tn s ln hn 25(3 (3 Led) ln trong giy thy c Led lin tc sng. cho Led c sng th dng qua n khong 10mA. Do , 7 on sng th dng qua Transistor phi l 80mA
I E max = I C max = 8 10mA = 80mA

V vy ta c th chn Transistor ny l A564 hoc A1015. Trong mch ta chn A1015 c h s khuch i ( ch ng ngt khong 40 n 200 ln. Do , dng IBmax khong:
I B max = I C max 80 = = 1mA 80

Tnh ton Ri: khi Transistor dn bo ha ta c Vce =0,2v v Led sng th i hi in p ri trn Led l 2,5v. VRi = 5V (0.2 + 2.5) = 2,3V Do : Ri = VRi / Iled = 2,3 / 10 = 230 gip cho Transistor mau bo ha ta chn gi tr Ri ln hn tnh ton. Vy chn Ri=33. Tnh ton R21, R22: khi Transistor dn bo ho. Ta c:
R 21 5V x R 21 + R 22 + I B x R21// R22 = 5V

Do : R21 = 5V/ IB = 5/ 1mA= 5k Ta chn R21 = 1 v R22 = 10

5.2.3. Slave Cm Bin Chy, Bo ng V ng Rle M Ca (Slave 3).


Slave ny m nhn cc cng vic sau: ng Role khi c lnh m ca t PC truyn xung. c trng thi ca cm bin khi truyn v cho Master v PC. Kch mch bo ng pht m thanh bo ng. S khi ca Slave hnh sau:

Hnh 5.21 S khi giao tip ngoi vi ca Slave 3

5.2.3.1 Khi m ca.


Khi m ca gm mch kch ng m v mt Rle. Khi c kch Rle s ng v nh th s ni ngun cho mt ng c hot ng m ca. V ng c cng knh v cha c iu kin m ca thc s. Nn trong ti ny din t hot ng ca mch chng ta s dng n led m phng. S thit k:
+ 1 2 V R 3 D D 3 I O D E 1 2 4 1 2 V D L 9 E D O 5 L E

1 . 0

K Q D 1 4 6 8

R 3 1 K

Hnh 5.22 S mch thit k khi m ca. Ta dng chn P1.0 iu khin Rle. Khi mun m ca, ta ng Rle bng cch Set chn Port P1.0 ln mc 1. Khi Transistor Q1 s dn, Rle c cp ngun nn ng. Khi Rle ng th pha bn mch Led s c ni vi ngun nn Led sng ln. Khi ca m thi gian ngi vo nh th ta xo chn Port P1.0 tt ng c, trong mch l Led s tt. Transistor ta

chn D468, nn mc thm mt Diode song song vi Rle ngn chn Transistor b h khi nng lng cun Rle x ra khi transistor tt. 5.2.3.2. Khi cm bin chy. Khi mt m chy xy ra, nhng vng chy thng c nhng du hiu sau: La, khi, vt liu ch chy b ph hy. Nhit vng chy tng ln cao. Khng kh b Oxy ha mnh. C mi chy, mi kht. phng chy chng ta c th da vo nhng du hiu trn t cc h thng cm bin lm cc thit b bo chy. Kp thi khng ch m chy giai on u. Thit b bo chy in t gip chng ta lin tc theo di hn ch cc v chy tai hi, tng cng an ton, bnh yn cho mi ngi. C nhiu cch xc nh chy. y ta dng cm bin khi. Thng cm bin khi l b phn ring bit chy bng PIN c thit k lp t trn trn nh, trn tng. Ngoi yu cu k thut (chnh xc, an ton) cn i hi phi m bo v mt thm m. C hai cch c bn thit k b cm bin khi. Cch th nht s dng nguyn tc Ion ha. Ngi ta s dng mt lng nh cht phng x Ion ha trong b cm bin. Khng kh b Ion ha s dn in v to thnh mt dng in chy gia chy gia hai cc c np in. Khi cc phn t khi lt vo khu vc cm nhn c Ion ha s lm tng in tr trong bung cm nhn v lm gim lung in gia hai cc. Khi lung in gim xung ti mt gi tr no th b cm bin s pht hin v pht tn hiu bo ng. Cch th hai s dng cc linh kin thu pht quang. Ngi ta dng linh kin pht quang (Led, Led hng ngoi) chiu mt tia nh sng qua vng bo v vo mt linh kin thu quang (photo diode, photo transistor, quang tr). Khi c chy, khi i ngang qua vng bo v s che chn hoc lm gim cng nh sng chiu vo linh kin thu. Khi cng gim xung ti mt gi tr no th b cm bin s pht hin v pht tn hiu bo ng. Trong hai cch ny th phng php th nht nhy hn v hiu qu hn phng php th hai, nhng kh thc thi, kh lp t. Cn cch th hai tuy t nhy hn nhng linh kin d kim v d thc thi cng nh d lp t. Mt nhc im ca cc loi cm bin ny l: mch bo ng c th sai nu vng bo v b xm nhp bi cc lp bi

+ 5 V + 5 v R + 5 V R 3 8 0 V D 2 3 v 1 R 4 L 1 r ? D 4 Q T R O 4 1 R 8 2 0 K 2 E D 3 7 5 U 2 2

6 T L 0 8 6 C

1 . 1

0 k

Hnh 5.23 S mch cm bin khi. B cm bin khi c nhim v bin i tn hu khi thnh tn hiu in, trong phn thit k ny ta dng quang tr. Nh ta bit hot ng ca quang tr l: khi c nh sng chiu vo n tr ca n gim i ng k so vi khi khng c chiu sng. tng dng quang tr ly tn hiu khi ny l bnh thng quang tr c chiu sng bi nh sng pht ra t Led. Khi c chy nng khi tng ln lm cng sng gim i lm cho in tr ca quang tr tng ln. Chn LED c dng 20mA v pht sng c cng 10 lux v quang tr l LDR03 c c tuyn lm vic nh hnh v.

1 100K 1 10K 1 1K l lux 1 10 1 100 1 1000 Cng o

Hnh 5.24 c tuyn ca quang tr LDR03. Ta c: Chn R1 =15

Di cng sng ca LED l 10lux th gi tr in tr ca quang tr l 20K.


V = 5 20 K 20 K + R 2

Chn V- =1v lc cha c chy. Vy R2 =100K 20K =80K Khi c khi 20% lc sng gim cn 10lux ( 20% bng 2lux v gi tr quang tr tng ln 100 K.
V = 5 100 K = 2,78V 100 K + 80 K

Ta chn gi tr in p chun so snh ti ng cng ca opamp l 2,5V. Tc khi khi t 20% th cm bin cho tn hiu bo ng. Chn DZ2 l zener 3V c dng Imax=25 mA
R3 =
Chn R3 = 10 ChnVR4 =10K

53 = 80 25 10 3

5.2.3.3. Khi bo ng.


Khi mt m chy xy ra, ngoi vic bo ng bng ting ni c chy, c chy c lu tr trong IC chuyn dng, ta cn bo ng bng ci h hay chung in nhm tp trung s ch ca mi ngi. Trong mch ny ta s dng IC LM555 to m thanh pht ra c cc m sc khc nhau. Ting ci h ny to m thanh nghe rt kch thch v thng c nhiu ngi s dng lm tn hiu cnh bo. IC LM555 th 2 to thnh mch dao ng m cao, chn tn s ra ca LOA l 1KHz. Ta c: Chn t C2 = 0,01(F R3 = 56k R2 = 4,7k VR2 = 20k Tn s ra LOA ta c th thay i nh bin tr VR2. IC LM555 th 1 cng lp thnh mch dao ng c tn s nh c xc nh bi cng thc:

f =

1 0,693( R1 + VR1 ) C1

Chn C1 = 220(F R1 = 1k VR1 = 20k Tn s ny c th thay i nh bin tr VR1. Xung ly ra trn t C1 c dng sng rng ca, chng ta cho tn hiu ny tc ng vo chn 5 ca IC LM555 th 2, iu ny lm iu ch tn s ln tn hiu ra loa lm cho m thanh ra c nhiu dng m sc khc nhau.
+ 2 V + U 5 8 8 VCC 5 V 0 R 5 K 1 V 2 R 0 K 2 + 5 V V + 5 V

R 1 1 K

R 2 4 . 7 7

KU

3 8 VCC 3 S +C 2 P 3L S 2 0 E A 2 u f K E R

1 . 2

C R O

V S U

D C T T U H R

S V

OH

UG

4 3

TD T T T

S H R L

7 6 2R G

5 H G R 2 5 5 5C 2 1 0 +

6 3 U

5 6 2 2 . 0 1

GND

C 0

GND

RST

R G

F 4 1

Hnh 5.25 Mch bo ng.

Chng 6: Gii

Thut Chng Trnh

Mt cch tng qut hot ng ca mng c m t nh sau: PC truyn lnh cho vi x l v cc vi x l s thc hin cc thng tin m PC yu cu v sau truyn d liu v cho PC. Master ca cc mng (kit) vi x l c nh a ch ln lt l 0,1,2..127 c qui nh bi 7 bit cui trong byte a ch. y ta ch dng hai kit (mng) vi x l nn ta nh a ch cho Master ca kit mt l 1 v Master ca kit hai l 2.

Sau khi nhn ng a ch do PC truyn n, Master thc hin nhn tip cc byte d liu theo sau, ct chng vo trong vng nh RAM. Sau thc hin giao tip vi cc Slave trong mng vi x l, truyn cho chng d liu cn thit v cng nhn cc byte d liu t chng, ct vo vng nh RAM c qui nh trc. Sau Master s truyn d liu thu thp t cc Slave v PC x l. Cc Slave ca mng vi x l kim tra v x l cc ngoi vi mt cch lin tc. Cc Slave ch b ngt khi nhn c a ch ng t Master tng ng v sau thc hin vic nhn d liu t Master v truyn d liu v cho Master. Cc Slave cng c nh a ch ln lc l 0,1255 c xc nh bi 8bit trong byte a ch truyn v t Master tng ng.

6.1. Gii Thut Chng Trnh Ca My Tnh PC


Chng trnh c hai la chn l t ng cp nht d liu theo thi gian v iu khin bng tay do con ngi thc hin. chng trnh t ng cp nht th my tnh s t cp nht d liu, x l d liu v truyn cc lnh cho cc mng con sau mt khong thi gian nh trc. chng trnh iu khin bng tay th chng ta c th ra lnh bt k cho cc mng con nh bo ng, m ca, hin th nhit bt k no , ng thi cng nhn c d liu t chng truyn v.

6.1.2. Chng Trnh Ch T ng Cp Nht.


Khi bt u, my tnh PC s set chn RTS ca cng Com ln mc 1 truyn mt byte a ch cha a ch l 1 xung cho mng vi x l con th nht cho mng con th nht bit PC ang yu cu giao tip vi n v Master 1sn sng nhn d liu tip theo. Sau PC truyn lin tip 4 byte d liu mc nh ban u (bao gm 2 byte u l d liu v nhit v 2 byte sau l m lnh v bo ng v m ca) cho Master. Sau khi truyn xong th my tnh PC s xo chn RTS ca cng Com ch nhn 7 byte d liu t Master truyn v . Bao gm 4 byte u l m phm nhp, 2 byte tip theo l nhit o c ca mi trng, byte cui bo chy. Khi nhn xong d liu, PC s tin hnh x l d liu. Tip theo,PC s tng a ch ln mt v thc hin giao tip vi mng vi x l th hai thng qua vic iu khin chn RTS. Cng nh trn, my tnh PC s pht 4 byte d liu v nhn v 7 byte d liu. PC s tng a ch ln 1v thc hin giao tip n mng vi x l cui cng. Sau , my tnh PC s quay li giao tip vi mng vi x l th nht. Qu trnh c lp li. D liu m my tnh PC truyn cho mng con vi x l k t ln giao tip th hai chnh l kt qu ca vic x l cc d liu nhn c t mng con ln trc .

Hnh 6.1 Lu gii thut ca PC ch t ng. ngha ca cc byte d liu, bao gm 4 byte d liu truyn t PC v 7 byte d liu nhn t mng vi x l:

i vi 4 byte d liu truyn (byte 1,byte 2, byte 3, byte 4): Byte 1, byte 2 cha ni dung v nhit , byte 1 cha phn nguyn, byte 2 cha phn thp phn. Gi tr mc nh ban u ca byte 1 v byte 2 bng 0. Byte 3 l m lnh ng m ca: m ca khi gi tr bng 1, gi tr l 0 th khng m. Gi tr mc nh l 0. Byte 4 l m lnh bo ng gi tr mc nh l 0, nu bng 1 l bo ng. i vi 7 byte d liu nhn: Byte 1 n byte 4 l m phm n truyn v t mng con. Nu chng bng 0 th cha c phm n. Byte 5 v byte 6 cha ni dung nhit o c t mi trng. Byte 7 bo chy nu bng 1, nu bng 0 th khng c chy. Qu trnh x l d liu nh sau: khi nhn c 7 byte d liu t mng con, PC s cho hin th 4 byte u cha m phm nhp nu khc khng, trng hp bng khng l khng c phm nhp; hin th 2 byte tip theo cha thng s nhit ; byte cn li cha thng tin v chy. ng thi so snh m nhp vi m c qui nh trc cha trong c s d liu, nu ng th gn byte 3 ca d liu truyn ln mt bo l m nhp hp l v cho php m ca, nu sai th byte 3 c gn bng 0 tc l khng cho php m ca. Song song nhit cng c so snh vi nhit cho php nu ln hn nhit cho php th xut tn hiu bo ng bng cch gn byte 4 ca d liu truyn bng mt. Byte 1 v byte 2 ca d liu truyn th c gn l 0.

6.1.3. Chng trnh ch iu khin bng tay.


ch ny, truyn nhn d liu t PC xung mng, ta phi thc hin bng tay. Mi khi nhn c ch th PC s thc hin vic giao tip vi tt c cc mng con vi x l, truyn d liu cho chng v nhn d liu t chng ging nh ch t ng. Khi thc hin xong th kt thc khng quay li theo chu k nh ch t ng cp nht. Qu trnh x l d liu nh sau: 4 byte truyn i c gn ln lt theo cc thng s m ngi iu khin mun tuyn. Hai byte nhit s ly ni dung ca nhit cn truyn m chng ta nhp vo nhit . Byte bo chy s l mt nu trng thi cn truyn c chy, ngc li l 0. Nu chng ta mun m ca th gn byte 3 l 1 bng cch chn mc m ca. By byte d liu nhn t mng con cng c x l nh trn. Giao din chng trnh giao tip trc tip vi ngi iu khin c vit bng ngn ng Visual Basic 6.0 ca Microsoft.

Hnh 6.2 Lu gii thut ca PC ch iu khin bng tay.

6.2. Gii thut chng trnh ca mng con vi x l.


Cc mng con vi x l giao tip vi PC lm cng cng vic ging nhau, ch khc nhau v a ch ca tng mng con trong mng chung, s mng con c th m rng tu vo cch m ho a ch ca PC v phn cng, y s mng con c th ln m rng ln n 128 c a ch t 0 n 127. Vic m rng cng n gin khng cn phi xy dng mt chng trnh mi m ch cn i a ch ca vi x l Master trong chng trnh. Mng con gm mt Master v ba Slave.

Master trong mng s dng nguyn l hi vng kim tra xem PC c yu cu giao tip vi n khng. Khi xc nh c yu cu giao tip th chng s thot khi vic hi vng v giao tip vi cc Slave, sau truyn v PC. V tr v hi vng tip ch yu cu trao i tip theo. Cc Slave trong mng giao tip vi Master bng cch dng ngt Port ni tip, khi c ngt xy ra Slave kim tra xem ng a ch ca n khng nu ng th cm ngt nhn v truyn d liu cho Master, nu sai th b qua v thc hin tip cng vic ca chng. Cc Slave c a ch ln lt l 1,2 v 3. Cng xin ni thm l chng ta c th m rng thm cc Slave khc nu cn thit mt cch d dng.

6.2.1. Chng Trnh Ca Master.


Master gi vai tr quan trng trong mng con, n nhn lnh v d liu t PC truyn cho cc Slave trong mng, ng thi cng nhn d liu t cc Slave ny truyn li cho PC. Lu gii thut xem hnh 6.3. lm vic Master s khi to cc gi tr u cho Port ni tip nh tc Baud v ch hot ng. Chng trnh khi to vi x l nh sau: MOV SCON,#52H MOV TMOD,#20H MOV TH1,#-3 MOV TL1,#-3 SETB TR1 CLR P3.2 CLR P3.3 ; Cho b nh thi hot ng. ;Cho php Nhn d liu t my tnh PC ;Khng cho cc slave nhn ; Khi ng Port ni tip ch 1. ; S dng b nh thi 1,ch 2 to xung cho Port ni tip. ; Tc Baud 9600bit/s.

Hnh 6.3 Lu gii thut ca Master. Master dng Port ni tip giao tip vi PC v cc Slave trong mng thng qua chun truyn thng RS-485 nh trnh by chng trc.V kiu truyn nhn l bn song cng Half-Duplex, tc truyn nhn l 9600bit/s. Ban u Master cho php nhn t PC v khng cho php truyn n cc Slave n khi nhn c a ch v d liu t PC bng cch xo chn Port P3.2 v P3.3. Khi nhn xong Master s chuyn sang giao tip vi cc Slave lc ny PC trng thi ch nhn d liu. giao tip vi Slave, Master s set chn P3.3 truyn d liu cho Slave v xo chn P3.3 nhn d liu t Slave ring l cho n Slave cui cng trong mng trong thi gian ny Master khng cho php truyn cho PC. Khi giao tip xong vi cc Slave th Master s truyn d liu cho PC bng cch xo P3.3 v set P3.2. Truyn xong Master s quay v trng thi ch nhn a ch t PC, tip tc chu k mi. Master s nhn 4 byte d liu t PC v ct vo cc nh t 30H n 33H sau khi n nhn ng a ch. Master s thc hin giao tip vi cc Slave truyn 4 byte d liu ny i v nhn v 7 byte d liu ct vo cc nh t 34H n 40H. Sau n s truyn 7 byte d liu ny v cho PC. a ch m PC truyn cho Master di dng mt byte m bit trng s cao c gi tr l 1, d liu m PC truyn cho PC di dng byte c bit cao l 0. Do gii thut nhn dng a ch nh sau:

Hnh 6.4 Lu gii thut kim tra a ch Master. Khi giao tip vi PC, Master s dng Port ni tip ch 1 tc 9600bit/s khi chuyn sang giao tip vi cc Slave trong mng th Port ni tip ch 3 (ch truyn thng a x l nh trnh by chng thit k phn cng). giao tip vi cc Slave, Master phi chuyn t ch 1 ca Port ni tip sang ch 3 bng cch set bit SM0 ca thanh ghi SCON ln 1. Nn rng khi giao tip vi cc Slave th Master phi xo chn P3.2 trnh cho PC nhn d liu khng ng tc l khng cho php PC nhn d liu trong lc ny. truyn d liu cho Slave, Master phi cho php phn cng hot ng truyn bng cch set P3.3 ln 1. Trc ht, Master s truyn byte a ch bng cch np a ch vo thanh ghi A v set TB8 ln 1 sau di chuyn ni dung thanh ghi A vo thanh ghi SBUF ca Port ni tip. K n truyn tip cc byte d liu i bng cch xo bit TB8. nhn d liu t Slave, Master phi xo chn P3.3. Khi giao tip vi Slave 1 (Slave bn phm), Master khng truyn d liu cho Slave m ch nhn 4 byte d liu t n. Chng l cc byte m phm qut, nu khng c m nhp th Slave 1 s truyn cho Master bn byte ny c gi tr l 00H, nu nhp xong m phm th cc byte ny s cha m hex ca cc phm nhp. Cc byte phm nhp ny c lu vo cc nh t 34H n 37H sau truyn v my tnh. K n giao tip vi Slave 2 (Slave o v hin th nhit ), sau khi xc lp yu cu giao tip, Master truyn cho Slave 2 byte nhit cn hin th c truyn v t PC l cc byte 30H v 31H. Master chuyn sang trng thi ch nhn d liu t Slave 2. Slave 2 s truyn v cho Master 2 byte cha thng tin v nhit mi trng o c v c ct vo 2 nh 38H v 39H. Cui cng giao tip vi Slave 3 (Slave m nhn vic m ca bo ng v nhn dng chy), Master truyn cho Slave ny 2 byte cha m lnh ca PC v m ca v bo ng. ng thi nhn 1 byte t Slave bo trng thi ca cm bin chy, ct vo nh 40H. Sau khi giao tip xong vi cc Slave, Master s truyn 7 byte d liu v cho PC v kt thc mt chu trnh lm vic ch PC ra lnh giao tip tip theo.

6.2.2. Chng Trnh Ca Slave Bn Phm.


Slave bn phm m nhn cng vic qut phm nhp v truyn m phm nhp v cho Master, Master s truyn v my tnh s l. Chng trnh chnh ca Slave lun lun thc hin qut phm ch khi no c ngt Port ni tip xy ra th n mi tm ngng truyn v Master m phm nhp. Nu cha c m phm nhp hoc ang nhp dang d th n s truyn v cho Master bn byte 0

lin tip, nu nhp xong th n s truyn bn byte m v cho Master, ng thi xo bn byte i khi b nh. Gii thut chng trnh nh sau:

Hnh 6.5 Lu gii thut chng trnh chnh.


Ban u chng trnh chnh khi to vi x l sau n gi chng trnh con c m phm nhp INHEX. Chng trnh INHEX ny s tr v m phm nhp dng m HEX trong thanh ghi A nu c phm nhp, khi khng c phm nhp th n s qut phm mi tm m nhp mt cch lin tc chng trnh chnh s b treo cho n khi c ngt xy ra hoc c phm nhp.

Khi qut c phm nhp chng trnh chnh s kim tra xem m phm ban u (dng xc nh vic bt u nhp m phm) c bng 00H hay khng. Nu l ng th gn ni dung thanh ghi R0 bng 4, thanh ghi R3 bng 30H (Thanh ghi R0 dng m s phm nhp y qui nh l 4). Sau tip tc gi chng trnh con INHEX c bn phm khc khng lin tc theo sau, nu c mt phm nhp no l khng th m nhp khng hp l v quay v u chng trnh c m phm ln hai. Nu nh m phm nhp hp l th lc thanh ghi R0 s bng 0 v khi chng trnh ngt xy ra th Slave s pht bn byte m phm v cho Master. Nu R0 khc khng th s pht cho Master 4 byte iu khin 00H. Kt thc chng trnh ngt th quay li chng trnh chnh c m phm tip theo. Chng trnh con kim tra phm n INHEX: Xem hnh sau. Trong chng trnh INHEX ta gi chng trnh con c phm GETKEY. Chng trnh GETKEY s tr v m ca phm n nu c v Set c C ln mc 1, khi khng c phm n th c C b xo. Chng trnh con GETKEY xem ph lc chng trnh vi x l.

Hnh 6.6 Lu gii thut chng trnh con INHEX. Chng trnh ngt:

Hnh 6.7 Lu gii thut chng trnh ngt.

6.2.3. Chng Trnh Ca Slave o Nhit .


Gii thut ca chng trnh chnh: Xem lu gii thut hnh 6.8. Bt u ta khi to cc gi tr ban u cho vi x l nh sau: Port ni tip hot ng ch 3, tc Baud 9600 bit/s, c s dng ngt Port ni tip. Gi tr ban u ca cc nh: (30H) = 25H (nhit ban u led s hin th), (31H) = 0, (32H) = (33H) =0, (34H) =25 (gi tr nhit ban u truyn v cho Master hay PC), (35H) =0. Chng trnh khi to vi x l nh sau: ORG 0000H LJMP MAIN ORG 0023H LJMP SPISR ORG 0030H MAIN: 3. MOV TMOD,#21H MOV TH1,#-3 MOV TL1,#-3 SETB TR1 MOV IE,#90H CLR P3.2 MOV 30H,#25H nh MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 MOV 34H,#25 MOV 35H,#0 Khi khi to xong vi x l, th chng trnh chnh bt u lm nhim v chnh ca mnh l hin th nhit v c gi tr nhit o c t mi trng. N s hin th ra 3 led 7 on gi tr ca nhit gm thnh phn nguyn (hng chc v hng n v) v phn thp phn ly t nh 30H v 31H. Nu nh gi tr ca nh 32H khc 0 th nhit c hin th theo nhit t PC truyn xung v ni dung ca hai nh 30H v 31H lc ny c ly t 2 nh 32H v 33H, cn nu chng bng khng th hin th theo ; Cho php nt Port i tip. ; Cho php nhn d liu t Master ;Cc gi tr ca cc nh mc ; S dng b nh thi 1,ch 2,b nh thi 0 ch 1. ; Tc Port 9600. MOV SCON,#0F2H ; Khi ng Port ni tip ch ; Khai bo ngt Port ni tip.

nhit ca mi trng cha trong hai nh 34H v 35H. Hin th nhit bng phng php qut led v dng IC gii m LS74247, d liu c truyn qua Port 2. Hin th hng chc trc, Delay 1ms gi sng cho led, chuyn sang hin th hng n v cng Delay 1ms, chuyn sang hin th hng thp phn. K n kch ADC bin i (CLR P1.0) v ch ADC bin i xong th c v thanh ghi A thng qua Port 0, sau chia i (do phn gii ca mch o nhit l 0.5oC ) v bin i sang s BCD ri ct vo hai nh 34H v 35H. Sau khi xong s Delay 1ms v quay v hin led tip. Qu trnh c lp li theo chu k. Cng nh trn, Slave o nhit cng giao tip vi Master thng qua Port ni tip ch 3 (truyn thng a x l) v s dng phng php dng ngt Port ni tip. Khi c ngt xy ra Slave s kim tra xem c ng a ch ca mnh khng, nu ng th n s cm ngt v thc hin nhn 2 byte d liu tip theo (cha ni dung v nhit cn hin th ra LED), byte u l thnh phn nguyn, byte 2 l thnh phn thp phn ca nhit c ct ln lt vo cc nh 32H v 33H. Tip theo Slave s truyn v cho Master cng 2 byte cha thng tin v nhit ca mi trng l ni dung ca hai nh 34H v 35H, gi tr mc nh ban u ca nh 34H l 25, nh 35H l 0. Cui cng Slave s cho php ngt tr li v thot khi chng trnh ngt tr v chng trnh chnh.

Hnh 6.8 Lu gii thut ca Slave o nhit . Chng trnh ngt:

Hnh 6.9 Lu gii thut ca chng trnh ngt.

6.2.4. Chng Trnh Ca Slave Bo ng, iu Khin M Ca V Cm Bin Chy.


Slave ny s m nhn cng vic: M ca khi c yu cu, bo ng khi c chy v bo co v Master hay PC trng thi ca cm bin chy. Chng trnh ca Slave c thit k c dng ngt, v chng trnh chnh s lp li cng vic ca n mi cho n khi c ngt th thc thi chng

trnh ngt v li quay v chng trnh chnh. Lu gii thut xem hnh 6.2.4a. Khi to cc gi tr ban u cho vi x l: khai bo s dng ngt Port ni tip, ngn khng cho Rle hot ng bng cch xo chn Port P1.0, xo chn Port P1.2 tt mch bo ng v khi Reset vi x l gi tr mc nh ca cc chn Port l mc 1. ORG 0000H LJMP MAIN ORG 0023H LJMP SPISR ORG 0030H MAIN: CLR P1.0 CLR P1.2 MOV SCON,#0F0H MOV TMOD,#21H MOV TH1,#-3 MOV TL1,#-3 SETB TR1 MOV IE,#90H CLR P3.2 MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 SETB C Chng trnh chnh kim tra ni dung nh 30H, nu n l 1 th PC truyn lnh m ca xung v Slave s kch chn Port P1.0 ln mc cao ng Rlay kch ng c hot ng m ca, tr hon 30 giy ca c m ra. Sau xo chn Port P1.0 tt ng c v xo i ni dung nh 30H bo l ca c m trnh chng trnh chnh m ca ln hai trong cng mt lnh t PC bi v chng trnh chnh s lp li vic kim tra cc nh theo chu k. K n kim tra ni dung nh 31H v nh 32H nu mt trong hai nh c gi tr bng 1 th Slave s bo ng bng cch set chn Port P1.2 cho php mch bo ng pht tn hiu m thanh bo ng. nh 31H cha ni ;Cho php ngt Port n tip ; Cho php nhn t master ;Khng cho Rle hot ng ;Tt mch bo ng ; Khi ng Port ni tip ch 3. ; S dng b nh thi 1,ch 2,b nh thi 0 ch 1. ; Tc Baud 9600bit/s. ;Khai bo ngt Port ni tip

dung m lnh m PC truyn xung nu l 1 th pht tn hiu bo ng, nh 32H cha trng thi ca cm bin chy. Sau cng s kim tra cm bin chy bng cch c chn Port P1.1, ghi vo nh 32H gi tr l 1 nu c chy tc l P1.1 c gi tr 0. Chng trnh s quay li t u. Ging nh cc Slave trn, Slave ny cng dng ngt Port ni tip giao tip vi Master. Khi ngt xy ra, chng trnh chnh s tm dng i vo chng trnh ngt.Trong chng trnh ngt Slave s c a ch v kim tra xem c ng a ch ca mnh khng, nu ng th n s cm ngt, xo bit SM2 ca thanh ghi SCON chuyn sang ch nhn 9 bit d liu. Slave s nhn hai byte d liu lin tip (cha ni dung v m ca v bo ng) ct vo nh 30H v 31H. ng thi set bit TI v chn Port P3.2 sn sng pht byte d liu v Master v truyn i mt byte d liu bo co v trng thi ca cm bin chy cha trong nh 32H. Khi truyn xong th set bit SM2 ln mt, v xo chn Port P3.2 sn sng nhn a ch t Master v Slave thot khi chng trnh ngt tr v chng trnh chnh.

Hnh 6.10 Lu gii thut ca chng trnh chnh.

Hnh 6.11 Lu gii thut ca chng trnh ngt.

You might also like