用c语言实现在p1.0和p1.1 5khz方波输出及1khz占空比为百分之十的矩形波输出

如题所述

/*用keil3与proteus7.4联调,自己下载后开启联调设置,在proteus中画个最小单片机系统,再用单片机连接keil的编译文件.HEX即可。假设时钟频率12MHz,执行一条语句所用时间1us,2kHz为500us,即定时器频率定时500us,如果用T0,则初值为TH0=0x1f,TL0=0x40;占空比7:10,脉冲宽度350us,用T1,初值TH1=0x15,TL1=0xe0。*/
#include<reg51.h>
sbit OUTW=P1^0;
void init()
{
EA=1;
TMOD=0x11;
ET0=1;
ET1=1;
TR0=1;
TR1=0;

OUTFW=0;
}

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

void timer0 interrupt 1
{
TH0=0x1f;
TL0=0x40;

TH1=0x15;
TL1=0xe0;

OUTW=1;

TR1=1;
}

void timer1 interrupt 3
{
OUTW=0;
TR1=0;
}
//注意:调频就是在IO变量在不同的时间置1,调宽就是在不同的时间置0
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答