?? 固定占空比.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 + -