You are on page 1of 33

H ng d n B n vi t 10 chng trnh ng d ng c b n cho ic vi i u khi n AT89C51

L i ni u
B n bi t, ki n th c l lun lun c i bi n v pht tri n, do cc bi vi t c a ti y cng lun theo tn ch c a RIXIN, ngha l Nh t Tn (Ngy m i, ngy m i, ngy ngy m i Cc bi vi t lun c ). ng i so n c i c l i v s a l i, vi t thm vo cc t ng m i v cc bi vi t lun c lm ti. N gi ng nh m t v n cy c ng i tr ng v n chm coi c n th n v khu v n th ang ngy ngy sinh tr ng, cc bi vi t s lun m i, lun khc v m i ngy u c b xung tu ch nh, v thm m i. Mong B n th ng xuyn quay l i xem v gp . Ng i so n: Vng Khnh Hng.

Tr c h t chng ta hy tm hi u nguyn l lm vi c c a ic vi i u khi n AT89C51 (B n xem hnh).

www. Beenvn.com - T Sch Online

IC AT89C51 c 40 chn. Cng d ng c a cc chn nh sau: * Chn 40 n i vo ng ngu n 5V, chn 20 cho n i masse. * Chn 9 n i vo m ch reset v i i n tr 10K v t 10uF. Khi m ch v a c c p i n, t n p v ko chn 9 ln m c p cao t o tc ng reset. Sau m t lc chn 9 tr l i m c p th p. IC AT89C51 b t u ho t ng t tr ng thi kh i u. * Chn 18, 19 m c th ch anh nh t n. Nh v y t n s xung nh p s l 1Mhz (hay 1us). Ngang th ch anh m c 2 t nh dng b nhi t n t n (B n xem hnh).

www. Beenvn.com - T Sch Online

* Chn 31 B n ph i cho treo ln m c p cao, xc nh l m ch ch lm vi c v i b nh n i (V m ch khng dng thm b nh ngoi). * B n ch , ic c 4 c ng, l port 0 (p0), port 1 (p1), port 2 (p2) v port 3 (p3). M i c ng c 8 chn. M i ho t ng c a ic vi i u khi n u c th c hi n trn cc c ng ny. Ghi nh n: B n th y ic AT89C51 ch c n m t t linh ki n bn ngoi l c th ch p hnh cc cu l nh c trong b nh EEP-ROM, B n dng cc cu l nh ny xc nh tr ng thi i n p cao th p trn cc c ng v dng cc m c p cao th p ny cho vi c i u khi n cc d ng m ch i n, hay cc thi t b .

Bi 1: Vi t chng trnh Led trn chn s 1 (p1.0) lun nh p nhy.

www. Beenvn.com - T Sch Online

ORG 0000h START: CLR P1.0 LCALL DELAY SETB P1.0 LCALL DELAY LJMP START cng vi c s l p l i. DELAY: D1: D2: MOV R5,#20 MOV R6,#20 MOV R7,#248 DJNZ R7,$ DJNZ R6,D2

; Kh i u t thanh ghi c a ch l 0000h ; t chn p1.0 xu ng m c p th p, Led s sng. ; Cho g i trnh lm tr (c tn nhn l delay). ; t chn p1.0 ln m c p cao, Led s t t ; L i cho g i trnh lm tr (c tn nhn l delay). ; Cho nh y v dng l nh v i tn nhn l start,

; N p tr 50 vo thanh nh r5. ; N p tr 20 vo thanh nh r6. ; N p tr 248 vo thanh nh r7. ; Cho gi m r7 theo b c -1 cho n 0. ; Cho gi m r6 theo b c -1, cha b ng 0 th nh y

www. Beenvn.com - T Sch Online

v D2. DJNZ R5,D1 nh y v D1. RET END ; Quay l i dng l nh sau l nh lcall. ; d ng bin d ch. ; Cho gi m r5 theo b c -1, cha b ng 0 th

Phn tch cch vi t cc cu l nh:


B n th y kh i u lun dng cu khai bo gi l nh: org 0000h Ngha l m i vi c s b t u t thanh nh c a ch l 0000h. y cng l thanh m chng trnh s nh y n m i khi B n nh n nt Reset. v k t thc v i khai bo gi l nh: end Cc cu l nh sau khai bo b i gi l nh "end" s khng c bin d ch. Ni r hn v cch tnh th i gian tr c a o n chng trnh con delay: Trong hnh trn do dng th ch anh 12MHz nn m t chu k my s l 1us. V y cu l nh: mov r6,#20 T cch tnh nh sau: MOV R6,#20 D1: MOV R7,#248 22248498 20 DJNZ R7,$ (498 DJNZ R6,D1 10002 Qua cc nhn th i gian tr c a o n chng trnh delay ny l 10.002ms. N u B n mov vo r6=10 th th i gian tr s l 5ms.
www. Beenvn.com - T Sch Online

s th c hi n 2 l n. B n ph i cho nhn 2. 2l n 2l n 2 2

2l n 2l n

2248 22040

N u B n mov vo r6=20 th th i gian tr s l 10ms. V c th i gian tr l 200ms. B n dng thm thanh nh r5. Mov vo r5=20. V nh v y o n chng trnh tr delay 200ms nh sau:

DELAY: D1: 20. D2: 248.

MOV R5,#20 MOV R6,#20

; chuy n vo thanh ghi r5 s th p phn 20. ; chuy n vo thanh ghi r6 s th p phn

MOV R7,#248 ; chuy n vo thanh ghi r7 s th p phn

DJNZ R7,$ ch v ch n khi b ng 0.

; cho s trong r7 gi m theo b c -1,

t i

DJNZ R6,D2 ; cho s trong r6 gi m theo b c -1, v nh y v D2 n u cha b ng 0. DJNZ R5,D1 ; cho s trong r5 gi m theo b c -1, v nh y v D1 n u cha b ng 0. RET l nh call. ; quay tr l i th c hi n dng l nh sau

Bi 2: Vi t chng trnh dng Led trn chn 1 (p1.0) theo di kha i n K1 trn chn 10 (p3.0).
* K1 ng l i Led sng. * K1 b ra Led t t.

www. Beenvn.com - T Sch Online

ORG 0000H START: LIG, Led t t JB P3.0, LIG

; Kh i u t thanh ghi 0000h ; L nh nh y. N u chn p3.0 bit 1 th nh y n tn nhn

CLR P1.0 SJMP START LIG: SETB P1.0 SJMP START END

; t p1.0 v bit 0, chn p1.0 ; Nh y v tn nhn START. ; t p1.0 v bit 1, chn p1.0 ; Nh y v tn nhn START. ; D ng bin d ch y.

m c p th p. Led s sng

m c p cao, Led t t.

Phn tch cch vi t cc cu l nh:


y, B n dng l nh nh y theo i u ki n bit, t c l nh jb (jump bit) hay jnb (jump no bit). JB P3.0, LIG L nh ny c ngha l s nh y theo tr ng thi bit trn chn p3.0.

www. Beenvn.com - T Sch Online

N u xt chn p3.0 m c p cao (nt nh n K1 h ) th nh y n tn nhn LIG, v N u xt chn p3.0 m c p th p (nt nh n K1 kn) th th c hi n cu l nh k ti p bn d i. B n nh , khi chn p3.0 m c p cao th Led t t v khi chn p3.0 m c p th p th Led s sng.

Bi 3: Vi t chng trnh dng 4 led trn cc chn 1 (p0.0), 2 (p0.1), 3 (p0.2), 4 (p0.3) cho bi t tr ng thi c a 4 kha i n trn cc chn 5 (p0.4), 6 (p0.5), 7(p0.6), 8 (p0.7).
* Khi kha i n ng l i Led tng ng sng. * Khi kha i n nh ra, Led tng t ng t t.

www. Beenvn.com - T Sch Online

ORG START: tch

0000H MOV A,P1

B t

thanh

ghi

0000h

; L y trang thi trn c ng port 1 n p vo thanh ghi ly a. ; dng logic AND 4 che 4 bit th p, gi bit nguyn cao.

tr ng

ANL A,#0F0H thi RR A

; cho n i dung trong thanh ghi a quay qua ph i 1

bit. RR A bit. RR A bit. ; cho n i dung trong thanh ghi a quay qua ph i 3 ; cho n i dung trong thanh ghi a quay qua ph i 2

www. Beenvn.com - T Sch Online

RR A bit. XOR A,#0F0H bit th p.

; cho n i dung trong thanh ghi a quay qua ph i 4

; dng logic Ex-OR pht hi n s khc bit trn 4 ; nh v y Led ng v i v tr c bit 0 s pht sng.

MOV P1,A lm SJMP START END

; Chuy n tr ng thi c a thanh ghi a ra trn port 1 sng Led. ; nh y v tn nhn start ti p t c lm nh trn. ; ng ng bin d ch dng l nh ny.

Phn tch cch vi t cc cu l nh:


a- Dng 4 phm t t m 4 Led trn port 1

