当前位置: 首页 > news >正文

双按键控制LED(中断优先级)

1.启动时,两个LED灯熄灭,1秒钟后(定时器实现),LED自动点亮;

2.按键1按下后,通过中断int0把两个LED熄灭5s时间,int0优先级设置为最高(优先级必须设置,设置后才能嵌套,否则即使它是int0,也不能嵌套进int1中)。

3.按键2被按下后,LED闪烁5次,间隔1秒;LED1熄灭。

4.最后效果是,当开始两个LED灯熄灭,一秒后,led点亮。我们按下按键2,LED闪烁,LED1熄灭。此时,按下按键1,LED1和LED2全部熄灭并保持一段时间后,LED1继续未完成的闪烁,直至完成后两个LED灯依旧点亮。

#include"reg52.h"
#define uchar unsigned char  //定义字符类型
#define uint unsigned int
sbit led=P2^0;   //定义IO口P2.0为led
sbit led1=P2^1;
uchar flag;	//定义flag类型

void delay(){  //延时程序
int i,j;
	for(i=500;i>0;i--)
	 for(j=100;j>0;j--);
}
void init()//初始化,即打开各中断开关
{
	 TMOD=0x01;
	 TH0=(65536-50000)/256; //定时器0装初值
     TL0=(65536-50000)%256; //同上
     IT0=1;//外部中断0为跳变沿触发方式
     IT1=1;//外部中断1为跳变沿触发方式
     EA=1;//开总中断
     EX0=1;//打开外部中断0
     EX1=1;//打开外部中断1
	 ET0=1;//打开定时器0中断开关
	 TR0=1;//打开定时器0运行开关
	 IP=0x01;//设置int0优先级为高,与PX0=1;等效
}
/*按键1*/
void int0() interrupt 0 using 0//外部中断0的执行程序。
{ 							   //interrupt 0指外部中断0 using 0指第0组寄存器			  			
	led=1;  //熄灭LED灯
	led1=1;
	delay();//延时
	delay();
	delay();
}
void t0() interrupt 1 using 1 //定时器
{   
   TH0=(65536-50000)/256; //定时器0装初值
   TL0=(65536-50000)%256; //同上
   flag++; //记录定时器经过的时间
   if(flag==20){	 //定时1秒后执行,flag=20时约一秒
	 led=0;   //点亮LED灯
     led1=0;
	 flag=0; //重置定时,达到每一秒点亮一次的目的
   }
}
/*按键2*/
void int1() interrupt 2 using 2//外部中断1的执行程序。
{
	unsigned char i;
    led1=1;	
	for(i=0;i<10;i++)//实现led闪烁五次。
    	{
		   led=~led;
		   delay();
		}	
}
void main()//主函数
{
	init();	  //初始化
	led=1;   //指定LED灯开始的时候是熄灭状态
	led1=1;
	while(1);
}

相关文章:

  • ‌DeepSeek模型在非图形智能体的应用中是否需要GPU
  • 印度zj游戏出海代投本土网盟广告核心优势
  • 程序化广告行业(84/89):4A广告代理公司与行业资质解读
  • 【计算机网络】网络基础(协议,网络传输流程、Mac/IP地址 、端口号)
  • 高并发内存池(定长内存池基础)
  • STM32 认识STM32
  • 【AI飞】AutoIT入门一:AutoIT来了,准备让AI动起来
  • 数据库实战篇,SQL在Kooboo中的实际应用(一)
  • Epplus 8+ 许可证设置
  • ESP-ADF外设子系统深度解析:esp_peripherals组件架构与核心设计(系列开篇)
  • 【NLP】25.python实现点积注意力,加性注意力,Decoder(解码器)与 Attention
  • 六、adb通过Wifi连接
  • cut命令:剪切
  • LeetCode[18]四数之和
  • 江顺科技应收账款期后回款比率大降:现金流急剧减少,研发费用率下滑
  • Unity中计算闭合路径内部的所有点位
  • Kubenetes-基于kubespray 部署集群
  • 鸿蒙开发-编译器使用
  • 如何 在 Cesium 中选取特定经纬度区域,特定视角 ,渲染成图片
  • 什么叫“架构”
  • 北京媒体锐评男子地铁辱骂他人:北京地铁永远欢迎沾着泥巴的普通劳动者
  • 南部战区回应菲护卫艇非法侵入中国黄岩岛领海:依法警告驱离
  • “杭州六小龙”爆火出圈后,浙江高规格部署人工智能发展
  • 中央和国家机关工委建立健全整治形式主义为基层减负长效机制
  • 特朗普称美联储主席鲍威尔“应该尽早下台”
  • 秦洪看盘|再拉尾盘,强化稳定预期