📄 30-14-5.c
字号:
#define uchar unsigned char //定义一下方便使用
#define uint unsigned int
#define ulong unsigned long
#include <reg52.h> //包括一个52标准内核的头文件
sbit P10 = P1^0; //要控制的LED灯
sbit K1= P3^2; //按键K1
static uchar T;//一个周期的时间
static uchar D;//占空比
uchar i;
void main(void)
{
//TR0;//禁止T0
TMOD=0x11; //T0和T1均选择工作方式1,16位定时器
ET0=1; //使能T0溢出中断
ET1=1;
EA=1; //使能CPU中断
TR0=1; //T0开始运行
TR1=0; //唤醒T1,T1开始计数
while(1) //无限循环
{
;
}
}
timer0(void) interrupt 1 //T1中断服务函数,占空比
{
TH0=0x3C;
TL0=0xB0; //定时时间为0.1s
if(D==0 && T==0)T=1;
if(T==10) //定时时间为1s
{
T=0;
}
T++;
TR1=1;
TR0=0;
}
timer1(void) interrupt 3 //T0中断服务函数,频率
{
TH1=0x3C;
TL1=0xB0; //定时时间为0.1s
//D++;
//if(D==T)
//{
//D=0;
//P10=~P10; //矩形波中的低电平
i=D/10*T;
for(D=0;D<=T;D++)
{
}
TR0=1; //禁止T1计数,等待T0将其唤醒
TR1=0; //禁止T1计数,等待T0将其唤醒
//}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -