📄 main.c
字号:
//main.c
#include <reg51.h> //包含头文件
//定义端口寄存器
sfr P0M0 = 0X93;
sfr P0M1 = 0X94;
sfr P1M0 = 0X91;
sfr P1M1 = 0X92;
sfr P2M0 = 0X95;
sfr P2M1 = 0X96;
sfr P3M0 = 0Xb1;
sfr P3M1 = 0Xb2;
//定义端口
sbit alert = P3^2; //报警输入
sbit speaker = P0^1; //报警输出
sbit led = P0^0; //工作指示
bit run_flag; // 运行标志
//定义延时函数
void ms_delay(unsigned int t)
{
unsigned int i;
for (t; t > 0; t--) //外层循环t次
for (i = 110;i > 0; i--) //内层循环110次
;
}
//INT0中断服务程序
void INT0_interrupt() interrupt 0
{
//EX0 = 0; //关INT0中断
run_flag = 0;
}
main()
{
//配置端口模式
P0M1 = 0x03; //P0.1、P0.0输出
P0M0 = 0x03;
P1M1 = 0x04; //P3.2输入
P1M0 = 0x00;
//IT0 = 0;//设置INT0为低电平触发
IT0 = 1; //下降沿触发
EX0 = 1;//允许INT0中断
EA = 1;//开总中断
alert = 1;
speaker = 1;
led = 1;
run_flag = 1;
while(1)
{
if (run_flag)
{//正常运行
led = ~led;
speaker = 1;
ms_delay(500);
}
else
{
led = 0;
speaker = ~speaker;
ms_delay(250);
}
if (alert == 1)
{
run_flag = 1; //恢复正常
//EX0 = 1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -