SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Contenu connexe

Tendances

chỉnh lưu hình tia 3 pha.doc
chỉnh lưu hình tia 3 pha.docchỉnh lưu hình tia 3 pha.doc
chỉnh lưu hình tia 3 pha.doc26ngQuangKhi
 
NGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdfNGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdfMan_Ebook
 
Điện tử công suất, Trần Trọng Minh.pdf
Điện tử công suất, Trần Trọng Minh.pdfĐiện tử công suất, Trần Trọng Minh.pdf
Điện tử công suất, Trần Trọng Minh.pdfMan_Ebook
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 5 tập lệnh lập trình
Lập trình PLC S7 1200 tiếng Việt-Chuong 5 tập lệnh lập trìnhLập trình PLC S7 1200 tiếng Việt-Chuong 5 tập lệnh lập trình
Lập trình PLC S7 1200 tiếng Việt-Chuong 5 tập lệnh lập trìnhXuân Thủy Nguyễn
 
Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...
Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...
Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...Verdie Carter
 
50889261 ki-thuat-mach-dien-tu-7993-4015
50889261 ki-thuat-mach-dien-tu-7993-401550889261 ki-thuat-mach-dien-tu-7993-4015
50889261 ki-thuat-mach-dien-tu-7993-4015Trần Nhật Tân
 
Thiết kế hệ thống điều khiển tốc độ động cơ dc sử dụng bộ điều khiển pid và p...
Thiết kế hệ thống điều khiển tốc độ động cơ dc sử dụng bộ điều khiển pid và p...Thiết kế hệ thống điều khiển tốc độ động cơ dc sử dụng bộ điều khiển pid và p...
Thiết kế hệ thống điều khiển tốc độ động cơ dc sử dụng bộ điều khiển pid và p...Man_Ebook
 
Hệ thống bãi giữ xe ô tôt tự động ( pdf)
Hệ thống bãi giữ xe ô tôt tự động ( pdf)Hệ thống bãi giữ xe ô tôt tự động ( pdf)
Hệ thống bãi giữ xe ô tôt tự động ( pdf)Nguyễn Quang Đạo
 
Bài tập và ứng dụng PLC
Bài tập và ứng dụng PLCBài tập và ứng dụng PLC
Bài tập và ứng dụng PLCquanglocbp
 
Autocad electrical 2010
Autocad electrical 2010Autocad electrical 2010
Autocad electrical 2010Ho Lam
 
Đồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đườngĐồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đườngKiều Tú
 

Tendances (20)

chỉnh lưu hình tia 3 pha.doc
chỉnh lưu hình tia 3 pha.docchỉnh lưu hình tia 3 pha.doc
chỉnh lưu hình tia 3 pha.doc
 
NGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdfNGHỊCH LƯU VÀ BIẾN TẦN.pdf
NGHỊCH LƯU VÀ BIẾN TẦN.pdf
 
Điện tử công suất, Trần Trọng Minh.pdf
Điện tử công suất, Trần Trọng Minh.pdfĐiện tử công suất, Trần Trọng Minh.pdf
Điện tử công suất, Trần Trọng Minh.pdf
 
Đề tài: Thiết mạch điều chỉnh tốc độ động cơ một chiều, HAY
Đề tài: Thiết mạch điều chỉnh tốc độ động cơ một chiều, HAYĐề tài: Thiết mạch điều chỉnh tốc độ động cơ một chiều, HAY
Đề tài: Thiết mạch điều chỉnh tốc độ động cơ một chiều, HAY
 
Tinh toan dien tro cho led
Tinh toan dien tro cho ledTinh toan dien tro cho led
Tinh toan dien tro cho led
 
Luận văn: Tính toán và thiết kế nguồn ổn áp xung, HOT
Luận văn: Tính toán và thiết kế nguồn ổn áp xung, HOTLuận văn: Tính toán và thiết kế nguồn ổn áp xung, HOT
Luận văn: Tính toán và thiết kế nguồn ổn áp xung, HOT
 
