Giáo trình Kỹ thuật vi điều khiển - Chương IV: Các bài tập thực hiện trên KIT - Lâm Tăng Đức
Với mục đích là đào tạo nên tất cả chương trình DEMO của KIT đều được viết
bằng hợp ngữ (Assembly), điều này giúp người học có thể hiểu rõ và nắm vững về cấu
trúc phần cứng của họ vi điều khiển 8051. Ngoài ra còn làm quen được với cách lập
trình không cấu trúc, khác với lập trình có cấu trúc bằng các ngôn ngữ bậc cao như C
hay Basic, qua các bài thực hành. Cuối cùng người học có thể tự mình tối ưu được mL
lệnh để tiết kiệm bộ nhớ, điều này là cần thiết khi dung lượng của ROM và RAM tích
hợp sẵn trên chip của các vi điều khiển là không lớn.
4.1 Các ví dụ về điều khiển chip mở rộng I/O 8255 sử dụng trên KIT
Như đL tìm hiểu ở chương 2 về cấu trúc, các chế độ hoạt động của chip 8255, trong
KIT này ta sử dụng 8255 làm chip mở rộng I/O hoạt động ở chế độ 0 – chế độ vào ra
cơ bản. Khi 8255 làm việc ở chế độ này, các cổng A, B, CL, CU có thể được lập trình
làm đầu vào hoặc đầu ra. Nên nhấn mạnh rằng, ở chế độ 0 thì tất cả các bit hoặc làm
đầu vào, hoặc làm đầu ra mà không thể điều khiển riêng rẽ từng bit như các cổng P0-
P3 của 8051.
Cấu trúc từ điều khiển (CW) ở chế độ này có khuôn dạng như hình 2.15
4.1.1. Ví dụ 1: Xác định từ điều khiển của 8255 cho các cấu hình sau:
a) Tất cả các cổng A,B và C đều là các cổng đầu ra (ở chế độ 0).
b) PA làm đầu vào, PB - đầu ra, PCL - đầu vào và PCH - đầu ra
Giải: Từ hình 2.15 ta xác định được
a) 10000000B = 80H
b) 10010001B = 91H
Tóm tắt nội dung tài liệu: Giáo trình Kỹ thuật vi điều khiển - Chương IV: Các bài tập thực hiện trên KIT - Lâm Tăng Đức
- 80 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 80 Ch−¬ng IV C¸c bµi tËp thùc hiÖn trªn Kit Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H - 81 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 81 Ch−¬ng IV C¸c bµi tËp thùc hiÖn trªn Kit Víi môc ®Ých lµ ®µo t¹o nªn tÊt c¶ ch−¬ng tr×nh DEMO cña KIT ®Òu ®−îc viÕt b»ng hîp ng÷ (Assembly), ®iÒu nµy gióp ng−êi häc cã thÓ hiÓu râ vµ n¾m v÷ng vÒ cÊu tróc phÇn cøng cña hä vi ®iÒu khiÓn 8051. Ngoµi ra cßn lµm quen ®−îc víi c¸ch lËp tr×nh kh«ng cÊu tróc, kh¸c víi lËp tr×nh cã cÊu tróc b»ng c¸c ng«n ng÷ bËc cao nh− C hay Basic, qua c¸c bµi thùc hµnh. Cuèi cïng ng−êi häc cã thÓ tù m×nh tèi −u ®−îc mL lÖnh ®Ó tiÕt kiÖm bé nhí, ®iÒu nµy lµ cÇn thiÕt khi dung l−îng cña ROM vµ RAM tÝch hîp s½n trªn chip cña c¸c vi ®iÒu khiÓn lµ kh«ng lín. 4.1 C¸c vÝ dô vÒ ®iÒu khiÓn chip më réng I/O 8255 sö dông trªn KIT Nh− ®L t×m hiÓu ë ch−¬ng 2 vÒ cÊu tróc, c¸c chÕ ®é ho¹t ®éng cña chip 8255, trong KIT nµy ta sö dông 8255 lµm chip më réng I/O ho¹t ®éng ë chÕ ®é 0 – chÕ ®é vµo ra c¬ b¶n. Khi 8255 lµm viÖc ë chÕ ®é nµy, c¸c cæng A, B, CL, CU cã thÓ ®−îc lËp tr×nh lµm ®Çu vµo hoÆc ®Çu ra. Nªn nhÊn m¹nh r»ng, ë chÕ ®é 0 th× tÊt c¶ c¸c bit hoÆc lµm ®Çu vµo, hoÆc lµm ®Çu ra mµ kh«ng thÓ ®iÒu khiÓn riªng rÏ tõng bit nh− c¸c cæng P0- P3 cña 8051. CÊu tróc tõ ®iÒu khiÓn (CW) ë chÕ ®é nµy cã khu«n d¹ng nh− h×nh 2.15 4.1.1. VÝ dô 1: X¸c ®Þnh tõ ®iÒu khiÓn cña 8255 cho c¸c cÊu h×nh sau: a) TÊt c¶ c¸c cæng A,B vµ C ®Òu lµ c¸c cæng ®Çu ra (ë chÕ ®é 0). b) PA lµm ®Çu vµo, PB - ®Çu ra, PCL - ®Çu vµo vµ PCH - ®Çu ra Gi¶i: Tõ h×nh 2.15 ta x¸c ®Þnh ®−îc a) 10000000B = 80H b) 10010001B = 91H - 82 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 82 D7 D6 D5 D4 D3 D2 D1 D0 H×nh 2.15 Khu«n d¹ng tõ ®iÒu khiÓn cña 8255 (chÕ ®é vµo ra c¬ së) 4.1.2. VÝ dô 2: Gi¶ sö nh− ta cã mét chip 8051 ®−îc nèi víi chip 8255 sao cho ®Þa chØ cña c¸c PORT vµ tõ ®iÒu khiÓn cña 8255 nh− sau: 8004H –PortA; 8005H – Port B; 8006H –PortC; 8007H –CW a) T×m byte ®iÒu khiÓn ®Ó PA lµ cæng vµo, PB, PC lµ cæng ra b) ViÕt mét ch−¬ng tr×nh ®Ó lÊy d÷ liÖu ë PA vµ göi ®Õn cæng B vµ C Gi¶i: a) Dùa vµo h×nh 2.15 ta cã ®−îc tõ ®iÒu khiÓn CW = 10010000B = 90H b) Ch−¬ng tr×nh: ; ################################################ mov A, #90H ; PA lµ cæng vµo, PB, PC lµ cæng ra mov DPTR, #8007H ; CW movx @DPTR, A ; XuÊt tõ ®iÒu khiÓn Again: Chän mode 00 = Mode 0 01 = Mode 1 1x = Mode 2 1 = I/O Mode 0 = BSR Mode Cæng A 1= Input 0 = Output Cæng C PC7 – PC4 1= Input 0 = Output Cæng B 1= Input 0 = Output Cæng C PC3– PC0 1= Input 0 = Output Chän mode 0 = Mode 0 1 = Mode 1 Nhãm A Nhãm B - 83 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 83 mov DPTR, #8004H ; §Þa chØ PA movx A, @DPTR ; NhËn d÷ liÖu tõ PA inc DPTR ; §Þa chØ cña cæng PB movx @DPTR, A ; §−a d÷ liÖu ra cæng PB inc DPTR ; §Þa chØ cña cæng PC movx @DPTR, A ; §−a d÷ liÖu ra PC ; ################################################# Sau khi ®L hiÓu râ c¸c thao t¸c lµm viÖc víi 8255 ®Ó giao tiÕp víi c¸c thiÕt bÞ ngo¹i vi cña KIT ta cã tiÕn hµnh c¸c bµi thÝ nghiÖm sau. 4.2 Bµi to¸n 1 : §iÒu khiÓn 8 bit ®Çu ra sè §iÒu khiÓn 8 bit ®Çu ra sè lµ mét bµi to¸n ®¬n gi¶n nh»m gióp ng−êi häc lµm quen víi viÖc ®iÒu khiÓn vi m¹ch 8255 ®Ó göi ra cæng mét tÝn hiÖu sè. Bµi to¸n thùc hiÖn viÖc xuÊt ra mét tÝn hiÖu sè 8 bit (1 byte) vµ kÕt qu¶ nµy ®−îc hiÓn thÞ trªn 8 ®Ìn LED nhá t−¬ng øng víi 8 bit ®L ®−îc bè trÝ trªn bé KIT, nÕu 1 bit b»ng 1 (High) th× ®Ìn t−¬ng øng sÏ t¾t vµ ng−îc l¹i. 4.3 Bµi to¸n 2 : §iÒu khiÓn nhËn ®Çu vµo 8 bit sè vµ göi ®Õn 8 bit ®Çu ra Bµi to¸n thùc hiÖn viÖc ®iÒu khiÓn vi m¹ch 8255 qui ®Þnh mét cæng cña nã lµm ®Çu vµo nhËn tÝn hiÖu sè vµ göi tÝn hiÖu ®ã ®Õn mét cæng ra kh¸c. 4.4 Bµi to¸n 3 : §iÒu khiÓn hiÓn thÞ tÜnh ma trËn LED 8x8 §iÒu khiÓn hiÓn thi tÜnh ma trËn LED lµ mét bµi to¸n ®iÒu khiÓn ®¬n gi¶n ma trËn LED hiÓn thÞ c¸c ®iÓm LED cã mµu s¾c kh¸c nhau theo tõng cét xen kÎ nhau, bµi to¸n nµy gióp ng−êi häc hiÓu râ h¬n cÊu t¹o cña ma trËn LED vµ lµm quen víi viÖc ®iÒu khiÓn nã. 4.5 Bµi to¸n 4 : §iÒu khiÓn hiÓn thÞ ®éng ma trËn LED 8x8 - 84 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 84 §iÒu khiÓn hiÓn thÞ ®éng ma trËn LED lµ mét bµi to¸n phøc t¹p h¬n bµi to¸n hiÓn thÞ tÜnh ë trªn. Néi dung cña bµi to¸n lµ thùc hiÖn viÖc quÐt liªn lôc theo tõng dßng cña ma trËn LED ®Ó hiÓn thÞ c¸c ch÷ sè trong hÖ Hexa tõ 0-9.. ®Õn A-F lªn trªn b¶ng LED. 4.6 Bµi to¸n 5 : §iÒu khiÓn ADC0809 vµ DAC0808 Víi ADC0809: bµi to¸n thùc hiÖn viÖc chuyÓn ®æi tÝn hiÖu Analog ë mét trong 8 kªnh ®Çu vµo thµnh tÝn hiÖu sè 8 bit ë ®Çu ra cña ADC0809. Sau ®ã ®äc tÝn hiÖu sè ®L chuyÓn ®æi nµy hiÓn thÞ lªn LCD. ë phÇn nµy trªn KIT cßn trang bÞ s½n mét c¶m biÕn nhiÖt ®é, bµi to¸n thÝ nghiÖm ®Ó ®o nhiÖt ®é ®−îc thùc hiÖn khi ta bËt nót thø 4 cña DIP SWITCH ®Ó nèi tÝn hiÖu ®Çu ra cña LM35 ®Õn kªnh ®Çu vµo 4 cña ADC0809, nhiÖt ®é phßng còng ®−îc hiÓn thÞ trªn LCD. Víi DAC0808: bµi to¸n thùc hiÖn chuyÓn ®æi tÝn hiÖu sè 8 bit thµnh tÝn hiÖu t−¬ng tù cã d¶i 0 -10V ë ®Çu ra cña DAC0808, tÝn hiÖu nµy cã thÓ ®−a vµo m¸y hiÖn sãng (Oscilloscope) ®Ó xem kÕt qu¶ ®èi víi ch−¬ng tr×nh t¹o sãng (sin) hoÆc cã thÓ ®o b»ng ®ång hå b×nh th−êng nÕu chØ t¹o ra ë ®Çu ra 1 gi¸ trÞ ®iÖn ¸p kh«ng ®æi. 4.7 Bµi to¸n 6 : §iÒu khiÓn ®éng c¬ b−íc vµ ®éng c¬ 1 chiÒu Bµi to¸n thùc hiÖn viÖc ®iÒu khiÓn ®éng c¬ b−íc quay, thay ®æi tèc ®é, ®¶o chiÒu, dõng ®éng c¬. Ch−¬ng tr×nh sö dông 4 ®Çu vµo xung ®Ó lµm c¸c phÝm lµm thay ®æi c¸c tr¹ng th¸i trªn cña ®éng c¬ b−íc. * Th−êng c¸c cuén d©y cña ®éngc¬ b−íc ®−îc x¸c ®Þnh theo mµu cña c¸c d©y, tuy nhiªn ®èi víi mét ®éng c¬ b−íc bÊt kú ta cã thÓ dïng ®ång hå ®Ó x¸c ®Þnh c¸c cuén d©y nh− h×nh vÏ, ë ®©y tr×nh bµy c¸ch x¸c ®Þnh cho c¸c ®éng c¬ cã 5, 6 d©y 1. Dïng ®ång hå ®Ó x¸c ®Þnh ®Çu Common: dïng ®ång hå ®Ó ë thang ®o trë, ®o trë gi÷a c¸c cÆp d©y, ®Çu Common lµ ®Çu cã trë gi÷a nã c¸c ®Çu kh¸c b»ng 1/2 ®iÖn trë cña c¸c ®Çu kh¸c víi nhau. - 85 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 85 2. X¸c ®Þnh thø tù c¸c cuén d©y b»ng c¸ch cÊp nguån vµo ®Çu Common vµ nèi ®Êt 1 trong 4 d©y cßn l¹i, ®ång thêi nèi ®Êt 1 trong 3 d©y cßn l¹i xem ph¶n øng (chiÒu quay) cña ®éng c¬ vµ ®¸nh dÊu thø tù cho nã nh− trong b¶ng sau: Nèi mass mét ®Çu, ®¸nh dÊu nã lµ ®Çu 4 Gi÷ nguyªn nã, nèi mass tiÕp lÇn l−ît mét trong 3 d©y cßn l¹i NÕu ®éng c¬ quay theo chiÒu kim ®ång hå, ®ã lµ cuén 3 NÕu ®éng c¬ quay ng−îc chiÒu kim ®ång hå, ®ã lµ cuén 1 D©y kh«ng cã ph¶n øng g× c¶ lµ cuén 2 Khi biÕt ®−îc thø tù c¸c cuén d©y, ta kÝch xung theo thø tù ®ã ®éng c¬ sÏ ch¹y VÝ dô mét ®o¹n ch−¬ng tr×nh nh− sau, gi¶ sö 4 ®Çu cña ®éng c¬ ®−îc 4 bit P1.0 – P1.3 cña 8051 ®iÒu khiÓn: ; ################################ ORG 0000H MOV R3,#00000011B - 86 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 86 MOV A, R3 BACK: MOV P1,A RL A ; Quay thanh ghi A ACALL DELAY SJMP BACK ; Tèc ®é quay cã thÓ thay dæi b»ng thay ®æi thêi gian Delay DELAY: MOV R1,#50 H1: MOV R2 ,#255 H2: DJNZ R2,H2 DJNZ R1,H1 RET END ;########################### 4.8 Bµi to¸n 7 : Giao tiÕp víi m¸y tÝnh b»ng giao thøc RS232 sö dông cæng nèi tiÕp. Ch−¬ng tr×nh DEMO ch¹y trªn PC ®−îc viÕt b»ng Delphi 7, cã sö dông th− viÖn CPort 3.0 hç trî giao tiÕp. C¸c h−íng dÉn sö dông cã thÓ xem trùc tiÕp phÇn trî gióp cña ch−¬ng tr×nh.
File đính kèm:
- giao_trinh_ky_thuat_vi_dieu_khien_chuong_iv_cac_bai_tap_thuc.pdf