Ti liu thc hnh Vi iu khin
BI 2: CC LNH C BN CA 89C51MC CH
Gip sinh vin kho st cc vn sau: S dng phn mm Proteus m phng mch in. Thc hin m phng mt s lnh ca 89C51. My vi tnh. Phn mm Proteus
THIT B S DNG
1. C s l thuytM phng 89C51 thc hin qu trnh m phng 89C51 trong Proteus, ta cn thc hin cc bc sau: Bc 1: V mch nguyn l. Bc 2: nh ngha chng trnh dch
Chn menu Source > Define Code Generation Tools
Sau thc hin chn chng trnh dch mong mun. y ta thc hin m phng cho 89C51 nn chn chng trnh ASEM51.
Phm Hng Kim Khnh
Trang 9
Ti liu thc hnh Vi iu khin
Phn Tools: chn ASEM51, phn Command Line: g vo %1. Bc 3: nh ngha file chng trnh cho 89C51. Chn menu Source > Add/Remove Source File
Chn phn Code Generation Tool l ASEM51.
To file mi
Do cha c chng trnh cho 89C51, ta nhn vo nt New to file. Trong phn File name, ta g vo tn chng trnh (gi s g vo bai2).
Phm Hng Kim Khnh
Trang 10
Ti liu thc hnh Vi iu khin
Nu cha c file bai2.ASM, Proteus s xut hin thng bo yu cu to file, nhn Yes to:
Sao khi to file thnh cng, trn menu Source s xut hin thm file bai2.ASM.
-
Bc 4: nh ngha file thc thi cho 89C51
Chn file bai2.ASM son tho chng trnh ngun, nhp vo END v nhn nt Save.
Nhn Save lu
Sau khi lu file ngun, ta thc hin dch chng trnh ngun.
Phm Hng Kim Khnh
Trang 11
Ti liu thc hnh Vi iu khin
Khi bin dch, nu c li, chng trnh dch s thng bo li, nu khng th s to ra file bai2.HEX.
Thng bo chng trnh khng c li
Thc hin gn file thc thi cho 89C51 bng cch nhn chut phi ln 89C51 chn (89C51 s chuyn sang mu ) ri nhn chut tri m ca s thuc tnh ca 89C51.
Nt Browse: M chng trnh thc thi
Nhn vo nt Browse (hnh v trn) m chng trnh thc thi, chn chng trnh l bai2.HEX
Phm Hng Kim Khnh
Trang 12
Ti liu thc hnh Vi iu khin
Nhn nt Open m file, khi trong thuc tnh Program File ca 89C51 s c tn chng trnh l bai2.HEX.
Sau khi gn file thc thi cho 89C51, ta ch cn thc hin sa chng trnh ngun v bin dch li m khng cn gn li file thc thi. Cc lnh c bn Lnh MOV: di chuyn d liu MOV A,30h ; chuyn ni dung ca nh 30h vo thanh ghi A MOV A,#30h ; chuyn gi tr 30h vo thanh ghi A MOV A,R0 ; chuyn ni dung ca thanh ghi R0 vo thanh ghi A MOV A,@R0 ; chuyn ni dung ca nh vo thanh ghi A, a ch ca nh cha trong thanh ghi R0 (nu R0 = 30h th lnh ny tng ng lnh MOV A,30h) Lnh INC: tng gi tr ln 1 Lnh DEC: gim gi tr xung 1 Lnh SJMP: lnh nhy khng iu kinTrang 13
VD:
Phm Hng Kim Khnh
Ti liu thc hnh Vi iu khin
-
Lnh DJNZ: gim v nhy khi gi tr khc 0. Lnh DJNZ thng dng to vng lp v c dng sau: MOV R7,#s_ln_lp
loop: DJNZ R7,loop Lnh CJNE: so snh v nhy nu khng bng CJNE A,#10,Khac ; on chng trnh x l khi ni dung thanh ghi A l 10 SJMP Tiep Khac: JC Lonhon ; on chng trnh x l khi ni dung thanh ghi A < 10 SJMP Tiep Lonhon: ; on chng trnh x l khi ni dung thanh ghi A > 10 Tiep: Lnh CALL: gi chng trnh con Lnh RET, RETI: lnh tr v t chng trnh con hay chng trnh phc v ngt Lnh DIV AB: chia ni dung thanh ghi A cho thanh ghi B, thng s cha trong A v s d cha trong B. Lnh MOVC: chuyn gi tr hng s vo thanh ghi A, thng dng cho mc ch tra bng MOV DPTR,#MaLed7 MOV A,#2 MOVC A,@A+DPTR Lnh PUSH: lu tr ni dung thanh ghi vo stack Lnh POP: ly ni dung t stack. V s mch nh hnh v: Cc linh kin cho nh sau: Keywords Category Sub-category Results Led Optoelectronics LEDs LED-RED Resistor Resistors Resistor packs RX8Phm Hng Kim Khnh Trang 14
VD:
VD: Ly phn t th 2 ca bng MaLed7:
2. Tin trnh thc hin
Ti liu thc hnh Vi iu khin
Resistor 8951
Resistors All
Resistor packs RESPACK-8 All AT89C51
Hin th d liu ra Led Thc thi chng trnh sau v quan st trng thi ca Led: MOV P0,#0Fh ; Sng 4 Led phi END Xo in tr thanh RP1 ri thc thi chng trnh, quan st kt qu. Rt ra kt lun v tc dng ca in tr ko ln ngun RP1. Thay i chng trnh 4 Led bn phi sng, 2 Led gia sng, 2 Led ngoi cng sng.
- Thc thi chng trnh sau v quan st trng thi ca Led: Main: MOV P0,#0FFh CALL Delay MOV P0,#0 CALL Delay SJMP main Delay: PUSH 07h PUSH 06h MOV R6,#255 Delay1: MOV R7,#255 DJNZ R7,$Phm Hng Kim Khnh Trang 15
; Sng 8 Led ; Tt 8 Led
Ti liu thc hnh Vi iu khin
DJNZ R6,Delay1 POP 06h POP 07h RET END Thay on in m bng on chng trnh sau v quan st trng thi cc Led: MOV P0,#01h CALL Delay MOV P0,#02h CALL Delay MOV P0,#04h CALL Delay MOV P0,#08h CALL Delay MOV P0,#10h CALL Delay MOV P0,#20h CALL Delay MOV P0,#40h CALL Delay MOV P0,#80h CALL Delay SJMP main Thay i chng trnh Led sng t trong ra ngoi. Thay th on in m bng on chng trnh sau v quan st trng thi cc Led: MOV R0,#0 MOV DPTR,#MaLed Lap: MOV A,R0 MOVC A,@A+DPTR MOV P0,APhm Hng Kim Khnh Trang 16
Main:
Main:
Ti liu thc hnh Vi iu khin
CALL Delay INC R0 CJNE R0,#9,Lap SJMP main MaLed: DB 00h,01h,03h,07h,0Fh,1Fh,3Fh,7Fh,0FFh - Thay i chng trnh Led sng tu . Kim tra cc lnh s hc Thc thi chng trnh sau v kim tra kt qu: MOV A,#19h ADD A,#72h MOV P0,A END Thc thi chng trnh sau v kim tra kt qu: MOV A,#57h MOV B,#10 DIV AB MOV P0,A MOV A,B MOV P1,A END
Phm Hng Kim Khnh
Trang 17
Ti liu thc hnh Vi iu khin
BI 3: IU KHIN LED 7 ONMC CH
Gip sinh vin kho st cc vn sau: S dng phn mm Proteus m phng mch in. Tm hiu cc phng php hin th d liu trn Led 7 on dng 89C51. My vi tnh. Phn mm Proteus
THIT B S DNG
1. C s l thuytCu trc v m hin th d liu trn Led 7 on Dng Leda f g e d c dp b
-
Led Anode chungCOM
D1 a
D2 b
D3 c
D4 d
D5 e
D6 f
D7 g
D8 dp
a
b
c
d
e
g
f
dp
i vi dng Led anode chung, chn COM phi c mc logic 1 v mun sng Led th tng ng cc chn a f, dp s mc logic 0. Bng m cho Led Anode chung (a l MSB, dp l LSB): S 0 1 2 3 4 5Phm Hng Kim Khnh
a 0 1 0 0 1 0
b 0 0 0 0 0 1
c 0 0 1 0 0 0
d 0 1 0 0 1 0
e 0 1 0 1 1 1
f 0 1 1 1 0 0
g dp M hex 1 1 03h 1 1 9Fh 0 1 25h 0 1 0Dh 0 1 99h 0 1 49hTrang 18
Ti liu thc hnh Vi iu khin
6 7 8 9
0 0 0 0
1 0 0 0
0 0 0 0
0 1 0 0
0 1 0 1
0 1 0 0
0 1 0 0
1 1 1 1
41h 1Fh 01h 09h
Bng m cho Led Anode chung (a l LSB, dp l MSB): S dp g f e d c b a M hex 0 1 1 0 0 0 0 0 0 0C0h 1 1 1 1 1 1 0 0 1 0F9h 2 1 0 1 0 0 1 0 0 0A4h 3 1 0 1 1 0 0 0 0 0B0h 4 1 0 0 1 1 0 0 1 99h 5 1 0 0 1 0 0 1 0 92h 6 1 0 0 0 0 0 1 0 82h 7 1 1 1 1 1 0 0 0 0F8h 8 1 0 0 0 0 0 0 0 80h 9 1 0 0 1 0 0 0 0 90h Led Cathode chungaD1 a
bD2 b
cD3 c
dD4 d
eD5 e
gD6 f
fD7 g
dpD8 dp
COM
i vi dng Led Cathode chung, chn COM phi c mc logic 0 v mun sng Led th tng ng cc chn a f, dp s mc logic 1. Bng m cho Led Cathode chung (a l MSB, dp l LSB): S 0 1 2 3 4 5 6 7 8 9 a 1 0 1 1 0 1 1 1 1 1 b 1 1 1 1 1 0 0 1 1 1 c 1 1 0 1 1 1 1 1 1 1 d 1 0 1 1 0 1 1 0 1 1 e 1 0 1 0 0 0 1 0 1 0 f 1 0 0 0 1 1 1 0 1 1 g dp M hex 0 0 0FCh 0 0 60h 1 0 0DAh 1 0 0F2h 1 0 66h 1 0 0B6h 1 0 0BEh 0 0 0E0h 1 0 0FEh 1 0 0F6h
Phm Hng Kim Khnh
Trang 19
Ti liu thc hnh Vi iu khin
Bng m cho Led Anode chung (a l LSB, dp l MSB): S dp g f e d c b a M hex 0 0 0 1 1 1 1 1 1 3Fh 1 0 0 0 0 0 1 1 0 06h 2 0 1 0 1 1 0 1 1 5Bh 3 0 1 0 0 1 1 1 1 4Fh 4 0 1 1 0 0 1 1 0 66h 5 0 1 1 0 1 1 0 1 6Dh 6 0 1 1 1 1 1 0 1 7Dh 7 0 0 0 0 0 1 1 1 07h 8 0 1 1 1 1 1 1 1 7Fh 9 0 1 1 0 1 1 1 1 6Fh Dng phng php qut Khi kt ni chung cc ng d liu ca Led 7 on (hnh v), ta khng th cho cc Led ny sng ng thi (do nh hng ln nhau gia cc Led) m phi thc hin phng php qut, ngha l ti mi thi im ch sng mt Led v tt cc Led cn li. Do hin tng lu nh ca mt, ta s thy cc Led sng ng thi.
Phm Hng Kim Khnh
Trang 20
Ti liu thc hnh Vi iu khin
Dng phng php cht Khi thc hin tch ring cc ng d liu ca Led, ta c th cho php cc Led sng ng thi m s khng c hin tng nh hng gia cc Led. IC cht cho php lu tr d liu cho cc Led c th s dng l 74LS373, 74LS374.
2. Tin trnh thc hinDng phng php qut S dng mch nh hnh v phn trn vi cc linh kin: Keywords 7seg 8951 Pnp Resistor main: MOV CLR CALL SETB MOV CLR CALL SETBPhm Hng Kim Khnh
Category All All Transistor Resistors
Sub-category All All Generic Resistor Packs
Results Value 7SEG-COM-ANODE AT89C51 PNP RX8 220
Thc hin on chng trnh sau hin th s 26 ra 2 Led 7 on: P2,#82h P1.0 Delay P1.0 P2,#0A4H P1.1 Delay P1.1Trang 21
; M ca s 6 ; Hin s
; M ca s 2
Ti liu thc hnh Vi iu khin
SJMP Delay: PUSH MOV DJNZ POP RET END -
main 07H R7,#100 R7,$ 07H
Sa on chng trnh trn hin th s 15, 37 ra 2 Led 7 on. B cc lnh SETB v nhn xt tc dng ca cc lnh ny.
Dng phng php cht S dng mch nh hnh v phn trn vi cc linh kin: Keywords 7seg 8951 374 Resistor Category All All 74 TTL Series Resistors Sub-category All All All Resistor Packs Results Value 7SEG-COM-ANODE AT89C51 74LS374 RX8 220
Thc hin on chng trnh sau hin th s 08 ra 2 Led 7 on: MOV CLR SETB MOV CLR SETB P2,#80h P1.0 P1.0 P2,#0C0H P1.1 P1.1 ; M ca s 0 ; M ca s 8
END Thc hin on chng trnh trn hin th s tng dn t 00 n 99 ra 2 Led 7 on. MOV lap: MOV MOV DIV MOVPhm Hng Kim Khnh
main: 30H,#0 A,30H B,#10 AB ; A cha s hng chc, B, cha s ; hng n v ; nh 30h cha gi tr xut ra Led
DPTR,#Maled7Trang 22
Ti liu thc hnh Vi iu khin
MOVC MOV CLR SETB MOV MOVC MOV CLR SETB CALL INC MOV CJNE SJMP Maled7: DB Delay: PUSH PUSH MOV Delay1: MOV DJNZ DJNZ POP POP RET END -
A,@A+DPTR P2,A P1.1 P1.1 A,B A,@A+DPTR P2,A P1.0 P1.0 Delay 30H A,30H A,#100,lap main
; Chuyn sang m Led 7 on
; Xut s hng chc
; Xut s hng n v
; Tng nh 30h ; Nu gi tr nh tng n 100 ; th gim v 0
;----------------0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h ;----------------07 06 R6,#255 R7,#255 R7,$ R6,Delay1 06 07
Sa on chng trnh trn gi tr xut ra 2 Led 7 on tng dn t 00 - 59. Sa on chng trnh trn gi tr xut ra 2 Led 7 on tng dn t 00 - 23.Trang 23
Phm Hng Kim Khnh
Ti liu thc hnh Vi iu khin
-
Sa on chng trnh trn gi tr xut ra 2 Led 7 on gim dn t 99 - 00. Sa on chng trnh trn gi tr xut ra 2 Led 7 on gim dn t 59 - 00. Sa on chng trnh trn gi tr xut ra 2 Led 7 on gim dn t 23 - 00.
Phm Hng Kim Khnh
Trang 24
Ti liu thc hnh Vi iu khin
BI 4: CNG TC NHNMC CH
Gip sinh vin kho st cc vn sau: S dng phn mm Proteus m phng mch in. Tm hiu cch thc kim tra cng tc c nhn hay khng v cc ng dng ca chng dng trong 89C51. My vi tnh. Phn mm Proteus
THIT B S DNG
1. C s l thuytCng tc n Cc phm n dng iu khin khi h thng khng i hi nhiu gi tr nhp (chng nh ch cn cc iu khin ng m thit b). Khi thc hin kim tra phm nhn, vn cn thit l phi thc hin chng di. Qu trnh chng di c th thc hin bng phn mm: Do thi gian di ca phm vo khong 20ms nn qu trnh chng di bng phn mm n gin l to mt thi gian tr ln chng trnh b qua nh hng khi di. Khi thc hin giao tip gia cng tc n v vi iu khin MCS-51 th cn lu phi set bit tng ng ca vi iu khin ln mc logic 1 mi c th c d liu vo. Phn cng giao tip c th m t nh hnh v, tuy nhin i vi h MCS-51, cc port c in tr ko ln ngun (tr port 0) nn i vi s hnh a v c c th khng cn in tr R.VCC R SW To uP SW To uP To uP R VCC VCC R SW
a
b
c
Bn phm Hex khi khng nhn phm th hng ca bn phm Hex ni vi Vcc thng qua in tr R nn c mc logic 1. phn bit c trng thi ca phm nhn th mc logic khi nhn phm phi l mc logic 0. M khi nhn mt phm no th tng ng hng v ct ca bn phm Hex s kt ni vi nhau. Do , thc hin kim tra mt phm th ta phi cho trc ct cha phm tng ng mc logic 0, sau kim tra hng ca phm, nu hng = 0 th c nhn phm cn hng = 1 th khng nhn phm.Phm Hng Kim Khnh Trang 25
Ti liu thc hnh Vi iu khin
V d nh mun kim tra phm 4 th ta cho ct cha phm 4 mc logic 0 (chn 5 ca J1, cc ct khc = 1, ngha l d liu ti J1 l 1000xxxxb), sau thc hin kim tra chn 2 ca J1 (hng ca phm 4), nu chn ny = 0 th phm 4 c nhn.VCC
R
R
R
R 0 1 2 3
4
5
6
7
8 CON8 1 2 3 4 5 6 7 8 J1
9
A
B
C
D
E
F
2. Tin trnh thc hinCng tc n S dng mch nh hnh v trang bn vi cc linh kin: Keywords 7seg 8951 374 Button Resistor MOV SJMP Main: JNB JNB SJMP SW1: INC 30H ; Tng nh 30hTrang 26
Category All All 74 TTL Series Switches & Relays Resistors 30H,#0 Hienthi P3.0,Sw1 P3.1,Sw2 Main
Sub-category All All All All Resistor Packs
Results Value 7SEG-COM-ANODE AT89C51 74LS374 Button RX8 220
Thc hin chng trnh sau:
; Nu P3.0 = 0 th nhn SW1 ; Nu P3.1 = 0 th nhn SW2
Phm Hng Kim Khnh
Ti liu thc hnh Vi iu khin
MOV CJNE MOV SJMP ;------------Sw2: DEC MOV CJNE MOV SJMP ;------------Hienthi: MOV MOV DIV MOV MOVC MOV CLR SETB MOV MOV MOVC MOV CLR SETB CALL SJMP ;-------------Delay: PUSH PUSH MOV
A,30H A,#100,Hienthi 30H,#0 Hienthi ; Nu gi tr nh 30h = 100 ; th gn 30h = 0 ; Hin th ra Led 7 on
30H A,30H A,#255,Hienthi 30H,#99 Hienthi
; Gim nh 30h ; Nu gi tr gim = -1 (255) ; th gn 30h = 99
A,30H B,#10 AB DPTR,#Maled7 A,@A+DPTR P2,A P1.1 P1.1 A,B DPTR,#Maled7 A,@A+DPTR P2,A P1.0 P1.0 Delay Main
Maled7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
07 06 R6,#100Trang 27
Phm Hng Kim Khnh
Ti liu thc hnh Vi iu khin
Delay1: MOV DJNZ DJNZ POP POP RET END Nhn vo cc cng tc v quan st trng thi cc Led. R7,#255 R7,$ R6,Delay1 06 07
-
B lnh CALL Delay trong chng trnh trn v quan st trng thi cc Led, c nhn xt g so vi khi c thi gian Delay.
Bn phm Hex S dng mch nh hnh v trang bn vi cc linh kin: Keywords 7seg 8951 374 Resistor Keypad Main: MOV JNB P3,#0FEH P3.4,Sw7Trang 28
Category All All 74 TTL Series Resistors Switches & Relays
Sub-category All All All Resistor Packs All
Results 7SEG-COM-ANODE AT89C51 74LS374 RX8 KEYPADSMALLCALC
Value
220
Thc hin chng trnh sau:; Chn ct cha cc phm 7,8,9,
Phm Hng Kim Khnh
Ti liu thc hnh Vi iu khin
JNB JNB JNB MOV JNB JNB JNB JNB MOV JNB JNB JNB JNB MOV JNB JNB JNB JNB SJMP Main ;------------SW0: MOV 30H,#0 SJMP Hienthi ;------------SW1: MOV 30H,#1 SJMP Hienthi ;------------SW2: MOV 30H,#2 SJMP Hienthi ;------------SW3: MOV 30H,#3 SJMP Hienthi ;------------SW4:
P3.5,Sw8 P3.6,Sw9 P3.7,Swchia P3,#0FDH P3.4,Sw4 P3.5,Sw5 P3.6,Sw6 P3.7,Swnhan P3,#0FBH P3.4,Sw1 P3.5,Sw2 P3.6,Sw3 P3.7,Swtru P3,#0F7H P3.4,Swon P3.5,Sw0 P3.6,Swbang P3.7,Swcong ; Chn ct cha cc phm ON/C,0,=,+ ; Chn ct cha cc phm 1,2,3,; Chn ct cha cc phm 4,5,6,X
Phm Hng Kim Khnh
Trang 29
Ti liu thc hnh Vi iu khin
MOV 30H,#4 SJMP Hienthi ;------------SW5: MOV 30H,#5 SJMP Hienthi ;------------SW6: MOV 30H,#6 SJMP Hienthi ;------------SW7: MOV 30H,#7 SJMP Hienthi ;------------SW8: MOV 30H,#8 SJMP Hienthi ;------------SW9: MOV 30H,#9 SJMP Hienthi ;------------Swon: MOV 30H,#10 SJMP Hienthi ;------------Swbang: MOV 30H,#11 SJMP Hienthi ;------------Swcong: MOV 30H,#12 SJMP Hienthi ;------------Swtru: MOV 30H,#13Phm Hng Kim Khnh Trang 30
Ti liu thc hnh Vi iu khin
SJMP Hienthi ;------------Swnhan: MOV 30H,#14 SJMP Hienthi ;------------Swchia: MOV 30H,#15 SJMP Hienthi ;------------Hienthi:
MOV MOV DIV MOV MOVC MOV CLR SETB MOV MOV MOVC MOV CLR SETB CALL LJMP ;-------------Delay: PUSH PUSH MOV Delay1: MOV
A,30H B,#10 AB DPTR,#MALED7 A,@A+DPTR P2,A P1.1 P1.1 A,B DPTR,#MALED7 A,@A+DPTR P2,A P1.0 P1.0 Delay Main
Maled7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
07 06 R6,#100 R7,#255Trang 31
Phm Hng Kim Khnh
Ti liu thc hnh Vi iu khin
DJNZ DJNZ POP POP RET END
R7,$ R6,Delay1 06 07
-
Sa chng trnh : Nhn phm +: thc hin cng ni dung nh 30h vi 20 v xut ra 2 Led 7 on. Nhn phm -: thc hin tr ni dung nh 30h vi 1 v xut ra 2 Led 7 on. Nhn phm x: thc hin nhn ni dung nh 30h vi 3 v xut ra 2 Led 7 on. Nhn phm : thc hin chia ni dung nh 30h vi 2 v xut kt qu ra 2 Led 7 on. Nhn phm ON/C: thc hin xo ni dung nh 30h (gn bng 0) v xut ra 2 Led 7 on.
Phm Hng Kim Khnh
Trang 32
Ti liu thc hnh Vi iu khin
BI 5: TIMERMC CH
Gip sinh vin kho st cc vn sau: S dng phn mm Proteus m phng mch in. Tm hiu cch s dng Timer trong 89C51. My vi tnh. Phn mm Proteus
THIT B S DNG
1. C s l thuytVi iu khin 89C51 c hai thanh ghi timer/counter 16 bit. Cc thanh ghi ny c th hot ng mt trong hai trng thi timer hoc counter. Mi thanh ghi gm 2 thanh ghi 8 bit ghp li:PULSE INPUT THx : 8 BIT TLx : 8 BIT
Cu trc ca b Timer/ Counter trong 89C51 nh hnh sau.
Hot ng ca b Timer/Counter c iu khin bi hai thanh ghi TCON v TMODPhm Hng Kim Khnh Trang 33
Ti liu thc hnh Vi iu khin
Thanh ghi TCON (timer control): L thanh ghi 8 bit, c th truy xut byte hoc bit dng iu khin hot ng ca Timer.7 TF1 6 5 4 TR0 3 IE1 2 1 0 IT0
TR1 TF0
IT1 IE0
TF1: bo trng thi trn cho b Timer/Counter1 TR1: iu khin cp xung cho b Timer/Counter1 TF0: bo trng thi trn cho b Timer/Counter0 TR0: iu khin cp xung cho b Timer/Counter0 IE1, IT1, IE0, IT0: s dng cho ngt ngoi 1 v ngt ngoi 0 (khng dng cho Timer). Thanh ghi TMOD (timer mode): L thanh ghi 8 bit, ch c th truy xut byte dng xc nh ch hot ng ca Timer.7 GATE 6 5 4 M0 3 GATE 2 C/T 1 M1 0 M0
C/T M1
IEU KHIEN TIMER 1
IEU KHIEN TIMER 0
GATE, C/ T : iu khin trng thi hot ng cho Timer/ M1, M0: chn ch hot ng cho Timer/Counter M1 M0 CH 0 0 0 0 1 1 1 0 2 1 1 3 a/ Ch 0:PULSE INPUT THx : 8 BIT TLx : 5 BIT TFx
M T Timer/Counter 13 bit Timer/Counter 16 bit Timer/Counter 8 bit, auto reload Timer/Counter 8 bit
Thanh ghi THx v TLx kt hp to thnh b Timer/Counter 13 bit, khi trn 13 bit th c TFx s t ln logic 1.
Phm Hng Kim Khnh
Trang 34
Ti liu thc hnh Vi iu khin
b/ Ch 1 (16 bit):PULSE INPUT THx : 8 BIT TLx : 8 BIT TFx
c/ Ch 2 (8 bit Auto-Reload):PULSE INPUT TLx : 8 BIT TFx
OVERFLOW
THx : 8 BIT
TLx c np gi tr ban u t THx v bt u m t gi tr ny khi c xung ng vo, khi trn th TFx s t ln logic 1 ng thi kch hot b kha np gi tr trong THx vo TLx. d/ Ch 4:PULSE INPUT TL0 : 8 BIT TF0
OSC:12
TH0 : 8 BIT
TF1
TR1
Trong ch ny, TH1 v TL1 khng c s dng thay vo l TH0 v TL0 hot ng nh 2 b Timer 8 bit (TL0) v Timer/Counter 8 bit (TL0). Tuy nhin, tn hiu m xung cho TH0 khng phi l TR0 m l TR1.
2. Tin trnh thc hinS dng mch nh hnh v trang bn vi cc linh kin: Keywords 7seg 8951 374 Resistor Category All All 74 TTL Series Resistors Sub-category All All All Resistor Packs Results Value 7SEG-COM-ANODE AT89C51 74LS374 RX8 220Trang 35
Phm Hng Kim Khnh
Ti liu thc hnh Vi iu khin
- Thc hin chng trnh sau (to mt mch ng h m pht, giy): MOV MOV MOV Lap: MOV MOV DIV MOV MOVC MOV CLR SETB MOV MOVC MOV A,30H B,#10 AB DPTR,#Maled7 A,@A+DPTR P2,A P1.1 P1.1 A,B A,@A+DPTR P2,ATrang 36
TMOD,#01H 30H,#0 31H,#0
; S dng Timer0, ch 16 bit
Phm Hng Kim Khnh
Ti liu thc hnh Vi iu khin
CLR SETB MOV MOV DIV MOV MOVC MOV CLR SETB MOV MOVC MOV CLR SETB CALL INC MOV CJNE MOV INC MOV CJNE MOV SJMP Delay: PUSH MOV SETB MOV MOV
P1.0 P1.0 A,31H B,#10 AB DPTR,#Maled7 A,@A+DPTR P2,A P1.3 P1.3 A,B A,@A+DPTR P2,A P1.2 P1.2 Delay 31H A,31H A,#60,Lap 31H,#0 30H A,30H A,#60,Lap 30H,#0 Lap ; 60 pht th ; pht = 0 ; 60s (1 pht) th ; giy = 0 ; v tng pht ln 1
Maled7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H 07 R7,#20 TR0 TH0,#HIGH(-50000) TL0,#LOW(-50000)Trang 37
Delay1: ; To tr 50000 chu k = 50000s = 50ms
Phm Hng Kim Khnh
Ti liu thc hnh Vi iu khin
JNB CLR DJNZ CLR POP RET END CALL INC MOV CJNE MOV INC MOV CJNE MOV SJMP PUSH SETB MOV MOV JNB CLR CLR POP RET END
TF0,$ ; Ch n khi Timer trn TF0 R7,Delay1 ; R7 = 20 TR0 07 lp li 20 ln to tr 20*50ms
Sa chng trnh thc hin m giy v %giy. Delay 31H A,31H A,#100,Lap ; 100% s (1 s) th 31H,#0 30H A,30H A,#60,Lap 30H,#0 Lap 07 TR0 TH0,#HIGH(-10000) TL0,#LOW(-10000) TF0,$ TF0 TR0 07 ; 60 s th ; giy = 0 ; %giy = 0 ; v tng giy ln 1
Delay: ; To tr 10ms
Phm Hng Kim Khnh
Trang 38
Ti liu thc hnh Vi iu khin
BI 6: INTERRUPT (NGT)MC CH
Gip sinh vin kho st cc vn sau: S dng phn mm Proteus m phng mch in. Tm hiu cch s dng ngt trong 89C51. My vi tnh. Phn mm Proteus
THIT B S DNG
1. C s l thuytThanh ghi IE (Interrupt Enable Register) Thanh ghi IE dng cho php hay cm cc ngt hot ng. Mc nh khi khi ng chng trnh th tt c cc ngt u b cm. Chc nng cc bit trong thanh ghi IE cho trong bng sau:
D7 D6 D5 D4 D3 EA -
D2
D1
D0
ES ET1 EX1 ET0 EX0
EA ES ET1
= 0: cm tt c cc ngt = 1: cho php ngt tu theo trng thi cc bit iu khin tng ng = 0: cm ngt ti port ni tip = 1: cho php ngt ti port ni tip = 0: cm ngt ti Timer 1 = 1: cho php ngt ti Timer 1
EX1 = 0: cm ngt ti ngt ngoi 1 ( INT1 : chn P3.3) = 1: cho php ngt ti ngt ngoi 1 ET0 = 0: cm ngt ti Timer 0 = 1: cho php ngt ti Timer 0 EX0 = 0: cm ngt ti ngt ngoi 1 ( INT0 : chn P3.2) = 1: cho php ngt ti ngt ngoi 1 cho php ngt ti Timer 0, ta phi c: EA = 1 v ET0 = 1. Ni dung ca thanh ghi IE khi l:
Phm Hng Kim Khnh
Trang 39
Ti liu thc hnh Vi iu khin
D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 0 0 0 1 0 = 82h
Chng trnh c th thc hin nh sau: SETB EA SETB ET0 Hay c th vit: MOV IE,#82h Danh sch cc ngt trong 89C51 - Ngt ngoi 0: a ch vector ngt Khai bo s dng ngt S kin ngt: 0003H - SETB EA - SETB EX0 - SETB IT0 (ngt cnh) Xut hin cnh xung (hoc mc thp) ti chn INT0
- Ngt timer0: a ch vector ngt Khai bo s dng ngt S kin ngt - SETB - SETB Trn timer 0 000BH EA ET0
- Ngt ngoi 1: a ch vector ngt Khai bo s dng ngt S kin ngt: 00013H - SETB EA - SETB EX1 - SETB IT1 (ngt cnh) Xut hin cnh xung (hoc mc thp) ti chn INT1
- Ngt timer1: a ch vector ngt Khai bo s dng ngt S kin ngt - SETB - SETB Trn timer 1 0001BH EA ET1
Phm Hng Kim Khnh
Trang 40
Ti liu thc hnh Vi iu khin
- Ngt truyn thng (truyn/nhn UART): a ch vector ngt Khai bo s dng ngt S kin ngt Tc truyn nhn MODE autoreload (timer1) 00023H - SETB EA - SETB ES Nhn c mt byte hoc truyn xong mt byte trong SBUF - TH1 = -3 ; 9600bps - TH1 = -6 ; 4800bps - TH1 = -12 ; 2400bps - TH1 = -24 ; 1200bps
S CHNG TRNH KHI C S DNG NGT:KHAI BO NGT
S kin ngt
Vector ngt: . . RETI
Cu trc chng trnh s dng ngt Chng trnh s dng ngt bao gm 2 phn: phn chng trnh chnh v phn x l ngt. Mt on chng trnh v d s dng ngt ngoi 0 nh sau: ORG LJMP ORG LJMP Main: ; khai bo s dng ngt SETB EA SETB EX0 ; C th thay 2 lnh ny bng lnh MOV IE,#81h ; chng trnh chnh Int0_isr: ; chng trnh phc v ngt RETI END 0 main 0003h int0_isr ; a ch bt u chng trnh ; a ch chng trnh phc v ngt cho INT0
Phm Hng Kim Khnh
Trang 41
Ti liu thc hnh Vi iu khin
VSM Oscilloscope VSM Oscilloscope l thit b cho php hin th dng tn hiu tng t, bao gm 2 knh A v B. VSM c kh nng o 2 tn hiu ng thi. V tr ca Oscilloscope trong ca s thit k nh sau:
Hnh nh ca Oscilloscope khi thit k v thc thi chng trnh nh sau:
Mn hnh hin th dng sng tn hiu
Chn hin th knh 1 hay knh 2
Chn hin th ng thi 2 knh hay v knh 2 theo knh 1
ng b tn hiu (cho php dng tn hiu)
Chn ch hin th cho knh 1: - DC: hin th AC v DC - GND: chnh mc GND - AC: ch hin th ACPhm Hng Kim Khnh
Chnh h s trc tung Y ca knh 2 (bin )
Chnh h s trc honh X (thi gian)
Trang 42
Ti liu thc hnh Vi iu khin
2. Tin trnh thc hinNgt Timer To xung vung S dng mch nh hnh v:
-
Thc hin chng trnh dng ngt Timer 0 to xung vung tn s f = 5 KHz ti P2.0 nh sau: ORG 0000h LJMP main ORG 000Bh LJMP timer0_isr
main: MOV IE,#82h MOV TMOD,#02h MOV TH0,#(-100) ; f = 5KHz MOV TL0,#(-100) ; tr l 100 s SETB TR0 Here: SJMP here ;----------Timer0_isr: CPL P2.0Phm Hng Kim Khnh Trang 43
T = 1/f = 0.2ms = 200 s
thi gian
gi tr m ca Timer l 100
Ti liu thc hnh Vi iu khin
RETI END Thc hin chng trnh dng ngt Timer 0 v Timer 1 ng thi to xung vung tn s f = 5 KHz ti P2.0 v f = 500Hz ti P2.1 nh sau: ORG 0000h LJMP main ORG 000Bh LJMP Timer0_isr ORG 001Bh LJMP Timer1_isr main: SETB EA SETB ET0 SETB ET1 MOV TMOD,#12h MOV TH0,#(-100) MOV TL0,#(-100) SETB TR0 MOV TH1,#HIGH(-1000) MOV TL1,#LOW(-1000) SETB TR1 here: SJMP here ;----------Timer0_isr: CPL P2.0 RETI ;----------Timer1_isr: MOV TH1,#HIGH(-1000) MOV TL1,#LOW(-1000) CPL P2.1 RETI ;----------ENDPhm Hng Kim Khnh Trang 44
Ti liu thc hnh Vi iu khin
-
Vit chng trnh dng ngt Timer 0 v Timer 1 ng thi to xung vung tn s f = 20 KHz ti P2.3 v f = 100Hz ti P2.4. Chn menu System > Set Sheet Sizes
Mch ng h -
Chn kch thc Sheet l A3:
S dng mch nh hnh v (cc IC cht s dng l 74LS374). Cc linh kin cho nh sau: Keywords 7seg 8951 374 Switch Category All All 74 TTL Series Switches & Relays Sub-category All All All Switches Results 7SEG-COM-ANODE AT89C51 74LS374 SW-SPDT
Phm Hng Kim Khnh
Trang 45
Ti liu thc hnh Vi iu khin
Chng trnh ng h: ORG 0 LJMP main ORG 0Bh LJMP Timer0_ISR main: SETB EA SETB ET0 MOV TMOD,#01h MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) MOV R7,#20 SETB TR0 MOV 30h,#0 MOV 31h,#0 MOV 32h,#0 CALL display here: SJMP herePhm Hng Kim Khnh Trang 46
; m 50000 chu k = 50 ms ; 20 x 50ms = 1000ms = 1s ; Gi ; Pht ; Giy
Ti liu thc hnh Vi iu khin
;---------Timer0_ISR: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) DJNZ R7,exittimer0 MOV R7,#20 CALL IncTime CALL display exittimer0: RETI ;--------IncTime: INC 32h MOV A,32h CJNE A,#60,ExitIncTime ; Nu Giy = 60 MOV 32h,#0 INC 31h MOV A,31h CJNE A,#60,ExitIncTime ; Nu Pht = 60 MOV 31h,#0 INC 30h MOV A,30h CJNE A,#24,ExitIncTime ; Nu gi = 24 MOV 30h,#0 ExitIncTime: RET ;--------display: MOV A,30h MOV B,#10 DIV AB MOV DPTR,#MaLed7 MOVC A,@A+DPTR MOV P2,A CLR P1.0Phm Hng Kim Khnh Trang 47
; C mi 1s th tng thi gian ; v hin th ra Led
; Tng giy
; th Giy = 0 ; v tng pht
; th Pht = 0 ; v tng gi
; th Gi = 0
; Hin th 2 Led ch gi
Ti liu thc hnh Vi iu khin
SETB P1.0 MOV A,B MOVC A,@A+DPTR MOV P2,A CLR P1.1 SETB P1.1 MOV A,31h MOV B,#10 DIV AB MOV DPTR,#MaLed7 MOVC A,@A+DPTR MOV P2,A CLR P1.2 SETB P1.2 MOV A,B MOVC A,@A+DPTR MOV P2,A CLR P1.3 SETB P1.3 MOV A,32h MOV B,#10 DIV AB MOV DPTR,#MaLed7 MOVC A,@A+DPTR MOV P2,A CLR P1.4 SETB P1.4 MOV A,B MOVC A,@A+DPTR MOV P2,A CLR P1.5 SETB P1.5 RET ;--------MaLed7: DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90hPhm Hng Kim Khnh Trang 48
; Hin th 2 Led ch pht
; Hin th 2 Led ch giy
Ti liu thc hnh Vi iu khin
END Sa chng trnh trn cho php m gi th thao: 2 Led ch pht, 2 Led ch giy v 2 Led ch %giy. S dng mch nh hnh v:
Ngt ngoi
Cc linh kin cho nh sau: Keywords 7seg 8951 374 Switch Category All All 74 TTL Series Switches & Relays Sub-category All All All Switches Results 7SEG-COM-ANODE AT89C51 74LS374 SW-SPDT
Vit chng trnh m s dng ngt ngoi 0 nh sau (mi ln c ngt xy ra th tng ni dung nh 30h ln 1 v xut ra Led 7 on): ORG 0 LJMP main ORG 03h LJMP Int0_ISR main: SETB EA SETB EX0 MOV 30h,#0 CALL display
Phm Hng Kim Khnh
Trang 49
Ti liu thc hnh Vi iu khin
here: SJMP here ;---------Int0_ISR: INC 30h MOV A,30h CJNE A,#100,next MOV 30h,#0 next: CALL display RETI ;--------display: MOV A,30h MOV B,#10 DIV AB MOV DPTR,#MaLed7 MOVC A,@A+DPTR MOV P2,A CLR P1.0 SETB P1.0 MOV A,B MOVC A,@A+DPTR MOV P2,A CLR P1.1 SETB P1.1 RET ;--------MaLed7: DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h END Thm vo lnh cho php ngt bng cnh nh sau (ti on in m): SETB EA SETB EX0 SETB IT0Phm Hng Kim Khnh Trang 50
Ti liu thc hnh Vi iu khin
-
So snh trng hp s dng ngt bng cnh v bng mc logic. Sa chng trnh trn cho php m t 10 50. Cc linh kin cho nh sau:
Kt hp ngt ngoi v ngt Timer. Keywords 7seg 8951 374 Switch Switch Subcategory All All All All 74 TTL Series All Switches & Switches Relays Switches & Switches Relays Category Results 7SEG-COM-ANODE AT89C51 74LS374 BUTTON BUTTON Componet Reference
INC DEC
S dng mch nh hnh v:
Chng trnh m giy v iu chnh gi tr hin th bng 2 cng tc (nhn INC th tng gi tr hin th v nhn DEC th gim gi tr hin th) nh sau: ORG 0 LJMP main ORG 03h LJMP Int0_ISR ORG 0Bh LJMP Timer0_ISR ORG 13h LJMP Int1_ISRPhm Hng Kim Khnh Trang 51
Ti liu thc hnh Vi iu khin
main: SETB EA SETB EX0 SETB EX1 SETB ET0 SETB IT0 SETB IT1 MOV TMOD,#01h MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) MOV R7,#20 SETB TR0 MOV 30h,#0 CALL display here: SJMP here ;---------Int0_ISR: INC 30h MOV A,30h CJNE A,#100,next MOV 30h,#0 next: CALL display RETI ;---------Int1_ISR: DEC 30h MOV A,30h CJNE A,#255,next1 MOV 30h,#99 next1: CALL display RETI ;--------Phm Hng Kim Khnh Trang 52
Ti liu thc hnh Vi iu khin
Timer0_ISR: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) DJNZ R7,exittimer0 MOV R7,#20 INC 30h MOV A,30h CJNE A,#100,next2 MOV 30h,#0 next2: CALL display exittimer0: RETI ;--------display: MOV A,30h MOV B,#10 DIV AB MOV DPTR,#MaLed7 MOVC A,@A+DPTR MOV P2,A CLR P1.0 SETB P1.0 MOV A,B MOVC A,@A+DPTR MOV P2,A CLR P1.1 SETB P1.1 RET ;--------MaLed7: DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h END Sa chng trnh khi nhn INC th tng 2 n v v nhn DEC th gim 10 n v.
Phm Hng Kim Khnh
Trang 53
Ti liu thc hnh Vi iu khin
BI 7: GIAO TIP CC THIT B C BNMC CH
Gip sinh vin kho st cc vn sau: S dng phn mm Proteus m phng mch in. Kho st phng php hin th trn ma trn Led, iu khin ng c, ng ngt Relay. My vi tnh. Phn mm Proteus
THIT B S DNG
1. C s l thuytMa trn Led Ma trn LED bao gm nhiu LED cng nm trong mt v chia thnh nhiu ct v hng, mi giao im gia hng v ct c th c 1 LED (ma trn LED mt mu) hay nhiu LED (2 LED ti mt v tr to thnh ma trn LED 3 mu). LED ti mt v tr no sng th phi cp hiu in th dng gia Anode v Cathode. Trn c s cu trc nh vy, ta c th m rng hng v ct ca ma trn LED to thnh cc bng quang bo.
Kt ni ca ma trn Led c 2 cch: anode ni vi hng, cathode ni vi ct hay ngc li. S kt ni m t nh hnh v trang bn. Theo cu trc kt ni nh hnh v, 2 Led trn 2 ct khng th sng ng thi. Xt s kt ni nh mch hnh b, mt Led sng khi tng ng hng ca Led = 0 v ct = 1. Gi s ta cn sng Led ng thi ti hng 1, ct 1 v hng 2, ct 2. Nh vy, ta phi c hng 1 = 0, ct 1 = 1 (sng Led ti hng 1, ct 1) v hng 2 = 0, ct 2 = 1 (sng Led ti hng 2, ct 2). T , do hng 1 = 0, ct 2 = 1 v hng 2 = 0, ct 2 = 1 nn ta cng c cc Led ti hng 1, ct 2 v hng 2, ct 1 cng sng.
Phm Hng Kim Khnh
Trang 54
Ti liu thc hnh Vi iu khin
Ngha l, khi ta cho 2 Led ti hng 1, ct 1 v hng 2, ct 2 sng ng thi th s dn n cc Led ti hng 1, ct 2 v hng 2, ct 1 cng sng. Do , thc hin sng mt k t trn ma trn Led, ta phi dng c ch qut, ti mi thi im ch sng 1 ct, cc ct cn li tt i nhng nu cho thi gian qut nhanh th ta vn thy ging nh cc ct sng ng thi.
Hnh a
Hnh b
Phm Hng Kim Khnh
Trang 55
Ti liu thc hnh Vi iu khin
D liu cho s 0: X X X X X X X X X X X X X X X X
sng s 0 trn ma trn Led, ta thc hin qu trnh qut nh sau: Ln 1: Hng = 0100 0001b, ct = 0001 0000b Ln 2: Hng = 0011 1110b, ct = 0000 1000b Ln 3: Hng = 0011 1110b, ct = 0000 0100b Ln 4: Hng = 0011 1110b, ct = 0000 0010b Ln 5: Hng = 0100 0001b, ct = 0000 0001b iu khin Relay Relay hot ng nh mt cng tc in t bao gm mt chn thng ng (NC Normally Closed: chn 5) v mt chn thng m (NO - Normal Open: chn 4). Khi c dng in i qua cun dy (1-2) ca Relay, v tr ca cng tc s thay i t NC sang NO. Nh vy, khi khng c dng in qua cun dy th chn 3 ni vi chn 5 v khi c dng in th chn 3 ni vi chn 4. Dng ca Relay v s mch cho nh hnh v.5 3 4 1 2
iu khin ng c bc ng c bc l ng c cho php dch chuyn mi ln mt bc hay na bc tu theo xung iu khin. Gc quay ca mi bc tu theo loi ng c, thng l 1.80/bc.
Phm Hng Kim Khnh
Trang 56
Ti liu thc hnh Vi iu khin
ng c bc gm 4 cun dy: 1-2, 2-3, 4-5 v 5-6 nh s sau:MG1 1 2 3
STEPPER MOTOR
4
5
Mch iu khin ng c nh sau:VCC
1
R1 Q1
6
D1 1 2 3
MG1
2
R2 Q2 D2
4
5
6
MOTOR STEPPER
3
R3 Q3 D3
4
R4 Q4 D4
Xung iu khin ng c nh sau: - iu khin mt bc: Ngc 1 1 0 0 0 1 0 1 0 0 0 2 0 0 1 0 0 3 0 0 0 1 0 4 1 0 0 0 1 1 0 0 0 1 0 2 0 0 1 0 0 Thun 3 0 1 0 0 0 4
Phm Hng Kim Khnh
Trang 57
Ti liu thc hnh Vi iu khin
1 1 1 1 0 0 0 0 0 1
iu khin na bc: Ngc 2 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 3 1 0 0 0 0 0 1 1 1 4 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 2 0 0 1 1 1 0 0 0 0 Thun 3 1 1 1 0 0 0 0 0 1 4
2. Tin trnh thc hinMa trn Led Thc hin mch nh hnh v sau:
Cc linh kin cho nh sau: Keywords Matrix 8951 Npn Resistor Resistor Category Optoelectronics All Transistors Resistors Resistors Sub-category All All Generic Generic Resistor Packs Results Value MATRIX-5X7-RED AT89C51 Npn RES Rx8 220
Phm Hng Kim Khnh
Trang 58
Ti liu thc hnh Vi iu khin
Chng trnh hin th s 0 trn ma trn Led: main: MOV R0,#0 lap: MOV A,R0 MOV DPTR,#cot MOVC A,@A+DPTR MOV P2,A MOV A,R0 MOV DPTR,#hang MOVC A,@A+DPTR MOV P3,A CALL delay INC R0 CJNE R0,#5,lap SJMP main ;----------delay: MOV TMOD,#01h MOV TL0,#LOW(-500) MOV TH0,#HIGH(-500) SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 RET cot: DB 01h,02h,04h,08h,10h hang: DB 41h,3Eh,3Eh,3Eh,41h END main2: MOV R2,#0 main1:Phm Hng Kim Khnh Trang 59
Vit chng trnh hin th du ? trn ma trn Led. Vit chng trnh hin th s 1 trn ma trn Led.
Chng trnh chy chui CDKTCN trn ma trn Led:
Ti liu thc hnh Vi iu khin
MOV R1,#20 main: MOV R0,#0 lap: MOV A,R0 MOV DPTR,#cot MOVC A,@A+DPTR MOV P2,A MOV A,R0 ADD A,R2 MOV DPTR,#hang MOVC A,@A+DPTR MOV P3,A CALL delay INC R0 CJNE R0,#5,lap DJNZ R1,main INC R2 CJNE R2,#37,main1 SJMP main2 ;----------delay: MOV TMOD,#01h MOV TL0,#LOW(-500) MOV TH0,#HIGH(-500) SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 RET cot: DB 01h,02h,04h,08h,10h hang: DB 41h,3Eh,3Eh,3Eh,5Dh,7Fh ;C DB 00h,3Eh,3Eh,3Eh,41h,7Fh ;D DB 00h,77h,6Bh,5Dh,3Eh,7fh ;K DB 7Eh,7Eh,00h,7Eh,7Eh,7Fh ;TPhm Hng Kim Khnh Trang 60
Ti liu thc hnh Vi iu khin
DB 41h,3Eh,3Eh,3Eh,5Dh,7Fh ;C DB 00h,7Dh,7Bh,77h,00h,7Fh ;N DB 7Fh,7Fh,7Fh,7Fh,7Fh END - Vit chng trnh chui TRUONG CAO DANG KINH TE CONG NGHE chy trn ma trn Led. iu khin Relay Thc hin mch nh hnh v sau:
Cc linh kin cho nh sau: Keywords Category Relay 8951 Button motor Source main: JB P2.1,$ CALL DELAY CPL P2.0 SJMP mainPhm Hng Kim Khnh Trang 61
Switches & Relays All Switches & Relays Electromechanical Simulator Primitives
Subcategory Relays (Generic) All All All All
Results Relay AT89C51 Button Motor Vsource
Value 5V
Voltage=5V
Chng trnh iu khin ng / ngt Relay mi ln nhn cng tc nh sau:
Ti liu thc hnh Vi iu khin
delay: MOV R7,#255 delay1: MOV R6,#255 DJNZ R6,$ DJNZ R7,delay1 RET END - Thm vo mt nt nhn ti P2.2, vit chng trnh iu khin khi nhn SW1 th ng Relay, nhn SW2 th ngt Relay. iu khin ng c Thc hin mch nh hnh v sau:
Cc linh kin cho nh sau: Keywords Category Resistor 8951 Tip122 Step Resistors All Transistors Electromechanical Subcategory Generic All All All Results Value
RES 4.7k AT89C51 Tip122 Motor-stepper
Chng trnh iu khin ng c quay thun lin tc, mi ln mt bc nh sau: main: MOV R2,#4 MOV R0,#0Phm Hng Kim Khnh Trang 62
Ti liu thc hnh Vi iu khin
MOV DPTR,#thuan1buoc begin: MOV A,R0 MOVC A,@A+DPTR MOV P2,A CALL Delay INC R0 DJNZ R2, begin SJMP main delay: MOV TMOD,#01h MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 RET thuan1buoc: DB 08h,04h,02h,01h END - Vit chng trnh iu khin quay ngc ng c lin tc, mi ln mt bc. - Vit chng trnh iu khin quay thun ng c lin tc, mi ln na bc. - Vit chng trnh iu khin quay ngc ng c lin tc, mi ln na bc.
Phm Hng Kim Khnh
Trang 63