📄 30-14-7.c
字号:
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#include<reg52.h>
sbit P10=P1^0;
//sbit K1=P3^0;
static uchar T;
static uchar D;
void main(void)
{
TMOD=0x11;//计数器T0,T1均工作在模式1的状态下
TH0=0xD8;
TL0=0xF0;//用6M晶振,机器周期0.1s
TH1=0xD8;
TL1=0xF0;
ET0=1;//T0中断允许
ET1=1;//T1中断允许
EA=1;//总中断允许
TR0=1;//T0启动
TR1=0;//T1禁止
while(1)
{
;
}
}
TimerT0() interrupt 1
{
if(T==10)T=0;//最大周期到1s
T++;
P10=1;
TR1=1;//T1开始计数,D从0到10递增
TR0=0;//T增1后,T0停止计数
}
TimerT1() interrupt 3
{
if(D==T)P10=0;//当T增1后,占空比也相应的增1
if(D==10)//D的单位增量为T的10分之1
{
D=0;
TR0=1;//D循环1圈后,T0开始计数
TR1=0;//T1停止
}
D++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -