STC 89C51,单片机C语言程序,P10输出PWM方波

如题所述

第1个回答  2020-02-25
串口还是P10?我下面贴出P10输出PWM的产生代码,希望对你能有帮助。
#include
# t 10000/100 //修改10000更改周期 单位us T(us)=10^6/f(hz) 至少10000us
# Duty_cycle 10 ///更改此更改占空比 0-100
unsigned char percent=0;
sbit work_pin P1^0;
void Timer0Init() //定时器0初始化
{
TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。
TH0=0xff;
TL0=0x9c;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
}
void PWM_work() interrupt 1
{
TH0=0xff;
TL0=0c9c;
percent++;
if(percent<=Duty_cycle*t/100)
{
work_pin=1;
if(percent>t) percent=0;
}
else work_pin=0;
}
void main()
{
Timer0Init();
while(1);
}
相似回答