B n cho chuy n tr ng thi c a port 1 vo thanh ghi tch ly a, ch tr ng thi c a 4 bit cao. N ph n nh nt nh n K1, K2, K3, K4. b- Dng logic And v i h ng 11110000b cho che 4 bit th p.

www. Beenvn.com - T Sch Online

B n l y logic AND gi a thanh a v h ng 0f0h (hay l 11110000b), cch lm ny l b o ton tr ng thi c a 4 bit cao, cn 4 bit th p u ha ra bit 0. Ng i ta quen g i l cho che 4 bit th p.

c- Dng l nh quay ph i 4 l n d i 4 bit cao xu ng 4 bit th p.

Dng l nh rr a cho quay bit qua ph i, n u cho quay 4 l n th 4 bit th p s ln n m vng 4 bit cao v 4 bit cao s xu ng n m vng 4 bit th p. Chng ta ni cho chuy n tr ng thi c a 4 bit cao xu ng vng 4 bit th p. Cng c th dng l nh swap.

d- Dng logic Ex-Or pht hi n cc bit khc nhau.

www. Beenvn.com - T Sch Online

L y logic D -OR pht hi n cc bit gi ng nhau hay khc nhau: N u cc bit gi ng nhau, k t qu s l bit 0. N u cc bit khc nhau, k t qu s l bit 1. T ng ra, B n s th y Led n m trn bit 0 s pht sng. Cc Led n m trn bit 1 s t t.

Bi 4: Vi t chng trnh cho 8 Led trn port 1 l n l t nh p nhy, nh y qua tri r i nh y qua ph i.

www. Beenvn.com - T Sch Online

ORG START:

LOOP:

qua l nh LOOP1:

0000h MOV R2,#8 ; t tr 8 (s l n m) vo thanh ghi r2 MOV A,#0FEH ; t tr 0feh t c 11111110b v thanh ghi a. SETB C ; t bit Cary ln m c 1. MOV P1,A ; Chuy n n i dung trong thanh ghi a vo c ng port 1. LCALL DELAY ; Cho g i chng trnh lm tr RLC A ; Cho n i dung trong thanh ghi a quay qua tri c cho quay bit c C. DJNZ R2,LOOP ; m li tr trong thanh ghi r2. N u cha b ng 0 th lm ti p LOOP. MOV R2,#8 ; N p l i tr 8 vo thanh ghi r2. MOV P1,A ; Chuy n n i dung trong thanh ghi a vo c ng port 1. LCALL DELAY ; Cho g i chng trnh lm tr RRC A ; Cho n i dung trong thanh ghi a quay qua ph i c cho quay

www. Beenvn.com - T Sch Online

qua DJNZ R2,LOOP1 l nh DELAY: D1: D2: LJMP START MOV R5,#20

END

bit c C. ; m li tr trong thanh ghi r2. N u cha b ng 0 th lm ti p LOOP1. ; Nh y khng i u ki n v tn nhn start l i ti p t c. ; Chng trnh dng lm tr (xem l i ph n th d 1) MOV R6,#20 MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET ; D ng bin d ch.

Phn tch cch vi t cc cu l nh:


Bi ny dng l nh quay bit qua ph i v r i cho quay bit qua tri d i bit 0 l n l t i qua 8 chn c a port 1, chng ta bi t bit 0 s lm sng Led. Nh v y B n s th y cc Led trn port 1 s l n l t sng v nh y qua ph i r i i chi u nh y qua tri. bit 0 c th i trn 8 chn c a port 1, chng ta dng l nh quay c quay qua bit c C (rrl v rlc), d nhin tr c phi nh set bit c C ln m c 1. Trnh by l nh quay rrc v rlc b ng hnh minh h a (B n xem hnh): a- B n dng l nh quay c qua c C, v y qua 8 nh p bit 0 s vo n m trong c C, lc ny 8 bit port 1 u m c 1 v nh v y 8 Led trn port 1 u s t t. V i l nh rlc a (rotate left Carry). B n s th y t ng Led sng ln v nh y qua bn tri.

b- B n dng l nh quay c qua c C, v y qua 8 nh p bit 0 s vo n m trong c C, lc ny 8 bit port 1 u m c 1 v nh v y 8 Led trn port 1 u s t t. V i l nh rrc a (rotate right Carry). B n s th y t ng Led sng ln v nh y qua bn ph i.
www. Beenvn.com - T Sch Online

c- L nh quay (rotate) ch c tc d ng v i thanh ghi a, do B n mu n th hi n k t qu ra 8 Led trn port 1, B n ph i chuy n n i dung c trong a ra port 1. B n dng l nh mov p1, a.

