intTypePromotion=3

Bài mở đầu Giới thiệu về vi điều khiển 8051

Chia sẻ: Bui Minh Ly | Ngày: | Loại File: PDF | Số trang:14

0
38
lượt xem
4
download

Bài mở đầu Giới thiệu về vi điều khiển 8051

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Bài mở đầu Giới thiệu về vi điều khiển 8051

  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

CÓ THỂ BẠN MUỐN DOWNLOAD

YOMEDIA
Đồng bộ tài khoản