纯软件定时/计数方法:
定时——空循环预定周次,等待预定时间;
计数——读取I/O口电平,统计变化次数。

单片机软硬件联合定时/计数方法:

定时器的本质是计数器(对时钟脉冲计数),计数器则是对外来脉冲计数。
基本工作原理:


2、 定时/计数器的结构

3、定时器/计数器的控制



T0有4种工作方式,T1有3种工作方式,每种工作方式都有定时和计数2种方式,故共有14种组合关系。

注意:TMOD只能以字节方式进行初始化。

4、定时/计数器的工作方式



实例:设单片机的fosc=12MHz,采用T1定时方式1在P2.0脚上输出周期为2ms的方波。





小结:使用定时/计数器的步骤:




接下来讲一下:(2)方式2

实例:采用T0定时方式2在P2.0口输出周期为0.5ms的方波(设fosc=12MHz)。


实例: 改进 “计数显示器” 的按键查询检测法,改用T0计数方式2 + 中断法实现原有功能。




接下来讲一下:(3)工作方式0

实例:计算T0方式0定时5ms的计数初值a(设fosc=12MHz)


接下来讲一下:(4)方式3(仅有T0)

5、定时/计数器的编程和应用
实例:由P3.4口输入一个低频窄脉冲信号。当该信号出现负跳变时,由P3.0口输出宽度为500μs的同步脉冲,如此往复。要求据此设计一个波形展宽程序(fosc= 6MHz)




实例:采用10MHz晶振,在P2.0脚上输出周期为2.5s,高电平占空比为20%的脉冲信号。



实例:测量从P3.2(INT0)输入的正脉冲的宽度,测量结果以BCD码形式存放在片内RAM 40H开始的单元处(设40H地址存放个位,系统时钟为12MHz,被测脉冲信号周期不超过100ms) 。


