Chương 5 của môn vxl của trường ĐHCN TPHCM. Chúc bạn đọc đạt điểm 10đ thi ck và gk nha. Tổng có 6 slide tôi gửi lên. Cảm ơn bạn đã tải nếu có yêu cầu phí thì zalo 0857620001 để tôi gửi free nha. Have you a very good day.
CHƯƠNG 4: BỘ ĐỊNH THÌ TIMER I Giới thiệu: 1.Chớp tắt 2.Hiển thị led đoạn * Trong Vi Điều khiển 89C51 có Timer/Counter T0 Và T1 Các Timer Counter đếm có chức đếm xung * Các giá trị đếm Timer hay counter Tx lưu ghi THx TLx Cấu trúc Timer Xung nhịp định khoảng thời gian: On Chip Oscillator Timer Clock 12 T0 or T1 pin C/T = Up (internal Timing) = Down (Event Counting) Thanh ghi Tmod: Timer1 Gate C/T M1 M0 Timer0 Gate C/T M1 M0 M1 M0 Kiểu Chức 0 Mode Timer 13 1 Mode Timer 16 bit Mode tự động nạp lại bit 1 Mode tách timer ra: Timer0: tách làm Timer bit gồm có: Timer bit TL0 điều khiển bit mode Timer Timer bit TH0 điều khiển bit mode Timer1 Timer1: không hoạt động mode Ví dụ 1: Cho biết giá trị cần nạp cho ghi TMOD để - Timer 0: định thời gian 16 bit, điều khiển phần mềm (bit TR0) - Timer 1: đếm xung 13 bit, điều khiển phần cứng tác động T1 (chân INT ) Timer1 Timer0 1 0 0 Gate C/T M1 M0 Gate C/T M1 M0 Ví Dụ 2: Cho biết giá trị cần nạp cho ghi TMOD để - Timer 0: không sử dụng - Timer 1: đếm thời gian bit tự động nạp lại, điều khiển phần mềm (bit TR1) - Mov Tmod,#00100000B #20H Timer1 Timer0 0 0 0 Gate C/T M1 M0 Gate C/T M1 M0 Giải f OSC 12( MHz ) Chu kỳ máy f 1( MHz) TIMER 12 12 1 TTIMER 1( s ) fTIMER 1( MHz) Giá trị cần nạp: f osc 12( MHz) N t delay 10(ms) 10000 12 12 Giá trị nạp vào ghi: (giá trị nạp tối đa vào ghi 255 tương ứng 256 chu kỳ máy) Ta có: 10000=2x50x100 Nên: Lệnh djnz khoảng chu ky máy nên có hai giá trị nạp vào ghi 50 hoặc(32H) 100 64H Delay: DEL: RET MOV R7,#32H MOV R6,#64H DJNZ R6,$ DJNZ R7,DEL Các bước để viết chương trình delay(timer) Bước 1: Tìm tần số dao động chu kỳ xung nhịp timer từ dao động thạch anh cho: Bước 2: Xác định giá trị cần nạp cho ghi liệu timer Bước 3: Xác định giá trị cần nạp cho ghi chế độ timer TMOD Bước 4: Viết chương trình Ví Dụ: Viết chương trình delay sử dụng timer1 với thời gian delay 10ms Biết thạch anh sử dụng 12MHz Giải f OSC 12( MHz ) Chu kỳ máy f 1( MHz) TIMER 12 12 1 TTIMER 1( s ) fTIMER 1( MHz) Giá trị cần nạp: f osc 12( MHz) N t delay 10(ms) 10000 12 12 Giá trị cần nạp cho ghi cho TMOD: TH1=0D8H TL1=0F0H TMOD=10H Delay: RET MOV MOV MOV SETB TR1 JNB CLR CLR Tmod,#10H TH1,#0D8H TL1,#0F0H TF1,$ TR1 TF1 Các bước để viết chương trình xuất xung port Bước 1: Tìm tần số dao động chu kỳ xung nhịp timer Bước 2: Xác định giá trị cần nạp cho ghi timer Bước : Lựa chọn chương trình Delay Bước : Viết chương trình Ví dụ: Viết chương trình xuất xung với tần số 1KHz P1.5 Biết Ton=Toff=50%, thạch anh sử dụng 12 MHz, sử dụng Timer0 Giải f OSC 12( MHz ) Chu kỳ máy f 1( MHz) TIMER 12 12 1 TTIMER 1( s ) fTIMER 1( MHz) Do: tdelay Ton Toff TTIMER 1 500( s) 2 f 1( KHz ) Do: tdelay= 500s Mà: 256