c51单片机中断程序中的interrupt1,2,3是由什么决定的?

作者&投稿:崔涛 (若有异议请与网页底部的电邮联系)
c51单片机中断程序中的interrupt1,2,3是由什么决定的?~

由中断号决定,一般计数器0是interrupt 0,定时器0是interrupt 1,接下来是计数器1,再是定时器1,再是串口,有些单片机还会有ADC,串口2,PCI等中断,具体看单片机的资料。
Proteus 自从有了单片机也就有了开发系统,随着单片机的发展开发系统也在不断发展。 keil是一种先进的单片机集成开发系统。它代表着汇编语言单片机开发系统的最新发展,首创多项便利技术,将开发的编程/仿真/调试/写入/加密等所有过程一气呵成,中间不须任何编译或汇编。


扩展资料:
功能:
8位CPU·4kbytes程序存储器(ROM) (52为8K)。
128bytes的数据存储器(RAM) (52有256bytes的RAM)。
32条I/O口线·111条指令,大部分为单字节指令。
21个专用寄存器。
2个可编程定时/计数器·5个中断源,2个优先级(52有6个)
一个全双工串行通信口。
外部数据存储器寻址空间为64kB。
参考资料来源:百度百科-51单片机

分别对应着5个中断源,编译时自动生成相应的中断服务入口地址:
interrupt0:外部中断0
interrupt1:定时器0
interrupt2:外部中断1
interrupt3:定时器1
interrupt4:串口

中断是指由于某种事件的发生(硬件或者软件的),计算机暂停执行当前的程序,转而执行另一程序,以处理发生的事件,处理完毕后又返回原程序继续作业的过程。中断是处理器一种工作状态的描述。


1、INT0——外部中断0,由P3.2端口引入,低电平或下降沿引起。默认优先级最高。

2、INT1——外部中断1,由P3.3端口引入,低电平或下降沿引起。默认优先级第二。

3、T0——定时器/计数器0中断,由T0计数器计满回零引起。默认优先级第三。

4、T1——定时器/计数器1中断,由T1计数器计满回零引起。默认优先级第四。

5、T2——定时器/计数器2中断,由T2计数器计满回零引起。默认优先级第五。

扩展资料

单片机中断源类型

(1)外部设备请求中断。一般的外部设备(如键盘、打印机和A / D转换器等)在完成自身的操作后,向CPU发出中断请求,要求CPU为他服务。 由计算机硬件异常或故障引起的中断,也称为内部异常中断。

(2)故障强迫中断。计算机在一些关键部位都设有故障自动检测装置。如运算溢出、存储器读出出错、外部设备故障、电源掉电以及其他报警信号等,这些装置的报警信号都能使CPU中断,进行相应的中断处理。

(3)实时时钟请求中断。在控制中遇到定时检测和控制,为此常采用一个外部时钟电路(可编程)控制其时间间隔。需要定时时,CPU发出命令使时钟电路开始工作,一旦到达规定时间,时钟电路发出中断请求,由CPU转去完成检测和控制工作。

(4)数据通道中断。数据通道中断也称直接存储器存取(DMA)操作中断,如磁盘、磁带机或CRT等直接与存储器交换数据所要求的中断。

(5)程序自愿中断。CPU执行了特殊指令(自陷指令)或由硬件电路引起的中断是程序自愿中断,是指当用户调试程序时,程序自愿中断检查中间结果或寻找错误所在而采用的检查手段,如断点中断和单步中断等。

参考资料来源:百度百科-51单片机



分别对应着5个中断源,编译时自动生成相应的中断服务入口地址:
interrupt0:外部中断0
interrupt1:定时器0
interrupt2:外部中断1
interrupt3:定时器1
interrupt4:串口

interruput X 语句 X是中断标号 计算公式是 :(地址-3)/8=中断标号,其中“地址”*/
指的是 中断服务程序 的入口地址,比如:
外部中断0,入口地址为0003H,对应的中断标号为0
外部中断1,入口地址为0013H(十进制为19),对应中断标号为2
定时器0中断,入口地址为000BH(十进制为11),对应中断标号为1
定时器1中断,入口地址为001BH(十进制为27),对应标号为3
串口中断,入口地址为0023H(十进制为35),对应中断标号4
入口地址在数据手册里有

