1)主函数;
2)对中断和定时器进行初始化=>先设置计数器的工作方式,设定TH0、TL0或TH1、TL0的初值,即:TH0=(8192-C)/32,TL0=(8192-C)%32,开启中断和定时器,即:TR=1;
3)设置中断服务程序-》执行对应中断需要做的内容。
51单片机拥有两个定时器,分别为T0,T1;52单片机比51单片机多一个定时器T2。
TMOD寄存器的值决定了定时器的工作方式。
工作方式0,13位定时器;工作方式1为16位定时器;工作方式方式2位8位自动重载定时器。
下述表格为此寄存器的数据格式:
定时器 |
定时器1 |
定时器0 |
||||||
位序号 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
位符号 |
GATE |
C/T |
M1 |
M0 |
GATE |
C/T |
M1 |
M0 |
GATE:门控制。
GATE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1。
当INT0引脚为高电平时TR0置位,启动定时器T0;
当INT1引脚为高电平时TR1置位,启动定时器T1。
GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。
C/T:功能选择位
C/T=0时为定时功能,C/T=1时为计数功能。
置位时选择计数功能,清零时选择定时功能。
M0和M1::决定使用定时器的工作方式及哪个定时器。
工作方式选择:
00表示方式0 13位计数器 TMOD=0x00
01 表示方式1 16位计数器 TMOD=0x01
10表示 方式2 自动重装8位计数器 TMOD=0x02
11表示方式3 T0分为2个8位独立计数器,T1为无中断重装8位计数器
如:TMOD=0x03表示定时器0工作方式为方式三定时器功能。
3. 定时器的工作原理
定时器的工作原理:TH0为高八位,TL0为低八位,组成了16位的定时器,当低位TL0计满就向高位TH0移一个数,然后清零。
例:以12Mhz的晶振来说,机器周期是1us,计满TH0、TL0就需要216-1个数,再来一个数就“溢出