单片机的中断系统-渤海船舶职业学院

单片机的中断系统-渤海船舶职业学院

ID:23946056

大小:38.50 KB

页数:3页

时间:2018-11-12

单片机的中断系统-渤海船舶职业学院_第1页
单片机的中断系统-渤海船舶职业学院_第2页
单片机的中断系统-渤海船舶职业学院_第3页
资源描述:

《单片机的中断系统-渤海船舶职业学院》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、单片机中定时产生的中断杨丽英(渤海船舶职业学院,辽宁省葫芦岛125005)摘要:本文介绍了8051单片机的定时器/计数器中断,定时器的几种工作方式、初值的计算,并以一个具体的实例说明了定时器中断在控制系统中的应用。关键词:单片机;中断;定时器/计数器单片机是将计算机的基本部件微型化并集成到一块芯片上,具备独特功能的微型计算机,通常片内含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断系统、系统时钟及系统总线等。单片机具有体积小、可靠性高、功能强、灵活方便等许多优点,故广泛应用于国民经济的各

2、个领域。在单片机的应用中,中断系统具有举足轻重的作用。8051为MCS-51系统的一种单片机,其中断系统具有三类共五个中断源。两个外部中断源,分别通过引脚INT0和INT1引入中断请求信号,外中断源有两种中断触发方式:电平触发方式和脉冲触发方式。内部有两个定时器/计数器T0和T1,用于进行定时和计数控制,是内部中断源。T0和T1在内部时钟脉冲(或者外部计数脉冲)的作用下进行定时(或者计数)。定时(或者计数)结束时,由硬件产生溢出中断信号向CPU提出中断请求。由CPU对定时(或者计数)结果进行处理。8051有一个

3、全双工异步串行中,用于进行串行通信,是内部中断源。其中定时器/计数器中断被广泛用在各种控制系统中。8051为每个中断源设置了中断请求标志位。检测到中断请求信号后,为相应的中断标志置位,以便在下一个机器周期进行下一步的控制和处理。定时器/计数器的溢出中断标志被锁存在定时控制寄存器TCON中,其中高四位用于对定时/计数控制,TF1(TCON.7)为定时器/计数器T1的溢出中断标志位,当T1定时结束时,由硬件自动置1,向CPU提出中断请求。TF0(TCON.5)为定时器/计数器T0的溢出中断标志位,当T0定时结束时,

4、由硬件自动置1,向CPU提出中断请求。TR1(TCON.6)为定时器/计数器T1的启动停止控制位,由软件进行设定。TR1=1时,启动T1定时,TR1=0时,停止T1定时。TR0(TCON.4)为定时器/计数器T0的启动停止控制位,由软件进行设定。TR0=1时,启动T0定时,TR0=0时,停止T0定时。另处三个中断源也有相应的中断请求标志。在相应的中断标志置位后,通过中断允许控制寄存器实现开中断的功能。中断允许控制寄存器IE是一个八位的寄存器,其中使用六位。EA(IE.7)为中断允许总控位,其状态由用户通过程序进

5、行控制。EA=1时中断允许,即为开中断,EA=0时中断禁止,即为关中断。ET1(IE.3)为定时器T1的中断允许控制位,ET1=1时,允许定时器T1中断,ET1=0时,禁止定时器T1中断。ET0(IE.1)为定时器T0的中断允许控制位,ET0=1时,允许定时器T0中断,ET0=0时,禁止定时器T0中断。IE中还有三位用于对其它三个中断源进行中断允许控制。8051系统复位后,IE寄存器中各位均被清0,禁止所有的中断。在应用时,由软件进行设定。既可以使用位操作,也可以使用字节操作来实现对IE的设置。例如开放定时器T

6、1中断,使用位操作为:SETBEASETBET1使用字节操作为:MOVIE,#88HCPU响应中断请求、为中断源事件进行处理,是通过执行中断服务程序实现的。8051在内部ROM中为五个中断源定义了固定的中断服务区,其中:000BH—0012H为定时器T0的中断服务区,001BH—0022H为定时器T1的为断服务区。响应中断请求后,CPU按照中断源的不同,自动转到各中断区的首地址去执行程序。中断区的首地址也称中断入口地址,是中断控制的要点之一。但8个字节的中断服务区难以存下一般的中断服务程序,解决办法是在中断区的

7、入口地址处存放一条无条件转移指令,将流程转入中断服务程序的真正入口。中断系统中的定时器/计数器中断被广泛应用于各种控制领域,8051的定时器/计数器有四种工作方式。工作方式0为13位的定时器/计数器,此时T0和T1的工作情况完全相同,方式0下的计数溢出值为8192(213),则:定时时间=(8192-计数初值)×机器周期因为方式0没有充分利用16位计数寄存器的计数范围,所以13位的计数寄存器的初始化有些繁琐,需要先计算出十进制的计数初值,若计数初值小于32(25),将其送入TL寄存器中,将0装入TH寄存器,完成

8、计数寄存器的初始化;若计数初值不小于32,先将其转化为二进制形式,补足13位后,将低5位送入TL,将高8位送入TH,完成计数寄存器的初始化。工作方式1为16位的计数寄存器,此时定时器/计数器T0和T1的工作方式完全相同。方式1下的计数溢出值为65536(216),则:定时时间=(65536-计数初值)×机器周期方式1的计数寄存器初始化步骤为:先计算出十进制的计数初值,若计数初值小于25

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。