📄 123.c
字号:
/*采用6MHz晶振,在P1.0脚上输出周期为200ms,占空比为8%的脉冲信号*/
/*定时5ms,周期200ms需40次中断,高电平20ms需4次中断*/
#include <reg51.h>
typedef unsigned char uchar;
sbit P2_0=P2^0;
uchar time=0;
uchar period=40;
uchar high=4;
void timer0() interrupt 1 using 1
{
TH0=0xF6; /*定时器初值重装载*/
TL0=0x3C;
time++;
if(time==high) /*高电平持续时间结束,变低*/
{ mogu=0;}
else if(time==period) /*周期时间到,变高*/
{ time=0;
mogu=1;
}
}
void main()
{
TMOD=0x01; /*定时器0方式1*/
TH0=0x3c; /*定时器装载初值*/
TL0=0xb0;
EA=1; /*开CPU中断*/
ET0=1; /*开定时器0中断*/
TR0=1;/*启动定时器0*/
while(1) /*等待中断*/
{}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -