以程序为例:
#include sbit led=P3^0; void main() { IT0=1; //设置外部中断0的触发方式为下降沿 EX0=1; //开启外部中断0 //中断的设置,首先设置中断的触发方式,再设置开启终端,最后开启总中断。 IT1=1; //设置外部中断1的触发方式为下降沿 //顺序保证:最后开启总中断 EX1=1; //开启外部中断1 EA =1; //总中断开关 while(1) { P0=0xaa; P0=0xff; } } void EX0_ISR(void) interrupt 0 { led=~led; } void EX1_ISR(void) interrupt 2 //外部中断1的中断在此为2!!!! { led=~led; } 复制代码 对于中断的理解:单片机中断和Java、Android中的线程有些像。中断的使用:首先要声明、设置中断服务,在此以外部中断0和1作解。首先要设置中断的触发方式,再设置中断的开启,最后再设置中断的总开关。IT0=1和IT1=1分别设置外部中断0的触发方式低电平触发也就是下降沿触发,同理IT1的触发方式也是如此。EX0=1和EX1=1是设置外部中断0和外部中断1都开启。EA=1是设置开启中断的所有开关。 以上是对中断的声明与设置。完成以上步骤要写中断响应服务。即代码中: void EX0_ISR(void) interrupt 0 { led=~led; } void EX1_ISR(void) interrupt 2 //外部中断1的中断在此为2!!!! { led=~led; } 复制代码 所谓的低电平触发是说的单片机上INT0与INT1变为低电平时侯。 也就是当开关按下的时候。 我在这一部分中容易犯得错误就是中断初始化那三行代码记的不熟悉。 IT0=1; EX0=1; EA=1;
上一篇:关于单片机连接ESP8266模块截取其回显内容
下一篇:SHT11数字温湿度传感器
推荐阅读最新更新时间:2024-11-12 05:56
设计资源 培训 开发板 精华推荐
- 使用 Broadcom Inc 的 HCTL-2020#PLC 的参考设计
- 使用热电偶测量温度的两种方法具有简单性、准确性和灵活性
- AM2LS-0512SH30-NZ 12V 2瓦DC-DC转换器的典型应用
- 数字欧姆表
- 用于报警控制面板的 MOSFET 功率驱动器
- PAM8304 3W单声道D类音频放大器典型应用
- LT5568 的典型应用 - 700MHz 至 1050MHz 高线性度直接正交调制器
- 用于 4mA 至 20mA 电流环路的 SPX2954 开路检测器的典型应用
- AD9272,八通道超声 ADC/LNA/VGA/AAF,带有 ADP5020 开关稳压器 PMU,可提高效率
- NOIP1SN025KA-GDI-A-GEVK:PYTHON 25K 评估套件(单色)
- 有奖直播:艾迈斯欧司朗新型Mira系列全局快门图像传感器
- 剁手不如玩板,这个双11免费好板等你来玩!
- 有奖下载:邂逅大师——福禄克全新专家级红外热像仪
- 有奖直播|TI 工业多协议通信应用中的优化解决方案
- 下载赢礼 | 雅特生 PMBus 接口非隔离数字 DC-DC 转换器
- 有奖直播报名中|基于英飞凌AIROC™ CYW20829低功耗蓝牙芯片的无线组网解决方案
- 一起分享,共同成长!EEWORLD月月有奖优秀主题/回复第29期
- 证明自己,VICOR技术问题测试问卷,等您来挑战!好礼等您拿!
- 有奖直播:人机互动介面和机器视觉应用上的最佳助手--瑞萨电子 RZ/G, RZ/A 和 RZ/V SoC系列