你是讲汇编还是C语言编程 呀 中断入口有四个 TO,T1,INT0,INT1
前两个是定时器\计数器中断 只要值为0时 只要中断允许一打开 就会 调到中断入口地址 执行指令
后两个是外部中断,视设定方式而定 ,有电平中断和下降沿中断两种方式,同样,只要中断允许开启,端口为低电平\下降沿时进入中断入口

由中断号决定,一般计数器0是interrupt 0,定时器0是interrupt 1,接下来是计数器1,再是定时器1,再是串口,有些单片机还会有ADC,串口2,PCI等中断,具体看单片机的资料


51单片机为什么在执行中断服务程序时要先加入一条转移指令
此程序属于中断响应阶段,其内容有,1、先完成当前正在执行的指令,并保存下一条指令的地址。2、暂停主程序的执行后,将程序执行的地址接入到中断入口地址。3、一般此时会在找中断入口地址的单元内写一条无条件转移指令(因为该地址仅8字节),使得程序跳转到中断服务程序中执行。

51单片机什么时候进入中断程序
3、执行中断处理程序。4、中断返回:执行完中断指令后,就从中断处返回到主程序,继续执行。当有中断促发条件时候(如定时器0、定时器1的溢出,外部有连接在int0和int1口上的低电平输入,串口收发一个字节数据完成),中断控制字中的某位会被硬件自动置1,单片机会自动进入中断处理程序,五个中断源的...

51单片机中用中断程序关闭别的中断
其实还有更简单的办法:进入死循环那个中断这后立即将SP保存到一个内存变量中,定时器中断中判断发生了死循环,就将那个变量的值再恢复给SP,然后执行reti。当然该方法要求中断服务程序是不可重入的,这对单片机来说一般不是问题。最后,再一次提醒你,死循环是不对的,应该从这方面多想想解决办法。上面的...

51单片机外部中断子程序为什么会执行两次?
你的外部中断应该是属于下降沿触发,当有一个下降沿到来时外部中断请求标志IE0或IE1(外部中断0或外部中断1请求中断标志,下面简称为IEx)就会置1,当进入中断程序后IEx由硬件归零。也就是说单片机当检测到IEx为1的时候就会进入到外部中断程序。\\x0d\\x0a现在来分析一下为什么你的程序会执行两次中断。...

在C51 语言程序中,对于 51 系列单片机的 5 个中断源,中断函数定义格式中...
例如定时器0中断:void timer0_sev (void) interrupt 1 timer0_sev是中断程序名称,可自己定 interrupt 1指的是中断号,不能随意写 0 1 2 3 4 分别是外部中断0 定时器0 外部中断1 定时器1 串口中断。有的还在中断序号后面写 using 0 using 1等,指的是用哪一个寄存器组,防止内存冲突,...

51单片机汇编语言,用中断实现一个程序的暂停与继续,求大神帮忙,只需要...
问题是:一个程序暂停,还有其它程序在执行吗?主循环程序也暂停吗?那就设置一个标志位,中断后,标志为1,再次中断,又恢复为0。回主循环程序,如果标志位为1,就进入一个循环中,循环中只查这个标志位,为1就始终循环,相当于暂停一个程序。不为1,即为0就跳出循环,进入正常的程序,即继续那个...

请高手帮忙,51单片机执行定时器0的中断程序后,需要大约15秒才能返回主...
我懂了,经过我的仿真,当程序第一次进入DELAYTIME时,执行到R0=03,R0=00,R2=F0时,T0中断到了,这时中断程序调用了DELAYTIME,当执行完中断服务程序,这是R0变成了0,返回到之前的延时函数,此时R0=0,R1=0,R2=0,所以你的延时程序就变成了256*256*256=16秒了,所以成了你说的15秒后才执行...

51单片机中断控制流水灯顺序
51单片机中断控制流水灯顺序的步骤如下:1、初始化中断向量表:将中断向量表中的全部中断向量初始化为0,确保中断发生时能正确跳转到相应的中断服务程序。2、配置中断优先级:设置中断优先级寄存器中的相应位,以确定各个中断的优先级顺序。3、配置中断使能位:将中断使能寄存器中的相应位设置为1,以允许...

