计数器/定时器的C编程
扫描二维码
随时随地手机看文章
1。初始化步骤
1〉确定T/C的工作方式------编程TMOD寄存器。
D7 D6 D5 D4 D3 D2 D1 D0
GATE1 C/-T1 M11 M01 GATE0 C/-T0 M10 M00
C/-T:1——〉计数器;0——〉定时器
GATE:1——〉T/C的启动受到双重控制,即要求TR和-INT同时为高;
0——〉仅受TR控制
M1和M0:工作方式选择位。 最大定时值(fosc=6MHz) 计数值
00:方式0,13位T/C,TL存低5位,TH 存高8位; 16.384ms 213=8192
01:方式1,16位T/C,TL存低8位,TH 存高8位; 131.072ms 65535
10:方式2,常数自动装入的8位T/C 512us 256
11:方式3,只用于T/C0, TL0可作T/C,TH0只能作定时器,而T/C1用作串行口的波特率发生器
2〉计算计数初值,装入TH,TL;
定时器方式下是对机器周期计数的, 一个机器周期为12/fosc
3〉T/C工作在中断方式时,须开CPU中断和源中断,即设置IE寄存器
4〉启动T/C——编程TCON中TR1或TR0位
D6:TR1 ;D4:TR0
扩展阅读:单片机计数器和定时器有何区别?