定时 / 计数器的功能
1. 计数:记录脉冲的个数,从而可以测量位移、速度、流量等物理量。
2. 计时:通过已知频率的脉冲进行计数,可以实现精确计时。
3. 产生PWM波:产生不同占空比的PWM波,实现数 / 模转换,从而可以对电机、开关电源等设备进行控制。
两种定时/计数器的脉冲信号源
1. 外部脉冲信号源:从外部通过引脚进入单片机
2. 内部脉冲信号源:由单片机内部脉冲振荡器产生
定时/计数器的四种工作模式与设定
图 1 四种工作模式与设定图 2 不同分频洗漱下脉冲的周期和频率
三种工作模式的比较
* 普通模式:用于计时。TCNT0需要在程序中赋值,顶是255
* 比较匹配清0模式:用于计时和产生占空比为50%的方波,顶是OCR0
* 快速PWM模式:用于产生不同占空比的方波,顶是255,OCR0是输出引脚的翻转点
T / C0 工作模式之普通模式
图 3 T / C0 工作模式之普通模式应用例子:
图 4 应用例子T / C0工作模式之比较匹配清0模式
图 5 T / C0工作模式之比较匹配清0模式功能:
1. 计时
2. 产生占空比为50%的不同频率的方波(调频)
1. 计时功能
图 6 计时功能2. 产生占空比为50%的不同频率的方波(调频)
图 7 产生占空比为50%的不同频率的方波(调频)应用例子:
图 8 一个简单的变频器T / C0工作模式之快速PWM模式
图 9 T / C0工作模式之快速PWM模式应用例子:用PWM控制LED从暗到亮
图 10 用PWM控制LED从暗到亮1. LED在可承受的范围内,电流越大亮度越高
2. 在此电路中,PA0输出5V,LED最暗
3. PA0输出0V,LED最亮
公式:PWM波的等效电压 = 占空比 * 高电平电压
(例如:高电平电压为5V,占空比为20%,等效电压等于5*20%=1V)
应用例子:基于PWM的可调节亮度的LED灯
硬件:
1. led接OC0引脚
2. 两个按键分别接INT0和INT1引脚
软件:
1. C/T0 设置为快速PWM模式
2. 定义wide 变量,用于调节占空比的系数
3. 在INT0的中断服务程序中,wide = wide +1
4. 在INT1的中断服务程序中,wide = wide -1
网友评论