Automating Google Workspace (GWS) & more with Apps Script
8051 Danh Cho Nguoi Chua Biet Gi
1. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
Bài m ñ u
GI I THI U V VI ðI U KHI N 8051
A. M t con chip AT89C51:
Như các b n th y trên hình:
- Các chân
P0.0 ñ n P0.7,( 39-32 )
P1.0 ñ n P1.7,( 1-8 )
P2.0 ñ n P2.7,( 21-28 )
P3.0 ñ n P3.7,( 10-17 )
Là các c ng xu t nh p. ðó là nơi ñưa tín hi u vào VðK và nơi VðK xu t tín hi u
ra.
- Chân RST(9): là chân reset. Khi chân này ñư c n thì các thanh ghi h th ng s
ñư c thi t l p l i tr ng thái ban ñ u.
- Các chân Vcc(40) và GND(20): là 2 chân c p ngu n cho VðK. Vcc m c cao
5V. GND m c th p 0V.
- Hai chân XTAL1 và XTAL2 là hai chân cung c p xung dao ñ ng cho VðK.
Thư ng là n i v i th ch anh có t n s 12 MHz.
Trên ñây là m t s ñ c ñi m c n lưu ý v c u trúc chân c a con chip AT89C51.
Các b n nên nh k ñ ti n cho vi c l p trình sau này.
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
2. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
* N p chương trình cho VðK.
Trư c tiên chúng ta vi t trình chương trình ch y cho VðK. B n có th s d ng
Notepad c a Windows hay ph n n m 8051-IDE (t i trên m ng - vô Google mà
tìm).
Sau ñó ch y chương trình n p (EZ31) và dùng b n p n p vào VðK.
B. Nó ho t ñ ng như th nào?
Trư c tiên chúng ta hãy ghi nh m t s khái ni m.
- Tín hi u : trong VðK tín hi u có nghĩa là m t s thay ñ i v ñi n th hay m c
tr ng thái c a m t hay nhi u bit.
Ví d : Có m t m ch ñi n như hình v .
- Khi ta chưa ñóng khóa k1 thì chân P1.0 c a VðK có ñi n th 0V( m c th p).
- Khi ta ñóng khóa k1 thì chân P1.0 c a VðK có ñi n th 5V( m c cao).
S thay ñ i ñi n th ñó là m t tín hi u.
M i chân c a VðK là m t bit, g m 2 m c tr ng thái là “cao và th p”.
Tám chân cùng lo i t o nên 1 c ng (8 bit).
VD : c ng P1 bao g m 8 chân t P1.0 ñ n P1.7
c ng P0 bao g m 8 chân t P0.0 ñ n P0.7
- Thanh ghi: M i thanh ghi là m t ô nh 8 bit.
VðK cung c p cho chúng ta 8 thanh ghi m c ñ nh là t R0 ñ n R7.
Ngoài ra còn có m t s nh ng thanh ghi ñ c bi t khác như :
TMOD/TCON : là nh ng thanh ghi c a b ñ nh th i.
Các c ng P0 ñ n P3 cũng là nh ng thanh ghi xu t nh p.v.v.
Có nh ng thanh ghi có ñ a ch bit c th , có nh ng thanh ghi thì không.
- ð a ch bit: m i thanh ghi ñư c c u thành t 8 bit. Có nh ng thanh ghi có ch c
năng ñ c bi t và m i bit c a nó ñ m nh n 1 ch c năng khác nhau. Chúng ta có th
thay ñ i m c tr ng thái c a t ng bit thay vì ph i tác ñ ng lên c thanh ghi. ði u
ñó s giúp cho vi c x lý tín hi u tr nên d dàng hơn. Thao tác l p trình tr nên
ñơn gi n hơn.”
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
3. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
- D li u trong m i thanh ghi là m t con s t 00H~FFH (theo h hexa) hay t
00000000B ñ n 11111111B( theo h nh phân). Như các b n th y các s trong h
nh phân có 8 ch s tư ng trưng cho 8 bit c a m i thanh ghi. M i bit có 2 tr ng
thái ng v i 2 s là 0-m c th p và 1-m c cao. Giá tr hexa ch ng qua ch là m t
cách vi t g n c a nh ng ngư i ñã quen v i công vi c l p trình. Chúng ta có th
chuy n t nh phân sang hexa m t cách d dàng nh máy tính.
Vì sao vi t hexa l i d hơn vi t nh phân. b i vì trong l p trình VðK d li u n p
cho m i thanh ghi ñ c bi t là c ñ nh ng v i m i ch c năng khác nhau.Vì v y
khi quen r i b n vi t b ng hexa s nhanh g n hơn. Chúng ta cũng có th s d ng
s th p phân.
VðK ho t ñ ng như th nào???
Khi nh n ñư c m t tín hi u t bên ngoài. Tín hi u ñó có th t công t c ho c c m
bi n. Lúc ñó VðK s x lí theo các chương trình mà ta ñã l p s n ng v i tín hi u
ñó. Và k t qu là ta s quy ñ nh cho VðK ñưa ra nh ng tín hi u tương ng nh m
gi i quy t tình hu ng. M t ñi u hi n nhiên là nh ng tình hu ng y ta ñã d tính
trư c và l p s n chương trình ñ gi i quy t. N u không VðK không th t x lý
ñư c. Nó ch bi t ch y theo ñúng nh ng gì chúng ta ñã l p trình cho nó.
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
4. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
Bài 2
RAM VÀ CÁC THANH GHI ð C BI T
ðây là vùng RAM ña m c ñích. ðây là các thanh ghi có ch c năng ñ c bi t
Như ñã ñ c p bài m ñ u, các thanh ghi ñ c bi t mang ch c năng khác nhau,
chúng ñư c c u t o t 8 bit, và như trên chúng ta có th l y d li u tr c ti p t
ñ a ch bit ho c thông qua tên g i c a c a chúng. Các thanh ghi ñ c bi t n m v
trí t 80H ñ n FFH.
Trong các thanh ghi ñó chúng ta hãy quan tâm t i các thanh ghi c a b ñ nh th i:
TMOD là thanh ghi ch n ch ñ ñ nh th i.
TCON (ñ nh ñ a ch t ng bit) là thanh ghi ñi u khi n ch ñ ñ nh th i.
TL0 - TH0 là 2 thanh ghi quy ư c byte th p và byte cao c a b ñ nh th i 0.
TL1 - TH1 là 2 thanh ghi quy ư c byte th p và byte cao c a b ñ nh th i 1.
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
5. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
Bài 3
CÁC L NH THƯ NG G P ð L P TRÌNH ROBOT
ð i v i ho t ñ ng robocon, l p trình VðK g n như bó g n trong m t s câu l nh
thư ng g p sau ñây:
1. L nh MOV
- C u trúc: MOV ñích,ngu n
- Ch c năng: Chuy n d li u t ngu n vào ñích và thoát kh i câu l nh.
- Lưu ý: ðích là các thanh ghi, ngu n có th là thanh ghi cũng có th là giá tr tr c
ti p ho c gián ti p. N u ngu n là d li u tr c ti p thì ph i ghi theo c u trúc:
MOV ñích,#d li u tr c ti p.
N u là s hexa thì ph i vi t #0(d li u d ng hexa). Vd #0FFH
Nêu là s nh phân ph i vi t #(d li u d ng bit)B. Vd #11111111B
N u là s th p phân ph i vi t #(d li u d ng th p phân. Vd #255
2. L nh JB
- C u trúc: JB bit,nhãn
- Ch c năng: Ki m tra m c tr ng thái c a bit. N u là m c th p thì thoát kh i câu
l nh. N u là m c cao thì nh y ñ n v trí c a nhãn.
- Lưu ý: Nhãn là tên g i ñánh d u m t v trí nào ñó trong chương trình l p trình
mà chúng ta quy ñ nh cho nó.
3. L nh JNB
- C u trúc: JNB bit,nhãn
- Ch c năng: Ki m tra m c tr ng thái c a bit. N u là m c cao thì thoát kh i câu
l nh. N u là m c th p thì nh y ñ n v trí c a nhãn.
4. L nh CJNE
- C u trúc: CJNE ñích,ngu n,nhãn
- Ch c năng: So sánh d li u c a ngu n v i ñích. N u không b ng nhau thì nh y
ñ n v trí c a nhãn. N u b ng thì thoát kh i câu l nh.
5. L nh DJNZ
- C u trúc: DJNZ thanh ghi,nhãn
- Ch c năng: So sánh giá tr thanh ghi v i 0. N u không b ng thì gi m giá tr
thanh ghi ñi 1 và nh y t i v trí c a nhãn. N u b ng 0 thì thoát ra kh i câu l nh.
- Lưu ý: Khi l p trình chúng ta nên ñ cho thanh ghi có gia tr dương.
6. L nh SETB
- C u trúc: SETB bit
- Ch c năng: Thi t l p m c tr ng thái cao cho bit và thoát kh i câu l nh.
- Lưu ý: Khi bit ñang m c 0 (th p) thì ñưa lên m c 1(cao). Còn ñang m c 1
thì gi nguyên.
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
6. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
7. L nh CLR
- C u trúc: CLR bit
- Ch c năng: Thi t l p m c tr ng thái 0 cho bit và thoát kh i câu l nh.
- Lưu ý: Khi bit ñang m c 1thì ñưa xu ng m c 0. Còn ñang m c 0 thì gi
nguyên. Có th thay bit b ng thanh ghi và khi ñó t t c các bit c a thanh ghi ñ u
ñư c ñưa xu ng m c 0 .
8. L nh INC
- C u trúc: INC thanh ghi
- Ch c năng: Tăng giá tr thanh ghi lên 1 và thoát kh i câu l nh.
- Lưu ý: Khi l p trình chúng ta nên ñ cho thanh ghi có gia tr dương.
9. L nh LJMP
- C u trúc: LJMP nhãn
- Ch c năng: Nh y t i v trí c a nhãn.
- Lưu ý: Có th nh y trong toàn chương trình.
10. L nh SJMP
- C u trúc: SJMP nhãn
- Ch c năng: Nh y t i v trí c a nhãn.
- Lưu ý: Có th nh y trong ph m vi 128 byte trư c câu l nh và 127 byte sau l nh.
11. L nh RET
- C u trúc: RET
- Ch c năng: K t thúc m t chương trình con và ñưa con tr tr v v trí lúc g i
chương trình con.
12. L nh LCALL
- C u trúc: LCALL nhãn
- Ch c năng: G i m t chương trình con b t ñ u t v trí nhãn.
- Lưu ý: Có th g i trong toàn chương trình.
Các b n nên ñ c thêm trong sách tham kh o ñ bi t thêm v s byte và s chu kỳ
máy c a m i câu l nh.
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
7. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
Bài 4
TR NG THÁI KHI RESET
1. VðK s b t ñ u ho t ñ ng khi chúng ta c p ngu n cho nó b ng cách ñóng khóa
K1. Khi ñó t t c các thanh ghi s ñư c kh i t o tr ng thái.(Xem trong ph n reset)
con tr c a chương trình s ñư c ñ t v trí th p nh t c a RAM - 00H.
2. VðK s reset l i h th ng, nghĩa là thi t l p l i tr ng thái ban ñ u lúc kh i
ñ ng cho t t c các thanh ghi. và ñưa con tr tr l i v trí 00H. Mu n reset ñúng ta
ph i ñóng khóa K2 lâu hơn 2 chu kỳ máy.
B ng tr ng thái khi reset:
3. Như chúng ta th y b ng Reset, tr ng thái c a các c ng xu t nh p ( c ng
P0~P3 ) ñ u là FFH, nghĩa là t t c các chân trong c ng ñ u tr ng thái m c 1.
Tuy nhiên n u b t kỳ chân nào trong các c ng n i v i m t m ch ngoài h - nghĩa
là ph thu c vào các ñi u ki n bên ngoài, thì tr ng thái c a chân ñó s là tr ng
thái c a tín hi u mà m ch ngoài ñưa vào. N u m ch ngoài ph thu c vào tín hi u
c a VðK thì tr ng thái c a chân ra s là tr ng thái mà VðK xu t ra.
Trong hình miêu t trên chân P0.1 s có tr ng thái là m c 0, vì K3 h . Còn chân
P2.0 thì có tr ng thái ph thu c vào VðK.
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
8. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
Bài 5
CÁC THÀNH PH N C A M T CHƯƠNG TRÌNH L P TRÌNH
1. C u trúc m t chương trình l p trình.
ORG ....(V trí b t ñ u c a con tr chương trình)
...
(ðo n chương trình chính)
...
(Các chương trình con)
...
END (k t thúc chương trình)
2. Con tr chương trình.
ðó là v trí mà VðK ñang th c thi t i ñó.
Thông thư ng khi b t ñ u m t chương trình thì con tr luôn v trí th p nh t
00H. tuy nhiên chúng ta có th quy ñ nh cho nó b t ñ u làm vi c t i m t v trí
khác.Chúng ta căn c vào ñ a ch trên RAM ñ ch n vùng làm vi c.
Vd:
ORG 00H -----(b t ñ u t v trí 00H)
ORG 0030H -----(b t ñ u t v trí 30H) v.v.
3. Nhãn.
Nhãn là tên g i ñánh d u m t v trí nào ñó trong chương trình l p trình mà chúng
ta quy ñ nh cho nó.
VD:
ORG 00H ----------(con tr chương trình b t ñ u v trí 00H)
LJMP MAIN ----------(nh y t i v trí có nhãn là MAIN)
ORG 0030H ----------(v trí b t ñ u chương trình chính MAIN)
MAIN:
MOV R1,#10----------(n p cho R1 giá tr là 10.)
LAP1:
DJNZ R1,LAP1
END--------------------(K t thúc chương trình.)
Trong chương trình trên nhãn là MAIN và LAP1. Khi nhãn ñư c g i thì con tr
chương trình s nh y t i v trí c a nhãn ñ th c thi câu l nh t i v trí ñó.
4. Chương trình con.
C u trúc chương trình con.
Nhãn:
.................
Các câu l nh
.....
RET
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
9. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
VD:
ORG 00H
LJMP MAIN
ORG 0030H
MAIN:
MOV R1,#10
LCALL LAP1-------------g i chương trình con
LAP1:
DJNZ R1,LAP1
RET -----------------------k t thúc chương trình con
END
Chương trình con có th ñ t bên ngoài chương trình chính, trư c ho c sau.
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
10. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
Bài 6
HO T ð NG ð NH TH I
1. Ho t ñ ng ñ nh th i:
Là s ki m soát th i gian ñ th c thi các câu l nh trong quá trình x lý c a VðK.
* M t s khái ni m:
- T n s dao ñ ng: t n s c a VðK luôn b ng 1/12 t n s c a th ch anh g n trong
m ch. (thư ng là lo i 12MHz)
- Chu kỳ máy: T=1/f .Là th i gian làm vi c c a 1 dao ñ ng máy
Gi s t n s th ch anh là 12 MHz. ta có t n s VðK f = 12 MHz/12 = 1 MHz.
=1000000 Hz và khi ñó chu kỳ máy T = 1/1000000 = 0.000001 s = 1 micro giây.
- ð th c hi n m i câu l nh VðK ñ u ph i t n m t th i gian nh t ñ nh ng v i
m i câu l nh ñó. ðó là s chu kỳ máy c a m i câu l nh.
- Gi a thu t toán l p trình và th c t có m t s khác bi t r t l n. ðó chính là th i
gian. VðK ch y v i t c ñ micro giây, trong khi th c t cùng l m là chúng ta x
lý công vi c trong kho ng 0.1 giây là nhanh nh t có th . Chính vì th chúng ta khi
l p trình ph i có công ño n x lý th i gian b ng cách t o tr cho VðK ñ kéo dài
th i gian cho kh p v i nh ng thao tác trên th c t .
2. T o tr :
Ch ng h n yêu c u chúng ta c n m t kho ng th i gian tr là 200 micro giây.
V y v i câu l nh MOV (1 chu kỳ máy) chúng ta ph i vi t 200 câu l nh liên ti p.
M t công vi c g n như không th .
V n ñ ñ t ra là chúng ta ph i xây d ng m t thu t toán t o tr sao cho d dàng
cho ngư i l p trình nh t.Và sau ñây là 1 thu t toán:
VD:
ORG 00H
LJMP MAIN
ORG 0030H
MAIN:
MOV R1,#100-------------Gán cho thanh ghi R1 giá tr là 100.
LAP1:
DJNZ R1,LAP1------------(So sánh giá tr thanh ghi R1 v i 0,
N u không b ng thì gi m R1 ñi 1, r i nh y t i nhãn LAP1Công vi c l i ñư c ti p
t c cho t i khi R1=0)
END
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
11. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
Như v y v i câu l nh DJNZ (2 chu kỳ máy) VðK ñã l p l i công vi c ki m tra
R1=0 t i 100 l n. t ng c ng s chu kỳ máy mà VðK ñã th c hi n là T = 2x100 =
200 chu kỳ = 200 micro giây. ðó là thu t toán t o tr . ð i v i nh ng kho ng th i
gian tr quá l n chúng ta ph i s d ng nhi u vòng l p l ng nhau. B i vì giá tr
thanh ghi ch ñư c phép ñ t t i 255.
VD:
ORG 00H
LJMP MAIN
ORG 0030H
MAIN:
MOV R1,#100
LAP1:
MOV R2,#100
LAP2:
DJNZ R2,LAP2
DJNZ R1,LAP1
END
Ta nh n th y:
T i LAP2 VðK ñã th c hi n 100 chu kỳ máy. Và c m i l n R2=0 thì ki m tra
R1, cho ñ n khi R1=0.
Như v y câu l nh DJNZ R2,LAP2 ñã ñư c l p 100x100=10000 l n => 20000 chu
kỳ máy = 0.02s.
T t nhiên t ng s chu kỳ máy c a c thu t toán 1 + 300 + 20000=200301 chu kỳ.
tuy nhiên chúng ta có th b qua 301 chu kỳ vì nó quá nh so v i 20000.
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
12. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
Bài 7
B ð NH TH I
Khái ni m b ñ nh th i: Nói m t cách nôm na thì b ñ nh th i là m ch chia t n
s c a VðK cho 2n l n. V i n là s bit c a b ñ nh th i. V y th i gian c a m t
chu kỳ ñ nh th i lúc này là:
T = 1/(12MHz/(12*2^n ))
VðK AT89C51 x d ng 2 b ñ nh th i.
C u t o: VðK AT89C51 cung c p cho chúng ta 2 b ñ nh th i 0 và 1.
B ñ nh th i ñư c truy xu t b ng cách s d ng 6 thanh ghi ñ c bi t là:
- TMOD là thanh ghi ch n ch ñ ñ nh th i.
- TCON (ñ nh ñ a ch t ng bit) là thanh ghi ñi u khi n ch ñ ñ nh th i.
- TL0 - TH0 là 2 thanh ghi quy ư c byte th p và byte cao c a b ñ nh th i 0.
- TL1 - TH1 là 2 thanh ghi quy ư c byte th p và byte cao c a b ñ nh th i 1.
A. Thanh ghi TMOD.(Time Mode register): C u t o b i hai nhóm 4 bit.
Bit Tên B ñ nh th i Mô t
0 M0 0 Bit ch n ch ñ th 2
1 M1 0 Bit ch n ch ñ th 1
2 C/T 0 Bit ch n ch c năng ñ m ho c ñ nh th i cho b ñ nh th i 0
3 GATE 0 Bit ñi u khi n c ng cho b ñ nh th i 0
4 M0 1 Bit ch n ch ñ th 2
5 M1 1 Bit ch n ch ñ th 1
6 C/T 1 Bit ch n ch c năng ñ m ho c ñ nh th i cho b ñ nh th i 1
7 GATE 1 Bit ñi u khi n c ng cho b ñ nh th i 1
B ng mô t ch ñ :
M1 M0 Ch ñ Mô t
0 0 0 Ch ñ ñ nh th i 13 bit
0 1 1 Ch ñ ñ nh th i 16 bit
1 0 2 Ch ñ t ñ ng n p l i 8 bit
1 1 3 Ch ñ ñ nh th i chia s .
ñây chúng ta ch nghiên c u ch ñ ñ nh th i 16 bit.(Các ch ñ khác mong các
ban xem tài li u)
Thanh ghi 16 bit c a nó ñư c c u t o b i 2 thanh ghi 8 bit là TLx/THx ghép l i
v i nhau. x là tên c a b ñ nh th i (1 ho c 0). Giá tr thanh ghi TLx ñư c l y làm
byte th p và giá tr thanh ghi THx l y làm byte cao.
VD : TL1 / TH1
00H / FFH => giá tr thanh ghi 16 bit = FF00H.
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
13. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
Ho t ñ ng: B ñ nh th i 16 bit ho t ñ ng gi ng như m t b ñ m. T c là khi ch y
b ñ nh th i VðK s b t ñ u ñ m t giá tr mà chúng ta n p vào thanh ghi 16 bit
c a nó cho ñ n giá tr FFFFH = 65536. Và khi ñó VðK s b t m t bit (g i là c
tràn) t 0 lên 1 báo hi u ñã ñ m xong hay nói cách khác là tràn b ñ nh th i.
B. Thanh ghi TCON : ñây chúng ta ch quan tâm ñ n 4 bit cao c a thanh hi
TCON. Còn 4 bit th p chúng quy u c là = 0.
Bit Tên Mô t
7 TF1 C tràn c a b ñ nh th i 1
6 TF1 Bit ñi u khi n b ñ nh th i 1. M c 1 là b t. M c 0 là d ng
5 TF0 C tràn c a b ñ nh th i 0
4 TF0 Bit ñi u khi n b ñ nh th i 0. M c 1 là b t. M c 0 là d ng
Như v y gi s mu n kh i ñ ng b ñ nh th i 1 chúng ta vi t l nh SETB TR1
C. C u trúc thu t toán vi t cho b ñ nh th i:
MOV TMOD,#01H
LAP: MOV TH0,#d li u
MOV TL0,#d li u
SETB TR0
DEM: JNB TF0,DEM
CLR TR0
CLR TF0
END
Chúng ta có th l y d li u byte cao và th p ñ n p cho TL0 và TH0 như sau.
- Xác ñ nh chúng ta c n tr là bao nhiêu chu kỳ máy. VD 10000 Chu kỳ.
- L y 65536 - 10000 = 55536 => D8F0H.
- V y TH0 = D8, TL0 = F0.
Ngoài ra chúng ta còn có m t thu t toán n a ñ vi t cho b ñ nh th i.
MOV TMOD,#01H
MOV R1,#s l n l p l i
LAP: MOV TH0,#HIGH(-s chu kỳ máy c n thi t)
MOV TL0,#LOW(-s chu kỳ máy c n thi t)
SETB TR0
DEM: JNB TF0,DEM
CLR TR0
CLR TF0
DJNZ R1,LAP
END
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com
14. Vi ñi u khi n 8051 – Dành cho ngư i chưa bi t gì http://roboconsv.yourfreebb.com
VD: Chúng ta mu n t o tr 1s = 100x104 chu kỳ máy.
MOV TMOD,#01H
MOV R1,#100
LAP: MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
DEM: JNB TF0,DEM
CLR TR0
CLR TF0
DJNZ R1,LAP
END
Ho c
MOV TMOD,#01H
MOV R1,#50
LAP: MOV TH0,#HIGH(-20000)
MOV TL0,#LOW(-20000)
SETB TR0
DEM: JNB TF0,DEM
CLR TR0
CLR TF0
DJNZ R1,LAP
END
Lưu ý: TLx/THx không ñư c vư t quá 65536 = FFFFH.
T i ñây là k t thúc chương trình h c. Các b n ch c n n m v ng các câu l nh và
nguyên t c t o tr là ñã có th l p trình cho robocon ñư c r i, v n ñ còn l i là
kh năng tư duy c a b n.
Sưu t m: Cao Hoàng Long – CðT32 – CTU chlong.mechatronics@gmail.com