Slide 1
Hoạt động Timer của MCS 51
GV: Trần Nhựt Khải Hoàn
Slide 2
Tổ chức bên trong MCS@51
INT0 INT1
Interrupt
Control
4KB
Flash ROM
CPU
OSC
Serial
Port
RAM 128Byte thấp
Counter
Inputs
TXD RXD
SFRs 128Byte cao
Bus
Control
I/O
Ports
P0 P2 P1 P3
Timer1
Timer0
256 Bytes RAM
ACC
B
PC
Slide 3
Sơ đồ chân
Slide 4
Nhắc lại tên gọi các thanh ghi
Slide 5
Thanh ghi TMOD (Timer Mode)
Slide 6
04 chế độ hoạt động
Slide 7
Thanh ghi TCON (Timer control)
Thanh ghi điều khiển Timer (Các bit tác động cao)
Địa chỉ AF8 8E 8D 8C 8B 8A 89 88
Vị trí
TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0
Tên bit TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TF1, TF0 (Timer overflow flag)
Được SET là 1 khi Timer/counter tràn.
TR1, TR0 (Timer run control bit): Cho phép Timer/counter chạy.
IE1, IE0 (External interrupt edge flag)
Cờ ngắt, tự động bật lên = 1 khi có ngắt tác động.
IT1, IT0 (Interrupt type control)
Nếu được SET sẽ cho phép các ngắt tác động cạnh.
Slide 8
Trạng thái các thanh ghi khi Reset
Slide 9
Hoạt động Mode 0 và Mode 1
• Mode 0: Timer/ Counter 13 bits
• Mode 1: Timer/ Counter 16 bits
Slide 10
Hoạt động Mode 2
• Mode 2: 8 bits Auto Reload
Slide 11
Nguyên tắc cấp xung cho Timer
Slide 12
Bài tập
1. Viết đoạn lệnh khởi tạo cho Timer0 hoạt động ở Mode 0,
Timer1 hoạt động ở Mode1. Điều khiển Run bằng phần
mềm?
2. Viết 1 đoạn lệnh khởi tạo cho Timer0 hoạt động ở Mode 1,
điều khiển bằng phần mềm; Timer 1 hoạt động như 1
counter 16 bits. Điều khiển bằng phần cứng?
3. Viết chương trình khởi tạo Timer0 hoạt động như 2 bộ
Timer 8 bits, điều khiển bằng phần mềm?
Slide 13
Bài tập
4. Viết chương trình sao cho các led của Port 3
chớp tắt với tần số đúng 1Hz?
5. Viết chương trình sao cho các led ở Port 3
sáng 500ms, tắt 300ms rồi lặp lại?
VCC
D1
R9
220
R9
220
VCC VCC
D3 D5
VCC
R9
220
D6D2
VCC
D4
33pF
VCC VCC VCC
D7
R9
220
D8
R9
220
U7
AT89C51
9
18
19 29
30
31
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
39
38
37
36
35
34
33
32
RST
XTAL2
XTAL1 PSEN
ALE/PROG
EA/VPP
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
R9
220
12MHz
R9
220
33pF
R9
220