Professional Documents
Culture Documents
Bài 1-Giới Thiệu Các TIMER Trong AT89C52
Bài 1-Giới Thiệu Các TIMER Trong AT89C52
==//==
Bài 1- GIỚI THIỆU VỀ TIMER/COUNTER TRONG AT89C52
1. Giới thiệu
- Bộ Timer/Counter trong 8051 có thể được sử dụng trong rất nhiều ứng dụng như
Counter (đếm sự kiện cạnh lên hay cạnh xuống) trên chân T0(P3.4), T1(P3.5), T2(P1.0),
Capture (đếm sự kiện tính ra tần số của xung) trên chân T2EX (P1.1), sử dụng tạo hàm
delay với độ chính xác cao, sử dụng tạo tín hiệu PWM, sử dụng ngắt timer…
- Trong AT89C52 hoặc AT89S52 có 3 bộ TIMER/COUNTER: Timer/Counter 0 và
Timer/Counter1, Timer/Counter 2.
TIMER/COUNTER0
-Timer/Counter 16 bit
-Được điều khiển bởi 4 bit thấp
của thanh ghi TMOD và bit 4,5
của thanh ghi TCON.
TIMER/COUNTER2 - Có 3 chế độ hoạt động chính:
-Timer/Counter 16 bit + Định thời 13 bit
-Được điều khiển bởi 2 thanh + Định thời 16 bit
ghi: T2CON và T2MOD. + Auto Reload 8 bit
AT89C52
- Có 3 chế độ hoạt động chính:
AT89S52
+ Auto Reload 16 bit
+ Capture TIMER/COUNTER1
+ Baud Rate Generator -Timer/Counter 16 bit
-Được điều khiển bởi 4 bit cao
của thanh ghi TMOD và bit 6,7
của thanh ghi TCON.
- Có 3 chế độ hoạt động chính:
+ Định thời 13 bit
+ Định thời 16 bit
+ Auto Reload 8 bit
www.hocdientu123.vn
Chân Counter của Timer0(T0) và Timer1(T1)
www.hocdientu123.vn
Thanh ghi T2H/T2L của Timer/Counter2
Thanh ghi chứa giá trị tạo tần số xung hoặc tạo tốc độ Baud
3. Thanh ghi điều khiển và trạng thái TCON(dùng cho TIMER0 và TIMER1)
4. Thanh ghi cài đặt chế độ hoạt động TMOD (dùng cho TIMER0 và TIMER1)
- GATE:
+ GATE = 1: Bộ T/C được cho phép hoạt động khi chân INTx ở mức cao và bit
TRx trong thanh ghi TCON được set lên 1. (x: 0 hoặc 1).
+ GATE = 0: Bộ T/C được cho phép hoạt động khi bit TRx trong thanh ghi TCON
được set lên 1.
- CT:
+ CT = 1: Chức năng Counter được chọn.
+ CT = 0: Chức năng Timer được chọn.
- M1, M0: 2 bit chọn các chế độ hoạt động của T/C.
M1 M0 Mode Mô tả
0 0 0 Chế độ định thời 13 bit, 8 bit THx, 5 bit
TLx
0 1 1 Chế độ định thời 16 bit.
1 0 2 Chế độ 8 bit tự nạp lại.
1 1 3 Chế độ bộ định thời
www.hocdientu123.vn
5. Thanh ghi T2CON(dùng cho TIMER2)
Các chế độ :
Bit Ký hiệu Mô tả
T2CON.7 TF2 Cờ tràn của bộ định thời 2. (TF2=1 Timer2 tràn)
Cờ ngoài của bộ định thời 2. EXF2=1 khi có sự kiện
T2CON.6 EXF2
chuyển trạng thái 1 -> 0 ở chân T2EX .
=1 sử dụng bộ định thời 2 thiết lặp tốc độ Baud (khi nhận
dũ liệu)
T2CON.5 RCLK
=0 sử dụng bộ định thời 2 thiết lặp tốc độ Baud (khi nhận
dữ liệu)
=1 sử dụng bộ định thời 2 thiết lặp tốc độ Baud (khi phát
dữ liệu)
T2CON.4 TCLK
=0 sử dụng bộ định thời 2 thiết lặp tốc độ Baud (khi phát
dữ liệu)
= 1 Cho phép xung từ bên ngoài, khi có sự chuyển trạng
thái 1 —> 0 ở chân T2EX.
T2CON.3 EXEN2
=0 không cho phép xung ngoài vào
=1 cho phép Timer2 hoạt động
T2CON.2 TR2
=0 cấm Timer2 hoạt động
T2CON.1 C/T2 1 = đếm sự kiện xung từ ngoài vào(chế độ Counter ở chân
www.hocdientu123.vn
T2);
Các bước cấu hình cho bộ T/C0 hoạt động cở chế độ timer (định thời) như sau.
- B1: Ghi vào thanh ghi TMOD để chọn chế độ timer, chọn mode: Ví dụ ở đây mình
chọn chế độ timer (C/T = 0) và mode 16 bit (M1=0, M0=1), mình sẽ ghi giá trị 0x01 vào
TMOD (TMOD = 0x01).
- B2: Ghi vào thanh ghi TL, TH các giá trị để tạo ra giá trị định thời mong muốn.
- B3: Set bit TR để cho phép bộ T/C hoạt động.
- B4: Kiểm tra cờ TF để biết bộ T/C đã tràn hay chưa.
- B5: Khởi tạo lại giá trị cho các thanh ghi TH,TL để chuẩn bị cho lần chạy tiếp theo.
- Nếu tần số thạch anh 12 MHz =>chu kỳ thạch anh Tosc=1/12= 0.0833 (us)
- Nếu tần số thạch anh 11.0592 MHz =>chu kỳ thạch anh Toc=1/11.0592= 0.0904 (us)
www.hocdientu123.vn
=> Chu kỳ máy: T=Tosc*12=0.0904 *12=1.085us.
Ta có số lần đếm:
=> Giá trị cần nạp cho thanh ghi TH/TL: Value=(2^n-Count)+1
www.hocdientu123.vn
10. Các thanh ghi liên quan đến ngắt TIMER:
10.1. Thanh ghi điều khiển ngắt IE:
- Bit EX0: cho phép ngắt ngoài INT0 (=1 cho phép ngắt INT0,=0 cấm ngắt INT0)
- Bit ET0: cho phép ngắt TIMER0 (=1 cho phép ngắt TIMER0,=0 cấm ngắt
TIMER0)
- Bit EX1: cho phép ngắt ngoài INT1 (=1 cho phép ngắt INT1,=0 cấm ngắt INT1)
- Bit ET1: cho phép ngắt TIMER1 (=1 cho phép ngắt TIMER1,=0 cấm ngắt
TIMER1)
- Bit ES: cho phép ngắt truyền thông nối tiếp.
- Bit ET2: cho phép ngắt TIMER2 (=1 cho phép ngắt TIMER2,=0 cấm ngắt
TIMER2)
- Bit EA: cho phép ngắt toàn cục.
10.2. Thanh ghi IP: thanh ghi chọn mức ưu tiên ngắt
www.hocdientu123.vn