第5章单片机的中断系统_第1页
第5章单片机的中断系统_第2页
第5章单片机的中断系统_第3页
第5章单片机的中断系统_第4页
第5章单片机的中断系统_第5页
已阅读5页,还剩28页未读, 继续免费阅读

下载本文档

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

文档简介

1、第五章MCS-51单片机的中断系统和定时器,本章主要介绍了51系列单片机中断系统和定时器的问题,本章介绍了定时器/计数器-定时器/计数器的定时和计数器中断系统-中断源、中断方式、中断控制寄存器、中断应答、中断请求的去除。 在CPU和外围设备之间传输数据的方式是无条件传输方式查询方式中断传输方式DMA方式、5.1输入输出的控制方式、备用内容、5.2MCS-51单片机的中断系统、5.2.1.MCS-51单片机、中断响应、中断处理程序的执行、中断返回、中断请求标志、中断优先级、EA、中断源、中断请求标志、中断请求标志、中断优先级、中断请求标志、中断请求标志、中断请求标志、 中断请求标志、中断请求标志

2、、中断请求标志、中断请求标志、中断请求标志、中断请求标志、中断请求标志、中断请求标志、中断请求标志、中断请求标志、中断请求标志、中断请求标志、中断请求标志中断请求标志、中断请求标志、中断请求标志、中断请求标志一、中断源一共有5个中断源,分别是外部中断2个、定时中断2个、串行中断1个,由外部中断0-INT0、P3.2提供T0溢出中断片内定时/从计数器0供给的T1溢出中断片内定时/从计数器1供给的串行端口中断RI/TI; 片内的串行端口提供,5.2.2.MCS-51中断源、二、中断方式、单片机的中断是固定入口式中断,即当对中断作出响应时进入固定入口地址执行中断服务程序具体入口如下:中断源的入口地址

3、int 00003 t 0000 BH int 10013 ht 1001 bhri/ti 0023 h在这些单元中,在很多情况下会跳转到实际的中断服务程序。 这是因为每个中断源配置的空间只有8个单元。 三、中断控制寄存器、与中断控制有关的控制寄存器有四个:TCON-定时控制寄存器、IE-中断许可控制寄存器、IP-中断优先级控制寄存器、SCON-及串行端口控制寄存器。 另外,1定时控制寄存器TCON、中断请求标志、触发方法选择、0low电平1下降、2串行控制寄存器SCON、串行中断请求标志、3中断许可控制寄存器IE、4中断优先级控制寄存器(IP )、0禁止、1许可、0 l 中断请求控制寄存器、

4、TCON的结构、位名、位地址和功能如下:5.2.3外部中断触发方式,IT0 :外部中断0触发方式是位IT0=0,外部中断1是低电平触发CPU在每个机器周期的S5P2期间是P3.2 TCON格式如下:5.2.3外部中断触发方式,IT0=1,外部中断0下降触发CPU在每个机器周期的S5P2期间对P3.2管脚进行采样,如果前一机器周期为高电平,下一机器周期为低电平,则IT1 :外部中断1触发方式控制位。 功能和IT0、TCON格式如下:串行控制寄存器SCON、TI串行端口发送中断请求标志RI串行端口接收中断请求标志、串行端口中断请求标志、RI :接收中断请求标志位。 在串行端口接收到一帧的数据时,将

5、RI设置为1,请求中断,并且当CPU响应于中断时,硬件不清除0,而需要通过软件清除0。 TI :用于发送中断请求的标志位。 在串行端口发送一帧的数据后,在设置一帧的TI,请求中断,并且CPU对中断进行响应后,硬件不将0清除,而是需要通过软件将0清除。 此外,5.2.4中断请求标志、80C51的中断源的开放或关闭由中断许可控制寄存器IE控制。 中断许可控制寄存器IE、IE的结构、位名和位地址如下:PS :串行端口中断优先级控制位。 PT1 :定时计数器T1中断优先级控制比特。 PX1 :外部中断1中断优先级控制位。 PT0 :定时器计数器T0中断优先级控制位。 PX0 :外部中断0中断优先级控制

6、位。注意:单片机复位后,IP寄存器被清除,所有的中断源都是低级中断。 中断优先级控制寄存器(IP )、中断优先级控制、自然优先级顺序:例5-1允许INT0、INT1、T0、T1中断,并设定IE的值。 字节单位: IE=0 x8f; 以位为单位操作: EX0=1; /外部中断许可0中断ET0=1; /允许定时器/计数器0中断EX1=1; /外部中断许可1中断ET1=1; /开定时器/计数器1中断EA=1; /打开总中断控制位,制作5.2.5中断许可控制,例5-2程序段,将单片机的两个外部中断和串行中断设定为高优先级,将两个定时器的中断设定为低优先级。 c语言程序以字节为单位运行: IP=0 x1

7、5; 按位操作: PX0=1; /设外中断0为高级中断PX1=1外中断1为高级中断PS=1串行中断设定为高优先级,控制5.2.6中断优先级,c语言的中断程序结构如下: (1)main ()函数。 和汇编的主程序一样,完成中断系统的初始化。 需要等待中断发生的循环。 (2)中断处理函数。 中断处理函数在定义时必须由interruptn说明中断号码。C51中断程序设计,C51编译器支持将中断服务程序直接嵌入c源程序中,C51提供的中断函数定义语法如下:返回值类型函数名称interruptnusingmn :中断号码, 取值范围为04m :工作寄存器组编号(不声明的情况下,默认为0 ),中断通道和中

8、断源,中断系统的初始化顺序:根据需要确定各中断源的优先级等级,设定中断优先级寄存器IP的相应位。 根据需要,决定外部中断的触发方式,设定与计时器控制寄存器TCON对应的IT0位和IT1位。 设定总中断控制位EA,并设定与中断源对应的中断许可位。 5.4.1中断应用程序结构、外部中断程序模板、main()IT0=1; /中断边缘触发EX0=1; /允许外部中断0EA=1; /总是等待中断的int0()interrupt0P2_0=! P2_0; /中断内容,之前不需要函数的说明,没有返回值,没有具体的参数,主程序没有调用中断函数的语句,中断函数和一般函数的差异,外部中断应用例,如图5-3图5-1

9、0所示,P0端口的P0.0P0.3 要求利用89C52外部中断0将开关设定的数据读入单片机,依次通过P2.0P2.3输出驱动发光二极管,检查P0.0P0.3输入的电平(如果输入为低电平,则对应的LED 要求采用中断边缘触发方式,每次中断时完成读/写操作。 外部中断应用程序的示例:#includevoidmain()IT0=1; /选择边缘触发方式EX0=1允许外部中断0EA=1; /总中断许可while (1)/void int0_ serv (void ) interrupt0/外部中断服务函数P0=0 x0f; 将P0.0P0.3设为输入P2=P0/P0的值输出到p2使LED发光,以例5-4单片机中断方式设计了一个4路故障声光报警系统。 c语言程序列表: #includesbitsound=P37; voidmain()IT1=0; /选择低电平触发方式EX1=1允许外部中断1EA=1; P2=0 x0f; while(1) /等待中断,voidint1_serv()inter

温馨提示

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

最新文档

评论

0/150

提交评论