单片机原理与应用技术(版)电子_第1页
单片机原理与应用技术(版)电子_第2页
单片机原理与应用技术(版)电子_第3页
单片机原理与应用技术(版)电子_第4页
单片机原理与应用技术(版)电子_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4.1 中断系统4.2 中断程序设计 4.3 定时/计数器 4.4 定时/计数器的编程举例 小结第4章 中断系统、内部定时/计数器4.1 中断系统 “中断”是指计算机在执行某段程序的过程中,由于计算机系统内、外的某种原因,当出现CPU以外的某种情况时,由服务对象向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再返回继续执行原来被中断的程序。 4.1.1 中断系统概述 1、中断的概念 中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。 2、中断的特点 分时操作 实时处理 故障处理3、中断

2、系统的功能 实现中断响应和中断返回 实现优先权排队 实现中断嵌套 4、中断系统的结构框图 4.1.2 中断源 1、外部中断源 8051的两条外部中断请求信号输入线 ,有低电平或负跳变两种中断触发方式。中断触发方式由定时器控制寄存器TCON中IE0和IE1位的状态设定。 2、定时器溢出中断源3、串行口中断源 8051内部定时/计数器溢出中断属于内部中断,通常用于进行定时/计数控制。在内部定时脉冲或T0/T1引脚上输入的外部计数脉冲作用下,加1计数的定时/计数器溢出时提出中断请求。 8051内部串行口的发送和接收中断也是内部中断。在串行口进行发送/接收数据时,每发送完一组串行数据时,串行口控制寄存

3、器SCON中的TI中断标志位置“1”,每接收完一组串行数据则使RI置“1”,并都自动向CPU发出串行口中断请求。 4.1.3 中断系统的控制 1、定时器控制寄存器TCON 位D7D6D5D4D3D2D1D0字节地址TCONTF1TR1TF0TR0IE1IT1IE0IT088H位地址8FH8EH8DH8CH8BH8AH89H88H2、串行口控制寄存器SCON位D7D6D5D4D3D2D1D0字节地址SCONTIRI98H位地址9FH9EH9DH9CH9BH9AH99H98H3、中断控制寄存器(和中断有关的特殊功能寄存器)位D7D6D5D4D3D2D1D0字节地址IEEAESET1EX1ET0EX

4、0A8H位地址AFHAEHADHACHABHAAHA9HA8H (1) EX0:外部中断(0)中断允许位;(2) ET0:定时/计数器T0中断允许位;(3) EX1:外部中断(1)中断允许位;(4) ET1:定时/计数器(T1)中断允许位;(5) ES:串行接口中断允许位;(6) EA:CPU中断总允许位。思考?字节地址和位地址有何不同?IE各位的定义如下中断优先级寄存器IP(B8H)位D7D6D5D4D3D2D1D0字节地址IPPSPT1PX1PT0PX0B8H位地址BFHBEHBDHBCHBBHBAHB9HB8H (1) PX0:外部中断(0)中断优先级设定位;(2) PT0:定时/计数器

5、(T0)中断优先级设定位;(3) PX1:外部中断(1)中断优先级设定位;(4) PT1:定时/计数器(T1)中断优先级设定位;(5) PS:串行接口中断优先级设定位。4.1.4 中断响应 1、中断处理的过程 中断处理过程分为4个阶段,即中断请求、中断响应、中断服务和中断返回。MCS-51系列单片机的中断处理流程如图所示。 2、中断申请的撤除1)定时器中断请求的撤除 对于定时器T0或T1溢出中断,CPU在响应中断后即由硬件自动清除其中断标志位TF0或TF1,无需采取其他措施。2)串行口中断请求的撤除 对于串行口中断,CPU在响应中断后,硬件不能自动清除中断请求标志位TI、RI,必须在中断服务程

6、序中用软件将其清除。2、中断申请的撤除3)外部中断请求的撤除 外部中断可分为边沿触发型和电平触发型。 对于边沿触发的外部中断或,CPU在响应中断后,由硬件自动清除其中断标志位IE0或IE1,无需采取其他措施。 对于电平触发的外部中断,其中断请求撤除的方法较为复杂,只有通过硬件配合相应软件的方式 。 用户对中断的控制和管理,实际是对4个与中断有关的寄存器IE、TCON、IP、SCON进行控制或管理。4.2 中断程序设计 4.2.1 汇编语言中断程序设计 汇编语言的中断服务程序按规定的中断矢量地址存入,由于5个中断矢量地址0003H、000BH、0013H、001BH、0023H之间相距很近,往往

