You are on page 1of 9

Ti liu thc hnh Vi iu khin

BI 2: CC LNH C BN CA 89C51
MC 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 thuyt
M 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 kin
Trang 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 RX8
Phm 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,A
Phm 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

You might also like