控制/MCU
硬件电路:
由硬件电路可以看出通过P32引脚可以触发外部中断0。当外部为低电平或者负跳变(高电平跳变为低电平)时,即可启动外部中断0。
中断系统结构
由中断系统结构可以看出外部中断0需要配置IT0、IE0、EX0、EA、(PX0)位。下面我们来介绍一下要用到的寄存器。(中断允许寄存器IE和中断优先级寄存器IP不再赘述)
TCON-定时/计数器控制寄存器(可位寻址)
TF1-定时计数器1溢出标志位
(为1溢出申请中断。中断方式硬件自动清0,查询方式需软件清0)
TR1-定时计数器1运行控制位
(若GATE==1且INT1为高电平,TR1为1运行;若GATE==0,TR1为1运行;TR1需软件清0关闭)
TF0-定时计数器0溢出标志位(与TF1类似)
TR0-定时计数器0运行控制位(与TR1类似)
IE1-外部中断1请求标志
(为1表明正在向CPU申请中断,CPU转向中断服务程序后,硬件清0)
IT1-外部中断1触发方式选择位
(为1为跳变沿触发方式(负跳变),为0为低电平触发方式)
IE0-外部中断0请求标志(与IE1类似)
IT0-外部中断0触发方式选择位(与IT1类似)
所以我们在使用外部中断0的时候需要用到TCON寄存器中IE0、IT0位查询或设置触发方式,需要IE寄存器中EA、EX0位来打开总中断允许位和外部中断0允许位,在中断嵌套时需要IP寄存器来配置优先级。
程序代码:
使用外部中断0,使得在负跳变的触发下申请中断,中断响应使P1口的8位LED全部点亮500ms。
在此开发板上存在独立键盘模块,其中S4一端连接P32/INT0口,一端接地,按下后可以产生负跳变。
代码如下:
1/**************************** 2* 使用外部中断0点亮LED * 3****************************/4#include< reg52.h >5#defineuint unsigned int6#defineuchar unsigned char78voiddelay(uintt_ms)//ms级延时9{10uchar y;11while(t_ms--)12for(y =114; y >0; y--);13}1415voidinit()//自定义函数-中断之前的准备16{17IT0 =1;//设置申请中断信号为负跳变有效18EA =1;//开总中断开关19EX0 =1;//开外部中断0开关20}2122voidmain() 23{24init();//中断初始化25while(1)//死循环26P1 =0Xff;//使LED全灭27}2829voidinit0() interrupt 0//外部中断030{31P1 =0;//将数码管全部点亮32delay(500);//延时500ms33}当P32/INT0还没有负跳变触发时,CPU一直执行while死循环,但是一旦有负跳变触发,CPU会根据interrupt 0进入中断服务程序使P1的8位LED全部点亮并持续500ms。
代码亲测有效,请注意硬件电路与代码的对应关系。
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
51
单片机的
外部
中断有哪些触发方式
2019-08-13
3689
-
单片机
外部
INT0
中断控制LED的仿真电路图免费下载
2020-01-15
1050
-
单片机
INT0
中断计数的仿真电路图免费下载
2020-01-15
984
-
单片机
INT0及
INT1
中断计数仿真电路图免费下载
2020-01-15
1234
-
单片机
INT0
中断计数的程序和仿真资料免费下载
2020-06-02
669
-
单片机
INT0与
INT1
中断计数C语言程序免费下载
2020-06-04
801
-
单片机实验
INT0及
INT1
中断计数的程序和仿真资料免费下载。
2020-06-05
865
-
使用
单片机实现
INT0
中断计数的C语言程序免费下载
2021-03-21
593
-
使用
单片机实现
INT0及
INT1
中断计数的C语言程序免费下载
2021-03-24
812
-
51
单片机之
外部
中断方式 ———
INT0
中断
2021-11-22
1174
-
STM32
单片机
外部
中断配置
讲解
2021-11-22
870
-
INT0和
INT1
中断计数 PROTEUS 和
51
单片机教程(仿真文件+源代码)
2021-11-22
862
-
基于AT89C
51
单片机
INT0及
INT1
中断计数仿真及代码
2023-05-04
381
-
基于AT89C
51
单片机
INT0
中断计数仿真及代码
2023-05-04
305
-
基于AT89C
51
单片机
INT0
中断控制LED仿真及代码
2023-05-04
298
×
20
完善资料,
赚取积分
全部0条评论
快来发表一下你的评论吧 !