Hình 3.1. Chế độ 1
- Các bộ định thời thường được khởi động một lần ở thời điểm bắt đầu chương trình để thiết lập chế độ hoạt động yêu cầụTrong thân của chương trình,các bộ định thời được điều khiển hoạt động, dừng, kiểm tra các bit cờ và xóa, cá thanh ghi định thời được đọc hoặc cập nhật tuỳ theo yêu cầu ứng dụng. TMOD là thanh ghi được khởi động trước tiên vì đây là thanh ghi thiết lập chế độ hoạt động.
Các tác vụ:
Đặt chế độ làm việc. Cho timer chạỵ Dừng timer.
89 Kiểm tra cờ tràn.
Xóa cờ tràn.
Đọc và cập nhật các thanh ghi timer.
Chú ý: khi có sử dụng ngắt ngoài ( TD: chế độ 1) Ví dụ:
Đặt chế độ làm việc: Khởi động bộ định thời 1 hoạt động ở chế độ 16-bit (chế độ 1), xung clock được cấp từ mạch dao động trên chip(định thời một khỏang thời gian).
MOV TMOD,#00010000B
Timer 1: Gate = 0, C/T = 0, M1M0 = 01 (mode 1) Timer 0 : Gate = 0, C/T = 0, M1M0 = 00(mode 0)
Trong trường hợp cần đến số đếm ban đầu, các thanh ghi định thời TL1/TH1 cũng phải được khởi động. Cần nhớ là các bộ định thời đếm lên và thiết lập cờ tràn bằng 1 khi xảy ra tràn số đếm từ FFFFH xuống 0000H, vậy thì một khoảng thời gian 100us có thể được định thời bằng cách khởi động TL1/TH1 chứa số đếm nhỏ hơn 0000H một lượng là 100 nghĩa là -100 hay FF9CH. Các lệnh sau thực hiện điều nàỵ
MOV TL1,#9CH MOV TH1,#0FFH
Cho timer chạy: Kế đến bộ định thời bắt đầu hoạt động bằng cách thiết lập bit điềukhiển hoạt động bằng 1 như sau :
SETB TR1
Cờ tràn được tự động sau khoảng thời gian 100us. Phần mềm có thể chứa 1 vịng lặp trì hỗn thời gian 100us bằng cách sử dụng một lệnh rẽ nhánh và lặp lại chính lệnh này trong khi cờ tràn chứa được set bằng 1.
WAIT : JNB TF1, WAIT
Dừng timer: Khi bộ định thời tràn ta cần dừng bộ định thời và xóa cờ tràn bằng phần mềm:
CLR TR1 CLR TF1
90 Kiểm tra cờ và xóa cờ:
WAIT: JNB TF1,WAIT
CLR TR1 ;dừng timer T1 CLR TF1 ; xóa cờ báo tràn Cập nhật các thanh ghi timer
MOV TL1,#9CH
MOV TH1,#0FFH
91