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

 

pdf 7 trang yennguyen 5160
Bạn đang xem 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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

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

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:

  • pdfgiao_trinh_ky_thuat_vi_dieu_khien_chuong_iv_cac_bai_tap_thuc.pdf