51单片机用定时器形成占空比问题

如题所述

100Hz,周期=10mS,那么定时器周期取 T=1mS,输出信号周期/定时器周期=10,那么
如果使P1.0口输出5个T0高电平,5个T低电平,则得到占空比=50%,周期=10T=10mS的方波信号;使P1.0口输出3个T0高电平,7个T低电平,则得到占空比=30%,周期=3T+7T=10T=10mS的方波信号;
如果想得到占空比=33%,那么取输出信号周期/定时器周期=100,即定时器周期取 T=0.1mS=100uS追问

这种程序咋写啊,我对这个东西一窍不通

温馨提示:内容为网友见解,仅供参考
无其他回答

51单片机用定时器形成占空比问题
100Hz,周期=10mS,那么定时器周期取 T=1mS,输出信号周期\/定时器周期=10,那么 如果使P1.0口输出5个T0高电平,5个T低电平,则得到占空比=50%,周期=10T=10mS的方波信号;使P1.0口输出3个T0高电平,7个T低电平,则得到占空比=30%,周期=3T+7T=10T=10mS的方波信号;如果想得到占空比=33...

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

...的PWM波形占空比是否只能是50%的?然后如果是,那么用定时器产生...
可以产生任意占空比的,虽然51定时器本身没有PWM模式,但是可以通过交替改变初始值的方式,也就是说,中断后,写入高电平时间对应的初值,再中断后,写入低电平时间对应的初值,如此循环。如果是驱动电机的话,PWM频率建议到5至10kHz,不要太高也不要太低。另外注意,PWM调速时,速度不是线性的,占空比太...

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

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

用51单片机的定时器产生一种方波,频率60HZ,但是占空比只有约0.5%...
不知道LZ用什么单片机,使用多少T 模式指令时钟,按标准51系列单片机计算,指令周期为 12个系统时钟周期;24MHz晶振,系统时钟周期 t =1\/24 us;单片机指令周期(机械周期)T=12t=0.5us;16位定时器的最大计数为 65536个机械周期,即 32768us=32.768ms,足够产生 16.67ms 的脉冲了。程序思路:①...

51单片机测量PWM波的占空比的C语言程序
用定时器产生程序如下:unsigned int a=0 ,b=10;void main(){ tmod=0x01;th0=(65536-50000)\/256;tl0=(65536-50000)%256;ea=1;et0=1;tr0=1;} void pwm()interrupt 1 { th0=(65536-50000)\/256;tl0=(65536-50000)%256 ;a++;p1^1=0;if(a=20){ a=0;} if(a=b){ p1^1=1;...

关于51单片机测方波信号占空比的问题
1、首先测出方波的频率(这个跟占空比无关),利用这个计算出周期T;2、利用一个独立的外部中断,在测量完频率后启动。(1)先开启中断,并设置为上升边沿触发;(2)方波从低电平跳变到高电平后,中断触发后,将其设置为下降边沿触发,同时启动定时器;(3)第二次触发中断后,停止计时,两次中断之间...

51单片机咋样产生占空比,频率可变的PWM波
51的话 直接修改定时中断的定时时间就可以改变频率,修改高电平的定时时间,就能改变 占空比。- ARM的话--直接修改匹配0的值 就能改变PWM频率(MR0),修改其他匹配就能改变占空比,毕竟在ARM单边极性匹配中断时候,第一次复位时候,总是以高电平起始,会自动拉高!希望回答能给你点帮助,不过你问的问题...

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

相似回答