Đề tài: Thiết kế hệ thống đo độ ẩm, HAY, 9đ
Đề tài: Thiết kế hệ thống đo độ ẩm, HAY, 9đĐề tài: Thiết kế hệ thống đo độ ẩm, HAY, 9đ
Đề tài: Thiết kế hệ thống đo độ ẩm, HAY, 9đ
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 5 tập lệnh lập trình
Lập trình PLC S7 1200 tiếng Việt-Chuong 5 tập lệnh lập trìnhLập trình PLC S7 1200 tiếng Việt-Chuong 5 tập lệnh lập trình
Lập trình PLC S7 1200 tiếng Việt-Chuong 5 tập lệnh lập trình
 
Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...
Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...
Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...
 
50889261 ki-thuat-mach-dien-tu-7993-4015
50889261 ki-thuat-mach-dien-tu-7993-401550889261 ki-thuat-mach-dien-tu-7993-4015
50889261 ki-thuat-mach-dien-tu-7993-4015
 
Thiết kế hệ thống điều khiển tốc độ động cơ dc sử dụng bộ điều khiển pid và p...
Thiết kế hệ thống điều khiển tốc độ động cơ dc sử dụng bộ điều khiển pid và p...Thiết kế hệ thống điều khiển tốc độ động cơ dc sử dụng bộ điều khiển pid và p...
Thiết kế hệ thống điều khiển tốc độ động cơ dc sử dụng bộ điều khiển pid và p...
 
Hệ thống bãi giữ xe ô tôt tự động ( pdf)
Hệ thống bãi giữ xe ô tôt tự động ( pdf)Hệ thống bãi giữ xe ô tôt tự động ( pdf)
Hệ thống bãi giữ xe ô tôt tự động ( pdf)
 
Bài tập và ứng dụng PLC
Bài tập và ứng dụng PLCBài tập và ứng dụng PLC
Bài tập và ứng dụng PLC
 
Thiết kế hệ thống giám sát và điều khiển thiết bị công nghiệp, HAY
Thiết kế hệ thống giám sát và điều khiển thiết bị công nghiệp, HAYThiết kế hệ thống giám sát và điều khiển thiết bị công nghiệp, HAY
Thiết kế hệ thống giám sát và điều khiển thiết bị công nghiệp, HAY
 
Đề tài: Thiết kế hệ thống nuôi cá tự động, HOT, 9đ
Đề tài: Thiết kế hệ thống nuôi cá tự động, HOT, 9đĐề tài: Thiết kế hệ thống nuôi cá tự động, HOT, 9đ
Đề tài: Thiết kế hệ thống nuôi cá tự động, HOT, 9đ
 
Autocad electrical 2010
Autocad electrical 2010Autocad electrical 2010
Autocad electrical 2010
 
Đề tài: Thiết kế bộ chỉnh lưu Thyristor điều khiển động cơ một chiều
Đề tài: Thiết kế bộ chỉnh lưu Thyristor điều khiển động cơ một chiềuĐề tài: Thiết kế bộ chỉnh lưu Thyristor điều khiển động cơ một chiều
Đề tài: Thiết kế bộ chỉnh lưu Thyristor điều khiển động cơ một chiều
 
Đồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đườngĐồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đường
 
ĐỒ ÁN - Lập trình PIC16F877A điều khiển tốc độ động cơ DC.doc
ĐỒ ÁN - Lập trình PIC16F877A điều khiển tốc độ động cơ DC.docĐỒ ÁN - Lập trình PIC16F877A điều khiển tốc độ động cơ DC.doc
ĐỒ ÁN - Lập trình PIC16F877A điều khiển tốc độ động cơ DC.doc
 
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PIDĐề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
 

En vedette

Lập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiểnLập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiểnMr Giap
 
THỰC HÀNH ĐIỆN TỬ TỪ A ĐẾN Z
THỰC HÀNH ĐIỆN TỬ TỪ A ĐẾN ZTHỰC HÀNH ĐIỆN TỬ TỪ A ĐẾN Z
THỰC HÀNH ĐIỆN TỬ TỪ A ĐẾN ZĐiện Tử Bách Khoa
 
Tính toán điện trở cho led
Tính toán điện trở cho ledTính toán điện trở cho led
Tính toán điện trở cho ledtrungnb22
 
Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051Mr Giap
 
Giáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - AptechGiáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - AptechMasterCode.vn
 
Hướng dẫn sửa chữa bếp từ trong thực tế
Hướng dẫn sửa chữa bếp từ trong thực tếHướng dẫn sửa chữa bếp từ trong thực tế
Hướng dẫn sửa chữa bếp từ trong thực tếĐiện Tử Bách Khoa
 
Vi Điều Khiển Ứng Dụng AT89s52
Vi Điều Khiển Ứng Dụng AT89s52Vi Điều Khiển Ứng Dụng AT89s52
Vi Điều Khiển Ứng Dụng AT89s52Mr Giap
 
BÀI GIẢNG SỬA CHỮA BOARD MÁY LẠNH 2 CỤM (PHẦN CƠ BẢN)
BÀI GIẢNG SỬA CHỮA BOARD MÁY LẠNH 2 CỤM (PHẦN CƠ BẢN)BÀI GIẢNG SỬA CHỮA BOARD MÁY LẠNH 2 CỤM (PHẦN CƠ BẢN)
BÀI GIẢNG SỬA CHỮA BOARD MÁY LẠNH 2 CỤM (PHẦN CƠ BẢN)Hau Cao Trung
 
Giao trinh 8051.doc
Giao trinh 8051.docGiao trinh 8051.doc
Giao trinh 8051.docLê Hùng
 
Các cấu trúc lệnh trong C
Các cấu trúc lệnh trong CCác cấu trúc lệnh trong C
Các cấu trúc lệnh trong Cpnanhvn
 
Giáo trình tiếng việt điện tử cơ bản - linh kiện điện tử
Giáo trình tiếng việt điện tử cơ bản  - linh kiện điện tửGiáo trình tiếng việt điện tử cơ bản  - linh kiện điện tử
Giáo trình tiếng việt điện tử cơ bản - linh kiện điện tửHuytraining
 
Tong hop tai lieu bep tu
Tong hop tai lieu bep tuTong hop tai lieu bep tu
Tong hop tai lieu bep tu123thue
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiTrung Thanh Nguyen
 
[Share] tổng hợp các bài tập c căn bản
[Share] tổng hợp các bài tập c căn bản[Share] tổng hợp các bài tập c căn bản
[Share] tổng hợp các bài tập c căn bảnKhong Biet Khong Quen
 

En vedette (20)

Lập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiểnLập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiển
 
THỰC HÀNH ĐIỆN TỬ TỪ A ĐẾN Z
THỰC HÀNH ĐIỆN TỬ TỪ A ĐẾN ZTHỰC HÀNH ĐIỆN TỬ TỪ A ĐẾN Z
THỰC HÀNH ĐIỆN TỬ TỪ A ĐẾN Z
 
Các loại ic
Các loại icCác loại ic
Các loại ic
 
880 linh kien_dien_tu
880 linh kien_dien_tu880 linh kien_dien_tu
880 linh kien_dien_tu
 
Tính toán điện trở cho led
Tính toán điện trở cho ledTính toán điện trở cho led
Tính toán điện trở cho led
 
Cac mach dien hay
Cac mach dien hayCac mach dien hay
Cac mach dien hay
 
Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051
 
Giáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - AptechGiáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - Aptech
 
Hướng dẫn sửa chữa bếp từ trong thực tế
Hướng dẫn sửa chữa bếp từ trong thực tếHướng dẫn sửa chữa bếp từ trong thực tế
Hướng dẫn sửa chữa bếp từ trong thực tế
 
ĐIỆN TỬ CƠ BẢN NÂNG CAO
ĐIỆN TỬ CƠ BẢN NÂNG CAOĐIỆN TỬ CƠ BẢN NÂNG CAO
ĐIỆN TỬ CƠ BẢN NÂNG CAO
 
Vi Điều Khiển Ứng Dụng AT89s52
Vi Điều Khiển Ứng Dụng AT89s52Vi Điều Khiển Ứng Dụng AT89s52
Vi Điều Khiển Ứng Dụng AT89s52
 
Chuong2 cấu trúc phần cứng 8051
Chuong2 cấu trúc phần cứng 8051Chuong2 cấu trúc phần cứng 8051
Chuong2 cấu trúc phần cứng 8051
 
BÀI GIẢNG SỬA CHỮA BOARD MÁY LẠNH 2 CỤM (PHẦN CƠ BẢN)
BÀI GIẢNG SỬA CHỮA BOARD MÁY LẠNH 2 CỤM (PHẦN CƠ BẢN)BÀI GIẢNG SỬA CHỮA BOARD MÁY LẠNH 2 CỤM (PHẦN CƠ BẢN)
BÀI GIẢNG SỬA CHỮA BOARD MÁY LẠNH 2 CỤM (PHẦN CƠ BẢN)
 
Giao trinh 8051.doc
Giao trinh 8051.docGiao trinh 8051.doc
Giao trinh 8051.doc
 
Các cấu trúc lệnh trong C
Các cấu trúc lệnh trong CCác cấu trúc lệnh trong C
Các cấu trúc lệnh trong C
 
Bai Tap Vi Xu Ly
Bai Tap Vi Xu LyBai Tap Vi Xu Ly
Bai Tap Vi Xu Ly
 
Giáo trình tiếng việt điện tử cơ bản - linh kiện điện tử
Giáo trình tiếng việt điện tử cơ bản  - linh kiện điện tửGiáo trình tiếng việt điện tử cơ bản  - linh kiện điện tử
Giáo trình tiếng việt điện tử cơ bản - linh kiện điện tử
 
Tong hop tai lieu bep tu
Tong hop tai lieu bep tuTong hop tai lieu bep tu
Tong hop tai lieu bep tu
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giải
 
[Share] tổng hợp các bài tập c căn bản
[Share] tổng hợp các bài tập c căn bản[Share] tổng hợp các bài tập c căn bản
[Share] tổng hợp các bài tập c căn bản
 

Similaire à 8051 Danh Cho Nguoi Chua Biet Gi

Chuong 2 tap-lenh_plc_s7_200
Chuong 2 tap-lenh_plc_s7_200Chuong 2 tap-lenh_plc_s7_200
Chuong 2 tap-lenh_plc_s7_200yeuamnhac83
 
Tai lieu hd_tttn_2006
Tai lieu hd_tttn_2006Tai lieu hd_tttn_2006
Tai lieu hd_tttn_2006yeuamnhac83
 
Os Capouchtutorial
Os CapouchtutorialOs Capouchtutorial
Os Capouchtutorialoscon2007
 
Cad cam trong thiet ke va che tao - autocad
Cad cam trong thiet ke va che tao - autocadCad cam trong thiet ke va che tao - autocad
Cad cam trong thiet ke va che tao - autocadNguyễn Cung
 
Cad cam Trong thiết kế và chế tạo
Cad cam Trong thiết kế và chế tạoCad cam Trong thiết kế và chế tạo
Cad cam Trong thiết kế và chế tạoGai Viet Xinh
 
Cad cam trong-thiet_ke_va_che_tao
Cad cam trong-thiet_ke_va_che_taoCad cam trong-thiet_ke_va_che_tao
Cad cam trong-thiet_ke_va_che_taoHien Dinh
 
Steganography: Hiding your secrets with PHP
Steganography: Hiding your secrets with PHPSteganography: Hiding your secrets with PHP
Steganography: Hiding your secrets with PHPRaul Fraile
 
Bt0064 logic design assignment-feb-11
Bt0064 logic design assignment-feb-11Bt0064 logic design assignment-feb-11
Bt0064 logic design assignment-feb-11SMUGuru
 
4 autocad chotudonghoathietke_1744
4 autocad chotudonghoathietke_17444 autocad chotudonghoathietke_1744
4 autocad chotudonghoathietke_1744Thế Anh Nguyễn
 
Tailieu.vncty.com auto cad cho tự động hóa thiết kế - nguyễn văn hiến
Tailieu.vncty.com   auto cad cho tự động hóa thiết kế - nguyễn văn hiếnTailieu.vncty.com   auto cad cho tự động hóa thiết kế - nguyễn văn hiến
Tailieu.vncty.com auto cad cho tự động hóa thiết kế - nguyễn văn hiếnTrần Đức Anh
 
Making multiplayer game with Elixir and Elm
Making multiplayer game with Elixir and ElmMaking multiplayer game with Elixir and Elm
Making multiplayer game with Elixir and Elmnetzke
 
Micro controller(pratheesh)
Micro controller(pratheesh)Micro controller(pratheesh)
Micro controller(pratheesh)Pratheesh Pala
 
