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

下载本文档

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

文档简介

4.1中断系统4.2

中断程序设计4.3定时/计数器4.4定时/计数器的编程举例

小结第4章中断系统、内部定时/计数器4.1中断系统

“中断”是指计算机在执行某段程序的过程中,由于计算机系统内、外的某种原因,当出现CPU以外的某种情况时,由服务对象向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再返回继续执行原来被中断的程序。

4.1.1中断系统概述1、中断的概念

中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。

2、中断的特点◆分时操作

◆实时处理◆故障处理3、中断系统的功能◆实现中断响应和中断返回◆实现优先权排队◆实现中断嵌套4、中断系统的结构框图4.1.2中断源1、外部中断源

8051的两条外部中断请求信号输入线,有低电平或负跳变两种中断触发方式。中断触发方式由定时器控制寄存器TCON中IE0和IE1位的状态设定。

2、定时器溢出中断源3、串行口中断源

8051内部定时/计数器溢出中断属于内部中断,通常用于进行定时/计数控制。在内部定时脉冲或T0/T1引脚上输入的外部计数脉冲作用下,加1计数的定时/计数器溢出时提出中断请求。

8051内部串行口的发送和接收中断也是内部中断。在串行口进行发送/接收数据时,每发送完一组串行数据时,串行口控制寄存器SCON中的TI中断标志位置“1”,每接收完一组串行数据则使RI置“1”,并都自动向CPU发出串行口中断请求。

4.1.3中断系统的控制1、定时器控制寄存器TCON位D7D6D5D4D3D2D1D0字节地址TCONTF1TR1TF0TR0IE1IT1IE0IT088H位地址8FH8EH8DH8CH8BH8AH89H88H2、串行口控制寄存器SCON位D7D6D5D4D3D2D1D0字节地址SCONTIRI98H位地址9FH9EH9DH9CH9BH9AH99H98H3、中断控制寄存器(和中断有关的特殊功能寄存器)位D7D6D5D4D3D2D1D0字节地址IEEAESET1EX1ET0EX0A8H位地址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:定时/计数器(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,必须须在中断服服务程序中中用软件将将其清除。。2、、中断断申申请请的的撤撤除除3)外外部部中中断断请请求求的的撤撤除除外部部中中断断可可分分为为边边沿沿触触发发型型和和电电平平触触发发型型。。对于于边边沿沿触触发发的的外外部部中中断断或或,,CPU在在响响应应中中断断后后,,由由硬硬件件自自动动清清除除其其中中断断标标志志位位IE0或或IE1,,无无需需采采取取其其他他措措施施。。对于于电电平平触触发发的的外外部部中中断断,,其其中中断断请请求求撤撤除除的的方方法法较较为为复复杂杂,,只只有有通通过过硬硬件件配配合合相相应应软软件件的的方方式式。。用户户对对中中断断的的控控制制和和管管理理,,实实际际是是对对4个与与中中断断有有关关的的寄寄存存器器IE、TCON、IP、SCON进行行控控制制或或管管理理。。4.2中断断程程序序设设计计4.2.1汇编编语语言言中中断断程程序序设设计计汇编编语语言言的的中中断断服服务务程程序序按按规规定定的的中中断断矢矢量量地地址址存存入入,,由由于于5个中中断断矢矢量量地地址址0003H、000BH、0013H、001BH、0023H之间间相相距距很很近近,,往往往往装装不不下下一一个个中中断断服服务务程程序序,,所所以以通通常常将将中中断断服服务务程程序序安安排排在在程程序序存存储储器器的的其其他他地地址址空空间间,,而而在在矢矢量量地地址址单单元元中中安安排排一一条条转转移移指指令令。。例4.1在图图4.3中,,P1.4~P1.7接有有4个发发光光二二极极管管,,P1.0~P1.3接有有4个开开关关,,消消抖抖电电路路用用于于产产生生中中断断请请求求信信号号,,消消抖抖电电路路的的开开关关来来回回拨拨动动一一次次将将产产生生一一个个下下降降沿沿信信号号,,通通过过向向CPU申请请中中断断,,要要求求::初初始始发发光光二二极极管管全全黑黑,,每每中中断断一一次次,,P1.0~P1.3所接接的的开开关关状状态态反反映映到到发发光光二二极极管管上上,,且且要要求求开开关关合合上上时时对对应应发发光光二二极极管管亮亮。。4.2.2C语语言言中中断断程程序序设设计计1、、中断断服服务务函函数数的的定定义义中断断服服务务程程序序定定义义为为函函数数,,函函数数的的完完整整定定义义如如下下::返回回值值函函数数名名([参数数])[模式式][再入入]Interruptn[Usingm](1)Interruptn:表表示示将将函函数数声声明明为为中中断断服服务务函函数数,,n为中中断断源源编编号号。。(2)Usingm:定定义义函函数数使使用用的的工工作作寄寄存存器器组组。。函函数数入入口口处处将将当当前前寄寄存存器器保保存存,,使使用用m指定定的的寄寄存存器器组组,,函函数数退退出出时时原原寄寄存存器器组组恢恢复复。。选选择择不不同同的的工工作作寄寄存存器器组组,,可可方方便便地地实实现现寄寄存存器器组组的的现现场场保保护护。。(3)再入入::属属性性关关键键字字reentrant将函函数数定定义义为为再再入入函函数数,,在在C51中,,普普通通函函数数(非再再入入函函数数)不能能递递归归调调用用,,只只有有再再入入函函数数才才可可被被递递归归调调用用。。2、、编程程举举例例例4.2用C语言言对对例例4.1重新新编编程程。。解::编程程如如下下::4.3定时时/计数数器器4.3.1定时时/计计数数器器的的结结构构8051单片片机机内内部部有有两两个个16位的的可可编编程程定定时时/计数数器器,,称称为为定定时时器器0(T0)和定定时时器器1(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定时时/计计数数器器的的工工作作方方式式1、、定时时器器工工作作方方式式寄寄存存器器TMOD2、、定时时/计计数数器器的的工工作作方方式式◆方式式0方式式0为13位定定时时/计数数方方式式,,由由THx提供供高高8位、、TLx提供供低低5位的计计数初初值,,最大大计数数值为为M=213=8192,每次次启动动计数数前均均需预预置计计数初初值。。设定时时器初初值为为C,时钟钟频率率为fosc,则其其定时时时间间T为:T=(M-C)×12/fosc=(8192-C)×12/fosc◆方式1◆方式2◆方式3方式1与方式式0基本相相同,,唯一一区别别在于于:方方式1计数寄寄存器器的位位数为为16位,由由THx和TLx寄存器器各提提供8位计数数初值值,最最大计计数值值为216=65536。定时时时间间:T=(65536-M0)×12/fosc方式2是8位的的可自自动重重装载载计数数初值值的定定时/计数数方式式,最最大计计数值值为28=256。。定时时时间::T=(256-M0)×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寄存器器中。。(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的初值值应为为:256-60=196=C4H小结中断是是指当当机器器正在在执行行程序序的过过程中中,一一旦遇遇到某某些异异常情情况或或特殊殊请求求时,,暂停停正在在执行行的程程序,,转入入必要要的处处理(中断服服务子子程序序),处理理完毕毕后,,再返返回到到原来来被停停止程程序的的间断断处(断点)继续执执行

温馨提示

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

最新文档

评论

0/150

提交评论