历史上的今天
今天是:2025年06月09日(星期一)
2018年06月09日 | 51单片机之中断的实现过程
2018-06-09 来源:eefocus
我们首先需要了解什么是中断?
中断是指cpu在执行某一过程中由于外界原因必须暂停现在的事情,处理别的事情,处理完了再回去执行暂停的事情。
中断的优点?
1.分时操作。
2.实时响应
3.可靠性高
中断中用到的寄存器:
IE寄存器:
1.单路开关:EX0 ET0 EX1 ET1 ES
EX0:外部中断0允许位
ET0:定时/计数器T0中断允许位
EX1:外部中断1允许位
ET1:定时/计数器T1中断允许位
ES:串行口中断允许位
2.总开关
EA:CPU中断允许位
EA=1打开
IP寄存器:
作用是选择优先级的,解决中断优先级问题。
IT0寄存器:选择低电平有效还是下降沿有效,上电默认电平触发方式,IT0=1是下降沿有效
T0 T1为定时器中断,RX TX为串行口中断
中断优先级顺序由高到低:
外部中断0(IE0)->定时/计数器0(TF0)->外部中断1(IE1)->定时/计数器1(TF1)->串行口(R1或T1)
首先响应的是优先级高的中断请求,正在中断的不会被新的中断请求打断,正在进行低优先级中断服务,能被高优先级中断请求中断。
中断函数一般形式:void 函数名() interrupt n{}
n代表中断号,中断号是编译器识别不同中断的唯一编号
中断函数和普通函数的异同:
同:函数的形式非常类似,中断响应过程和普通函数调用过程也非常相似
异:中断函数不需要声明,普通函数需要声明
使用中断函数需要遵循以下规则:
(1)中断函数不能进行参数传递
(2)在任何情况下,都不能直接调用中断函数
简单中断程序:
#include
void main()
{
P1=0x55;//p1口初始值
EA=1;//全局中断开
EX0=1;//外部中断0开
IT0=0;//电平触发,一般写1
while(1)
{}
}
//外部中断程序
void interves(void) interrupt 0 using 1
{
P1=~P1//进入中断程序执行程序
//此时可以通过EA = 0指令暂时关掉中断
}
上一篇:c51单片机上的发送中断标志位
下一篇:51单片机串口通信 采用中断方式
史海拾趣
|
前言 随着市场的发展,现在的MP3播放器品种越来越多,价钱也越来越实惠。也越来越多的MP3进入了用户的口袋。可以说是MP3随身听丰富了个人的世界,能随时随地随心所欲地欣赏美妙音乐。作为随身听,MP3的最终目的是还原真实的音乐。作为音响爱好者, ...… 查看全部问答> |
|
windows xp 与 windows ce 嵌入式系统的usb通信 现有一个条形码识别掌机, 掌机系统为 windows ce.net 6.0, 有usb接口。 将掌机usb接口直接与windows vista电脑相接,不需要任何操作就可以实现通信。 但将掌机与windows xp相接,用了很多方法都不行,比如安装一个activesync 4.5,在连接 ...… 查看全部问答> |
|
库文件完全一样,示例代码能运行,但是即使把示例代码完全复制到自己的工程中都不能输出正确的结果。复制到自己的项目中后,完全相同的代码但是编译后的大小要比demo工程直接编译的大一点点。一直到不到哪里出了问题。有人遇到过吗?或者给点查错的 ...… 查看全部问答> |
|
上一贴:跟着套件光盘入门LM3S811 https://bbs.eeworld.com.cn/thread-290441-1-1.html 刚拿到手一看,以为白色那块是LCD来的,细看一眼,原来就是一块塑料板导光板而已。之前看到带OLED Display的LM3S811,原来是另有其板。后来看了光盘 ...… 查看全部问答> |
|
美国Robei公司开发了一套全新的FPGA设计仿真工具,现在在教育界和工业界引起巨大的反响。 下面是这个软件的简单介绍: Robei FPGA仿真软件是一款世界上最小的FPGA仿真工具。该软件具备先进的图形化设计工具,代码修改,Verilog编译仿真和波形分析 ...… 查看全部问答> |




