Microsoft PowerPoint huong dan thuc hanh timer sv HƯỚNG DẪN THỰC HÀNH TIMER GV Vũ Thị Hồng Nga Khoa Công Nghệ Điện Tử GV Vũ Thị Hồng Nga Khoa Công Nghệ Điện Tử Giới thiệu chung về TIMER Trình bày ng.
HƯỚNG DẪN THỰC HÀNH TIMER GV: Vũ Thị Hồng Nga Khoa Công Nghệ Điện Tử Nội dung: Giới thiệu chung TIMER Trình bày nguyên lý hoạt động Timer0 Trình bày nguyên lý hoạt động Timer1 Trình bày nguyên lý hoạt động Timer2 Lập trình ứng dụng sử dụng TIMER GV: Vũ Thị Hồng Nga Khoa Công Nghệ Điện Tử TỔNG QUAN BỘ ĐỊNH THỜI TIMER TIMER TIMER Kích thước ghi bit (TMR0) 16 bit (TMR1H:TMR1L) 8-bit (TMR2) Nguồn xung (Bên trong) FOSC/4 FOSC/4 FOSC/4 Chân T0CKI Chân T1CKI dao động Timer (T1OSC) Khơng có Prescaler bit (1:1, 1:2, 1:4, 1:8) Prescaler (1:1, 1:4, 1:8) Postscaler (1:1 1:16) Nguồn xung (Bên ngoài) Tỉ lệ xung clock khả dụng (Độ phân giải) Sự kiện ngắt vị trí cờ ngắt Có thể “đánh thức" PIC từ chế độ “ngủ” Prescaler bit (1:2 1:256) Khi bị tràn Khi bị tràn TMR2 với PR2 FFh 00h FFFFh 0000h (TMR2IF PIR2) (TMR0IF INTCON) (TMR1IF PIR1) Khơng Có Không Module Timer Là Timer/Counter bit Có thể đọc ghi Có chia trước bit lập trình phần mềm Có thể lựa chọn nguồn xung clock bên bên Cho phép lựa chọn tác động cạnh cho xung clock bên Xảy tượng ngắt tràn từ FFh00h SƠ ĐỒ KHỐI TIMER Hoạt động timer0 PSA = Hoạt động timer0 PSA = Các ghi/bit liên quan lập trình timer0: - T0CS: bit lựa chọn nguồn xung cho TMR0 T0CS = TIMER0 đếm xung ngoại đưa đến chân T0CKI T0CS = TIMER0 đếm xung clock nội bên - T0SE: chọn cạnh kích cho xung lấy chân T0CKI T0SE = tích cực cạnh lên T0SE = tích cực cạnh xuống - PSA: bit gán chia trước PSA = 1 gán chia cho WDT PSA = 0 gán chia Timer0 - PS2, PS1, PS0]: bit lựa chọn tỉ lệ chia - trước - TMR0: ghi chứa giá trị đếm timer - TMR0IF: cờ báo tràn timer0 Các chế độ làm việc TIMER0 Định Đếm xung ftimer = fosc/4 Xung lấy từ chân T0CKI (RA4) 2.1 Các bước lập trình timer0 chế độ định B1: Tính tốn giá trị cần đưa vào code: t delay (256 [TMR0])x4x x Pr e f OSC tdelay: thời gian cần định thời (us) fOSC: tần số dao động thạch anh Pre: hệ số chia tần trước prescaler (Pre=1,2,4 ,256) [TMR0]: giá trị cần ghi vào ghi TMR0, [TMR0] 255 B2:Ghi vào ghi TMR0 giá trị tương ứng với thời gian cần định thời B3: Xóa cờ báo tràn( cờ ngắt) TMR0IF B4: Chọn chế độ hoạt động Timer - Chế độ định thời gian (Timer) - Kích hoạt vơ hiệu hóa ngắt (tùy chọn) - Gán Prescaler cho Timer chọn giá trị tỉ lệ Prescaler (tùy chọn) B5: Xác định thời điểm Timer bị tràn cách: - Kiểm tra cờ TMR0IF( dùng thăm dò) - Xử lý ISR Timer (nếu dùng ngắt) ... Giới thiệu chung TIMER Trình bày nguyên lý hoạt động Timer0 Trình bày nguyên lý hoạt động Timer1 Trình bày nguyên lý hoạt động Timer2 Lập trình ứng dụng sử dụng TIMER GV: Vũ Thị Hồng... tràn từ FFh00h SƠ ĐỒ KHỐI TIMER Hoạt động timer0 PSA = Hoạt động timer0 PSA = Các ghi/bit liên quan lập trình timer0 : - T0CS: bit lựa chọn nguồn xung cho TMR0 T0CS = TIMER0 đếm xung ngoại đưa... = 0 gán chia Timer0 - PS2, PS1, PS0]: bit lựa chọn tỉ lệ chia - trước - TMR0: ghi chứa giá trị đếm timer - TMR0IF: cờ báo tràn timer0 Các chế độ làm việc TIMER0 Định Đếm xung ftimer = fosc/4