51单片机之中断系统,外部中断
初始化的意思如图所示 实现思路 查看上方 P3第二功能各引脚功能定义 ,P3.3是外部中断1 (INT1)的外部输入引脚 编写一个程序,使得 S2按键按下 时,某个IO口(下面程序选择了P3.7这个IO口) 产生跳变沿 (由1变0)。P3.3与P3.7用跳线连接,使P3.3口与P3.7口同时产生跳变沿。

51单片机 中断 循环 C语言
1、\/\/定时器赋予初值,在24Mhz时,每个中断1ms=0xf830 T0Flg=1; 问:其中T0Flg=1,的T0Flg是什么意思?T0Flg是在定时器0计数满后,由硬件自动置1,如果有中断程序响应,则由硬件自动清零。2、问:此处的循环判断语句是判断什么为真?如何跳出循环?这里表示,程序不准备跳出循环了,这个就是...

湄潭县17822083202: c51单片机中断程序中的interrupt1,2,3是由什么决定的?
刀何妇炎: 51单片机有5个中断源,在硬件上的排列顺序是INT0,T0,INT1,T1,TI/RI,也就是中断允许寄存器中5个中断允许标志位的排列顺序,则这5个中断源的中断顺序号依次就是interrupt 后面的0,1,2,3,4.这是由硬件决定的,就是中断服务子程序的入口地址的排列顺序.

湄潭县17822083202: 51单片机中断程序怎么写 -
刀何妇炎: 主函数: EX0=1; //外部中断0 IT0=1; // 1:下降沿触发、0:低电平触发 EA=1; //开启总中断 中断子程序: void inter0() interrupt 0 {} 外部中断1将0换成1.

湄潭县17822083202: 在 C51 语言程序中,对于 51 系列单片机的 5 个中断源,中断函数定义格式中如何? -
刀何妇炎: 例如定时器0中断: void timer0_sev (void) interrupt 1 timer0_sev是中断程序名称,可自己定 interrupt 1指的是中断号,不能随意写 0 1 2 3 4 分别是外部中断0 定时器0 外部中断1 定时器1 串口中断. 有的还在中断序号后面写 using 0 using 1等,指的是用哪一个寄存器组,防止内存冲突,应该没什么用途 我编程写两个中断程序,专门注明 using 1 using 2 用不同的分组 可查反汇编代码,根本没有修改PSW寄存器的语句 两个中断都是 PUSH ACC PUSH PSW 中断结束前 POP ACC POP PSW

湄潭县17822083202: 51单片机中断interrupt……using……的用法 -
刀何妇炎: C51单片机编译器在编译程序时会自动分配工作组,通常省略不写,没有默认使用哪组,如果你要知道使用哪组,你可以用USING自己分配一个啊.

湄潭县17822083202: 51单片机中断编程 -
刀何妇炎: 外部中断信号接到P3.3口,为INT0中断,程序如下#include<reg51.h> sbit X0=P1^0; //用X0表示P1.0 sbit X1=P1^1; //用X0表示P1.1 sbit X2=P1^2; //用X0表示P1.2 void main(void) { P1=0x00; //将P1口初始化位高电平,如果没有这句,初始...

湄潭县17822083202: 请问高手C51单片机中,中断服务程序(interrupt n using m)n,m怎么确定啊? -
刀何妇炎: n是中端向量号,比如外部中断0的向量号为0.m是用来选择使用第几组R0~R7寄存器,一般编一些小程序没必要用,当你的程序有好几个中端程序,程序又十分复杂的时候就有用了,它可以更好的分配程序的内存使用.

湄潭县17822083202: C51中,单片机如何进入中断?
刀何妇炎: C51里面,先在主程序里面开中断,然后,C51中断程序的格式是 返回值 函数名 interrupt n, n表示是中断号,即中断向量

湄潭县17822083202: 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来打开中...

湄潭县17822083202: C51单片机中断程序
刀何妇炎: INT1在主程序前面就声明了,是全局变量. 应该是sbit定义的P3.3

湄潭县17822083202: 单片机C51编写带中断的程序,运行时直接进中断子服务程序并是怎么一回事,(C语言) -
刀何妇炎: 中断函数,往往是需要设定满足中断条件的.运行直接进入了中断子服务程序,可存在于:你直接在程序执行开始就开启了中断源,并且对应的中断条件已经满足了. 首要需要检查你的中断程序的进入判断部分.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网