intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

TIMER VÀ COUNTER CỦA MCS51

Chia sẻ: Bui Tan Truong | Ngày: | Loại File: PDF | Số trang:41

128
lượt xem
21
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'timer và counter của mcs51', kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: TIMER VÀ COUNTER CỦA MCS51

  1. Ñ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 01 Ñ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 53
  2. Ñ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. 13 BIT VEÀ 0,0000,0000,0000 – TA PHAÛI XOÙA CÔØ TRAØ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 54
  3. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù 0 1 1 ÑEÁM 16 BIT: “0000H” ÑEÁN “FFFFH” THÌ TFx = 0, NEÁU COÙ THEÂM 1 XUNG NÖÕA THÌ TRAØN – KHI ÑOÙ TFx = 1. GIAÙ TRÒ TRÔÛ VEÀ 0000H, TA PHAÛI XOÙA CÔØ TRAØN 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. ÑOÀNG THÔØI ÑEÁM LAÏI CHU KYØ MÔÙI 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 55
  4. Ñ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 56
  5. Ñ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 57
  6. Ñ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 58
  7. Ñ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 59
  8. Ñ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 GATE C/ T M1 M0 GATE C/ T M1 M0 ÑIEÀU KHIEÅN T1 ÑIEÀU KHIEÅN T0 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 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 60
  9. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù JMP LB ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx DELAY1S: MOV R7,#20 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 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 SÖÛ DUÏNG TIMER/COUNTER ĐỂ ĐẾM XUNG NGOẠI – ĐẾM SỰ KIỆN  BAØI SOÁ 4-6: 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 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 61
  10. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù 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 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-7: CT ĐẾM XUNG NGOẠI HIỂN THỊ KẾT QUẢ BYTE THẤP TL0 – TỪ 0 ĐẾN 255 TRÊN LED 3 LED 7 ĐOẠN QUÉT – DÙNG COUNTER0  SƠ ĐỒ MẠCH 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 62
  11. Ñ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 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 63
  12. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù 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 JMP LB ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;CHUYỂN KẾT QUẢ ĐẾM TRONG THANH GHI TL0 SANG SỐ BCD ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HEXTOBCD: MOV A,TL0 MOV B,#10 DIV AB ;CHIA LAN 1 MOV 20H,B ;LUU BCD_DVI VAO ON 20H MOV B,#10 DIV AB ;CHIA LAN 2 MOV 21H,B ;LUU BCD_CHUC VAO ON 21H MOV 22H,A ;LUU BCD_TRAM VAO ON 22H RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;GIAI MA: CHUYỂN SỐ BCD SANG MÃ 7 ĐOẠN ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GIAIMA: MOV A,20H 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 64
  13. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù MOVC A,@A+DPTR ;GIAI MA DVI MOV 30H,A MOV A,21H MOVC A,@A+DPTR ;GIAI MA CHUC MOV 31H,A MOV A,22H MOVC A,@A+DPTR ;GIAI MA TRAM MOV 32H,A RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;HIỂN THỊ KẾT QUẢ TRÊN 3 LED QUÉT ;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 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 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 65
  14. Ñ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-7X: CT ĐẾM XUNG NGOẠI HIỂN THỊ SỐ THẬP PHÂN TRÊN 3 LED 7 ĐOẠN KẾT NỐI TRỰC TIẾP VỚI 3 PORT 0, 1, 2 –DÙNG COUNTER0 – KẾT QUẢ ĐẾM TỪ 0 ĐẾN 255  SƠ ĐỒ MẠCH  LÖU ÑOÀ ÑIEÀU KHIEÅ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 66
  15. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù 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_HTHI JMP LB ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;CHUYỂN KẾT QUẢ ĐẾM TRONG THANH GHI TL0 SANG SỐ BCD ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HEXTOBCD: MOV A,TL0 MOV B,#10 DIV AB ;CHIA LAN 1 MOV 20H,B ;LUU BCD_DVI VAO ON 20H MOV B,#10 DIV AB ;CHIA LAN 2 MOV 21H,B ;LUU BCD_CHUC VAO ON 21H MOV 22H,A ;LUU BCD_TRAM VAO ON 22H RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;GIAI MA HIỂN THỊ: CHUYỂN SỐ BCD SANG MÃ 7 ĐOẠN ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GIAIMA_HTHI: MOV A,20H MOVC A,@A+DPTR ;GIAI MA DVI 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 67
  16. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù MOV P0,A MOV A,21H MOVC A,@A+DPTR ;GIAI MA CHUC MOV P1,A MOV A,22H MOVC A,@A+DPTR ;GIAI MA TRAM MOV P2,A RET MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H END BAØI SOÁ 4-8: 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 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 68
  17. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù 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 DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH END BAØI SOÁ 4-9: 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 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 69
  18. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù MOV 21H,B MOV 22H,A RET BAØI SOÁ 4-9: CT ĐẾM XUNG NGOẠI HIỂN THỊ TRÊN LED 6 LED 7 ĐOẠN – SỐ THẬP PHÂN DÙNG 2 COUNTER: T0 VÀ T1. CÓ 4 NÚT NHẤN START1, STOP1, START0, STOP.  VIEÁT CHÖÔNG TRÌNH ;CHTR DEM XUNG NGOAI HIEN THI TREN LED 7 DOAN START0 BIT P3.0 STOP0 BIT P3.1 START1 BIT P3.2 STOP1 BIT P3.3 17 – 23/8 ORG 0H MOV DPTR,#MA7DOAN MOV TMOD,# 01010101B ;COUNTER 0,1, MOD 1 CLR TR0 ;CHO TIMER DEM CLR TR1 ;CHO TIMER DEM LB: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD CALL GIAIMA CALL HIENTHI JNB 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 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 70
  19. Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù RET 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 71
  20. Ñ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 DELAY12S:MOV R6,#12 DEL12S: CALL DELAY1S DJNZ R6,DEL12S RET ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXX DELAY5S: MOV R6,#5 DEL5S: CALL DELAY1S DJNZ R6,DEL5S 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  LÖU ÑOÀ ÑIEÀU KHIEÅ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 72
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2