Bài giảng vi xử lý

PHÍM NHẤN, NÚT NHẤN, BÀN PHÍM DÙNG ĐỂ GIAO TIẾP GIỮA CON NGƯỜI VÀ THIẾT BỊ ĐIỀU KHIỂN. VÍ DỤ: BÀN PHÍM MÁY TÍNH, BÀN PHÍM ĐIỆN THOẠI, BÀN PHÍM MÁY BÁN XĂNG DẦU DÙNG NHẬP SỐ TIỀN CẦN BÁN, SỐ LÍT CẦN BÁN, MÁY GIẶT TỰ ĐỘNG CÓ BÀN PHÍM ĐỂ CHỈNH CHẾ ĐỘ GIẶT, CHỌN MỰC NƯỚC, CÓ 2 DẠNG GIAO TIẾP: HỆ THỐNG ÍT PHÍM: VÍ DỤ ĐK ĐỘNG CƠ BẰNG 3 PHÍM: START, STOP, INV, ĐỒNG HỒ CÓ 3 ĐẾN 4 PHÍM ĐỂ CHỈNH THỜI GIAN. HỆ THỐNG NHIỀU PHÍM: HỆ THỐNG BÁN XĂNG DẦU, , MÁY TÍNH, ĐIỆN THOẠI,  MAÏCH ÑIEÄN GIAO TIEÁP – HỆ THỐNG ÍT PHÍM

