㈠ c51单片机如何使用中断
将按键接到P3.2(INT0)或P3.3(INT1)
main(){
EA=1;//EA总中断控制,EA=0关,EA=1开
EX0=1;//INT0中断控制。0关1开,按键接P3.2用这个
EX1=1;//INT1中断控制。0关1开,按键接P3.3用这个
//默认情况下,直接使EX0=1或EX1=1来打开中断,INT0、INT1中断是电平触发的
while(1){
//主程序写这里
}
}
/**外部中断0服务程序,按下接P3.2的开关k=0下面程序被执行**/
int0()interrupt0
{
//程序代码写这里面
}
/**外部中断1服务程序,按下接P3.3的开关k=0下面程序被执行**/
int1()interrupt2
{
//程序代码写这里面
}
注意,上面的中断程序,如果执行完后,按键k还没有放开,则中断程序会再次被执行。为了防止这种情况发生,有以下几种处理办法以:
(1)可以在中断程序中进行判断,只有放开了按钮k=1了中断函数才返回。
(2)可以在进入中断后关闭中断,让EX0或EX1=0。然后在主程序中,需要的时候再开起。
㈡ 单片机中断的原理
单片机中的CPU(暂且叫做CPU)在每个程序周期都会检查中断源(比如说外部中断,计时器溢出······),一旦发现有中断,马上停止当前的程序(一般情况是,高级的单片机要仲裁中断等级),并保护现场(寄存器的值入栈),然后调用中断程序。中断程序结束后,恢复现场(刚刚入栈的值出栈),继续刚刚的程序!
㈢ 单片机中断程序
结构很规矩,这个程序。
首先单片机上电复位,运行死循环前面的程序(,你这里就是init_timer(); // 应该叫初始化定时器,才合适,让定时器按照你需要的定时长度工作,或叫产生中断 )
接下来单片机主程序就是一直在死循环了。我们的主要任务一般在这里处理。
中断,就是在处理一些特殊任务,比如按键,或定时处理的程序,或外部一个不知道什么时间发生的任务,或通信任务等等。你在主循环的时候,无论在什么时候,中断请求来了(可以理解为需要处理比较紧急任务,优先处理的任务),就会暂停主循环,进入对应中断服务程序。运行完,在回主循环的暂停地方,继续执行死循环的任务。
定时器中断,就是每过一定时间,运行一下中断服务程序。常用来计时和产生脉冲信号。
初始化定时器,就是给定时器的寄存器,设置工作模式,时钟源,溢出的计数值。设置好了,定时器就能根据每个时钟源的频率,进行计数,直至溢出,然后产生一个中断请求。如果不饿能自动加载计数初值的定时器,在中断处理函数(服务函数)必须手动加载初值。
㈣ 单片机中的中断是怎么实现的
概念:引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。
80C51的中断系统有5个中断源 ,2个优先级,可实现二级中断嵌套(就是可以在嵌套过程中再次响应嵌套) 。
中断源
1、INT0(P3.2),外部中断1。可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。
2、INT1(P3.3),外部中断2。可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。
3、TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。
4、TF1(TCON.7),片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。
5、RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。
中断请求标志
1、TCON的中断标志
IT0(TCON.0):外部中断0触发方式控制位。
当IT0=0时:为电平触发方式。
当IT0=1时:为边沿触发方式(下降沿有效)。
IE0(TCON.1):外部中断0中断请求标志位。
IT1(TCON.2):外部中断1触发方式控制位。
IE1(TCON.3):外部中断1中断请求标志位。
TF0(TCON.5):定时/计数器T0溢出中断请求标志位。
TF1(TCON.7):定时/计数器T1溢出中断请求标志位。
单片机TCON辅助设置工具
2、SCON的中断标志
RI(SCON.0),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。同样,RI必须由软件清除。
TI(SCON.1),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。
80C51中断的控制
中断允许控制
CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。
EX0(IE.0):外部中断0允许位;
ET0(IE.1):定时/计数器T0中断允许位;
EX1(IE.2):外部中断0允许位;
ET1(IE.3):定时/计数器T1中断允许位;
ES(IE.4):串行口中断允许位;
EA (IE.7): CPU中断允许(总允许)位。
单片机IE自动设计工具
中断优先级控制
80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的 。
PX0(IP.0),外部中断0优先级设定位;
PT0(IP.1),定时/计数器T0优先级设定位;
PX1(IP.2),外部中断0优先级设定位;
PT1(IP.3),定时/计数器T1优先级设定位;
PS? (IP.4),串行口优先级设定位;
PT2(IP.5),定时/计数器T2优先级设定位。
单片机IP自动设计工具
中断优先级规则:
CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。
正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。
正在进行的低优先级中断服务,能被高优先级中断请求所中断。
中断系统总结:
TCON和SCON是中断请求,以及控制外部中断的有效方式。IE控制是否允许CPU响应中断,是否允许响应某一个中断。IP控制中断的优先级。
㈤ AT89S51单片机中断方式有哪几种
AT89S51有5个中断源:
(1) INT0:外部中断0请求,低电平有效。通过P3.2引脚输入。
(2)INT1:外部中断1请求,低电平有效。通过P3.3引脚输入。
(3)T0:定时器/计数器0溢出中断请求。
(4)TI:定时器/计数器1溢出中断请求。
(5)TXD/RXD:串行口中断请求。当串行口完成一帧数据的发送或接收时,便请求中断。
㈥ 单片机中断的意思
中断就是指处理机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
中断就是单片机处理任务A时,发生了触发中断的条件停下来执行另一个任务B,触发中断的条件就属于中断源,任务B就是中断任务(中断服务函数)。当中断任务执行完成后中断返回,在回到任务A中断的地方继续处理任务A。
CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。
(6)单片机的中断扩展阅读:
中断的相关作用:
1、满足实时处理要求。在实时系统中,各种监测和控制装置随机地向处理机发出中断请求,处理机随时响应并进行处理。
2、提供故障现场处理手段。处理机中设有各种故障检测和错误诊断的部件,一旦发现故障或错误,立即发出中断请求,进行故障现场记录和隔离,为进一步处理提供必要的依据。
3、提高计算机系统效率。计算机系统中处理机的工作速度远高于外围设备的工作速度。通过中断可以协调它们之间的工作。当外围设备需要与处理机交换信息时,由外围设备向处理机发出中断请求,处理机及时响应并作相应处理。
㈦ 51单片机中断原理
中断意思是打断,即允许单片机的正常工作被一些特殊的任务所打断,从而保证单片机能够专心工作又不错过重要事务。中断系统包括中断源和中断控制系统,单片机每执行完一条指令,就会检测中断源,当有中断发生且中断未被屏蔽,就会转向中断程序入口地址,执行中断程序,执行完中断程序,又返回主程序。
㈧ 什么是单片机的中断
中断是”打断“的意思,即允许正常运行的程序被一些紧急的事务所打断 ,前提是你允许中断发生,并且中断条件已经具备,如定时器定时时间到或外部引脚来了低电平。
有了中断,单片机不用频繁地去查询这些条件是否具备,从而专心地进行工作,但中断发生时,又可以随时作出响应
CPU好象一个大领导,如不让下级部门有事敲门或打电话向你反映问题,你还想了解情况,过一会儿不管有事无事你就得一个部门一个部门问一问,主动权全在你手里,可累不累呀
不如开放渠道(中断允许),告诉部下有事随时向我汇报,没事我该喝茶喝茶,该看报看报,这样既减轻了负担,又不会错过紧急事务
中断系统一般包括中断源 中断控制寄存器 中断优先级寄存器等部分,一般高档单片机中断源比较多,且中断优先级也比较多
㈨ 单片机中断概念
单片机的中断概念是指单片机在执行程序时,遇到事先设定的优先等级高于当前正在执行程序的控制信号时,暂时停止当前程序的执行,转而先执行优先等级高的程序,等待所有优先等级较高的程序都执行完后,再返回继续原来暂停执行的程序的操作,这样的程序操作就称为执行中断操作。
为了保证中断执行后能够继续执行原来的程序且不产生错误,中断操作时,首先要保存中断前的程序的地址、工作寄存器的内容等。直到中断程序执行完成后再将暂时保存的工作寄存器的内容和地址取出,才能保证不回出现错误。
㈩ 单片机中断原理
单片机中的cpu(暂且叫做cpu)在每个程序周期都会检查中断源(比如说外部中断,计时器溢出······),一旦发现有中断,马上停止当前的程序(一般情况是,高级的单片机要仲裁中断等级),并保护现场(寄存器的值入栈),然后调用中断程序。中断程序结束后,恢复现场(刚刚入栈的值出栈),继续刚刚的程序!