A. 单片机上的系统中断和电脑上的系统中断一样吗
int:
由系统中断源触发的中断,中断源可以是timer、通信模块、pwm模块等
ioc:由引脚变化触发的中断,中断源是某个io口
这两者是完全一样的。
唯一的区别是触发的源头是不同的,初始化寄存器的值虽然类似,但是也完全相同。
B. 单片机的中断跟延时有什么不同
中断和延时是不一样的,2个不同的概念。
中断是停止当前正执行的任务,转而去执行中断任务,等中断任务执行结束后继续回来执行当前正在运行的任务。中断程序要求尽可能的简洁越短越好(尤其是在多中断任务执行时),中断首先要开启中断源,初始化中断,然后响应中断,从中断的入口地址处执行中断程序。
利用中断可以使程序执行效率高效,实现“一边。。。一边。。。”初始化中断源后主程序,就可以去干其他事情了。好比你一边洗衣服一边等电水壶水开一样:
先给电水壶装满水插上电源,然后去洗衣服,当水开鸣笛时,停下洗衣服去倒开水;然后装满冷水,继续烧水,再接着洗衣服等水开,倒水,装水,洗衣服。。。。重复这个循环。
而延时仅仅是主程序在执行的过程中不断调用的一段子程序。例如我们使用51单片机编写程序如下:
//主程序不断的调用延时程序DELAY,等待定时器T0产生定时中断
//芯片使用STC89C52单片机,工作于12T,12M晶振。
ORG 0000H
LJMP START //系统复位入口地址
ORG 000BH
LJMP T0_INTERRPUT //T0中断子程序入口地址
ORG 0030H //程序开始处
START:
MOV TMOD,#01H //定时器工作在16位定时模式
MOV TH0,#(65535-50000) / 255 //t0赋初值
MOV TL0,#(65535-50000) MOD 255
SETB TR0 //启动定时器T0
SETB ET0 //允许T0中断
SETB EA //开启系统总中断
LOOP:
LCALL DELAY //调用延时程序
SJMP LOOP
//主程序到此结束
//延时10MS
DELAY:
MOV R5,#20
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET //子程序返回
//t0定时中断子程序
//定时50ms
T0_INTERRPUT :
PUSH ACC //保护断点-入栈
PUSH PSW
PUSH DPH
PUSH DPL
MOV TH0,#(65536-50000) / 256 //再次装如t0初值
MOV TL0,#(65536-50000) MOD 256
POP DPL //弹出断点,先进后出
POP DPH
POP PSW
POP ACC
RETI //中断返回
END
C. 单片机中查询和中断的本质区别
单片机内部由CPU RAM FLASH 以及外围电路和寄存器之类的东西组成,CPU是由数字逻辑电路构成的,基本数字逻辑门分为或门 与门 非门,通过这些门可以组成组合电路和时序电路。
查询方式就是CPU按照时钟周期一步一步地运行你的程序,由你的程序读取相应IO状态来判断事件是否发生,查询非常占用CPU的时间,而且速度会受限于时钟电路(通常是晶振),而中断方式也就是通过数字逻辑电路方式,外部产生一个脉冲,会触发数字逻辑电路动作,这通常是一瞬间的,速度仅仅依赖于门延迟,CPU收到中断请求后,会CALL中断服务程序,这通常只消耗1-4个指令周期,时间非常短
D. 在单片机中子程序与中断服务程序的异同点。
差别:
⑴ 中断请求信号可以由外部设备发出,是随机的;子程序调用却是由软件编排好的。
⑵ 中断响应后由固定的矢量地址转入中断服务程序,而子程序地址由软件设定。
⑶ 中断响应是受控的,其响应时间会受一些因素影响;子程序响应时间是固定的。
E. 单片机中断概念
单片机的中断概念是指单片机在执行程序时,遇到事先设定的优先等级高于当前正在执行程序的控制信号时,暂时停止当前程序的执行,转而先执行优先等级高的程序,等待所有优先等级较高的程序都执行完后,再返回继续原来暂停执行的程序的操作,这样的程序操作就称为执行中断操作。
为了保证中断执行后能够继续执行原来的程序且不产生错误,中断操作时,首先要保存中断前的程序的地址、工作寄存器的内容等。直到中断程序执行完成后再将暂时保存的工作寄存器的内容和地址取出,才能保证不回出现错误。
F. 单片机查询工作方式和中断工作方式有什么不同,编程时有什么区别
单片机在操作外部设备时,常用的有中断和查询两种方式。
1、工作方式不同;
查询方式:发送数据——先发后查;
接收数据——先查后收。
中断方式:发送数据——发送、等待中断、中断中发送;
接收数据——等待中断、在中断中接收
中断方式,是事件触发的,换言之只要有事件产生都会进入中断,并且取得最优运行,因此响应更快,及时。查询方式,就是在主函数里面不停循环,查询端口状态,响应速度慢。
2、编程时的区别;中断程序在程序开始定义中断入口地址,初始化中必须打开中断允许位,程序运行时不用判断溢出状态位,溢出后硬件清零;查询方式在程序运行时必须判断溢出状态位,溢出后须软件清零。
(6)单片机事件与中断区别扩展阅读:
单片机工作原理
1、单片机是一块用于对系统或设备进行控制的集成电路芯片,相当于一个微型计算机系统。包含具有数据处理能力的中央处理器CPU、静态随机处理器SRAM、闪存FLASH、多种IO口和中断系统、定时器/计数器等功能。
2、可以把单片机看成是一台微型机器,程序员给它输入命令,它就执行相应的操作。其过程大概如下:在一般的用户模式下,单片机先从FLASH中读取指令,译码电路识别该指令是哪个指令,并输出对应的控制信号给单片机内的各部件,各部件收到控制信号后执行相应的操作。
G. 什么是单片机的中断
不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。
计算机的中断系统能够加强CPU对多任务事件的处理能力。中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。 中断是CPU对系统发生的某个事件作出的一种反应。
引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点称为断点。
CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。
CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。
响应处理
大多数中断系统都具有如下几方面的操作,这些操作是按照中断的执行先后次序排列的。
1、 接收中断请求。
2、 查看本级中断屏蔽位,若该位为1则本级中断源参加优先权排队。
3、 中断优先权选择。
4、 处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中断的指令地址和处理机当前的主要状态信息存放在此单元中。
5、 中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理机新的状态信息和该级中断控制程序的起始地址。
6、 执行中断控制程序和相应的中断服务程序。
7、 执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或转向其他程序。
冲突
在一些罕见的情况下,两个ISA设备可以共享相同的 IRQ,只要它们不同时使用即可。为了解决这个问题,后来的PCI 总线允许 IRQ 共享。PCI Express没有物理中断线,并使用消息信号中断(MSI) 到操作系统(如果可用)。
在早期的 IBM 兼容个人计算机中,中断曾经是一种常见的硬件错误,当两个设备尝试使用相同的中断请求(或 中断)向可编程中断控制器(PIC)发出中断信号时会收到该错误。
PIC 期望每条线路仅来自一个设备的中断请求,因此沿同一条线路发送中断信号的多个设备通常会导致 中断 冲突,从而导致计算机死机。
例如,如果在系统中添加调制解调器扩展卡并分配给中断4,传统上分配给串行端口1,则可能会导致中断冲突。最初,中断 7 是使用声卡的常见选择,但后来发现 中断 7 会干扰打印机端口(LPT1)时使用了中断5。该串行端口经常禁用可以用于其他设备的中断线。
中断 2/9 是 MPU-401 MIDI 端口的传统中断线,但这与ACPI系统控制中断(SCI 在 Intel 芯片组上硬连线到 中断9)冲突;
这意味着 ISAMPU-401带有硬连线中断2/9 的卡和带有硬编码 中断 2/9 的 MPU-401 设备驱动程序不能在启用 ACPI 的系统上以中断驱动模式使用。
以上内容参考网络-中断
H. 51单片机中断的概念,及如何运用
中断其实很容易理解啊,这样来说吧,比如说你在做A事,但是突然间来了你想起来了更重要的B事,所以你马上去做B事了,做完之后再回来继续做A事,这个就是中断!在程序里面也是一样的!中断系统里面有五个中断,外部中断0和1,定时器/计数器中断0/1,串行口中断!
举个例子你可能会容易懂点,定时中断:比如你定时1ms,主程序在运行,每当1ms时间到后,就跑到定时中断子程序 里面执行,执行完后再回到主程序。。。中断程序是1ms进去一次
I. 单片机软件中断和硬件中断的区别
单片机如果没有操作系统是没有软件中断,只有硬件中断。软件中断是操作系统为一些特殊应用而设置的“中断”,靠命令来触发中断。