Tm l i, trong bi ny B n lm quen v i cch dng l nh quay c cho qua c C. V i cch vi t ny, B n th y chng ta dng r t t cu l nh m v n khi n cho cc Led sng nh y (nh y qua nh y l i) trn port 1.

Bi 5: Vi t chng trnh m ch pht ra ti ng c nh bo.


Tn hi u 1KHz v 500Hz pht ra trn chn 1 (p1.0), th i gian pht tn hi u 1KHz l 100ms v th i gian pht tn hi u 500Hz l 200ms.
www. Beenvn.com - T Sch Online

Kha i n trn chn 8 (p1.7) dng t t m tn hi u c nh bo.

FLAG ORG START: NEXT. DV: o.

BIT 00h JB P1.7,START JNB FLAG,NEXT MOV R2,#200 CPL P1.0 LCALL DELY500 LCALL DELY500 DJNZ R2,DV

; nh ngh Flag dng lm bit c , hi n c tr l 0. 0000H ; Ch t nt K1 t xu ng m c 0. ; N u bit c Flag l 0 th nh y n tn nhn ; N p s th p phn 200 vo thanh ghi r2. ; L y b chn p1.0, l nh b bit c ch c nng t ; Cho g i chng trnh lm tr 500us. ; g i l n n a chng trnh dely500. ; Cho m li v th c hi n l nh b cpl p1.0 n l n. ; o bit trong c Flag. ; N p l i s th p phn 200 vo thanh ghi r2. ; L y b chn p1.0, c ch c nng t o.

200 NEXT: DV1: CPL FLAG MOV R2,#200 CPL P1.0

www. Beenvn.com - T Sch Online

LCALL DELY500 DJNZ R2,DV1 l n. CPL FLAG SJMP START MOV R7,#250 thanh NOP DJNZ RET call. END

; Cho g i chng trnh lm tr 500us. ; Cho m li v th c hi n b cpl p1.0 n 200

DELY500: v LOOP: g p

; L i cho o bit trong c Flag. ; L p l i l nh t tn nhn START. ; Vi t chng trnh con lm tr 500us. N p s 250 ghi r7. ; L nh tr ng, dng n lm tng th i gian tr ln i. R7,LOOP ; m li r7 lm tr . ; Cho quay l i th c hi n dng l nh sau l nh ; D ng bin d ch

Phn tch cch vi t cc cu l nh:


Trong bi n y, B n th y dng khai bo bit nh ngha tn t t c a B n, nh: flag BIT 0 ; Ch flag do B n t t l m t BIT, hi n c gi tr l bit 0.

B n dng l nh nh y theo bit ki m tra kha i n K1. start: jb p1.7, start ; L nh ny s ch khng n s lun d ng l i y. chn p1.7 xu ng bit 0, n u m c 0 th

cpl p1.0 ; L nh l y b trn chn p1.0, ngha l n ang cho chuy n ln 1 v ng c l i. Phn tch cc cu l nh trn B n th y:

Loa s h v i tn hi u 1000us (do 2 l n g i dely500) v ko di 200 l n r i chuy n qua h v i tn hi u 500us (do ch g i dely500 c 1 l n) cng th c hi n 200 l n. V i cch t o ra tn hi u h 2 nh p ny, B n s nghe ti ng h t Loa pht ra, tn hi u nghe nh ti ng ci h c nh bo..

Bi 6: Vi t chng trnh dng cch l y d li u khai bo trong b ng, t t m 8 Led trn port 1.
* Nhy nh y qua tri 2 l n. * Nhy nh y qua ph i 2 l n.
www. Beenvn.com - T Sch Online

* Ton ph n nh p nhy 2 l n. (Th i gian tr 0.2 gi y).

ORG START: LOOP: 00000000b c t

MOV DPTR,#TABLE CLR A

0000h ; L nh cho t a ch b ng vo thanh ghi con tr . ; cho xa n i dung trong thanh ghi a, lc ny a = ng theo tr trong a, v cho vo a. nh y qua tn nhn LOOP1. 01h th nh y v tn nhn

MOVC A,@A+DPTR ; Cho l y n i dung trong b k t qu CJNE A,#01H,LOOP1 ; N u a cha b ng 01h th JMP START ; N u trong a b ng MOV P1,A MOV R3,#20

START. LOOP1:

; Chuy n n i dung trong a ra trn c ng port 1. ; N p s th p phn 20 vo thanh ghi r3.

www. Beenvn.com - T Sch Online

DELAY: delay D1:

