fixwidth.c

来自「51常用子程序-4.0M.zip」· C语言 代码 · 共 22 行

C
22
字号
//fosc=10MHz,要求输出T=2.5s占空比为20%的脉冲。//
//取10ms时基,中断方式。2.5s需求量250次中断,高电平为50次中断。//
//时间常数=10*1000*10/12=8333//
#include <reg51.h>
#define uchar unsigned char
uchar time,period=250,high=50;

timer0()interrupt 1 using 1
{TH0=-8333/256;TL0=-8333%256;
 if(++time==high)P1=0;       // 高电平时间到变低性 //
 else if(time==period)       // 周期时间到变高并复位,开始下一周期//
     {time=0;P1=1;}
}
main()
{TMOD=0X01;
TH0=-8333/256;
TL0=-8333%256;
EA=1;ET0=1;TR0=1;
do{}while(1);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?