2. avr 8位定时器/计数器0 --TC0输出模式2 --快速PWM输出 (比较输出--快速PWM模式)

本文介绍了AVR单片机中8位定时器/计数器0(TC0)在快速PWM模式下的工作原理和应用。通过设置计数器和比较寄存器,可以控制输出引脚的占空比,进而调整脉冲的电压。文章提供了一个C语言实现的示例,展示了如何通过改变比较匹配寄存器的值来改变占空比,从而控制PB7引脚上发光二极管的亮度变化。
摘要由CSDN通过智能技术生成

 

PWM:脉冲宽度调制,T为脉冲周期,t为高电平时间,t与T的比值t/T称为占空比,脉宽调制指的是调整t的大小,即改变脉冲的占空比
,占空比值越大,输出的电压越高。改变占空比就改变输出的电压,常用于实现D/A,调节电压或电流,改变电动机的转速等。

 

快速PWM模式:它的计数方式是TCNT0由0开始计数到255式,计数加1返回到0,然后继续加1计数,相对于相位PWM修正模式(由0计数到255,再从255计数到0),只有一个斜坡,因此PWM输出频率高。在快速PWM模式下,计数器的最大值决定了PWM的频率,而比较寄存器OCR0决定了占空比的大小。T/C0是8位计数器, 输出PWM的频率=系统时钟频率/(分频系数*255) 。

 

PWM产生过程:定时器启动后,当TNCT0和OCR0的值相等时,输出引脚OC0(PB7)清0,当TNCT0到255时OC0置位,在程序运行过程中改变OCR0中的数值,就改变了OC0输出的占空比。

 

函数功能:控制PB7引脚上的发光二极管由亮到灭,再由灭到亮 (代码来自轻松玩转AVR单片机c语言cd)

#include<iom16v.h>
#define uchar unsigned char
#define uint unsigned int
un

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值