/**定时器输出脉冲占空比测试定义三个变量,vala,valb,aa**/
/*aa为定时器计数器,vala占空比高电平值,valb为低电平值**/
/**timeflag为高低电平允许标志,初始化置1,高电平计数并**/
/**通过串口输出,到达设置值timeflag置0,电平反转,aa归零*/
/**运行低电平计数,到达设置值timeflag置1,电平反转,aa***/
/**归零2017 4 20 14 30 PAST L44 CODE 1166**/
#include <REG51.H>
#include<stdio.h>
#define uint unsigned int
#define uchar unsigned char
bit timeflag; /****/
uint vala,valb,aa; /**/
void main()
{
TMOD|=0x20;
TH1=0xF3;
TR1=0x1;
TI=1;
aa=0;
timeflag=1; // printf("%2d\n",s);
vala=30;
valb=100-vala;
while(1)
{
aa=aa+1;
printf("%2d\n",aa);
if(~!timeflag)
{
if(aa>=vala)
{
timeflag=0;
aa=0;
}
}
else if(!timeflag)
{
if(aa>=valb)
{
aa=0;
timeflag=1;
}
}
}
}