pdf34 trang | Chia sẻ: ngtr9097 | Lượt xem: 2307 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng vi xử lý, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 19 VI ÑIEÀU KHIEÅN GIAO TIẾP LED 7 ÑOAÏN CHÖÙC NAÊNG LED 7 ÑOAÏN LAØ HIEÅN THÒ SOÁ THAÄP PHAÂN COÙ 2 CAÙCH: GIAO TIEÁP TRÖÏC TIEÁP VAØ GIAO TIEÁP THEO PP QUEÙT  CAÙCH 1: GIAO TIEÁP TRÖÏC TIEÁP – DUØNG PORT ÑIEÀU KHIEÅN MOÃI PORT ÑIEÀU KHIEÅN 1 LED 7 ÑOAÏN LOAÏI ANODE CHUNG MOÃI PORT ÑIEÀU KHIEÅN TRÖÏC TIEÁP 1 LED  HÌNH AÛNH LED – (LINK ÑÓA F TRONG MUÏC GT CPLD – WEB HAY) Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 20 LED SÖÛ DUÏNG LAØ LED ANODE CHUNG: 0 THÌ LED SAÙNG, 1 THÌ LED TAÉT  MAÕ 7 ÑOAÏN TP SOÁ NHÒ PHAÂN HEX 7 6 5 4 3 2 1 0 DP G F E D C B A 1 1 0 0 0 0 0 0 C0 1 1 1 1 1 0 0 1 F9 A4 B0 4 99 5 92 6 82 7 F8 8 80 9 90 BAØI SOÁ 2-1: CTDK LED 7 ÑOAÏN SAÙNG SOÁ 0 – DUØNG PORT0 0979 507 754  VIEÁT CHÖÔNG TRÌNH ;CHTR DK 1 LED 7 DOAN SANG SO 0 ORG 0H MOV P0,#0C0H ;MA SO 0 JMP $ ;NHẢY TẠI CHỖ END Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 21 BAØI SOÁ 2-2: CTDK LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 0 ÑEÁN 9 – CAÙCH 1 – DUØNG PORT0  LÖU ÑOÀ ÑIEÀU KHIEÅN BEGIN SÁNG SỐ ‘0’, DELAY SÁNG SỐ ‘1’, DELAY SÁNG SỐ ‘2’, DELAY SÁNG SỐ ‘9’, DELAY END  VIEÁT CHÖÔNG TRÌNH ;CHTR DK 1 LED 7 DOAN DEM TU 0 DEN 9 ORG 0000H LB: MOV P0,#0C0H ;SANG SO 0 CALL DELAY1S MOV P0,#0F9H ;SANG SO 1 CALL DELAY1S MOV P0,#0A4H ;SANG SO 2 CALL DELAY1S MOV P0,#0B0H ;SANG SO 3 CALL DELAY1S MOV P0,#099H ;SANG SO 4 CALL DELAY1S MOV P0,#092H ;SANG SO 5 CALL DELAY1S MOV P0,#082H ;SANG SO 6 CALL DELAY1S MOV P0,#0F8H ;SANG SO 7 CALL DELAY1S MOV P0,#080H ;SANG SO 8 CALL DELAY1S Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 22 MOV P0,#090H ;SANG SO 9 CALL DELAY1S JMP LB $INCLUDE(TV_DELAY.ASM) END  LÖU ÑOÀ – CAÙCH 2 CAÙC MAÕ 7 ÑOAÏN CUÛA 10 SOÁ TÖØ 0 ÑEÁN 9 ÑÖÔÏC LÖU VAØO BOÄ NHÔÙ CHÖÔNG TRÌNH. CHÖÔNG TRÌNH COÙ NHIEÄM VUÏ LAÁY LAÀN LÖÔÏT CAÙC MAÕ ÑEM GÔÛI RA PORT ÑIEÀU KHIEÅN LED ÑEÅ HIEÅN THÒ. BEGIN LẤY MÃ (DEM) GỞI RA LED DELAY END DEM:=DEM+1 DEM=10 Đ S LƯU 10 MÃ VÀO BN DEM:=0  VIEÁT CHÖÔNG TRÌNH – CAÙCH 2 ;CHTR DK 1 LED 7 DOAN DEM TU 0 DEN 9 (H1) DEM EQU R4 (H2) ORG 0H (H3)LB: MOV DPTR,#MA7DOAN (H4) MOV DEM,#0 (H5)LB1: MOV A,DEM (H6) MOVC A,@A+DPTR ;LẤY MÃ (H7) MOV P0,A ;HIỂN THỊ (H8) CALL DELAY1S (H9) INC DEM (H10) CJNE DEM,#10,LB1 Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 23 (H11) JMP LB (H13)MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H $INCLUDE(TV_DELAY.ASM) END GIAÛI THÍCH CHÖÔNG TRÌNH (H13)MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H LƯU 10 MÃ 7 ĐOẠN CỦA 10 SỐ TỪ 0 ĐẾN 9 VÀO VÙNG NHỚ CHƯƠNG TRÌNH BẮT ĐẦU TẠI ĐỊA CHỈ MA7DOAN (H13) LIỆT KÊ CÁC MÃ 7 ĐOẠN BẮT ĐẦU BẰNG KÍ HIỆU DB – DEFINE BYTE: ĐỊNH NGHĨA 1 VÙNG DỮ LIỆU DẠNG BYTE. (H3)LB: MOV DPTR,#MA7DOAN NẠP ĐỊA CHỈ MA7DOAN VÀO TG DPTR ĐỂ QUẢN LÝ VÙNG NHỚ CHỨA MÃ 7 ĐOẠN (H13)MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H GIAÛ SÖÛ ĐỊA CHỈ MA7DOAN COÙ GIAÙ TRÒ LAØ 1000H THÌ C0H SEÕ LÖU VAØO ON COÙ ÑÒA CHÆ 1000H = 1000H + 0H – MAÕ SOÁ 0 COØN F9H SEÕ LÖU VAØO ON COÙ ÑÒA CHÆ 1001H = 1000H + 1H - MAÕ SOÁ 1 COØN A4H SEÕ LÖU VAØO ON COÙ ÑÒA CHÆ 1002H = 1000H + 2H - MAÕ SOÁ 2 COØN B0H SEÕ LÖU VAØO ON COÙ ÑÒA CHÆ 1003H = 1000H + 3H - MAÕ SOÁ 3 … COØN 90H SEÕ LÖU VAØO ON COÙ ÑÒA CHÆ 1009H = 1000H + 9H - MAÕ SOÁ 9 1000H THÌ LÖU TRONG DPTR, COØN CAÙC CON SOÁ 0, 1, 2, … THÌ LÖU TRONG A LEÄNH MOVC A,@A+DPTR COPY NDON (COÙ ÑC BAÈNG DPTR + A) SANG TGA Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 24 +2 +3 +4 +5 +6 +7 +8 +9 +1 90 80 F8 82 92 99 B0 A4 F9 (DPTR+A)=(1000) + 0 C0 ADDR CODE (H4) MOV DEM,#0 (H5)LB1: MOV A,DEM (H6) MOVC A,@A+DPTR LẤY NỘI DUNG Ô NHỚ (CÓ ĐỊA CHỈ TRONG TG DPTR CỘNG VỚI TG A) SANG TG A TRƯỚC KHI THỰC HIỆN THÌ DPTR=1000H, A = 00 – TẠO RA ĐỊA CHỈ DPTR + A = 1000H + 00H = 1000H – LẤY ND ON CÓ DC 1000H ĐƯA SANG A SAU KHI THỰC HIỆN THÌ A = C0H – LÀ MÃ CỦA SỐ 0 – GỞI RA PORT 0 ĐỂ HIỂN THỊ ;CHTR DEM TU 0 DEN 9 - TREN 1 LED 7 DOAN NOI VOI P0 - CACH 2 DEM EQU R4 ORG 0H MOV DPTR,#MA7DOAN ;CHO MA7DOAN=1000H LB: MOV DEM,#0 ;DEM=0 LB1: MOV A,DEM ;A=0,1,2 MOVC A,@A+DPTR ;,1000H,1001H,1002H (MA7DOAN, MA7DOAN+1) MOV P0,A ;P0=C0H,F9H,A4H CALL DELAY1S INC DEM ;DEM=1,2 CJNE DEM,#10,LB1 JMP LB ;LAM LAI ;LUU CAC MA 7 DOAN VAO BO NHO CHTR MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H DB 092H,082H,0F8H,080H,090H Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 25 $INCLUDE(TV_DELAY.ASM) END TOÙM TAÉT GIAÛI MAÕ: MOV DPTR,#MA7DOAN ;KHOI TAO DIA CHI QL MA7DOAN MOV A,DEM ;DUA BIEN CAN GIAI MA SANG A MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG ;LUU CAC MA 7 DOAN VAO BO NHO CHTR MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H DB 092H,082H,0F8H,080H,090H GIÔÙI HAÏN CUÛA BIEÁN ÑEÁM LAØ TÖØ 0 ÑEÁN 9 – CHÆ 1 SOÁ NEÁU COÙ NHIEÀU SOÁ THÌ TAÙCH TÖØNG CON SOÁ ROÀI TIEÁN HAØNH GIAÛI MAÕ. GIAÛI MAÕ SOÁ HEX ÑÖÔÏC KHOÂNG? BAØI SOÁ 2-4: CTDK LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 9 ÑEÁN 0 – DUØNG PORT0  DÖÕ LIEÄU ÑIEÀU KHIEÅN  LÖU ÑOÀ ÑIEÀU KHIEÅN BEGIN LẤY MÃ (DEM) GỞI RA LED DELAY END DEM:=DEM-1 DEM=-1 Đ S LƯU 10 MÃ VÀO BN DEM:=9  VIEÁT CHÖÔNG TRÌNH ;CHTR DK 1 LED 7 DOAN DEM TU 0 DEN 9 DEM EQU R2 ORG 0000H Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 26 LB: MOV DPTR,#1000H MOV DEM,#9 LB1: MOV A,DEM MOVC A,@A+DPTR MOV P0,A CALL DELAY1S DEC DEM CJNE DEM,#-1,LB1 JMP LB ORG 1000H DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H $INCLUDE(TV_DELAY.ASM) END BAØI SOÁ 2-5: CTDK LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 00 ÑEÁN 99 – DUØNG P0 VAØ P2  LÖU ÑOÀ ÑIEÀU KHIEÅN BEGIN DELAY DEM:=DEM+1 END DEM=100 Đ S LƯU 10 MÃ VÀO BN DEM:=0000 0000B HEX(DEM) => BCD BCD => MA7DOAN => LED ;CHTR DK 2 LED 7 DOAN DEM TU 00 LEN 99 DEM EQU R2 ORG 0H MOV DPTR,#MA7DOAN LB: MOV DEM,#00H Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 27 LB1: CALL HEXTOBCD_GIAIMA ;MOI THEM VAO CALL DELAY100MS INC DEM CJNE DEM,#100,LB1 JMP LB HEXTOBCD_GIAIMA: MOV A,DEM MOV B,#10 DIV AB ;(A) = BCD_CHUC, (B)=BCD_DONVI MOVC A,@A+DPTR ;LAY MA CHUC MOV P2,A ;HIEN THI HANG CHUC MOV A,B ;BCD DONVI => A MOVC A,@A+DPTR ;LAY MA DONVI MOV P0,A ;HIEN THI HANG DON VI RET MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H $INCLUDE(TV_DELAY.ASM) END TAÏI SAO CHUYEÅN SOÁ HEX SANG SOÁ BCD? NHÒ PHAÂN HAY HEX DEM (00H -FFH) BCD CHUC – DONVI (00H – 99H) MA7DOAN HIEÅN THÒ GIOÁNG 0000 0000 = 00H 0000 0000=00H C0H C0H GIOÁNG 0000 0001 = 01H 0000 0001=01H C0H F9H GIOÁNG … GIOÁNG 0000 1001 = 09H 0000 1001=09H C0H 90H KHAÙC 0000 1010 = 0AH 0001 0000=10H F9H C0H Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 28 KHAÙC 0000 1011=0BH 0001 0001=11H KHAÙC 0000 1100=0CH 0001 0010=12H KHAÙC KHAÙC 0110 0011=63H 1001 1001=99H 0110 0100=64H 0001 0000 0000 3 SOÁ BCD 0100 0101 0001 0000 0001 101 GIAÛI THUAÄT:  NEÁU SOÁ HEX NAÈM GIÔÙI HAÏN TÖØ 10 ÑEÁN 99 THÌ SOÁ BCD GOÀM CHUÏC VAØ ÑÔN VÒ. LAÁY SOÁ HEX CHIA CHO 10: ÑÖÔÏC KEÁT QUAÛ LAØ SOÁ BCD HAØNG CHUÏC, SOÁ DÖ LAØ SOÁ BCD HAØNG ÑÔN VÒ.  NEÁU SOÁ HEX NAÈM GIÔÙI HAÏN TÖØ 100 ÑEÁN 999 THÌ SOÁ BCD GOÀM TRĂM, CHUÏC VAØ ÑÔN VÒ. LAÁY SOÁ HEX CHIA CHO 10 LAÀN THÖÙ NHAÁT: ÑÖÔÏC KEÁT QUAÛ LAÀN 1, SOÁ DÖ LAØ BCD HAØNG ÑÔN VÒ. LAÁY KEÁT QUAÛ LAÀN 1 CHIA TIEÁP CHO 10 LAÀN THÖÙ 2: SOÁ DÖ LAÀN HAI LAØ BCD CHUÏC, KEÁT QUAÛ LAØ BCD TRAÊM. LEÄNH CHIA DIV AB LAØ CHIA A(8 BIT) CHO B(8 BIT THÖÔØNG LAØ SOÁ 10) SAU KHI CHIA: A LÖU KEÁT QUAÛ, B LÖU SOÁ DÖ. VÍ DUÏ1: CHUYEÅN SOÁ HEX 3FH = 0011 1111B SANG SOÁ BCD: HEX BCD 32+16+8+4+2+1=63 BCD = 0110 0011B 0 0 1 1 1 1 1 1 1010 - 1 0 1 0 0110=BCD_CHUC 0 1 0 1 1 - 1 0 1 0 0 0 0 1 1 0011=BCD_DVI Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 29 TP KQ ;CHTR DK 2 LED 7 DOAN DEM TU 00 LEN 99 ROI DEM XUONG 00 DEM EQU R2 ORG 0000H MOV DPTR,#MA7DOAN LB: MOV DEM,#00H LB1: CALL HEXTOBCD_GIAIMA ;MOI THEM VAO CALL DELAY100MS INC DEM CJNE DEM,#100,LB1 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX LB2: DEC DEM CALL HEXTOBCD_GIAIMA ;MOI THEM VAO CALL DELAY100MS CJNE DEM,#-1,LB2 JMP LB1 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX HEXTOBCD_GIAIMA: MOV A,DEM MOV B,#10 DIV AB ;(A) = BCD CHUC, (B)=BCD DONVI MOVC A,@A+DPTR ;LAY MA CHUC MOV P2,A ;HIEN THI HANG CHUC MOV A,B ;BCD DONVI => A MOVC A,@A+DPTR ;LAY MA DONVI MOV P0,A ;HIEN THI HANG DON VI RET MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H $INCLUDE(TV_DELAY.ASM) END Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 30 BAØI SOÁ 2-6: CTDK LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 000 ÑEÁN 250 – DUØNG P0 – LED ÑÔN VÒ, P1 – LED CHUÏC VAØ P2 – LED TRAÊM.  LÖU ÑOÀ ÑIEÀU KHIEÅN BEGIN DELAY DEM:=DEM+1 END DEM=251 Đ S LƯU 10 MÃ VÀO BN DEM:=0000 0000B HEX(DEM) => BCD BCD => MA7DOAN => LED ;CHTR DK 2 LED 7 DOAN DEM TU 000 LEN 250 DEM EQU R2 ORG 0H MOV DPTR,#MA7DOAN LB: MOV DEM,#00H LB1: CALL HEXTOBCD_GIAIMA ;MOI THEM VAO CALL DELAY100MS INC DEM CJNE DEM,#251,LB1 JMP LB HEXTOBCD_GIAIMA: MOV A,DEM MOV B,#10 DIV AB ;(A) = KQ1, (B)=BCD_DONVI MOV 20H,B ;LUU BCD_DVI VAO ON CO ÑC 20H MOV B,#10 DIV AB ; (A) = BCD_TRAM, (B)=BCD_CHUC Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 31 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MOVC A,@A+DPTR ;LAY MA TRAM MOV P2,A ;HIEN THI HANG TRAM MOV A,B ;BCD_CHUC => A MOVC A,@A+DPTR ;LAY MA CHUC MOV P1,A ;HIEN THI HANG CHUC MOV A,20H ;BCD_DVI => A MOVC A,@A+DPTR ;LAY MA DVI MOV P0,A ;HIEN THI HANG DVI RET MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H $INCLUDE(TV_DELAY.ASM) END CAÙC CHÖÔNG TRÌNH CON TOÅNG QUAÙT CHUYEÅN SOÁ HEX 8 BIT SANG 3 SOÁ BCD LÖU VAØO 3 ON 20H, 21H, 22H: HEXTOBCD: MOV A,HEX8BIT MOV B,#10 DIV AB MOV 20H,B ;LUU BCD_DVI MOV B, #10 DIV AB MOV 21H,B ;LUU BCD_CHUC MOV 22H,A ;LUU BCD_TRAM RET GIAIMA: MOV DPTR,#MA7DOAN MOV A,20H MOVC A,@A+DPTR MOV 30H,A ;LUU MA_DVI MOV A,21H MOVC A,@A+DPTR Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 32 MOV 31H,A ;LUU MA_CHUC MOV A,22H MOVC A,@A+DPTR MOV 32H,A ; LUU MA_TRAM RET HIENTHI_TT: MOV P0,30H MOV P1,31H MOV P2,32H RET CAÙCH 2: DUØNG IC GIAÛI MAÕ 74247 – MOÃI 1 LED CHÆ CAÀN 4 ÑÖÔØNG TÍN HIEÄU – 1 PORT DK ÑÖÔÏC 2 LED, KHOÂNG CAÀN GIAÛI MAÕ 7 ÑOAÏN VÌ IC GIAÛI MAÕ ÑAÕ THÖÏC HIEÄN, TA CHÆ CAÀN GÔÛI MAÕ BCD 4 BIT CHO 1 LED, 8 BIT CHO 2 LED. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 33 BAØI SOÁ 2-6: CTDK 2 LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 00 ÑEÁN 99 – DUØNG P0 KEÁT NOÁI VÔÙI 2 IC GIAÛI MAÕ 74247  LÖU ÑOÀ ÑIEÀU KHIEÅN  CHÖÔNG TRÌNH DEM EQU R2 ORG 0H LB: MOV DEM,#00H LB1: CALL HEXTOBCD_HTHI ;MOI THEM VAO CALL DELAY100MS INC DEM CJNE DEM,#100,LB1 JMP LB HEXTOBCD_HTHI: MOV A,DEM MOV B,#10 DIV AB ;(A) = BCD_CHUC, (B)=BCD_DONVI SWAP A ;CHUYEN HANG CHUC LEN 4 BIT CAO ORL A,B MOV P0,A ;GOI RA 2 IC GIAI MA DE HIEN THI RET $INCLUDE(TV_DELAY.ASM) END Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 34 ÑIEÀU KHIEÅN LED 7 ÑOAÏN DUØNG VDK  CAÙCH 2: DUØNG PHÖÔNG PHAÙP QUEÙT CAÙC ÑOAÏN: A, B, C, D, E, F, G, DP NOÁI SONG - SONG, QUA ÑIEÄN TRÔÛ HAÏN DOØNG NOÁI VÔÙI PORT0. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 35 CAÙC CHAÂN ANODE CHUNG THÌ ÑIEÀU KHIEÅN BAÈNG TRANSISTOR PNP, 8 LED NEÂN DUØNG 8 TRANSISTOR. DUØNG PORT2 ÑIEÀU KHIEÅN 8 TRANS. CÖÏC B BAÈNG 0 THÌ TRANS DAÃN – CÖÏC B BAÈNG 1 THÌ TRANS TAÉT MOÃI 1 THÔØI ÑIEÅM CHÆ CHO 1 TRANS DAÃN. DUØNG 2 PORT 0 VAØ 2 ÑIEÀU KHIEÅN ÑÖÔÏC 8 LED 7 ÑOAÏN ƯU ĐIỂM: TIEÁT KIEÄM TÍN HIEÄU ÑIEÀU KHIEÅN KHUYẾT ĐIỂM: TOÁN TRANSISTOR, CHÖÔNG TRÌNH ÑIEÀU KHIEÅN PHÖÙC TAÏP – CHÖÔNG TRÌNH QUEÙT 8 LED PHAÛI THÖÏC HIEÄN LIEÂN TUÏC THÌ LED MÔÙI SAÙNG. BAØI SOÁ 3-1: CTDK 1 LED 7 ÑOAÏN SAÙNG SOÁ 0 – DUØNG P0, P2  VIEÁT CHÖÔNG TRÌNH ;CHTR DK 1 LED 7 DOAN (L7D0) SANG SO 0 ORG 0H MOV P0,#0C0H ;GOI MA SO 0 MOV P2,#11111110B ;CHO 1 TRANSISTOR DAN JMP $ END THỬ ;CHTR DK 1 LED 7 DOAN (L7D1) SANG SO 0 ORG 0H MOV P0,#0C0H ;GOI MA SO 0 MOV P2,#11111101B ;CHO 1 TRANSISTOR DAN JMP $ END THỬ ;CHTR DK 1 LED 7 DOAN (L7D1) SANG SO 1 ORG 0H MOV P0,#0F9H ;GOI MA SO 1 MOV P2,#11111101B ;CHO 1 TRANSISTOR DAN JMP $ END BAØI SOÁ 3-2: CTDK 8 LED 7 ÑOAÏN QUEÙT SAÙNG SOÁ 0 ÑEÁN SOÁ 7 DUØNG P0, P2  VIEÁT CHÖÔNG TRÌNH Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 36 ;CHTR DK 8 LED 7 DOAN QUET SANG SO 0 DEN SO 7 ORG 0H LB: MOV P0,#0C0H ;0 MOV P2,#11111110B CALL DELAYX MOV P0,#0F9H ;1 MOV P2,#11111101B CALL DELAYX MOV P0,#0A4H ;2 MOV P2,#11111011B CALL DELAYX MOV P0,#0B0H ;3 MOV P2,#11110111B CALL DELAYX MOV P0,#099H ;4 MOV P2,#11101111B CALL DELAYX MOV P0,#092H ;5 MOV P2,#11011111B CALL DELAYX MOV P0,#082H ;6 MOV P2,#10111111B CALL DELAYX MOV P0,#0F8H ;7 MOV P2,#01111111B CALL DELAYX JMP LB DELAYX: CALL DELAY1MS Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 37 RET $INCLUDE(TV_DELAY.ASM) END CAÙCH VIEÁT TREÂN SÖÛ DUÏNG HEÁT 8LED – TA COÙ CAÙCH THÖÙ 2 ;CHTR DK 8 LED 7 DOAN QUET SANG SO 0 DEN SO 7 ORG 0H LB: MOV P0,#0C0H ;0 CLR P2.0 ;TRANSISTOR T0 DAN CALL DELAYX SETB P2.0 ;TRANSISTOR T0 TAT MOV P0,#0F9H ;1 CLR P2.1 ;TRANSISTOR T1 DAN CALL DELAYX SETB P2.1 ;TRANSISTOR T1 TAT … JMP LB DELAYX: CALL DELAY1MS RET $INCLUDE(TV_DELAY.ASM) END BAØI SOÁ 3-3: CT ÑEÁM GIAÂY TÖØ 00 ÑEÁN 59 – HIEÅN THÒ TREÂN 2 LED 7 ÑOAÏN QUEÙT  LÖU ÑOÀ ÑIEÀU KHIEÅN Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 38 BEGIN HEX(GIÂY) => BCD GIẢI MÃ 7 ĐOẠN DELAY – HIỂN THỊ GIÂY:= GIÂY +1 END GIAY=60 Đ S LƯU 10 MÃ VÀO BN GIÂY:=00 (HEX)  VIEÁT CHÖÔNG TRÌNH ;CHTR DK DEM GIAY GIAY EQU R1 ORG 0H MOV DPTR,#MA7DOAN LB: MOV GIAY,#00 LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD CALL GIAIMA ;CHUYEN SO BCD SANG MA 7 DOAN CALL DELAY_HTHI ;VUA DELAY VA VUA HIEN THI INC GIAY ;01H,02 CJNE GIAY,#60,LB1 JMP LB ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX HEXTOBCD: MOV A,GIAY MOV B,#10 ;KHI BIEN DICH THANH 0000 1010B DIV AB ;(A)=BCD CHUC, (B)=BCD DONVI RET ;TRO LAI CH TR CHINH ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX GIAIMA: MOVC A,@A+DPTR ;GIAI MA HANG CHUC MOV 31H,A ;CAT TAM MA 7 DOAN CUA CHUC VAO 31H MOV A,B ;CHUYEN BCD DONVI SANG A MOVC A,@A+DPTR ;GIAI MA HANG DON VI MOV 30H,A RET Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 39 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELAY_HTHI: MOV 78H,#200 DELHT: CALL HIENTHI DJNZ 78H,DELHT RET HIENTHI: MOV P0,30H CLR P2.0 CALL DELAY1MS SETB P2.0 MOV P0,31H CLR P2.1 CALL DELAY1MS SETB P2.1 RET $INCLUDE(TV_DELAY.ASM) MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H END BAØI SOÁ 3-3: CT ÑEÁM TÖØ 00 ÑEÁN 99 – HIEÅN THÒ TREÂN 2 LED 7 ÑOAÏN QUEÙT  LÖU ÑOÀ ÑIEÀU KHIEÅN BEGIN HEX(DEM) => BCD GIẢI MÃ 7 ĐOẠN ELAY – HIỂN THỊ DEM:= DEM +1 END DEM=100 Đ S LƯU 10 MÃ VÀO BN DEM:=00 (HEX) BEGIN DELAY DEM:=DEM+1 END DEM=100 Đ S LƯU 10 MÃ VÀO BN DEM:=0000 0000B HEX(DEM) => BCD BCD => MA7DOAN => LED  VIEÁT CHÖÔNG TRÌNH Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 40 ;CHTR DK DEM GIAY DEM EQU R1 ORG 0H MOV DPTR,#MA7DOAN LB: MOV DEM,#00 LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD CALL GIAIMA ;CHUYEN SO BCD SANG MA 7 DOAN CALL DELAY_HTHI ;VUA DELAY VA VUA HIEN THI INC DEM ;01H,02 CJNE DEM,#100,LB1 JMP LB ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX HEXTOBCD: MOV A,DEM MOV B,#10 ;KHI BIEN DICH THANH 0000 1010B DIV AB ;(A)=BCD CHUC, (B)=BCD DONVI RET ;TRO LAI CH TR CHINH GIAIMA: MOVC A,@A+DPTR ;GIAI MA HANG CHUC MOV 31H,A ;CAT TAM MA 7 DOAN CUA CHUC VAO 36H MOV A,B ;CHUYEN BCD DONVI SANG A MOVC A,@A+DPTR ;GIAI MA HANG DON VI MOV 30H,A RET DELAY_HTHI: MOV 78H,#200 DELHT: CALL HIENTHI DJNZ 78H,DELHT RET HIENTHI: MOV P0,30H CLR P2.0 CALL DELAY1MS SETB P2.0 MOV P0,31H CLR P2.1 CALL DELAY1MS SETB P2.1 RET $INCLUDE(TV_DELAY.ASM) Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 41 MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H END GIAÛI THÍCH CHÖÔNG TRÌNH CON DELAY: - MOÃI LEÄNH CAÀN 1 HOAËC 2 CHU KYØ MAÙY ÑEÅ THÖÏC HIEÄN – CHO 1 CHU KYØ MAÙY LAØ 1µS NẾU SỬ DỤNG THẠCH ANH 12MHZ. - MUOÁN DELAY 1MS = 1000µS – CHO VI ÑIEÀU KHIEÅN THÖÏC HIEÄN 1000 LEÄNH NAØO ÑOÙ – MOÃI LEÄNH 1 CHU KYØ. - VÍ DUÏ LEÄNH NOP NOP ;THỨ 1 NOP ;THỨ 2 … NOP ;THỨ 1000 CAÙCH VIEÁT DUØNG VOØNG LAËP: DELAY204µS: MOV 70H,#100 ;2T DJNZ 70H,$ ;2T × 100 RET ;2T DELAY500µS: MOV 70H,#248 ;2T DJNZ 70H,$ ;2T × 248 RET ;2T DELAY1000µS: MOV 70H,#249 ;2T XX: NOP ;1T× 249 NOP ;1T× 249 DJNZ 70H,XX ;2T × 249 RET ;2T 1. Leänh chuyeån döõ lieäu vaøo oâ nhôù tröïc tieáp :  Cuù phaùp : MOV direct, #data  Maõ leänh : 0 1 1 1 0 1 0 1 a7 a6 a5 a4 a3 a2 a1 a0 d7 d6 d5 d4 d3 d2 d1 d0  Leänh naøy chieám

Các file đính kèm theo tài liệu này:

  • pdfBAIGIANG_003_VXL_LED_7DOAN.pdf
  • pdfBAIGIANG_005_VXL_BANPHIM_NUTNHAN.pdf
  • pdfvxl_chapter_00_0_bia.pdf
  • pdfvxl_chapter_03_cautruc_vxl16bit_8086.pdf
  • pdfvxl_chapter_07_giaotiep_ungdung_vdk.pdf