51单片机调占空比方波

2024-12-26 01:03:14
推荐回答(2个)
回答1:

给你提供给一个思路:利用51定时器产生us级别的中断,然后设置两个变量,一个是pwm周期,也就是你说的1/10kHz,另一个是占空比变量,让占空比变量的值是周期寄存器值的一半就可以了这样就是50%占空比的方波,等到你要改占空比或者频率的时候只要改这两个变量就行

回答2:

频率在10KHZ 1/10KHZ/2=50us

#include
sbit P1_0=P1^0;

void int_X_T()
{
IE=0x82;
TMOD=0x01;
TH0=(65536-50)/256;
TL0=(65536-50)%256;
TR0=1;
}

void int_x() interrupt 1
{
TH0=(65536-50)/256;
TL0=(65536-50)%256;
P1_0=!P1_0;
}

void main()
{
int_X_T();
while(1);
}