P. 1
Tap lenh co ban 8051

Tap lenh co ban 8051

|Views: 202|Likes:
Được xuất bản bởigaikieuuc

More info:

Published by: gaikieuuc on Apr 03, 2011
Bản quyền:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

11/29/2014

pdf

text

original

3.

Lâp trinh voi ngôn ngu ASSEMBLY
Ngôn ngu Assembly la hop ngu rât gân voi ngôn ngu may. Môi lênh cua Assembly co su
tiêu tôn du liêu (byte) va chu ki may xac dinh. Do do, chung ta co thê dê dang nhân ra su
bô tri du liêu cua chuong trinh. Lâp trinh báng Assembly không co su tiêu tôn do mã thua
nhu lâp trinh báng ngôn ngu C, môt chuong trinh viêt báng Assembly chay nhanh va hiêu
qua hon nhiêu so voi chuong trinh viêt báng C.
Tuy nhiên do Assembly rât gân voi ngôn ngu may nên doi hoi nguoi lâp trinh phai co
môt tri nho tôt, nêu không, chung ta phai chuân bi môt chông sach dê co thê mo ra bât cu
luc nao. Va chung ta rât kho co thê viêt môt chuong trinh lon báng Assembly.
a. Câu truc môt chuong trinh Assembly:
Chung ta hãy tham khao doan code viêt báng Assembly dê tim hiêu câu truc cua no.
Chuong trinh nhâp nhay LED theo mã nhi phân táng dân:
org 0000h ;Chuong trinh bát dâu tu dia chi 0000h
main: ;Khai bao nhãn dê sau nay dung câu lênh nhay dê nhay toi dây
;Thut vao 1 ki tu tab cho dê nhin
inc a ;Táng gia tri thanh ghi a lên môt don vi
mov P0,a ;Chep nôi dung thanh ghi a vao công P0
call delay ;Goi ham delay
imp main ;Nhay dên nhãn main
delay: ;Khai bao nhãn delay dê lênh call goi toi1
mov R7,#255 ;Chep gia tri 255 vao thanh ghi R7
loop: ;Khai bao nhãn loop dê nhay vê dây
mov R6,#255 ; Chep gia tri 255 vao thanh ghi R7
loop1: ;Khai bao nhãn loop1 dê nhay vê dây
dinz R6,loop1 ;Giam thanh ghi R6 di 1 va nhay nêu R6~0
dinz R7,loop ; Giam thanh ghi R7di 1 va nhay nêu R7~0
ret ;Tro vê tu ham delay
end ;Kêt thuc doan code
Rut ra câu truc cua chuong trinh nhu sau:
org 0000h;Bát dâu doan code
...;Doan lênh
end;Kêt thuc doan code
Bát dâu báng câu lênh ORG 0000H
Tiêp dên la doan lênh. Trong doan lênh co cac nhãn dê rë nhanh chuong trinh.
Môi lênh bát dêu bát dâu báng tên lênh, tiêp theo la ki tu tráng hay ki tu tab, rôi dên cac
tham sô lênh.
Môi lênh chi duoc viêt trên 1 dong.
Kêt thuc báng câu lênh END
Chu y: Trong Asembly không phân biêt chu hoa hay chu thuong. Dong chu thich duoc
dát sau dâu châm phây ;`.
b. Cac lênh co ban trong Assembly:
Ki hiêu duoc dung duoi dây:
o Rn: Ki hiêu cho cac thanh ghi R0 dên R7 (cua báng thanh ghi duoc chon).
o Data: Du liêu truc tiêp, la 1 byte du liêu bên trong RAM hoác thanh ghi chuc náng dác
biêt.
o (Ri: 1 byte du liêu vung RAM duoc danh dia chi boi thanh ghi R0 hoác R1.
o #data: 1 byte du liêu tuc thoi (la nhung con sô do nguoi lâp trinh dát sán).
o #data16: 2 byte du liêu tuc thoi (la nhung con sô cua nguoi lâp trinh).
o Addr16: 16 bit dia chi cua cac lênh nhay xa va goi xa.
o Addr11: 11 bit dia chi cua cac lênh nhay tuyêt dôi va goi tuyêt dôi.
o Rel: 8 bit dia chi co dâu cua cac lênh nhay gân va goi gân.
Cac lênh co ban
v Cac lênh sao chep du liêu:
- Tên lênh: MOV
MOV A,Rn (1 byte 1 chu ki may) Chep nôi dung thanh ghi Rn vao thanh ghi A
MOV A,data (2 byte 1 chu ki may) Chep nôi dung cua data vao thanh ghi A
MOV A,(Ri (1 byte 1 chu ki may) Chep nôi dung cua ô nho do Ri tro toi vao thanh ghi
A
MOV A,#Data (2 byte 1 chu ki may) Ghi du liêu tuc thoi vao thanh ghi A
MOV A,(A¹DPTR (1 byte 2 chu ki may) Chep nôi dung cua ô nho chuong trinh co dia
chi A¹DPTR vao thanh ghi A
MOV Rn,A (1 byte 1 chu ki may) Chep nôi dung thanh ghi A vao thanh ghi Rn
MOV Rn,data (2 byte 2 chu ki may) Chep nôi dung cua data vao thanh ghi Rn
MOV Rn,#data (2 byte 1 chu ki may) Ghi du liêu tuc thoi vao thanh ghi Rn
MOV data,A (2 byte 1 chu ki may) Chep nôi dung thanh ghi A vao data
MOV data,Rn (2 byte 2 chu ki may) Chep nôi dung thanh ghi Rn vao data
MOV data,data (3 byte 2 chu ki may) Chep nôi dung hai du liêu truc tiêp data voi nhau
MOV data,(Ri (2 byte 2 chu ki may) Chep nôii dung ô nho do Ri tro toi vao data
MOV data,#data (3 byte 2 chu ki may) Ghi du liêu tuc thoi vao data
MOV (Ri,A (1 byte 1 chu ki may) Chep nôi dung cua thanh ghi A vao ô nho do Ri tro
toi
MOV (Ri,data (2 byte 1 chu ki may) Chep nôi dung data vao ô nho do Ri tro toi
MOV (Ri,#data (2 byte 1 chu ki may) Ghi du liêu truc tiêp vao ô nho do Ri tro toi
MOV DPTR,#data (3 byte 2 chu ki may) Ghi môt háng 16 bit vao thanh ghi DPTR
MOV C,bit (2 byte 1 chu ki may) Chep môt bit truc tiêp vao co nho C
MOV bit,C (2 byte 2 chu ki may) Chep trang thai co nho C vao môt bit truc tiêp
- Tên lênh MOVC
MOVC A,(A¹PC (1 byte 2 chu ki may) Chep nôi dung ô nho chuong trinh co dia chi
A¹PC vao thanh ghi A
- Tên lênh MOVX
MOVX A,(Ri (1 byte 2 chu ki may) Chep nôi dung cua ô nho bô nho ngoai do Ri tro toi
vao thanh ghi A (8 bit dia chi)
MOVX A,(DPTR (1 byte 2 chu ki may) Chep nôi dung cua ô nho bô nho ngoai do
DPTR tro toi vao thanh ghi A (16 bit dia chi)
MOVX (Ri,A (1 byte 2 chu ki may) Chep nôi dung thanh ghi A ra ngoai
MOVX (DPTR,A (1 byte 2 chu ki may) Chep nôi dung thanh ghi A ra ngoai
- Tên lênh PUSH
PUSH data (2 byte 2 chu ki may) Chep data lên ngán xêp va táng SP
- Tên lênh POP
POP data (2 byte 2 chu ki may) Chep du liêu tu ngán xêp vao data va giam SP
- Tên lênh XCH
XCH A,Rn (1 byte 1 chu ki may) Trao dôi du liêu giua thanh ghi A va thanh ghi Rn
XCH A,data (2 byte 1 chu ki may) Trao dôi du liêu giua thanh ghi A va data
XCH A,(Ri (1 byte 1 chu ki may) Trao dôi du liêu giua thanh ghi A va ô nho do Ri tro
toi
- Tên lênh XCHD
XCHD A,(Ri (1 byte 1 chu ki may) Trao dôi hai nibble thâp cua thanh ghi A va ô nho
do Ri tro toi
v Cac lênh sô hoc
- Tên lênh ADD
ADD A,data (2 byte 1 chu ki may) A÷A¹data
ADD A,(Ri (1 byte 1 chu ki may) A÷A¹(Ri
ADD A,#data (2 byte 1 chu ki may) A÷A¹#data
ADD A,Rn (1 byte 1 chu ki may) A÷A¹Rn
- Tên lênh ADDC
ADDC A,Rn (1 byte 1 chu ki may) A÷A¹Rn¹C
ADDC A,(Ri (1 byte 1 chu ki may) A÷A¹(Ri¹C
ADDC A,data (2 byte 1 chu ki may) A÷A¹data¹C
ADDC A,#data (2 byte 1 chu ki may) A÷A¹#data¹C
- Tên lênh SUBB
SUBB A,Rn (1 byte 1 chu ki may) A÷A-Rn-C
SUBB A,data (2 byte 1 chu ki may) A÷A-data-C
SUBB A,(Ri (1 byte 1 chu ki may) A÷A-(Ri-C
SUBB A,#data (2 byte 1 chu ki may) A÷A-#data-C
- Tên lênh INC
INC A (1 byte 1 chu ki may) Táng nôi dung thanh ghi A lên 1
INC Rn (1 byte 1 chu ki may) Táng nôi dung thanh ghi Rn lên 1
INC data (2 byte 1 chu ki may) Táng data lên 1
INC (Ri (1 byte 1 chu ki may) Táng nôi dung ô nho do Ri tro toi lên 1
INC DPTR (1 byte 2 chu ki may) Táng nôi dung thanh ghi DPTR lên 1
- Tên lênh DEC
DEC A (1 byte 1 chu ki may) Giam nôi dung thanh ghi A xuông 1
DEC Rn (1 byte 1 chu ki may) Giam nôi dung thanh ghi Rn xuông 1
DEC data (2 byte 1 chu ki may) Giam data xuông 1
DEC (Ri (1 byte 1 chu ki may) Giam nôi dung ô nho do Ri tro toi 1
- Tên lênh MUL
MUL AB (1 byte 4 chu ki may) Nhân nôi dung thanh ghi A voi thanh ghi B. Byte cao luu
trong thanh ghi B, byte thâp luu trong A. Nêu kêt qua lon hon 255 thi co OV bât, nêu
không thi bi xoa. Co C luôn bi xoa.
- Tên lênh DIV
DIV AB (1 byte 4 chu ki may) Chia nôi dung thanh ghi A cho thanh ghi B. Phân nguyên
luu trong thanh ghi A, phân du luu trong thanh ghi B. Co C va co OV dêu bi xoa.
- Tên lênh DA
DA A (1 byte 1 chu ki may) Hiêu chinh thâp phân cho thanh ghi A.
v Cac lênh luân ly
- Tên lênh ANL
ANL A,Rn (1 byte 1 chu ki may) AND nôi dung thanh ghi A voi Rn, lluu vao thanh ghi
A
ANL A,data (2 byte 1 chu ki may) AND nôi dung thanh ghi A voi data, luu vao thanh ghi
A
ANL A, (Ri (1 byte 1 chu ki may) AND nôi dung thanh ghi A voi (Ri, luu vao thanh
ghi A
ANL A,#data (2 byte 1 chu ki may) AND nôi dung thanh ghi A voi #data, luu vao thanh
ghi A
ANL data,A (2 byte 1 chu ki may) AND nôi dung thanh ghi A voi data, luu vao data
ANL data,#data (3 byte 2 chu ki may) AND data voi #data, luu vao data
ANL C,bit (2 byte 2 chu ki may) AND C voi bit, luu vao C
ANL C,/bit (2 byte 2 chu ki may) AND C voi dao cua bit, luu vao C
- Tên lênh ORL
ORL A,Rn (1 byte 1 chu ki may) OR nôi dung thanh ghi A voi Rn, lluu vao thanh ghi A
ORL A,data (2 byte 1 chu ki may) OR nôi dung thanh ghi A voi data, luu vao thanh ghi
A
ORL A,(Ri (1 byte 1 chu ki may) OR nôi dung thanh ghi A voi (Ri, luu vao thanh ghi
A
ORL A,#data (2 byte 1 chu ki may) OR nôi dung thanh ghi A voi #data, luu vao thanh
ghi A
ORL data, A (2 byte 1 chu ki may) Ornôi dung thanh ghi A voi data, luu vao data
ORL data,#data (3 byte 1 chu ki may) OR data voi #data, luu vao data
ORL C,bit (2 byte 2 chu ki may) OR C voi bit, luu vao C
ORL C,\bit (2 byte 2 chu ki may) OR C voi dao cua bit, luu vao C
- Tên lênh XRL
XRL A,Rn (1 byte 1 chu ki may) XOR nôi dung thanh ghi A voi Rn, lluu vao thanh ghi
A
XRL A,data (2 byte 1 chu ki may) XOR nôi dung thanh ghi A voi data, luu vao thanh ghi
A
XRL A,(Ri (1 byte 1 chu ki may) XOR nôi dung thanh ghi A voi (Ri, luu vao thanh
ghi A
XRL A,#data (2 byte 1 chu ki may) XOR nôi dung thanh ghi A voi #data, luu vao thanh
ghi A
XRL data,A (2 byte 1 chu ki may) XORnôi dung thanh ghi A voi data, luu vao data
XRL data,#data (3 byte 1 chu ki may) XOR data voi #data, luu vao data
- Tên lênh SETB
SETB C (1 byte 1 chu ki may) Bât co nho C
SETB bit (2 byte 1 chu ki may) Bât bit truc tiêp
- Tên lênh CLR
CLR A (1 byte 1 chu ki may) Xoa thanh ghi A
CLR C (1 byte 1 chu ki may) Xoa co nho C
CLR bit (2 byte 1 chu ki may) Xoa bit truc tiêp
- Tên lênh CPL
CPL A (1 byte 1 chu ki may) Lây bu thanh ghi A
CPL C (1 byte 1 chu ki may) Lây bu co nho C
CPL bit (2 byte 1 chu ki may) Lây bu bit truc tiêp
- Tên lênh RL
RL A (1 byte 1 chu ki may) Dich trai thanh ghi A. Gia tri cua bit 7 luu vao bit 0.
- Tên lênh RLC
RLC A (1 byte 1 chu ki may) Dich trai thanh ghi A. Gia tri cù cua C duoc luu vao bit 0
cua A. Bit 7 cua A duoc luu vao C
- Tên lênh RR
RR A (1 byte 1 chu ki may) Dich phai thanh ghi A. Gia tri cua bit 0 duoc luu vao bit 7.
- Tên lênh RRC
RRC A (1 byte 1 chu ki may) Dich phai thanh ghi A. Gia tri cua C luu vao bit 7 cua A,
bit 0 cua A luu vao C
- Tên lênh SWAP
SWAP A (1 byte 1 chu ki may) Hoan chuyên hai nibble cua thanh ghi A.
v Cac lênh chuyên diêu khiên
- Tên lênh ACALL
ACALL addr11 (2 byte 2 chu ki may) Goi chuong trinh con dung dia chi tuyêt dôi
- Tên lênh LCALL
LCALL addr16 (3 byte 2 chu ki may) Goi chuong trinh con dung dia chi dai
- Tên lênh RET
RET (1 byte 2 chu ki may) Tro vê tu lênh goi chuong trinh con
- Tên lênh RETI
RETI (1 byte 2 chu ki may) Tro vê tu lênh goi ngát
- Tên lênh AJMP
AJMP addr11 (2 byte 2 chu ki may) Nhay dung dia chi tuyêt dôi
- Tên lênh LJMP
LJMP addr16 (3 byte 2 chu ki may) Nhay dung dia chi dai
- Tên lênh SJMP
SJMP rel (2 byte 2 chu ki may) Nhay dung dia chi ngán
- Tên lênh JMP
JMP (A¹DPTR (1 byte 2 chu ki may) Nhay gian tiêptu con tro du liêu
- Tên lênh JZ
JZ rel (2 byte 2 chu ki may) Nhay nêu thanh ghi A báng 0
- Tên lênh JNZ
JNZ rel (2 byte 2 chu ki may) Nhay nêu thanh ghi A khac 0
- Tên lênh JC
JC rel (2 byte 2 chu ki may) Nhay nêu co nho C duoc bât
- Tên lênh JNC
JNC rel (2 byte 2 chu ki may) Nhay nêu co nho C không duoc bât
- Tên lênh JB
JB bit,rel (3 byte 2 chu ki may) Nhay nêu bit duoc bât
- Tên lênh JNB
JNB bit,rel (3 byte 2 chu ki may) Nhay nêu bit không duoc bât
- Tên lênh JBC
JBC bit,rel (3 byte 2 chu ki may) Nhay nêu bit duoc bât rôi xoa bit
- Tên lênh CJNE
CJNE A,data,rel (3 byte 2 chu ki may) Nhay nêu A khac data
CJNE A,#data,rel (3 byte 2 chu ki may) Nhay nêu A khac #data
CJNE Rn,#data,rel (3 byte 2 chu ki may) Nhay nêu Rn khac #data
CJNE (Ri,#data,rel (3 byte 2 chu ki may) Nhay nêu ô nho do Ri tro toi khac data
- Tên lênh DJNZ
DJNZ Rn,rel (2 byte 2 chu ki may) Giam Rn va nhay khi Rn khac 0
DJNZ data,rel (3 byte 2 chu ki may) Giam data va nhay nêu data khac 0
4. Lâp trinh nâng cao
Cac ban dã lam quen voi nhung câu lênh sao chep du liêu, cac lênh sô hoc, lênh logic,
lênh chuyên diêu khiên. Bây gio dua trên cac câu lênh trên, chung ta së lam quen voi cac
công viêc lâp trinh vê bô dêm diinh thoi, lâp trinh truyên thông nôi tiêp, lâp trinh ngát.
Do ngôn ngu C chay không hiêu qua báng Assembly, ngôn ngu C không phat huy hêt
duoc kha náng cua vi diêu khiên. Do do tât ca cac chuong trinh tu nay vê sau dêu viêt
báng ngôn ngu Assembly.
a. Lâp trinh bô dêm va dinh thoi (timer):
· Khao sat cac thanh ghi chuc náng dác biêt cua bô dêm dinh thoi (timer):
TÊN THANH
GHI
TAC DUNG DIA CHI
DIA CHI HOA
BIT
TCON Diêu khiên cac bô dêm dinh thoi 88h Co
TMOD Chon kiêu cho cac bô dêm dinh thoi 89h Không
TL0 Byte thâp cua timer 0 8Ah Không
TL1 Byte thâp cua timer 1 8Bh Không
TH0 Byte cao cua timer 0 8Ch Không
TH1 Byte cao cua timer 1 8Dh Không
Bang 1: Cac thanh ghi dác biêt cua bô timer
· Khao sat thanh ghi TMOD:
La thanh ghi dung dê chon chê dô cho cac bô timer. Thanh ghi nay không duoc dia chi
hoa cac bit va diêu nay cùng không cân thiêt.
BIT TÊN BO
TIMER
TAC DUNG
7 GATE 1 GATE÷0 :Timer 1 bât khi TR1÷1. GATE÷1 :Timer 1 bât khi
TR1÷1 va chân INT1÷1
6 C/T 1 C/T÷1 : Chon dêm su kiên. C/T÷0 : Chon ghi gio cho timer 1
5 M1 1 Bit 1 chon kiêu cua timer 1
4 M0 1 Bit 0 chon kiêu cua timer 1
3 GATE 0 GATE÷0 :Timer 0 bât khi TR0÷1. GATE÷1 :Timer 0 bât khi
TR0÷1 va chân INT0÷1
2 C/T 0 C/T÷1 : Chon dêm su kiên. C/T÷0 : Chon ghi gio cho timer 0
1 M1 0 Bit 1 chon kiêu cua timer 0
0 M0 0 Bit 0 chon kiêu cua timer 0
Bang 2: Cac bit trên thanh ghi TMOD
· Cac chê dô cua timer
M1 M0 CHE
DO
MÔ TA
0 0 0 Chê dô timer 13 bit. Nghia la timer su dung 5 bit TH va 8 bit
TL
0 1 1 Chê dô timer 16 bit. Nghia la timer su dung 8 bit TH va 8 bit
TL
1 0 2 Chê dô timer 8 bit, con TH dung dê nap lai gia tri khoi dâu
cho TL khi TL tran
1 1 3 TL0 va TH0 duoc su dung nhu hai timer dôc lâp. TL0 duoc
diêu khiên báng cac bit cua timer 0, con TH0 duoc diêu khiên
báng cac bit cua timer 1.
Bang 3: Cac chê dô cua timer
· Khao sat thanh ghi TCON:
La thanh ghi dung dê khoi dông va diêu khiên cac bô timer. Thanh ghi nay duoc dia chi
hoa cac bit.
BIT KI
HIEU
DIA
CHI
TAC DUNG
TCON.
7
TF1 8Fh Bit tran cua timer 1. Khi xay ra tran, TF1 tu dông bât lên.
TCON.
6
TR1 8Eh Bit diêu khiên bât tát bô timer 1
TCON.
5
TF0 8Dh Bit tran cua timer 0. Khi xay ra tran, TF0 tu dông bât lên.
TCON.
4
TR0 8Ch Bit diêu khiên bât tát bô timer 0
TCON.
3
IE1 8Bh Co canh ngát ngoai 1. Duoc bât khi co canh xuông o chân
INT1. Duoc xoa khi thoat khoi ngát cung dinh huong dên thu
tuc phuc vu ngát ngoai 1.
TCON.
2
IT1 8Ah Co kiêu ngát 1 ngoai. Nêu co nay bât, ngát ngoai së duoc
kich hoat khi co canh xuông o chân INT1. Nêu không thi
ngát ngoai së duoc bât khi co muc thâp o chân INT1.
TCON.
1
IE0 89h Co canh ngát ngoai 0 Duoc bât khi co canh xuông o chân
INT0. Duoc xoa khi thoat khoi ngát cung dinh huong dên thu
tuc phuc vu ngát ngoai 0.
TCON.
0
IT0 88h Co kiêu ngát 0 ngoai. Nêu co nay bât, ngát ngoai së duoc
kich hoat khi co canh xuông o chân INT0. Nêu không thi
ngát ngoai së duoc bât khi co muc thâp o chân INT0.
Bang 4: Cac bit trong thanh ghi TCON
· Nguôn xung nhip cho cac timer
Hinh 31: Nguyên tác cung câp xung nhip cho cac timer
· Cac chê dô cua timer
Chê dô 0:
La chê dô dinh thoi 13 bit. Nguyên tác hoat dông nhu sau.
Hinh 32: Nguyên tác hoat dông cua chê dô 1
Gia tri bô dêm trong khoang tu 0000h dên 1FFFh. Khi gia tri táng dên 1FFF FFFFh thi co
tran TF bât va gia tri duoc cua bô timer set vê 0000h
Thoi gian tôi da co thê dinh thoi la 1FFFh x 1 (us) ÷ 1FFFh (us) ÷ 8191 (us) (thach anh
12MHz).
Chê dô 1:
La chê dô dinh thoi 16 bit voi nguyên tác hoat dông sau:
Hinh 33: Nguyên tác hoat dông chê dô 1
Khi gia tri dêm táng dên FFFFh thi duoc set vê 0000h va co tran TF duoc bât.
Gia tri tôi da co thê dinh thoi la FFFFh x 1 (us) ÷ FFFFh (us) ÷ 65535 (us) (thach anh
12MHz).
Chê dô 2:
La chê dô tu nap lai. Byte thâp TL hoat dông dinh thoi 8 bit con byte cao TH dung dê su
dung luu tru gia tri nap lai.
Hinh 34: Nguyên tác hoat dông chê dô 2
Khi gia tri dêm táng dên FFh thi duoc set tro lai gia tri cua TH (chu không phai la gia tri
00h) va co tran duoc bât. Va bô dêm bát dâu tu gia tri TH tro lên.
Chê dô 3:
La chê dô timer chia se. Trong do thanh ghi TL0 va TH0 hoat dông nhu hai bô dêm dôc
lâp voi thanh ghi TL0, TH0 co cac co tran tuong ung la TF0 va TF1. Trong do hai thanh
ghi TL1 va TH1 tam thoi không su dung. Chung ta co thê khoi dông no nhung co tran
TF1 không bi bât khi co su tran xay ra.
Hinh 35: Mô ta hoat dông chê dô 3
· Phuong phap lâp trinh timer:
~ Dát vao thanh ghi TMOD dê chon dêm hoác dinh thoi, chon bô 0 hoác 1, chon chê dô
0,1,2,3.
~ Dát vao cac thanh gh TL gia tri cân thiêt. Trong chê dô 2 ta nap gia tri khoi dâu cho
thanh ghi TH
~ Bât bit TR dê khoi dông timer
~ Kiêm tra co tran dã bât chua (báng lênh JB TF1,nhãn. Lênh JB TF0,nhãn. Lênh JNB
TF0,nhãn. Lênh JNB TF1,nhãn)
~ Nêu co tran dã bât thi xoa co, co thê dung bô dinh thoi báng cach xoa bit TR.
· Vi du:
Chuong trinh sau tao song 10 KHz o chân P2.2
~ Nêu thach anh 12MHz ÷~ chu ki xung nhip ÷ 1us
~ Ta co: I÷10KHz ÷~ T÷100us ÷~T/2÷50us
Cu sau 50us thi dao chân P2.2. Vây thi thanh ghi TL phai dêm tu gia tri ÷ 256 50 ÷ 206
Ta co chuong trinh sau:
org 0000h
mov TMOD,#00000010b;Chon timer 0, chê dô 2
mov TH0,#206
setb TR0;Bât bô timer 0
main:
inb TF0,main;Doi khi co tran
clr TF0;Xoa co tran
cpl P2.2;Dao ngõ ra
aimp main;Tiêp tuc vong moi
end

You're Reading a Free Preview

Tải về
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->