有没有高手用C51帮写个P1^0输出PWM为70%,F为100HZ的方波给参考下,谢啦!

2024-12-16 22:24:50
推荐回答(1个)
回答1:

//P1^0输出PWM为70%,F为100HZ的方波

// 方波为100HZ,一个周期为10ms,PWM为70%那么置高周期为7ms,置低为3ms。

//假设为12MHz晶振 100hz,设置1ms为最小周期

#include

#define uchar unsigned char

uchar t;

sbit P10=P1^0;

void init()

{

 TMOD=0x21;

 TH0=(65536-1000)/256;

 TL0=(65536-1000)%256;

 ET0=1;

 TR0=1;

 EA=1;

}

void time0() interrupt 1

{

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;

t++;   //t为1ms

if(t==10) t=0;

}

void main()

{

 init();

 while(1)

 {

  if(t<7)P10=1;

  else P10=0;

 }

}