YOMEDIA
ADSENSE
SÁCH TIMER VÀ COUNTER CỦA MCS51
121
lượt xem 29
download
lượt xem 29
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Tài liệu tham khảo dành cho giáo viên, sinh viên chuyên ngành điện, điện tử - Khái niệm, ứng dụng của vi điều khiển.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: SÁCH TIMER VÀ COUNTER CỦA MCS51
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù TIMER VAØ COUNTER CỦA MCS51 VDK HOÏ MCS-51 COÙ 2 TIMER/COUNTER T0 VAØ T1, HOÏ MCS52 COÙ THEÂM TIMER T2 COÙ 6 TG PHUÏC VUÏ CHO TIMER/COUNTER TG TMOD – TIMER MODE – TG LÖÏA CHOÏN KIEÅU HOAÏT ÑOÄNG TG TCON – TIMER CONTROL – TG ÑIEÀU KHIEÅN TIMER TG TH0+TL0 CHÖÙA XUNG ÑEÁM CUÛA T0 TG TH1+TL1 CHÖÙA XUNG ÑEÁM CUÛA T1 KHẢO SÁT TG TMOD GATE C/ T M1 M0 GATE C/ T M1 M0 ÑIEÀU KHIEÅN T1 ÑIEÀU KHIEÅN T0 CHÖÙC NAÊNG 2 BIT M1M0: M1 M0 MODE HOAÏT ÑOÄNG 0 0 0 ÑEÁM 13 BIT 0 1 1 ÑEÁM 16 BIT ÑEÁM 8 BIT, TÖÏ ÑOÄNG NAÏP LAÏI – TRUYỀN DỮ LIỆU 1 0 2 CHIA TIMER0 LAØM 2 TIMER 8 BIT 1 1 3 MODE THÖÔØNG DUØNG LAØ MODE 1 NEÂN GIAÙ TRÒ KHÔÛI TAÏO CHO TMOD LAØ GATE C/ T 0 1 GATE C/ T 0 1 ÑIEÀU KHIEÅN T1 ÑIEÀU KHIEÅN T0 C/ T = 0 THÌ HOAÏT ÑOÄNG TIMER – ÑÒNH THÔØI – ÑEÁM XUNG NOÄI COÙ TAÀN SOÁ BAÈNG TAÀN SOÁ TUÏ THAÏCH ANH GAÉN BEÂN NGOAØI CHIA CHO 12. GIAÙ TRÒ KHÔÛI TAÏO CHO TMOD LAØ GATE 0 0 1 GATE 001 ÑIEÀU KHIEÅN T1 ÑIEÀU KHIEÅN T0 C/ T = 1 THÌ HOAÏT ÑOÄNG COUNTER – ÑEÁM SÖÏ KIEÄN – ÑEÁM XUNG NGOAÏI – ÖÙNG DUÏNG LAØM MAÏCH ÑEÁM SAÛN PHAÅM GIA COÂNG, ÑEÁM SOÁ VOØNG DAÂY QUAÁN, ÑEÁM TIEÀN, … , GIAÙ TRÒ KHÔÛI TAÏO CHO TMOD LAØ GATE 1 0 1 GATE 101 ÑIEÀU KHIEÅN T1 ÑIEÀU KHIEÅN T0 BIT GATE = 0 THÌ CHO PHEÙP TIMER HOAÏT ÑOÄNG BÌNH THÖÔØNG Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 1
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù GIAÙ TRÒ KHÔÛI TAÏO CHO TMOD – TIMER THÌ GT KT LAØ 0 0 0 1 0 0 0 1 ÑIEÀU KHIEÅN T1 ÑIEÀU KHIEÅN T0 GIAÙ TRÒ KHÔÛI TAÏO CHO TMOD – COUNTER THÌ GT KT LAØ 0 1 0 1 0 1 0 1 ÑIEÀU KHIEÅN T1 ÑIEÀU KHIEÅN T0 BIT GATE = 1 THÌ TIMER0 CHÆ HOAÏT ÑOÄNG KHI NGOÕ VAØO INT0 = 1 – ÑEÁM ÑOÄ ROÄNG XUNG. TÖÔNG TÖÏ CHO 4 BIT COØN LAÏI ÑIEÀU KHIEÅN TIMER/COUNTER THÖÙ 1. TOÙM TAÉT CAÙC MODE HÑ CUÛA T0, T1: GATE C/ M1 M0 GATE C/ M1 M0 HOAÏT ÑOÄNG T T 0 0 0 0 0 0 0 0 MAËC NHIEÂN SAU KHI RESET THÌ 2 TIMER/COUNTER HÑ TIMER: MODE0 THx=TLx=00H 0 0 0 1 T0: TIMER MODE1 – 16 BIT 0 0 1 0 T0: TIMER MODE2 – 8 BIT – TRUYEÀN DL 0 1 0 1 T0: COUNTER MODE1 – 16 BIT (0-65535) 0 1 1 0 T0: COUNTER MODE2 – 8 BIT (0-255) THANH GHI TCON – TIMER CONTROL TF1 TR1 TF0 TR0 IX1 IT1 IX0 IT0 ÑIEÀU KHIEÅN TIMER ÑIEÀU KHIEÅN NGAÉT TR= TIMER RUN (START/STOP) TF = TIMER FLAG CÔØ BAÙO TRAØN. TR0 = 0 THÌ TIMER NGÖØNG HOAÏT ÑOÄNG – KHOÂNG CHO XUNG VAØO TR0 = 1 THÌ TIMER ÑÖÔÏC PHEÙP HOAÏT ÑOÄNG – NEÁU COÙ XUNG VAØO THÌ ÑEÁM TAÊNG TF0 = 0 THÌ TIMER ÑEÁM XUNG VAØ TAÊNG GIAÙ TRÒ NHÖNG CHÖA TRAØN TF0 = 1 THÌ TIMER ÑAÕ BÒ TRAØN – HOAØN TAÁT 1 CHU KYØ ÑEÁM TÖÔNG TÖÏ CHO TR1 VAØ TF1 TOÙM TAÉT CAÙC TRAÏNG THAÙI TRAØN: M1 M0 MODE HOAÏT ÑOÄNG 0 0 0 ÑEÁM 13 BIT: 0,0000,0000,0000 ÑEÁN 1,1111,1111,1111 THÌ TFx = 0, NEÁU COÙ THEÂM 1 XUNG NÖÕA THÌ TRAØN – KHI ÑOÙ TFx = 1. 0 1 1 ÑEÁM 16 BIT: “0000H” ÑEÁN “FFFFH” THÌ TFx = 0, Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 2
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù NEÁU COÙ THEÂM 1 XUNG NÖÕA THÌ TRAØN – KHI ÑOÙ TFx = 1. 1 0 2 ÑEÁM 8 BIT: “THx” ÑEÁN “FFH” THÌ TFx = 0, NEÁU COÙ THEÂM 1 XUNG NÖÕA THÌ TRAØN – KHI ÑOÙ TFx = 1. 1 1 3 2 TIMER 8 BIT, CHÆ COÙ 1 TIMER COÙ CÔØ TRAØN – ÍT SÖÛ DUÏNG CHUÙ YÙ: TIMER/COUNTER HÑ ÑOÄC LAÄP. MODE 0 – M1M0=00: ĐẾM 13 BIT BAÉT ÑAÀU TÖØ 0.0,0000,0000,0000B => 0.1,1111,1111,1111B 0000H => 1FFFH 0 => 8191 MỘT CHU KỲ ĐẾM TỪ CỰC TIỂU ĐẾN CỰC ĐẠI NẾU CÓ THÊM 1 XUNG NỮA THÌ QUAY VỀ 0 – 1.0,0000,0000,0000B KHI ĐÓ TIMER BỊ TRÀN TFx=1 ÷12 OSC XUNG NỘI TL0 TH0 TF0 C/T=0 NGẮT TR0=0: OFF TR0=1: ON T0 XUNG NGOẠI Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 3
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù MODE 1 – M1M0=01: ĐẾM 16 BIT 0.0000,0000,0000,0000B => 0.1111,1111,1111,1111B 0000H => FFFFH 0 => 65535 MỘT CHU KỲ ĐẾM TỪ CỰC TIỂU ĐẾN CỰC ĐẠI NẾU CÓ THÊM 1 XUNG NỮA THÌ QUAY VỀ 0 – 1.0000,0000,0000,0000B TIMER BỊ TRÀN MODE 2 – M1M0=10: ĐẾM 8 BIT TÖÏ ÑOÄNG NAÏP LAÏI Mode 2 laø mode töï ñoäng naïp 8 bit, byte thaáp TLx cuûa Timer hoaït ñoäng nhö moät Timer 8 bit trong khi byte cao THx cuûa Timer duøng ñeå löu tröõ giaù trò ñeå naïp laïi cho thanh ghi TLx. Khi boä ñeám TLx chuyeån traïng thaùi töø FFH sang 00H: thì côø traøn ñöôïc set vaø giaù trò löu trong THx ñöôïc naïp vaøo TLx. Boä ñeám TLx tieáp tuïc ñeám töø giaù trò vöøa naïp töø THx leân vaø cho ñeán khi coù chuyeån traïng thaùi töø FFH sang 00H keá tieáp vaø cöù theá tieáp tuïc. Sô ñoà minh hoïa cho timer hoaït ñoäng ôû mode 2 nhö hình 4-12. Hình 4-12. Timer 1 hoaït ñoäng ôû mode 2. SÖÛ DUÏNG TIMER/ COUNTER ĐỂ ĐỊNH THỜI – ĐẾM THỜI GIAN BAØI SOÁ 4-1: CTÑK 8 LED SAÙNG TAÉT – DUØNG P1 – SD TIMER0 ÑEÅ DELAY 65536 µS VIEÁT CHÖÔNG TRÌNH Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 4
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù ORG 0H (H1) MOV TMOD,#00000001B ;TIMER0 MOD1 DEM 16 BIT LB1: MOV P1,#00H ;TAT 8 LED CALL DELAY MOV P1,#0FFH ;SANG 8 LED CALL DELAY JMP LB1 ;LAM TIEP ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX (H2) DELAY: SETB TR0 ;TR0=1 THI CHO TIMER0 DEM (H3) JNB TF0,$ ;KIEM TRA CO TRAN TF0, NEU CHUA TRAN THI CHO (H4) CLR TR0 ;NGUNG TIMER (H5) CLR TF0 ;XOA CO TRAN DE BAO LAN SAU (H6) RET END CHÖÔNG TRÌNH CON DELAY 65536µS GIAÛI THÍCH CHÖÔNG TRÌNH (H1) MOV TMOD,#000000001B ;TIMER0 MOD1 DEM 16 BIT LEÄNH KHÔÛI TAÏO TIMER0: MOD 1 ÑEÁM 16 BIT, CHEÁ ÑOÄ TIMER, TIMER1 THÌ KHOÂNG QUAN TAÂM (H2) DELAY: SETB TR0 ;CHO TIMER0 DEM TEÂN CUÛA CHÖÔNG TRÌNH CON LAØ “DELAY”. LEÄNH “SETB TR0” LAØ CHO PHEÙP TIMER0 ÑÖÔÏC PHEÙP ÑEÁM (H3) JNB TF0,$ LEÄNH KIEÅM TRA BIT TRAØN TF0 HAY CÔØ TRAØN TF0: NEÁU TF0=0 THÌ NHAÛY TAÏI CHOÅ – CHÔØ CHO TF0 LEÂN 1 NEÁU TF0=1 THÌ TIMER ÑAÕ HOAØN TAÁT 1 CHU KYØ ÑEÁM – BÒ TRAØN – TIMER ÑEÁM ÑÖÔÏC 65536 XUNG = 65536µS – KHOÂNG NHAÛY TAÏI CHOÅ – LAØM LEÄNH KEÁ (H4) CLR TR0 ;NGUNG TIMER NGÖØNG TIMER – KHOÂNG CHO ÑEÁM NÖÕA. (H5) CLR TF0 ;XOA CO TRAN DE BAO LAN SAU XOÙA CÔØ TRAØN ÑEÅ PHUÏC VUÏ LAÀN SAU. (H6) RET KEÁT THUÙC CHÖÔNG TRÌNH CON - TRÔÛ LAÏI CHÖÔNG TRÌNH CHÍNH. BAØI SOÁ 4-2: CTDK 8 LED SAÙNG TAÉT –P1 – DUØNG TIMER0 ÑEÅ DELAY 50000µS=50MS Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 5
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù BAØI 4-1: TIMER0 ÑEÁM TÖØ 0 ÑEÁN 65536 XUNG THÌ BAÙO TRAØN BAÂY GIÔØ MUOÁN ÑEÁM 50000 XUNG: COÙ 2 CAÙCH ÑEÅ THÖÏC HIEÄN CAÙCH 1: ÑEÁM TÖØ 0 ÑEÁN 50,000 LÖÔÏNG XUNG ÑEÁM = 50,000 – 0 = 50,000 CAÙCH 2: ÑEÁM TÖØ 15536 ÑEÁN 65,536 LÖÔÏNG XUNG ÑEÁM = 65,536 – 15,536 = 50,000 ÔÛ CAÙCH 1 THÌ PHAÛI KIEÅM TRA XEM BAÈNG 50,000 HAY CHÖA? PHÖÙC TAÏP ÔÛ CAÙCH 2 THÌ KHI ÑEÁM XONG THÌ TIMER LAØM CÔØ TRAØN BAÈNG 1 – KIEÅM TRA CÔØ TRAØN ÑEÅ BIEÁT ÑEÁM ÑÖÔÏC 50,000 XUNG ÑÔN GIAÛN HÔN CAÙCH 1. ÑEÁM TÖØ 15536 ÑEÁM 65536 XUNG THÌ BAÙO TRAØN (65,536 - 50,000 = 15,536) THỰC CHẤT LÀ (0 - 50,000 = 15,536) GIAÙ TRÒ XUAÁT PHAÙT LAØ 15536 = 3CB0H – PHAÛI NAÏP GIAÙ TRÒ NAØY VAØO CAËP THANH GHI TH0 VAØ TL0 (TH0 = 3CH, TL0 = B0H). VIEÁT CHÖÔNG TRÌNH ;CHUONG TRINH DIEU KHIEN 8 LED CUA PORT 1 SANG TAT ORG 0000H MOV TMOD,#000000001B ;TIMER0 MOD1 DEM 16 BIT LB1: MOV P1,#00H CALL DELAY50MS MOV P1,#0FFH CALL DELAY50MS JMP LB1 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELAY50MS: MOV TH0,#3CH ;NAP GIA TRI BAT DAU LA 15536 MOV TL0,#0B0H ;3CB0H SETB TR0 ;CHO TIMER0 DEM JNB TF0,$ CLR TR0 ;NGUNG TIMER CLR TF0 ;XOA CO TRAN DE BAO LAN SAU RET END BAØI SOÁ 4-3: CTDK 8 LED SAÙNG TAÉT – DUØNG P1 –TIMER0 ÑEÅ DELAY 1S 1S = 1000MS = 20×50MS THÖÏC HIEÄN CHÖÔNG TRÌNH CON DELAY50MS 20 LAÀN ;CHUONG TRINH DIEU KHIEN 8 LED CUA PORT 0 SANG TAT ORG 0H Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 6
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù MOV TMOD,#00000001B ;TIMER0 MOD1 DEM 16 BIT LB1: MOV P1,#00H CALL DELAY1S MOV P1,#0FFH CALL DELAY1S JMP LB1 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELAY1S: MOV R7,#20 DEL1S: CALL DELAY50MS ;50MS×20=1S DJNZ R7,DEL1S RET ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELAY50MS: MOV TH0,#3CH MOV TL0,#0B0H ;3CB0H SETB TR0 ;CHO TIMER0 DEM JNB TF0,$ CLR TR0 ;NGUNG TIMER CLR TF0 ;XOA CO TRAN DE BAO LAN SAU RET CHUÙ YÙ: HAI LỆNH MOV TH0,#3CH MOV TL0,#0B0H ;3CB0H 65536 – 50000 = 15536 = 3CB0H COÙ THEÅ THAY THEÁ BAÈNG 2 LEÄNH MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) VÍ DUÏ MUOÁN DELAY 20MS=20000µS 65536 – 20000 = 45536 MOV TH0,#HIGH(-20000) MOV TL0,#LOW(-20000) BAØI SOÁ 4-4: CTDK 8 LED SAÙNG TAÉT – DUØNG P1 –TIMER0 ÑEÅ DELAY 20S 20S = 20,000MS = 20×(20×50MS) THÖÏC HIEÄN CHÖÔNG TRÌNH CON DELAY50MS 400 LAÀN ;CHUONG TRINH DIEU KHIEN 8 LED CUA PORT 0 SANG TAT ORG 0H MOV TMOD,#00000001B ;TIMER0 MOD1 DEM 16 BIT Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 7
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù LB1: MOV P1,#00H CALL DELAY20S MOV P1,#0FFH CALL DELAY20S JMP LB1 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELAY20S: MOV R6,#20 DEL20S: CALL DELAY1S DJNZ R6,DEL20S RET ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELAY1S: MOV R7,#20 ;SAI VÌ R7 CHÆ LÖU SOÁ LÔÙN NHAÁT LAØ 255 DEL1S: CALL DELAY50MS ;50MS×20=1S DJNZ R7,DEL1S RET ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELAY50MS: MOV TH0,#3CH MOV TL0,#0B0H ;3CB0H SETB TR0 ;CHO TIMER0 DEM JNB TF0,$ CLR TR0 ;NGUNG TIMER CLR TF0 ;XOA CO TRAN DE BAO LAN SAU RET BAØI SOÁ 4-5: CTDK 8 LED SAÙNG TAÉT – DUØNG P1 –TIMER1 ÑEÅ DELAY 1S ;CT DIEU KHIEN 8 LED NHAP NHAY 1 GIAY - DUNG TIMER1 ORG 0H MOV TMOD,#00010000B LB: MOV P1,#00 CALL DELAY1S MOV P1,#0FFH CALL DELAY1S JMP LB ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx DELAY1S: MOV R7,#20 Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 8
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù DEL1S: CALL DELAY50MS DJNZ R7,DEL1S RET DELAY50MS: MOV TH1,#HIGH(-50000) MOV TL1,#LOW(-50000) SETB TR1 JNB TF1,$ CLR TR1 CLR TF1 RET END SÖÛ DUÏNG TIMER/COUNTER ĐỂ ĐẾM XUNG NGOẠI – ĐẾM SỰ KIỆN BAØI SOÁ 4-4: CHÖÔNG TRÌNH ÑEÁM XUNG NGOAÏI HIEÅN THÒ KEÁT QUAÛ RA LED ÑÔN DUØNG COUNTER 0 ;CT DEM XUNG NGOAI - DUNG COUNTER0 - HIEN THI KET QUA RA LED DON ORG 0 MOV TMOD,#00000101B ;COUNTER0 C/T=1 SETB TR0 ;CHO TIMER0/COUNTER0 DEM LB: MOV P1,TL0 ;LAY KQ DEM GOI RA HIEN THI JMP LB END ;CT DEM XUNG NGOAI - DUNG COUNTER0 - HIEN THI KET QUA 16 BIT RA LED DON ORG 0 MOV TMOD,#00000101B ;COUNTER0 C/T=1 SETB TR0 ;CHO TIMER0/COUNTER0 DEM MOV TL0,#240 LB: MOV P0,TL0 ;LAY KQ DEM GOI RA HIEN THI MOV P1,TH0 JMP LB END ;CT DEM XUNG NGOAI - DUNG COUNTER0 - HIEN THI KET QUA 16 BIT RA LED DON ;HIEN THI CO TRAN ORG 0 Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 9
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù MOV TMOD,#00000101B ;COUNTER0 C/T=1 SETB TR0 ;CHO TIMER0/COUNTER0 DEM MOV TL0,#250 MOV TH0,#0FFH LB: MOV P1,TL0 ;LAY KQ DEM GOI RA HIEN THI MOV P0,TH0 MOV C,TF0 MOV P2.0,C JMP LB END BAØI SOÁ 4-5: CT ĐẾM XUNG NGOẠI HIỂN THỊ TRÊN LED 3 LED 7 ĐOẠN – SỐ THẬP PHÂN DÙNG COUNTER0 LÖU ÑOÀ ÑIEÀU KHIEÅN BEGIN LƯU 10 MÃ VÀO BN KHỞI TẠO COUNTER HEX(TL0) => BCD GIẢI MÃ 7 ĐOẠN HIỂN THỊ VIEÁT CHÖÔNG TRÌNH ;CHTR DEM XUNG NGOAI HIEN THI TREN LED 7 DOAN ORG 0H MOV DPTR,#MA7DOAN MOV TMOD,#00000101B ;COUNTER 0, MOD 1 SETB TR0 ;CHO TIMER DEM LB: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD CALL GIAIMA CALL HIENTHI Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 10
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù JMP LB ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HEXTOBCD: MOV A,TL0 MOV B,#10 DIV AB ;CHIA LAN 1 MOV 20H,B ;LUU DON VI VAO O NHO 27H MOV B,#10 DIV AB ;CHIA LAN 2 MOV 21H,B ;LUU CHUC VAO O NHO 26H MOV 22H,A ;LUU TRAM VAO O NHO 25H RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GIAIMA: MOV A,20H MOVC A,@A+DPTR ;GIAI MA HANG DVI MOV 30H,A MOV A,21H MOVC A,@A+DPTR ;GIAI MA HANG CHUC MOV 31H,A MOV A,22H MOVC A,@A+DPTR ;GIAI MA HANG TRAM MOV 32H,A RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HIENTHI: MOV P0,30H CLR P2.0 CALL DELAY1MS SETB P2.0 MOV P0,31H CLR P2.1 CALL DELAY1MS SETB P2.1 MOV P0,32H Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 11
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù CLR P2.2 CALL DELAY1MS SETB P2.2 RET $INCLUDE(TV_DELAY.ASM) MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H END BAØI SOÁ 4-6: CT ĐẾM XUNG NGOẠI HIỂN THỊ TRÊN LED 2 LED 7 ĐOẠN – SỐ HEX DÙNG COUNTER0 ;CHTR DEM XUNG NGOAI HIEN THI TREN LED 7 DOAN ORG 0H MOV DPTR,#MA7DOAN MOV TMOD,#00000101B ;COUNTER 0, MOD 1 SETB TR0 ;CHO TIMER DEM LB: CALL GIAIMA CALL HIENTHI MOV P1,TL0 JMP LB ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GIAIMA: MOV A,TL0 ANL A,#0FH MOVC A,@A+DPTR ;GIAI MA HANG DVI MOV 30H,A MOV A,TL0 ANL A,#0F0H SWAP A MOVC A,@A+DPTR ;GIAI MA HANG CHUC MOV 31H,A RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HIENTHI: MOV P0,30H CLR P2.0 CALL DELAY1MS Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 12
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù 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 DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH END BAØI SOÁ 4-7: CT ĐẾM XUNG NGOẠI HIỂN THỊ TRÊN LED 3 LED 7 ĐOẠN – SỐ THẬP PHÂN DÙNG COUNTER1 VIEÁT CHÖÔNG TRÌNH ;CHTR DEM XUNG NGOAI HIEN THI TREN LED 7 DOAN ORG 0H MOV DPTR,#MA7DOAN MOV TMOD,# 01010000B ;COUNTER 1, MOD 1 SETB TR1 ;CHO TIMER DEM LB: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD CALL GIAIMA CALL HIENTHI JMP LB ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HEXTOBCD: MOV A,TL1 MOV B,#10 DIV AB MOV 20H,B ;LUU TAM VAO O NHO 27H MOV B,#10 DIV AB MOV 21H,B MOV 22H,A RET Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 13
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù BAØI SOÁ 4-8: CTR ÑK ĐÈN GIAO THÔNG XANH 1, VÀNG 1, ĐỎ 1, XANH 2, VÀNG 2, ĐỎ 2 XANH SÁNG 10 S, VÀNG SÁNG 5S VÀ ĐỎ SÁNG 15 GIÂY. LÖU ÑOÀ ÑIEÀU KHIEÅN BEGIN X-1, Đ-2 SÁNG DELAY 10S V-1, Đ-2 SÁNG DELAY 5S Đ-1, X-2 SÁNG DELAY 10S Đ-1, V-2 SÁNG DELAY 5S END VIEÁT CHÖÔNG TRÌNH ;CHUONG TRINH DIEU KHIEN DEN GIAO THONG XANH VANG DO DUNG P1 X1D2 EQU 10000100B ;=84H V1D2 EQU 01000100B D1X2 EQU 00100001B D1V2 EQU 00100010B ORG 0H MOV TMOD,#000000001B ;TIMER0 MOD1 DEM 16 BIT LB1: MOV P1,# X1D2 CALL DELAY10S MOV P1,# V1D2 CALL DELAY5S MOV P1,# D1X2 CALL DELAY10S Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 14
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù MOV P1,# D1V2 CALL DELAY5S JMP LB1 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELAY10S:CALL DELAY5S CALL DELAY5S RET ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELAY5S: MOV R6,#5 DEL5S: CALL DELAY1S DJNZ R6,DEL5S RET CALL DELAY1S CALL DELAY1S CALL DELAY1S CALL DELAY1S CALL DELAY1S RET ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELAY1S: MOV R7,#20 DEL1S: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,DEL1S RET END BAØI SOÁ 4-8: CTR DK ĐÈN GIAO THÔNG XANH 1, VÀNG 1, ĐỎ 1, XANH 2, VÀNG 2, ĐỎ 2 XANH SÁNG 10 S, VÀNG SÁNG 5S VÀ ĐỎ SÁNG 15 GIÂY. HIỂN THỊ ĐƯỢC THỜI GIAN BẰNG 4 LED 7 ĐOẠN Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 15
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù LÖU ÑOÀ ÑIEÀU KHIEÅN BEGIN LƯU 10 MÃ VÀO BN TG1 := TGX, TG2 := TGX +TGV TG1 := TGX +TGV, TG2 := TGX X1, Đ2 SÁNG Đ1, X2 SÁNG HEX(TG1) => BCD HEX(TG1) => BCD HEX(TG2) => BCD HEX(TG2) => BCD GIẢI MÃ 7 ĐOẠN GIẢI MÃ 7 ĐOẠN DELAY – HIỂN THỊ DELAY – HIỂN THỊ TG1:= TG1 -1 TG1:= TG1 -1 TG2:= TG2 -1 TG2:= TG2 -1 TG1=0 TG2=0 S S Đ Đ TG1 := TGV, TG2 := TGV TG1 := TGV, TG2 := TGV V1, Đ2 SÁNG Đ1, V2 SÁNG HEX(TG1) => BCD HEX(TG1) => BCD HEX(TG2) => BCD HEX(TG2) => BCD GIẢI MÃ 7 ĐOẠN GIẢI MÃ 7 ĐOẠN DELAY – HIỂN THỊ DELAY – HIỂN THỊ TG1:= TG1 -1 TG1:= TG1 -1 TG2:= TG2 -1 TG2:= TG2 -1 TG1=0 TG2=0 S S Đ Đ END VIEÁT CHÖÔNG TRÌNH ;CT DIEU KHIEN DEN GIAO THONG - DUNG DINH THOI TIMER0 ;CO HIEN THI THOI GIAN X1D2 EQU 84H ;1000 0100B V1D2 EQU 44H ;0100 0100B D1X2 EQU 21H ;0010 0001B D1V2 EQU 22H ;0010 0010B TG1 EQU R2 TG2 EQU R3 Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 16
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù TGX EQU 20 ;THONG SO THOI GIAN XANH TGV EQU 5 ;THONG SO THOI GIAN VANG ORG 0 MOV DPTR,#MA7DOAN ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx P1,# X1D2 LB: MOV MOV TG1,#TGX ;TG X1=20 MOV TG2,#(TGX+TGV+1) ;TG D2=25 LB1: CALL HEXGM_HTHI CJNE TG1,#-1,LB1 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MOV P1,#V1D2 MOV TG1,#TGV ; MOV TG2,#TGV LB2: CALL HEXGM_HTHI CJNE TG1,#-1,LB2 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MOV P1,#D1X2 MOV TG1,#(TGX+TGV+1) MOV TG2,#TGX LB3: CALL HEXGM_HTHI CJNE TG2,#-1,LB3 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MOV P1,#D1V2 ; MOV TG1,#TGV MOV TG2,#TGV LB4: CALL HEXGM_HTHI CJNE TG2,#-1,LB4 JMP LB ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HEXGM_HTHI: CALL HEXTOBCD CALL GIAIMA CALL DELAY_HIENTHI DEC TG1 ;DECREMENT - GIAM DEC TG2 RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HEXTOBCD: MOV A,TG1 MOV B,#10 Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 17
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù DIV AB MOV 20H,B MOV 21H,A MOV A,TG2 MOV B,#10 DIV AB MOV 26H,B MOV 27H,A RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;CT CON GIAI MA SO BCD SANG MA 7 DOAN TUONG UNG ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GIAIMA: MOV A,20H MOVC A,@A+DPTR MOV 30H,A MOV A,21H MOVC A,@A+DPTR MOV 31H,A MOV A,26H MOVC A,@A+DPTR MOV 36H,A MOV A,27H MOVC A,@A+DPTR MOV 37H,A RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;CT CON DELAY CO KEM HIEN THI ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx DELAY_HIENTHI: MOV 6FH,#01 DEL2: MOV 6EH,#0FFH DEL1: CALL HIENTHI DJNZ 6EH,DEL1 DJNZ 6FH,DEL2 RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;CT CON HIEN THI Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 18
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HIENTHI: MOV P0,30H CLR P2.0 ;T0 ON CALL DELAY1MS SETB P2.0 ;T0 OFF MOV P0,31H CLR P2.1 ;T1 ON CALL DELAY1MS SETB P2.1 ;T1 OFF MOV P0,35H CLR P2.6 ;T6 ON CALL DELAY1MS SETB P2.6 ;T6 OFF MOV P0,34H CLR P2.7 ;T7 ON CALL DELAY1MS SETB P2.7 ;T7 OFF RET MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H $INCLUDE(TV_DELAY.ASM) END BAØI SOÁ 4-9: CTR ÑO THÔØI GIAN CUÛA XUNG ĐƯA ĐẾN NGÕ VÀO INT0 HIỂN THỊ TREN LED 7 ĐOẠN, TGIAN VOI DON VI 50MS LÖU ÑOÀ ÑIEÀU KHIEÅN VIEÁT CHÖÔNG TRÌNH TG1 EQU R2 ORG 0 JMP MAIN ORG 0BH MOV TH0,#HIGH(-50000H) Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 19
- Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù MOV TL0,#LOW(-50000H) INC TG1 RETI MAIN: MOV DPTR,#MA7DOAN MOV TMOD,#00001001 ;GATE =1 MOV TH0,#HIGH(-50000H) MOV TL0,#LOW(-50000H) MOV TG1,#0 SETB TR0 MAIN1: CALL HEXTOBCD CALL GIAIMA CALL HIENTHI JMP MAIN1 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HEXTOBCD: MOV A,TG1 MOV B,#10 DIV AB MOV 20H,B MOV B,#10 DIV AB MOV 21H,B MOV 22H,A RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;CT CON GIAI MA SO BCD SANG MA 7 DOAN TUONG UNG ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GIAIMA: MOV A,20H MOVC A,@A+DPTR MOV 30H,A MOV A,21H MOVC A,@A+DPTR MOV 31H,A MOV A,22H MOVC A,@A+DPTR MOV 32H,A RET Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: timer – counter – led 7 ñoaïn 20
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn