中断源、中断请求标志和中断控制:

来自:天涯
3年前
已收藏
收藏
阅读数
2746
回复数
0

1.中断源: 中断源是指在计算机系统中向CPU发出中断请求的来源,可以人为设定,也可将突发性随机事件设置为中断源。


TF0(P3.4):定时/计数器功溢出中断请求标志。当定时/计数器功产生溢出时,中断请求标志位TF0置位(由硬件自动执行),并向CPU申请中断。 TF1(P3.5):定时/计数器T1溢出中断请求标志。当定时/计数器T1产生溢出时,中断请求标志位TF1置位(由硬件自动执行),并向CPU申请中断。 R1/T1:串行中断请求标志。当串行接口接收或发送完一帧串行数据时,中断请求标志位R1或T1置位(由硬件自动执行),并向CPU申请中断。 以上中断源请求中断时,相应的标志分别由TCON和SCON中的相应位来锁存。通常中断源有I/O设备、硬件故障、实时时钟和人为设置的中断源。 2.中断请求标志: MCS-51单片机的中断系统有以下四个特殊功能寄存器。 ①定时器控制寄存器(TCON)(用6位)。 ②串行口控制寄存器(SCON)(用2位)。 ③中断允许寄存器IE。 ④中断优先级寄存器IP。 (1)定时器/计数器控制寄存器(TCON):TCON字节地址为88H,位地址为88H~8FH。它用于保存定时器/计数器的溢出中断标志和外部中断标志。与中断有关的位如下。
TF1和TF0是定时器/计数器T1和T0的溢出中断请求标志位,其从初值开始加1操作,计满溢出后该相应位置1,请求中断,CPU响应后由硬件自动清0。
IE0和IE1:外部中断请求标志。当CPU采样到外部中断请求时,该位由硬件置“1”。 在CPU响应中断并执行中断服务程序时由硬件自动清0。 IT0和IT1:选择外部中断源触发方式控制位。 IT0为0时,外部中断0程控为电平触发方式。若外部中断请求为低电平,则使IEO置1;若为高电平,则使IE0清0,即低电平有效。 IT0为1时,外部中断0程控为边沿触发方式。若采样到外部中断请求出现下降沿,则使IE0置1,直到CPU响应中断,才由硬件使IE0清0,即下降沿有效。 IT1的含义与IT0类同。 (2)串行口控制寄存器(SCON)SCON字节地址为98H,位地址为98H~9FH,与中断有关的只有低两位,如下所示。
T1:串行口发送中断请求标志。CPU将一个数据写入发送缓冲器(SBUF)时就启动发送,发送完一帧数据后硬件置位TI,CPU响应中断时必须由软件对TI清0。 R1:串行口接收中断请求标志。串行口允许接收数据时,每收完一帧数据硬件置位RI,CPU响应中断时必须用软件对其清0。 单片机系统复位后,TCON和SCON各位清0。 3.中断控制: MCS-51单片机系统中,由中断源发出中断请求,但CPU是否响应,如何响应,都由中断允许控制寄存器和中断优先级控制寄存器来决定。 (1)中断允许控制寄存器IE:中断允许控制寄存器IE的字节地址为0A8H,位地址为0AFH~0AFH。IE对中断的开放和关闭实现两级控制,有一个总的开关中断控制位EA(IE.7),5个中断源作为另一级中断控制,5个中断源由IE低5位的各对应控制位的状态进行中断允许控制。与中断有关的控制位如下所示。
EA:中断允许总控制位。EA=0时,关闭所有中断;EA=1时,CPU开始中断。 ES:串行口中断允许控制位。ES=0,禁止串行口中断;ES=1,允许串行口中断。 ET0:定时器/计数器T0的溢出中断允许位。ET=0,禁止T0中断;ET=1,允许T0中断。 ET1:与ET0类同。 EXO:外部中断0中断允许位。EX0=0,禁止外部中断0中断;EX0=1,允许外部中断0中断。 EX1:与EX0类同。 (2)中断优先级控制寄存器 IP:MCS-51单片机系统的中断源有两个优先级,每个中断源均可由中断优先级寄存器IP来设置优先级别。IP的字节地址为0B8H,位地址为0B8H~0BFH。与中断有关的控制位如下所示。
PS:串行口中断优先级控制位。PS=0,低优先级;PS=1,高优先级。 PT/PT0:定时器/计数器T1/T0中断优先级控制位。为0是低优先级;为1是高优先级。 PX1/PX0:外部中断1/外部中断0中断优先级控制位。为0是低优先级;为1是高优先级。 若有几个中断源申请中断,则CPU先响应优先级高的。当同时接收到几个同一优先级中断请求,响应哪个中断源取决于内部硬件查询顺序。同级中断源优先级排列顺序如表1-9所示。当CPU处理某一中断服务程序时,第二个比它优先级高的中断源可以使前一中断服务程序中断;若第二个中断源与第一个中断源优先级相同,则当第一个中断服务程序执行完后才执行第二个中断服务程序。
当单片机系统复位后,IE中各位均被清0,所有中断源都禁止;IP中各位均被清0,5个中断源均为低优先级。

上一篇下一篇
参与回答(0条评论)
用户头像
上传
用户头像
{{item.nickname}}{{item.pubtime}}回复
回复图片
用户头像
上传
用户头像
{{item1.nickname}}回复 {{item1.othername}} {{item1.pubtime}} 回复
回复图片
用户头像
上传
查看全部回复{{item.replylist_count}}条 查看全部
收起回复 收起全部
{{isLoadList==1?'加载中...':(isLoadList==2&&(list.length <=3||(list.length>3&&!is_hidden))?'没有更多内容了':'查看更多回答')}}
返回顶部

返回顶部