Hiệu đính từ slide thầy Hồ Trung Mỹ Bộ môn Điện tử - DH BK TPHCM CHƯƠNG HỌ VI ĐIỀU KHIỂN 8051 3.4 Timer (Mạch định thời) Giới thiệu timer • Timer chuỗi flip-flop chia đôi tần số mắc nối tiếp với nhau, chúng nhận tín hiệu vào làm nguồn xung nhịp Xung nhịp đưa vào flip-flop thứ để chia đôi tần số xung nhịp Ngõ flip-flop thứ làm xung nhịp cho flip-flop thứ hai (cũng làm việc chia đơi tầnsố), v.v • Vì tầng chia đơi timer có n tầng cho xung có tần số tần số xung nhịp chia cho 2n Ngõ tầng cuối làm xung nhịp cho flip-flop báo tràn timer (cịn gọi cờ timer TF [Timer Flag]) • Giá trị nhị phân flip-flop timer xem số đếm số xung nhịp (hoặc kiện) từ timer bắt đầu chạy Thí dụ timer 16 bit đếm lên từ 0000H đến FFFFH Cờ báo tràn lên số đếm tràn từ FFFFH đến 0000H TD: Timer bit Timer 8051 • 8051/8031 có hai timer 16 bit (T0 T1), timer có bốn chế độ hoạt động • Người ta sử dụng timer để: a) định khoảng thời gian, b) đếm kiện c) tạo tốc độ baud cho cổng nối tiếp có sẵn 8051/8031 • Mỗi timer 16 bit có 16 tầng hay tầng cuối chia tần số xung nhịp cho 216=65536 Nguồn xung nhịp cho timer xung vng có tần số 1/12 tần số xung nhịp cung cấp cho 8051 • Trong ứng dụng định khoảng thời gian, người ta lập trình cho timer tràn khoảng đặn đặt cờ tràn timer lên Cờ dùng để đồng hóa đo thời gian trơi qua hai kiện (ví dụ: đo độ rộng xung) • Đếm kiện dùng để xác định số lần xảy kiện đo khoảng thời gian trôi qua kiện Một “sự kiện” tác động bên ngồi cung cấp chuyển tiếp sang từ chân T0, T1(ở P3) 8051/8031 • Các timer cung cấp xung nhịp tốc độ baud cho cổng nối tiếp có sẵn 8051/8031 Các ghi timer • Timer (T0/T1) 8051 tạo ghi bit • Timer (T0) tạo – TL0 vàTH0 (L=Low H=High) – Truy cập chúng ghi khác, TD: MOV TL0, #55H MOV R1, TH0 • Timer (T1) tạo – TL1 and TH1 Các SFR timer Thanh ghi điều khiển timer (TCON) Thanh ghi chế độ timer (TMOD) Các chế độ hoạt động timer 10 Các chế độ timer cờ báo tràn 11 Chế độ timer 13 bit (Chế độ 0) • Chế độ chế độ timer 13 bit để tương thích với xử lý trước 8051 8048 • Với thiết kế người ta dùng chế độ hoạt động • Byte cao timer (THx) nối tiếp với bit thấp byte thấp timer (TLx) để tạo thành timer 13 bit • Ba bit cao TLx không sử dụng 12 Chế độ timer 16 bit (chế độ 1) • Chế độ chế độ timer 16 bit giống chế độ 0, ngoại trừ lúc timer hoạt động timer 16 bit đầy đủ • Tràn xảy có chuyển tiếp từ FFFFH sang 0000H số đếm đặt cờ báo tràn timer lên Timer tiếp tục đếm tiếp • Cờ báo tràn bit TFx TCON mà người ta đọc ghi vào phần mềm 13 Chế độ timer bit tự nạp lại trị đầu (chế độ 2) • Chế độ chế độ tự động nạp giá trị đầu Byte thấp timer TLx làm việc timer bit byte cao timer THx giữ giá trị cần nạp lại • Khi đếm tràn từ FFH sang 00H khơng cờ timer đặt lên mà giá trị THx nạp vào TLx, việc đếm tiếp tục từ giá trị đến chuyển tiếp từ FFH sang 00H kế, tiếp tục • Chế độ tiện lợi tràn timer xảy theo khoảng thời gian có chu kỳ TMOD THx khởi tạo trị 14 ... tiếp sang từ chân T0, T1(ở P3) 8 051 / 8 031 • Các timer cung cấp xung nhịp tốc độ baud cho cổng nối tiếp có sẵn 8 051 / 8 031 Các ghi timer • Timer (T0/T1) 8 051 tạo ghi bit • Timer (T0) tạo – TL0 vàTH0... kiện) từ timer bắt đầu chạy Thí dụ timer 16 bit đếm lên từ 0000H đến FFFFH Cờ báo tràn lên số đếm tràn từ FFFFH đến 0000H TD: Timer bit Timer 8 051 • 8 051 / 8 031 có hai timer 16 bit (T0 T1), timer. .. sử dụng timer để: a) định khoảng thời gian, b) đếm kiện c) tạo tốc độ baud cho cổng nối tiếp có sẵn 8 051 / 8 031 • Mỗi timer 16 bit có 16 tầng hay tầng cuối chia tần số xung nhịp cho 216= 65 536 Nguồn