⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 从零开始学51单片机源代码
💻 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 + -