ELK Presentation Final V1
ELK Presentation Final V1ELK Presentation Final V1
ELK Presentation Final V1Jon Hammant
 
DOXLON November 2016 - ELK Stack and Beats
DOXLON November 2016 - ELK Stack and Beats DOXLON November 2016 - ELK Stack and Beats
DOXLON November 2016 - ELK Stack and Beats Outlyer
 
Micro c lab4(keypad)
Micro c lab4(keypad)Micro c lab4(keypad)
Micro c lab4(keypad)Mashood
 
Gioi Thieu Ve Autolisp
Gioi Thieu Ve AutolispGioi Thieu Ve Autolisp
Gioi Thieu Ve AutolispMio Class
 
4autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp014autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp01lekytho
 

Similaire à 8051 Danh Cho Nguoi Chua Biet Gi (20)

Chuong 2 tap-lenh_plc_s7_200
Chuong 2 tap-lenh_plc_s7_200Chuong 2 tap-lenh_plc_s7_200
Chuong 2 tap-lenh_plc_s7_200
 
Tai lieu hd_tttn_2006
Tai lieu hd_tttn_2006Tai lieu hd_tttn_2006
Tai lieu hd_tttn_2006
 
Os Capouchtutorial
Os CapouchtutorialOs Capouchtutorial
Os Capouchtutorial
 
Cad cam trong thiet ke va che tao - autocad
Cad cam trong thiet ke va che tao - autocadCad cam trong thiet ke va che tao - autocad
Cad cam trong thiet ke va che tao - autocad
 
Cad cam Trong thiết kế và chế tạo
Cad cam Trong thiết kế và chế tạoCad cam Trong thiết kế và chế tạo
Cad cam Trong thiết kế và chế tạo
 
Cad cam trong-thiet_ke_va_che_tao
Cad cam trong-thiet_ke_va_che_taoCad cam trong-thiet_ke_va_che_tao
Cad cam trong-thiet_ke_va_che_tao
 
Steganography: Hiding your secrets with PHP
Steganography: Hiding your secrets with PHPSteganography: Hiding your secrets with PHP
Steganography: Hiding your secrets with PHP
 
Bt0064 logic design assignment-feb-11
Bt0064 logic design assignment-feb-11Bt0064 logic design assignment-feb-11
Bt0064 logic design assignment-feb-11
 
4 autocad chotudonghoathietke_1744
4 autocad chotudonghoathietke_17444 autocad chotudonghoathietke_1744
4 autocad chotudonghoathietke_1744
 
Tailieu.vncty.com auto cad cho tự động hóa thiết kế - nguyễn văn hiến
Tailieu.vncty.com   auto cad cho tự động hóa thiết kế - nguyễn văn hiếnTailieu.vncty.com   auto cad cho tự động hóa thiết kế - nguyễn văn hiến
Tailieu.vncty.com auto cad cho tự động hóa thiết kế - nguyễn văn hiến
 
Lab1
Lab1Lab1
Lab1
 
1mpmc
1mpmc 1mpmc
1mpmc
 
Making multiplayer game with Elixir and Elm
Making multiplayer game with Elixir and ElmMaking multiplayer game with Elixir and Elm
Making multiplayer game with Elixir and Elm
 
Micro controller(pratheesh)
Micro controller(pratheesh)Micro controller(pratheesh)
Micro controller(pratheesh)
 
ELK Presentation Final V1
ELK Presentation Final V1ELK Presentation Final V1
ELK Presentation Final V1
 
DOXLON November 2016 - ELK Stack and Beats
DOXLON November 2016 - ELK Stack and Beats DOXLON November 2016 - ELK Stack and Beats
DOXLON November 2016 - ELK Stack and Beats
 
Micro c lab4(keypad)
Micro c lab4(keypad)Micro c lab4(keypad)
Micro c lab4(keypad)
 
01.introduction.ppt
01.introduction.ppt01.introduction.ppt
01.introduction.ppt
 
Gioi Thieu Ve Autolisp
Gioi Thieu Ve AutolispGioi Thieu Ve Autolisp
Gioi Thieu Ve Autolisp
 
4autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp014autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp01
 

Dernier

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Dernier (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
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