51单片机的机器周期和中断采样

89C51的CPU在每个机器周期的S5P2期间顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志。如查询到某个中断标志为1,则将在接下来的机器周期S1期间按优先级进行中断处理。中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。

我想问的是1、每个机器周期都采样中断源,那他们的采样要花费多长时间?2、若开启顺序查询5个中断,那又要占用多少时间?占用几个指令周期???(可能不能这样问)3、最后想问一个机器周期单片机可以执行多少种操作?

回答你的问题之前先向介绍一下介绍两个概念,一个是PLC 一个是 FPGA,分别是可编程逻辑器件和现场可编程逻辑门阵列,这两种器件均能在一瞬间(或者时钟上升或下降沿)完成多个任务,可以说是并行执行的

单片机的运行虽然依靠于时序,但是由于内部集成了很多逻辑门(即有些功能是硬件实现的),所以有的时候可以一个周期完成很多功能。正如人不可以’一心两用‘,但却可以边弹钢琴边唱歌,好像不太恰当,你可以体会一下。。。

1、每个机器周期都采样中断源,采样在一瞬间完成(就像译码器一样,输入已知,输出瞬间即可得到)
2、若开启顺序查询5个中断,也是同上在一瞬间完成
其实无论你开启多少个中断,他都是对所有的中断进行扫描,只是有的中断有效有的无效,相当于逻辑门的初始条件不一样而已...所以你也可以想象内部的逻辑门阵列是多么的庞大
3、最后想问一个机器周期单片机可以执行多少种操作?

对于51单片机一个机器周期包含12个时钟周期,最多执行一条指令,但是完成的操作,在不同的状态下却是不同的.比如定时器开启的时候,在某个机器周期TLx会只加1,如果TLx溢出,会有THx加1,TLx归0;如果THx只加后溢出,会导致定时器中断标志置位,同时THx归0;如果这个时候INT0引脚有个下降沿,也会导致外部中断标志置位。。。所以外设是可以在同一个周期有很多操作(不需要cpu干预),但是cpu却只能应对某一特定情况执行相应的指令追问

你好,你的意思是单片机在一个机器周期内执行指令还可以同时执行除出指令外的相关固化的硬件操作。若同时执行两条指令的话为并行操作,类似PLC、FPGA、多核CPU。像在一个振荡周期内s5p2上同时执行中断采样和复位采样也都是内部硬件设计好了的缘故(它们应该不涉及取值寻址操作。谢谢你的热心回答。

追答

嗯,基本就是你理解的那样
其实单片机看起来简单,实际上内部的结构很复杂,每个外设都是一个独立的小模块,而每个外设要和CPU协同工作的话必然有地址总线及数据总线来连接,但是我们用的时候面向的是他的模块化的功能,对于具体的底层硬件架构很难也没必要特别清楚(除非你是IC设计者)

顺便引用一下 百度百科
IC即集成电路(integrated circuit)是一种微型电子器件或部件。采用一定的工艺,把一个电路中所需的晶体管、二极管、电阻、电容和电感等元件及布线互连一起,制作在一小块或几小块半导体晶片或介质基片上,然后封装在一个管壳内,成为具有所需电路功能的微型结构

温馨提示:答案为网友推荐,仅供参考
相似回答