Vi điều khiển phkkhanh C3 tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực ki...
Chương III: CÁC THANH GHI CÓ CHỨC NĂNG ĐẶC BIỆT (SFR: Special Function Registers) T 113-138, TLTK I CÁC THANH GHI ĐIỀU KHIỂN TIMER/COUNTER: Vi điều khiển 8951 có timer/counter: TIMER/COUNTER0 và TIMER/COUNTER1 Cấu trúc của một bộ timer/counter: 8951 18 OSC Thạch anh ÷12 19 C/T = 1: C T Tx C (14/15) (12/13) GATE INTx C/T = 0: T SW THx: 8bit TLx: 8bit 00…0 00…0 TFx tràn 0: SW hở TRx 1: SW đóng TFx,C/T,GATE,TRx: các bit THx, TLx: ghi bit, ghi/đọc được Tx, INTx: chân 8951 Thanh ghi điều khiển timer: TCON Là ghi bit, truy xuất (ghi/đọc) byte hoặc bit - Truy xuất byte: MOV TCON, #giá trị - Truy xuất bit: SETB/CLR TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF1: báo trạng thái tràn cho Timer/Counter1 TR1: điều khiển cấp xung cho Timer/Counter1 TF0: báo trạng thái tràn cho Timer/Counter0 TR0: điều khiển cấp xung cho Timer/Counter0 IE1: báo trạng thái ngắt ngoài IT1: cho phép tác động ngắt ngoài cạnh xuống (default IT1 = 0, tác động ngắt mức thấp) IE0: báo trạng thái ngắt ngoài IT0:cho phép tác động ngắt ngoài cạnh xuống (default IT1 = 0, tác động ngắt mức thấp) Thanh ghi chế độ timer: TMOD Là ghi bit, truy xuất (ghi/đọc) byte MOV GATE TMOD, #giá trị C/T M1 M0 ĐIỀU KHIỂN TIMER GATE C/T M1 M0 ĐIỀU KHIỂN TIMER GATE, C/T: điều khiển trạng thái hoạt động cho Timer/Counter M1, M0: chọn chế độ hoạt động cho Timer/Counter M1 M0 Chế độ Mô tả 0 Timer/Counter 13 bit 1 Timer/Counter 16 bit Timer/Counter bit, auto reload 1 Timer/Counter bit HOẠT ĐỘNG CỦA CÁC CHẾ ĐỘ TIMER/COUNTER Chế độ 0: 13 bit PULSE INPUT THx : BIT TLx : BIT TFx Chế độ 1: 16 bit PULSE INPUT THx : BIT TLx : BIT TFx HOẠT ĐỘNG CỦA CÁC CHẾ ĐỘ TIMER/COUNTER Chế độ 2: bit AUTORELOAD PULSE INPUT TLx : BIT OVERFLOW THx : BIT TFx HOẠT ĐỘNG CỦA CÁC CHẾ ĐỢ TIMER/COUNTER Chế đợ 3: bit PULSE INPUT OSC:12 TL0 : BIT TF0 TH0 : BIT TF1 TR1 Trong chế độ này, TH1 TL1 khơng sử dụng, thay vào TH0 TL0 hoạt động bộ Timer/counter bit Tuy nhiên, xung cung cho TH0 là từ bộ điều khiển của timer/counter1 VÍ DỤ ỨNG DỤNG CHẾ ĐỢ 1: 16 BITS Chế đợ 1: 16 bit U CẦU: Viết chương trình điều khiển bóng đèn theo qui luật: 300mS sáng, 300mS tắt (delay sử dụng timer0, mode 16 bit) 8951 THỰC HIỆN: BEGIN: CPL P1.0 CALL DL300mS SJMP BEGIN DL300mS: ……… RET 12Mhz P1.0 CHƯƠNG TRÌNH CON DELAY 300 mS DL300mS: Cấu trúc lặp N lần (N