LCALL DELAY INC DPTR JMP LOOP MOV R4,#20 MOV R5,#248 DJNZ R5,$ DJNZ R4,D1 DJNZ R3,DELAY

; G i chng trnh lm tr , tn nhn l delay. ; cho tng a ch b ng ln +1. ; Nh y v tn nhn LOOP. ; Vi t chng trnh con dng lm tr , tn nhn l ; N p tr th p phn 248 vo r5. ; Cho gi m theo b c -1, ch r5 b ng 0. ; Cho r4 gi m theo b c -1, cha b ng 0, nh y v ; Cho r3 gi m theo b c -1, cha b ng 0, nh y v ; Quay l i ch y cu l nh n m sau l nh call. ; Khai bo cc d li u t trong b ng, tn b ng l

D1. DELAY. RET TABLE: TABLE. DB 0FEH,0FDH,0FBH,0F7H

l nh END

DB 0EFH,0DFH,0BFH,07FH ; cc d li u l n l t s p trong b ng. DB 0FEH,0FDH,0FBH,0F7H ; cc d li u l n l t s p trong b ng. DB 0EFH,0DFH,0BFH,07FH ; cc d li u l n l t s p trong b ng. DB 07FH,0BFH,0DFH,0EFH ; cc d li u l n l t s p trong b ng. DB 0F7H,0FBH,0FDH,0FEH ; cc d li u l n l t s p trong b ng. DB 07FH,0BFH,0DFH,0EFH ; cc d li u l n l t s p trong b ng. DB 0F7H,0FBH,0FDH,0FEH ; cc d li u l n l t s p trong b ng. DB 00H, 0FFH,00H, 0FFH ; cc d li u l n l t s p trong b ng. DB 01H ; D li u dng soa snh nh y (Xem cu trn). ; D ng bin d ch t i y.

Phn tch cch vi t cc cu l nh:


Trong bi ny, chng ta cho l y d li u li t k trong b ng lm sng cc Led trn port 1. Trnh t lm nh sau: Tr c h t B n ch n cch lm sng t t cho 8 Led trn port 1 v i m 0/1. Chng ta nh bit 0 lm Led sng v bit 1 s lm Led t t. Th d : Mu n Led sng nh y qua tri, chng ta s ch n m i u khi n nh sau: 11111110b i ra d ng m h 16 s l 0FEH. 11111101b 11111011b 11110111b 11101111b i i i i ra ra ra ra d d d d ng ng ng ng m m m m h h h h 16 16 16 16 s s s s l l l l 0FDH. 0FBH. 0F7H. 0EFH.

11011111b i ra d ng m h 16 s l 0DFH.
www. Beenvn.com - T Sch Online

10111111b i ra d ng m h 16 s l 0BFH. 01111111b i ra d ng m h 16 s l 07FH. B n c li t k ra trong b ng. Sau ny s dng l nh: movc a, @a + dptr. l y cc m ny c t vo a. ngha c a cu l nh ny nh sau: N u kh i u a=0 th n s l y m d li u u trong b ng v r i c t vo thanh ghia. B n dng l nh inc dptr d cho tr trong a tng ln +1. V y khi dng cu l nh: movc a, @a +dptr, B n s cho l y m d li u ti p theo... Sau m i l n l y d li u t b ng ra, B n dng cu l nh nh y theo php so snh: cjne a, #01h, loop1 xem l y n m d li u cu i cng cha, v B n t m 01H cu i b ng. Ghi nh n: Dng cch vi t ny, B n r t d ch n cc ki u nh p nhy cho cc Led trn port 1. B n ch c n khai bo cc m i u khi n trong b ng l c. b n c th khai bo theo d ng m nh phn cho d nhn th y s sng t t c a cc Led.

Bi 7: Vi t chng trnh trn n s dng Led 7 o n l n l t xu t hi n cc con s 0, 1, 2, 3...Th i gian thay i s l 0.2s.
Ch : Dng lo i n s Led 7 o n c Cathode chung, v y Led sng v i m c 1.

www. Beenvn.com - T Sch Online

Phn tch cch vi t cc cu l nh:


hi n cc s th p lc phn trn n s 7 o n v i chn cathode (K) m cc s s nh sau: 0 1 2 3 4 5 6 7 hay 3 FH hay hay 5BH hay hay hay hay hay 66H 6DH 7DH 07H 4FH 06H

www. Beenvn.com - T Sch Online

8 9 A b C d E F

hay 7FH hay hay hay hay hay hay 6FH 77H 7CH 39H 5EH 79H hay

71H

Do v y t o ra b ng hi n th cc s th p phn, chng ta s vi t nh sau: TABLE DB 3FH06H5BH4FH66H6DH7DH07H7FH6FH


ORG START: NEXT: 0000h MOV R1,#00H ; t tr kh i u 0 cho thanh ghi r1 MOV A,R1 ; Cho chuy n n i dung trong r1 vo a. MOV DPTR,#TABLE ; t a ch c a b ng vo thanh ghi con tr dptr. MOVC A,@A+DPTR ; L y cc m d li u trong b ng theo tr c a a v d c t vo a. MOV P2,A ; Xu t d li u trong a ra port 2 cho hi n s . LCALL DELAY ; Cho g i chng trnh lm tr , tn nhn l delay. INC R1 ; Cho tng tr trong r1 theo ki u +1. CJNE R1,#10,NEXT ; So snh tr trong r1, xem b ng 10 cha? cha, nh y NEXT. LJMP START ; L nh nh y khng i u ki n v cu l nh c tn nhn START. MOV R5,#20 ; Vi t chng trnh lm tr . B n xem l i cc ph n th trn. MOV R6,#20 MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2 RET DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ; B ng m cho hi n cc s ; D ng bin d ch.

li u

v l DELAY: d D2: D1:

TABLE: th p phn. END

Ni r hn v lo i n hi n s dng Led 7 o n (B n xem hnh):

www. Beenvn.com - T Sch Online

Khi chn trn port 2 m c p cao, th Led tng ng s pht sng. V y chng ta c th t m trn n Led 7 o n l n l t hi n ra cc con s th p phn.

Hnh cho th y cc m tng ng v i cc con s th p phn hi n trn b ng n s dng Led 7 o n.

www. Beenvn.com - T Sch Online

Bi 8: Vi t m ch m s hi n thi theo h c 2 v i 4 Led trn cc chn 1 (p1.0), 2 (p1.1), 3 (p1.2), 4 (p1.3). M i l n nh n kha i n SP1 trn chn 17 (p3.7) th s tng ln +1.

www. Beenvn.com - T Sch Online

ORG START:

MOV R1,#00H MOV A,R1 CPL A MOV P1,A

0000h ; Cho kh i u v i tr 0 trong thanh ghi r1. ; chuy n n i dung trong r1 vo a. ; L y b 8 bit trong thanh ghi a. ; Xu t n i dung trong a ra c ng port 1.

REL:

JNB P3.7,REL ; Ch bun phm nh n chn p3.7. LCALL DELAY10MS ; G i chng trnh con lm tr 10ms. JNB P3.7,REL ; Trnh nh h ng c a rung phm. INC R1 ; Cho tng tr trong thanh ghi r1 MOV A,R1 ; Cho chuy n n i dung trong r1 vo CPL A MOV P1,A ; L y b 8 bit trong thanh ghi a ; Xu t n i dung trong a ra c ng port ; Ch bung phm SP1 ; Nh y khng i u ki n v dng lnh REL ; Vi t chng trnh lm tr 10ms

a.

1. JNB P3.7,$ SJMP REL l MOV R6,#20 tn

nhn DELAY10MS:

www. Beenvn.com - T Sch Online

L1:

MOV DJNZ DJNZ RET ; D ng bin d ch t i dng ny.

R7,#248 R7,$ R6,L1

END

Phn tch cch vi t cc cu l nh:


N i dung bi vi t l c nh n m t l n phm SP1, m ch m s h c 2 s nh y ln 1 s (B n xem hnh).

y c 2 cu h i, ti h i B n: (1) V n rung phm l g? (2) T i sao ph i l y b a r i m i cho xu t trn c ng port1? V n rung phm l do ph n ti p xc x u, khi B n nh n xu ng, phm s b rung, n ng t m nhi u l n v t o ra k t qu sai. Do v y B n ph i vi t o n chng trnh ch 10ms r i m i xc l p tr ng hi c a phm,
www. Beenvn.com - T Sch Online

i u ny s tng sau:

n nh khi dng lo i phm c kh. Cch vi t nh

