51单片机串口 PWM程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<reg51.h>//串口发送数据PWM,控制P2.0led灯亮度,波特率9600
#define uchar unsigned char
#define uint unsigned int
sbit p20=P2^0;
uchar PWM,t;
uchar flag;
void main()
{
TMOD=0x22;定时器1、0方式二
TH0=236;
TL0=236;
TH1=0Xfd;
TL1=0Xfd;
TR0=1;
TR1=1;
ET0=1;
SM0=0;
SM1=1;Leabharlann Baidu
REN=1;
EA=1;
ES=1;
p20=1;
while(1)
{
if(flag==1)
{
flag=0;
ES=0;
SBUF=PWM;
while(!TI);
TI=0;
ES=1;
}
}
}
void s() interrupt 4
{
RI=0;
PWM=SBUF;
flag=1;
}
void t0() interrupt 1
{
t++;
if(t==255)
{
t=0;
p20=0;;
}
if(PWM==t)
{
p20=1;;
}
}
相关文档
最新文档