51单片机外部中断详解与实例
创作时间:
作者:
@小白创作中心
51单片机外部中断详解与实例
引用
CSDN
1.
https://m.blog.csdn.net/BUG_MeDe/article/details/145807820
1,引入
CPU收到中断请求,将主函数中的事情停下来,转而执行中断处理函数中的事情。51单片机有5个中断源,包括2个外部中断(INT0/INT1)、2个定时器中断(T0/T1)和一个串口中断。
系统通过中断号来区分这些中断,并且中断有优先级,可以通过软件控制。高优先级的中断可以抢占低优先级的中断,当两个相同优先级的中断同时到来时,CPU会根据系统中的中断查询顺序来处理。
2,51单片机中断
51单片机的5个中断源如下:
- IE寄存器:中断控制寄存器,EA是总中断使能位,EX0、ET0、EX1、ET1、ES等是其他5个中断的使能位。
- IP寄存器:用于设置中断优先级。
对于外部中断INT0和INT1:
- INT0连接到P3.2管脚,INT1连接到P3.3管脚。
- IT0寄存器控制中断触发方式:IT0 = 1时为下降沿触发,IT0 = 0时为低电平触发。
- 当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)会被置1,向CPU申请中断。
3,中断相关的寄存器
要开启某个中断,需要将对应的寄存器设置为1,并开启总中断。例如,要使能外部中断INT0,需要设置EX0 = 1,EA = 1,并设置触发方式(IT0 = 1表示下降沿触发)。
4,外部中断INT0程序
下面是一个使用外部中断控制LED亮灭的程序示例:
#include <reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit LED1 = P2^0;
sbit LED2 = P2^1;
sbit KEY3 = P3^2;
sbit KEY4 = P3^3;
#define DC_RUNING_TIME 1000
void delay_10us(u16 time)
{
while(time--);
}
void delay_ms(ms)
{
u16 i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void init_exti0()
{
// 初始化外部中断0
IT0 = 1; // 下降沿触发
EX0 = 1;
EA = 1;
}
void init_exti1()
{
// 初始化外部中断0
IT1 = 1; // 下降沿触发使能
EX1 = 1; // 启用外部中断1
EA = 1; // 开启中断
}
//interrupt 是一个关键字,表示 51 单片机中断。后面的“0”是中断号
void exti0_run() interrupt 0
{
delay_10us(DC_RUNING_TIME);
if(KEY3 == 0)
{
LED1 = !LED1;
}
}
void exti1_run() interrupt 2
{
delay_10us(DC_RUNING_TIME);
if(KEY4 == 0)
{
LED2 = !LED2;
}
}
void main()
{
init_exti0();
init_exti1();
while(1);
}
5,总结
CPU要正常响应中断需要满足以下三个条件:
- 中断源有中断请求
- 此中断源的中断允许位为 1
- CPU打开了总中断(即 EA=1)
本文原文来自CSDN。
热门推荐
永续年金的优势与投资策略解析
钱学森:感天动地
钱学森回国之路有多难?一份保释档案披露其中艰辛
史上最严重的油罐车爆炸事故,150人被当场烧死,尸体姿势诡异
歼-31战斗机获关注,中东市场或迎新机遇
香港「青年宿舍計劃」為年輕人安居築夢
《黑神话·悟空》显卡实测:普通卡能畅玩,优化水平堪称极致
凉拌黄瓜,很多人第一步就错了,教你正确做法,放多久都不变颜色
32岁马拉松名将突然离世,完美体魄下的致命隐患引深思
蔬菜存放的最佳温度,食用菌类适宜放在0℃左右的环境中保存
揭秘!你用的大模型原来这么耗电! AI的未来是核能?
养猫久了才发现:多跟猫咪聊天,原来有这么多隐藏好处!
近视矫正方法有哪些?这50个近视矫正的问题让你确定哪种方法适合?
青团用什么做的?艾草团的做法和配方详解
洛夫克拉夫特作品中的宇宙恐怖神学
挑选适合你的CPU:Intel vs AMD全面解析与推荐
汽车容量升数的准确计算方法及适用情况
枸杞和柠檬片可以一起泡水喝吗
百日维新:一场短暂却影响深远的维新运动
光绪帝之死:一个百年历史悬案的再解读
云南旅游团费用:至云南全攻略,包括交通、住宿、景点等详细信息及价格
如何有效更新电脑驱动程序,提升性能与稳定性
蔓荆子的功效与临床应用
新研究揭示二氧化碳在地球最长冰期中的核心作用
米醋的功效与作用:从健康到美容的多重用途
如何高效完成论文初稿,四种方法教会你
户外遭遇蜂群袭击怎么办?这份自救指南请收好
课题申报书:如何构建研究框架与精细化内容设计
等离子体技术在表面抛光领域的应用与发展
深度解析中国联通宽带提速背后的科技升级与服务变革