11问答网
所有问题
51单片机怎样做PWM
51单片机怎样做PWM,我想光让I/O口高低高低总是不行呀,还要用到中断 和定时器吧.帮忙说个较为详细点的思路.
举报该问题
推荐答案 2009-08-13
你用定时器开中断吧,如果只是简单的用IO口的话,得到的频率很不准确的!
思路:根据单片机的晶振大小计算定时器的初值,在中断程序里给对要输出脉冲的引脚取反操作就是了,例如:P1^0=~P1^0;
还有脉冲频率不能太高哦,要保证定时器的计时时间大于中断程序执行时间~~
程序大体结构:
void Init_timer() //定时器初始化
{
}
void main() //主程序
{
}
void t0() interrupt 1//t0的中断程序
{
}
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/FFFvMMSF8.html
其他回答
第1个回答 2009-08-13
STC的部分51单片机可以使用相关寄存器实现PWM功能,不用编写复杂的程序(即不用中断了),当然我一直看不懂STC编写的说明书,所以一边都用AVR单片机来制造PWM,而且非常简单。
第2个回答 2009-08-15
将定时器设置成定时中断,分两次进中断,一次给控制端口送高电平,一次送低电平。高低电平的定时的时间要看控制的要求而定。这种方法的缺点是频率不是很高。
第3个回答 2009-08-13
输出高电压,设置定时器时间为高电压宽度, 定时器中断到后,拉低电压,重新设置定时器时间为低电压宽度. 定时器中断到后在拉高电压. 重复开始的步骤
相似回答
51单片机
是
如何
产生
PWM
波的?
答:
主要通过一个定时器和一个IO口来实现PWM的输出
。在一个周期里面,首先让IO口输出高电平,并定时一定的时间 然后再将IO口输出低电平,定时一定的时间。然后在while里面循环输出即可。需要改变占空比的话就改变高电平的时间与低电平的时间比。
大家正在搜
51单片机做简单的
单片机是怎么做出来的
c51单片机可以做什么
c51单片机做什么
怎么做单片机设计
51单片机做plc
51单片机pwm1和pwm2
单片机是做什么的
自己做单片机
相关问题
如何利用51单片机输出PWM波
51单片机是如何产生PWM波的?
51单片机怎么产生pwm程序
怎么用51单片机来实现pwm调节占空比
51单片机如何产生PWM信号?
51单片机PWM
如何用51单片机产生pwm 并利用pwm控制led灯的功率?
如何用89c51单片机产生PWM脉冲?