REL: JNB P3.7,REL ; Khi b n nh n xu ng, n u phm t t, n s bit 0 v s tr ng thi ch bung phm. N u c rung phm, n s nh y xu ng cu l nh d i l cho g i chng trnh tr 10ms. LCALL DELAY10MS ; G ; Sau chng trnh tr l nh: JNB P3.7,REL N u n bit 0 th quay Bit 1 th m i cho tng tr ..... . JNB P3.7,$ ; Cu l nh ny l nh y tai ch khi B n cha b phm nh n SP1 ra. Tr l i cu h i th 2: T i sao ph i l y b a (cpl a) r i m i cho xu t ra trn c ng port1. y chng ta kch Led b ng m c p th p, do khi tng 1, n s l: 00000000b --> 00000001b V y ph i l y b c a n s l 11111110b i u ny s ch c Led p1.0 sng m thi n ng v i 1 l n nh n phm. N u 2 l n nh n phm k t qu l: 00000010b --> l y b l 11111101b. V y Led p1.1 s sng. B n c l lu n ti p t c s th y m ch ny dng m h c 2, k t qu cho hi n th trn cc Led c a port 1. v n u B n th y thch, B n c th g n 8 Led trn port 1 v s th y hi n t ng trng s . Thanh ghi 8 bit ch m c 256 nh p s trang s , quay v 0 v b t u m ti p... i chng trnh con lm tr 10ms. n s quay l i l i ki m tra phm v i cu l i REL v l i ch bung phm. Ch khi n trong r1.

www. Beenvn.com - T Sch Online

Bi 9: Vi t chng trnh , m i l n nh n kha i n SP1 trn chn 17 (p3.7) th Led D1 trn chn 1 (p1.0), nh p nhy. Khi nh n SP1 l n n a n Led D2 trn chn 2 nh p nhy, nh n SP1 l n n a n Led D3 trn chn 3 nh p nhy v nh n SP1 l n n a th n Led D4 trn chn 4 nh p nhy, v qui trnh ti p t c l p l i nh trn.

www. Beenvn.com - T Sch Online

ID thanh K1 L1 L2 L3 L4 ORG START:

c a ch 30h nh ngha l ID. BIT P3.7 ; Chn p3.7 nh ngha v i tn l K1 BIT P1.0 ; Chn p1.0 nh ngha v i tn l L1. BIT P1.1 ; Chn p1.1 nh ngha v i tn l L2. BIT P1.2 ; Chn p1.2 nh ngha v i tn l L3. BIT P1.3 ; Chn p1.3 nh ngha v i tn l L4. 0000h MOV ID,#00H ; Tr kh i u c a ID l 0. JB K1,REL ; Cha nh n phm th nh y n tn nhn REL. LCALL DELAY10MS ; G i chng trnh lm tr 10ms (trnh rung phm). JB K1,REL ; Cha nh n phm th nh y n tn nhn REL. INC ID ; Tng tr trong ID. MOV A,ID ; Cho chuy n n i dung trong ID v thanh ghi a. CJNE A,#04,REL ; Cho so snh a v i #04 pht hi n s l n nh n MOV JNB ID,#00H K1,$ ; Tr ; tr Ch trong ID bung v tr phm o. K1

EQU 30H

; L y thanh nh

K1 REL:

www. Beenvn.com - T Sch Online

MOV A,ID a. CJNE A,#00H,IS0 nh n CPL L1 LCALL DELAY SJMP START CJNE A,#01H,IS1 CPL L2 LCALL DELAY SJMP START CJNE A,#02H,IS2 CPL L3 LCALL DELAY SJMP START START IS2: nh n CJNE A,#03H,IS3 CPL L4 LCALL DELAY SJMP START LJMP START MOV R6,#20

; Cho chuy n n i dung trong ID v thanh ghi l n K1 ; L y b L1 t t/m Led D1 ; G i chng trnh lm tr v i tn nhn l delay. ; Nh y khng i u ki n v tn nhn START ; Cho so snh a v i #01 pht hi n s l n K1 ; L y b L2 t t/m Led D2 ; G i chng trnh lm tr v i tn nhn l delay. ; Nh y khng i u ki n v tn nhn START ; Cho so snh a v i #02 pht hi n s l n K1 ; L y b L3 t t/m Led D3 ; G i chng trnh lm tr v i tn nhn l delay. ; Nh y khng i u ki n v tn nhn l n K1 ; L y b L4 t t/m Led D4 ; G i chng trnh lm tr v i tn nhn l delay. ; Nh y khng i u ki n v tn nhn START ; Nh y khng i u ki n v tn nhn START ; MOV DJNZ DJNZ MOV LCALL DJNZ ; D ng bin d ch t i y. Chng trnh lm tr R7,#248 R7,$ R6,LOOP1 RET R5,#20 DELAY10MS R5,LOOP2 RET ; Cho so snh a v i #03 pht hi n s ; Cho so snh a v i #00 pht hi n s

IS0: nh n

IS1: nh n

IS3: DELAY10MS: LOOP1:

DELAY: LOOP2:

END

Phn tch cch vi t cc cu l nh:


B n hy ch n l nh so snh c i u ki n, dng pht hi n cc m trng nhau hay khc nhau v t a ra h ng s l v n . Th d :
CJNE A,#00H,IS0 ; Cho so snh a v i s #00, n u khc th nh y n tn nhn IS0, n u ng th xu ng thi hnh dng l nh bn d i. CPL L1 ; L y b L1 t t/m Led D1.

www. Beenvn.com - T Sch Online

LCALL DELAY SJMP START

; G i chng trnh lm tr v i tn nhn l delay. ; Nh y khng i u ki n v tn nhn START.

Bi 10: Vi t chng trnh m ch m s l n nh n phm SP1 trn chn 17 (p3.7), k t qu hi n th trn n s dng Led 7 o n. S m b t u t 00, 01, 02,...99.

www. Beenvn.com - T Sch Online

Count SP1 ORG 0000h START: NEXT: a.

EQU 30H BIT P3.7 MOV Count,#00H MOV A,Count MOV B,#10 DIV AB MOV DPTR,#TABLE

; t tn thanh ghi 8 bit 30h l Count. ; t tn bit p3.7 l SP1. ; B t u t thanh ghi Reset 0000h ; t Count v m c kh i u l s 0. ; Cho chuy n n i dung trong Count vo thanh ghi ; t s 10 vo thanh ghi b. ; Cho s trong a chia cho 10 (s trong b). ; t a ch c a b ng c tn l Table vo thanh con tr . ; L y s t b ng theo tr c trong a v k t qu gi a. ; Cho xu t n i dung trong a ra port 1. ; By gi cho chuy n n i dung trong thanh ghi vo a. ; L i l y s t b ng theo tr c trong a v k t qu trong a. ; Cho xu t n i dung trong a ra port 2. ; Ch bung phm SP1. ; Ch nh n phm SP1. ; G i chng trnh tr 10ms, trnh hi n t ng phm. ; Ki m tra bung phm ; Tng n i dung trong Count ln theo b c ; Cho chuy n n i dung trong Count vo thanh a. ; So snh tr trong a b ng 100 cha? N u cha ti p t c. ; Quay l i t u. ; Lm tr 10ms trnh nh h ng c a rung MOV DJNZ DJNZ

ghi MOVC A,@A+DPTR trong MOV P1,A MOV A,B b MOVC A,@A+DPTR gi WT: WAIT: rung JB SP1,WAIT INC Count +1. MOV A,Count ghi CJNE A,#100,NEXT th DELY10MS: phm. D1: LJMP MOV R6,#20 START MOV P2,A JNB SP1,WT JB SP1,WAIT LCALL DELY10MS

TABLE: 7 END

R7,#248 R7,$ R6,D1 RET DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ; B ng m s dng cho Led o n. ; D ng bin d ch t i dng ny.

Phn tch cch vi t cc cu l nh:


Trong o n chng trnh trn, chng ta c dng n l nh lm php ton chia: div ab

www. Beenvn.com - T Sch Online

B n l y s c trong a chia cho b. K t qua s chia c trong a v s d c trong b. chia a cho 10, B n ph i n p vo thanh ghi b tr 10 v i cu l nh: mov b, #10. B n ch n trnh lm tr 10ms, y dng trnh nh h ng c sai do rung phm, v m i khi B n nh n phm, trong kho ng th i gian ng n phm b rung v t o ra s ghi nh n sai. Dng cu l nh so snh (cjne: Compare Jump i u ki n Non-Zero) ki m tra tr trong thanh ghi a. y l m t cu l nh r t th ng dng.

T m k t:
Qua 10 bi th c hnh c b n trn, B n th y chng ta c th dng cc cu l nh (thu c ph m vi ph n m m) khai thc cc ph n c ng m t cch d dng, hi u qu , l i m c s c c a lo i ic vi i u khi n. Ngy nay lo i ic ny c ng d ng r t r ng ri v r t a d ng. L n l t trong chuyn m c "Trao i h c t p" c a c a hng Phc_Lan-Shop, ti s gi i thi u n B n nhi u ng d ng c th khc n a, nh t l cc ng d ng c th t o ra s n ph m v lm kinh t c.Mong lo t bi vi t ny c B n h ng ng v gi i thi u cho nhi u B n cng vo c. a t !

Nh n

b n:

Cc linh ki n dng cho cc bi th c hnh trn B n u c th tm th y c a hng Phc Lan Shop. Ngoi ra y B n cn c tham v n tm hi u cc ch th c t hn, c hi u qu kinh t v i B n hn.

www. Beenvn.com - T Sch Online

You might also like