#include 'reg52.h'

typedef unsigned char u8; typedef unsigned int u16;

sbit key = P3^3; sbit led1 = P1^0;

void delay(u16 i) { while(i--); }

void init() { IT1 = 1; //设置INT1为下降沿触发 EX1 = 1; //开启INT1中断 EA = 1; //开启总中断 }

void main() { init(); while(1) { //主程序中不做任何操作 } }

void keyInterrupt() interrupt 2 //INT1中断服务函数 { delay(1000); //延时去抖 if(key == 0) //判断按键是否被按下 { led1 = ~led1; //翻转LED1的状态 } }

单片机中断应用:按键控制LED闪烁

原文地址: https://www.cveoy.top/t/topic/n6Ah 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录