7、装不下一个中断服务程序,所以通常将中断服务程序安排在程序存储器的其他地址空间,而在矢量地址单元中安排一条转移指令。 例4.1 在图4.3中,P1.4P1.7接有4个发光二极管,P1.0P1.3接有4个开关,消抖电路用于产生中断请求信号,消抖电路的开关来回拨动一次将产生一个下降沿信号,通过向CPU申请中断,要求:初始发光二极管全黑,每中断一次,P1.0P1.3所接的开关状态反映到发光二极管上,且要求开关合上时对应发光二极管亮。4.2.2 C语言中断程序设计 1、中断服务函数的定义 中断服务程序定义为函数,函数的完整定义如下: 返回值函数名(参数)模式再入Interrupt n Using m(1

8、)Interrupt n:表示将函数声明为中断服务函数,n为中断源编号。 (2)Using m:定义函数使用的工作寄存器组。函数入口处将当前寄存器保存,使用m指定的寄存器组,函数退出时原寄存器组恢复。选择不同的工作寄存器组,可方便地实现寄存器组的现场保护。(3)再入:属性关键字reentrant将函数定义为再入函数,在C51中,普通函数(非再入函数)不能递归调用,只有再入函数才可被递归调用。2、编程举例 例4.2 用C语言对例4.1重新编程。解:编程如下:4.3 定时/计数器 4.3.1 定时/计数器的结构 8051单片机内部有两个16位的可编程定时/计数器,称为定时器0 (T0)和定时器1(

9、T1),可编程选择其用作定时器或计数器,其逻辑结构如图。4.3.2 定时/计数器的工作原理 当设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计数器满溢出。定时器的定时时间与系统的振荡频率紧密相关,MCS-51单片机的一个机器周期由12个振荡脉冲组成,所以计数频率fc=(1/12)fosc。 当设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数。在每个机器周期的S5P2期间采样引脚输入电平,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。 4.3.3 定时/计数器的工作方式

10、 1、定时器工作方式寄存器TMOD 2、定时/计数器的工作方式 方式0 方式0为13位定时/计数方式,由THx提供高8位、TLx提供低5位的计数初值,最大计数值为M=213=8192,每次启动计数前均需预置计数初值。设定时器初值为C,时钟频率为fosc,则其定时时间T为:T=(MC)12/fosc = (8192C)12/fosc 方式1 方式2 方式3 方式1与方式0基本相同,唯一区别在于:方式1计数寄存器的位数为16位,由THx和TLx寄存器各提供8位计数初值,最大计数值为216=65536。定时时间: T =(65536M0)12/fosc方式2是8位的可自动重装载计数初值的定时/计数方

11、式,最大计数值为28=256。定时时间: T =(256M0)12/fosc 方式3只适合于定时/计数器0(T0)。当T0工作在方式3时,TH0和TL0成为两个独立的计数器。这时TL0可作定时/计数器,占用T0在TCON和TMOD寄存器中的控制位和标志位;而TH0只能用作定时器,占用T1的资源TR1和TF1。在这种情况下,T1仍可用于方式0、1、2,但不能使用中断方式。例4.3 用定时器1、方式0实现1s的延时。例4.4 用定时器0、方式3实现1s的延时。 (1)根据定时时间要求或计数要求计算计数器初值。(2)填写工作方式控制字送TMOD寄存器。(3)送计数初值的高8位和低8位到THx和TLx

12、寄存器中。(4)启动定时(或计数)器,即将TRx置位。 如果工作于中断方式,需置位EA(中断总开关)及ETx (允许定时/计数器中断),并编写中断服务程序。4.4 定时/计数器的编程举例1、定时/计数器的初始化编程步骤 2、应用编程举例 例4.6 用单片机定时/计数器设计一个秒表,由P1口连接的LED采用BCD码显示,发光二极管亮表示0,暗表示1。计满60s后从头开始,依次循环。 解:定时器0工作于定时方式1,产生1s的定时,程序类似于例4.4。定时器1工作在方式2,当1s时间到时,由软件复位T1(P3.5)引脚产生负跳变,再由定时器1进行计数,计满60次(1分钟)溢出,再重新开始计数。 按上述设计思路可知,方式寄存器TMOD的控制字应为61H,定时器1的初值应为:25660=196=C4H小 结 中断是指当机器正在执行程序的过程中,一旦遇到某些异常情况或特殊请求时,暂停正在执行的程序,转入必要的处理(中断服务子程序),处理完毕后,再返回到原来被停止程序的间断处(断点)继续执行。引起中断的事情称为中断源。中断请求的优先级由用户编程和内部优先级共同确定。中断编程包括中断入口地址设置、中断源优先级设置、中断开放或关闭、中断服务子程序等。本章通过实例分别介绍了采用汇编语言程序和C语言程序编写中断程序。 小 结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论