占空比.c
来自「AT89S52单片机程序50例(00-50)」· C语言 代码 · 共 39 行
C
39 行
//占空比
#include <reg52.h>
sbit LED=P1^0; //定义P1.0为LED灯
unsigned char time;
unsigned char period=250; //周期为250
unsigned high=50; //高电平为50
//定时/计数器T0中断服务子程序
void timer0(void) interrupt 1 using 1
{
TH0=(65536-10000)/256; //重新初始化T0
TL0=(65536-10000)%256;
if(++time==high) //低电平2s
LED=0; //灯亮2s
else if(time==period) //灯熄灭0.5s
{
time=0;
LED=1;
}
}
//主程序
void main(void)
{
TMOD=0X01; //定时/计数器T0工作在定时器方式1,16位计数器
TH0=(65536-10000)/256; //T0计数初值为0D8F0H,即10ms
TL0=(65536-10000)%256;
EA=1; //CPU开总中断
ET0=1; //T0开溢出中断
TR0=1; //启动T0
do
{
}
while(1); //等待
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?