谁给一个51单片机用一个定时器可以输出频率一定,占空比可调的PWM脉冲例子给我参考一下啊

谁给一个51单片机用一个定时器可以输出频率一定,占空比可调的PWM脉冲例子给我参考一下啊
谁说做不出来 我都做出来

一.51没有这样的功能,STC12单片机才有这样的功能,不过你可以用延时函数来产生PWM波形,但比较浪费CPU时间。

二.还有一种方法可以用51来实现,但要消耗两个定时器,一个T0定时器控制PWM周期,另一个T1定时器控制PWM占空比。(T0装的初值要大于T1的初值)在定时器中断的时候都是对I/O口进行取反就可以了。

一个定时器产生PWM波形,做不出来,要两个的

(不过只赏0分太少了吧!!!)
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-07-23
只给个我认为对的思路吧,把定时器的定时时间初值用变量实现,在中断程序里对输出口取反操作,通过给变量赋不同的初值来实现占空比的调节!应该不难的~~

51单片机怎样输出频率F=0.2-50HZ,占空比D=1-100%可调的PWM波形
利用定时器。uint PwmCnt = 0;sbit PWN_OUT = P1^1;\/\/可改动uint PwmD = 50;\/\/占空比 可调uint PwmF = 500;\/\/频率 可调 10 = 1HZ 500 =50HZuint PwmCnt = 0;\/\/占空比计数值uint FreCnt = 0;\/\/频率分频值void T0 interrupt 1{ ...\/\/赋值TO计数值 50us if(++...

如何用51单片机定时器产生一个PWM,频率20kHz,占空比可调的PWM
unsigned char PWM_Num;\/\/定义档位 TMOD |=0x01;\/\/定时器设置 1ms in 12M crystal TH0=(65536-1000)\/256;TL0=(65536-1000)%256;\/\/定时1mS IE= 0x82; \/\/打开中断 TR0=1;CYCLE = 10;\/\/ 时间可以调整 这个是10步调整 周期10ms 8位PWM就是256步 while(1){ if(!KEY1){ delay(2000...

51单片机如何用一个定时器产生20KHZ占空比可调的PWM波
20kHz周期是50us,可以把某个端口赋高电平延时Xus,然后赋低(50-X)us,占空比就是(x\/50)

怎么用51单片机来实现pwm调节占空比
可以用两级中断来实现,该方法可实现精确占空比与频率的调整。。。大致思想是:1.在定时器T0中开定时器T1,并使pwm=1,2.在定时器T1中关掉T1,即TR1=0;并使pwm=0;注:t0控制频率(周期),t1控制占空比(高电平时间),你只要装载相应的定时器初值即可。很实用的哦 ...

...实现利用C51单片机输出频率及占空比可调的方波,我需要protues仿真的电...
后补充:根据你的“问题补充”,需要增加一个AD转换器,常用的并口有ADC0809,串口有ADC0834,单片机扫描AD转换输出的数据,送到上述的频率f和占比w两个变量。就可以改变。幅度改变很简单,用电位器的分压直接输出就可以了。要把整个写出来,需要一定的篇幅,上面给你提供思路,望你自己多动手电脑,得到...

怎么51单片机定时器来模拟PWM波?
PWM有两个最基本的参数:频率、占空比。频率就是每秒钟电平高低变化的次数,占空比是指高电平保持时间和整个脉冲周期中的比例关系。对于用定时器来模拟,最基本的方法就是使用一个IO口循环设置其输出值为高电平和低电平。那么定时器在这里起计时作用,而且需要两个时间:高电平持续时间、低电平持续时间。只...

用的是51单片机,晶振11.0592,请问怎么算出占空比,和pwm波频率,求具体...
反之则输出低电平 一个周期后(假设中断20次)a清0,再次输出高电平 那么占空比=(20-b)\/20 改变b的值即可改变占空比 周期=20*定时器定时长 由于中断程序要占用一定时间,因此定时器中断间隔时间不能太短,造成PWM的频率不能太高,或者占空比的调节精度较低 所以有的单片机具有硬件PWM功能 ...

51单片机pwm输出频率算法,谁有公式,怎么算的?
单片机是独立 pwm硬件产生,还是靠定时器中断产生 普通51单片机没有硬件pwm功能,只能靠 定时器中断来产生,而多数增强型 51单 片机是有硬件pwm功能,一般PWM频率是晶振频率\/分频系数\/256 如晶振频率12M,分频系数设为2,则PWM频率为12000000\/2\/256=23.4 KHZ ...

求详细解释这个51单片机PWM波原理
你要用51产生PWM去控制LED,首先你要确定PWM的周期T和占空比D,确定了这些以后,你可以用定时器产生一个时间基准t,比如定时器溢出n次的时间是PWM的高电平的时间,则D*T=n*t,类似的可以求出PWM低电平时间需要多少个时间基准n'那么你就可以编写程序,根据你定的时间基准 t 去给定时器赋值初始化,...

跪求!想用51单片机通过按键触发来输出一个可调占空比的的PWM波形。用C...
开个定时器,0.1ms的中断周期,中断100次为一个PWM周期,得出10ms周期的PWM波,然后在这100次的中断中,前30次中断让IO口输出高,后70次让IO口输出低,然后就得出了30%占空比的PWM波,根据这个方法即可实现你的要求。

相似回答