📄 固定占空比.c
字号:
//固定占空比
//要求输出T=2.5s占空比为20%的脉冲,取10ms时基,中断方式。2.5s需求250次中断,高电平为50次中断。fosc=24MHz
#include <reg52.h>
#define uchar unsigned char //定义unsihned char为uchar
uchar time,period=250,high=50; //周期为250,高电平50,占空比为20%.
sbit LED=P1^0;
//T0中断服务子程序
void timer0()interrupt 1 using 1
{
TH0=0xb1; //重新初始化T0
TL0=0xe0;
if(++time==high)
LED=0; //高电平时间到变低性,灯亮时间为200
else if(time==period) //周期时间到变高并复位,开始下一周期
{
time=0;
LED=1;
}
}
void main()
{
TMOD=0X01; //T0工作在定时器方式1,16位计数器
TH0=0xb1; //T0初值为0B1E0H,10ms
TL0=0xe0;
EA=1;
ET0=1;
TR0=1;
do
{
}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -