📄 delay.c
字号:
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
sbit P2_7=P2^0; //火闸1
sbit P2_6=P2^1; //火闸2
sbit P2_5=P2^2; //鼓风机
sbit P1_0=P2^3; //翻板1
sbit P1_1=P2^4; //翻板2
sbit P1_3=P2^5; //排风扇
sbit P0_7=P0^7; //蜂命器
sbit P2_66=P2^6;
int i; //定义10ms基准时间
uchar k; //定义要延时的时间
uchar value=0;
uchar j;
uchar period=10; //定义周期时间为10
uchar high=1; //定义高电平时间为1
timer0 () interrupt 1 using 1{ //定时0.01秒=10毫秒=10 000微秒
TH0=0XB8;
TL0=0X00;
i++;
P0_7=1;
if(i<=200) //stop 2s
{P2_6=1;//火闸2停
P2_7=1;//火闸1停
P2_5=1;//鼓风机转
P1_1=1;//翻板2停
P1_0=1;//翻板1转
P2_66=1;
P1_3=1;//排风扇转
}
if(i>200&&i<=600) //work 4s***************************
{P2_6=1;//火闸2停
P2_7=0;//火闸1转
P2_5=0;//鼓风机转
P1_1=1;//翻板2停
P1_0=0;//翻板1转
P1_3=0;//排风扇转
P2_66=0;
}
if(i>600&&i<=800)//stop 2s
{P2_7=1;//火闸1停
P2_6=1;//火闸2停
P2_5=1;//鼓风机停
P1_0=1;//翻板1停
P1_1=1;//翻板2转
P1_3=1;//排风扇停
P2_66=1;
}
if(i>800&&i<=1200)//work 4s********************************
{P2_7=1;//火闸1停
P2_6=0;//火闸2转
P2_5=1;//鼓风机停
P1_0=1;//翻板1停
P1_1=0;//翻板2转
P1_3=1;//排风扇停
P2_66=0;
}
else if(i==1201)
{i=0;}
}
main()
{
P0=1;
P1=1;
P2=1;
P3=1;
P0_7=1;
TMOD=0X01; //定时器1方式1
TH0=0XB8; //预制计数初值
TL0=0X00;
EA=1; //开CPU中断
ET0=1; //开T/C0中断
TR0=1; //启动T/C0
do {} while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -