第四章单片机特殊部件和系统扩展技术.ppt_第1页
第四章单片机特殊部件和系统扩展技术.ppt_第2页
第四章单片机特殊部件和系统扩展技术.ppt_第3页
第四章单片机特殊部件和系统扩展技术.ppt_第4页
第四章单片机特殊部件和系统扩展技术.ppt_第5页
已阅读5页,还剩184页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章是单片机的特殊组成和扩展技术,4.1 MCS-51中断系统4.2 MCS-51片上并行输入/输出接口4.3 MCS-51片上定时/计数器4.4串行通信接口4.5 MCS-51单片机系统扩展技术4.6并行接口4.7显示器和键盘接口的扩展,4.1 MCS-51中断系统、 4.1.1中断的概念4 . 1 . 2 MCS 51中断系统的实现结构4.1.3中断请求源4.1.4中断控制4.1.5中断响应4.1.6外部中断的响应时间4.1.7外部中断的触发模式的选择4.1.8中断请求的取消4.1.9中断服务程序的设计4.1.9也就是说,当中央处理器正在处理某个东西(程序)并且需要由中央处理器处理的异步

2、事件在外部快速发生时,中央处理器可以中断当前程序, 转移到处理异步事件的程序,并在处理后返回到原来中断的程序,继续原来的程序执行。 在中央处理器中实现这一功能的组件是中断系统。4.1.2 MCS51中断系统结构、4.1.3中断请求源、中断源外部中断INT0外部中断INT1内部定时器/计数器T0内部定时器/计数器T1内部串行通信端口RI/TI、4.1.3中断请求源、两个中断源信号锁存特殊寄存器TCON、SCON(88H、98H) TF0和TF1的内部定时器以溢出中断标志,“1”中断请求有效IE0,IE1之外有中断请求标志,“1”中断请求有效IT1, IT0以外部中断请求输入信号IT11的形式选择

3、控制位,然后外部输入下降沿触发模式,IT1=0,然后外部输入以低电平触发。 外部中断请求输入信号由中央处理器在每个机器周期的S5P2进行采样。如果IT1=0,输入信号为低电平,将IE1设置为“1”。如果IT1=1,则第一次为高电平,第二次为低电平,从而将IE1设置为“1”。中断的有效脉冲宽度必须保持12个振荡周期。D7、D0、4.1.4中断控制、中断使能寄存器IE(A8H)当输入中断请求信号时,中央处理器是否响应中断可由中断使能寄存器的一位控制。打开环境影响评估中央处理器的中断标志。EA0,关闭所有中断应用,EA=1,允许所有中断源中断。ES线端口中断使能位。ES0,中断禁用,ESEA1,允许

4、。ET1,ET0定时器/计数器中断使能位。ET10,中断禁用,ET1 EA1,允许。EX1、EX0外部中断使能位。EX10,中断禁用,EX1 EA1,允许。D7、D0、4.1.4中断控制,中断使能寄存器IE(A8H)中断使能寄存器的内容可以通过设置和清除以及立即数字传输指令来改变。示例4.1假设允许片内定时器/计数器中断,并且禁止来自其他中断源的中断请求。尝试根据假设条件设置相应的工业工程值。解决方案:(1) CLRES (2) MOVIE,# 8AHCLREX 1 CLREX 0 SETBET 1 SETBET 0 SETBEA、4.1.4中断控制,第二中断优先级当中央处理器正在处理中断事件

5、程序时,异步意外事件需要由中央处理器处理,此时中央处理器是否响应由中断优先级控制器决定。高级中断源可以中断低级中断源。MCS-51有两个中断优先级,以实现两级中断嵌套。1.优先级寄存器IP(0b8h)MCS51的每个中断源的中断优先级可以由中断优先级选择寄存器的位内容确定。PS串行端口中断优先级控制位(PS=1)是一个高级中断。PT1,PT0定时器/计数器1,0中断优先级控制位,PT1=1,则它是一个高级中断。PX1,PX0外部中断1,0中断优先级控制位,PX1=1,则它是一个高级中断。D7、D0、4.1.4中断控制,2中断优先级2。同等级中断源的优先级,如图所示。4.1.4中断控制,两个中断

6、优先级示例4.2设置IP寄存器的初始值,以便CPU的两个外部中断具有高优先级,而其他中断具有低优先级。解决方案:(1) SETBPX0 (2) MOVIP,# 05h SETBPX1 CLR PS CLR PT0 CLR PT1、4.1.5中断响应,MCS51的中央处理器在每个机器周期的S6依次检查每个中断源标志。如果发现激活的中断请求(中断源标志为“1”),并且没有随后的阻塞条件,则中断请求将根据下一个机器周期开始状态的优先级进行响应。防止中断响应的条件:中央处理器正在处理具有相同或更高优先级的中断(相同或更高优先级的中断程序只能在处理后响应新的中断程序)。当前机器周期不是被执行指令的最后一

7、个机器周期(只有在当前指令被执行后,中断才能被响应)。中央处理器正在执行对工业工程和工业工程的RETI或写操作指令(该指令执行后,它需要在响应中断之前执行另一个指令)、4.1.5中断响应和第二个中断响应过程(中断入口地址)。中央处理器响应中断,即它开始执行中断程序。进入中断程序的方法是自动执行子程序调用指令“LCALL addr16”,调用指令的地址由中央处理器硬件MCS51指定,中断程序入口地址为:中断源入口地址外部中断0 0003H定时/计数器000BH外部中断1 0013H定时/计数器T1 001BH串行端口中断0023H响应外部中断1的长调用指令示例为:LCALL 0013H,4.1.

8、6外部中断响应时间, 外部中断的响应时间需要一个机器周期,从中央处理器从INT0或INT1采样中断信号到开始响应中断的时间,以及从中央处理器开始响应中断进入中断服务程序的时间(执行子程序调用指令需要两个机器周期)。 因此,整个中断响应时间至少需要三个完整的机器周期。如果中央处理器对中断信号进行采样,并且中央处理器正在执行RETI或向工业工程和工业工程写入数据指令(这些指令需要两个机器周期),接着是DIV或MUL指令(这些指令需要四个机器周期),加上子程序调用指令(两个机器周期),那么它需要八个机器周期。如果中断请求被上面列出的第一个条件阻塞,中断响应需要很长时间。在这种情况下,中断响应时间由相

9、同级别或更高级别的中断程序的执行时间决定。4.1.7外部中断触发模式的选择有两种方式触发外部中断:电平触发模式和边沿触发模式外部中断触发模式使用要求1)电平触发模式外部中断输入信号必须有效(保持低电平),直到中央处理器实际响应中断。在中断服务程序完成返回之前,中断请求信号应该无效,否则返回后中央处理器将再次响应。2)边沿触发模式下中断的有效脉冲宽度必须保持12个振荡周期。它可以由中央处理器在两个机器周期的S5P2进行采样,中断请求标志IE0(或IE1)自动设置为“1”。在中断响应之后,中断请求信号IE0(或IE1)被硬件自动清除。1.定时器/计数器中断请求的取消在定时器/计数器的中断请求被响应

10、后,中央处理器将自动清除中断请求标志位(TF0或TF1),因此中断请求被自动取消。2.外部中断请求1的取消。响应边沿模式触发请求中断请求后,中央处理器将自动清除中断请求标志位(IE0或IE1),此时,外部中断输入脉冲已经消失,因此中断请求自动取消。2.响应由电平模式触发的中断请求后,中央处理器将自动清除中断请求标志位(IE0或IE1)。此时,如果外部中断输入电平继续有效,中断标志将再次设置为“1”,因此中断请求不能自动取消,因此应该通过取消中断低电平来取消中断请求。实现电路如图所示。int 0,p 1.0,q,d,CP,SD,setb p 1.0 clr p 1.0 setb p 1.0,外部

11、中断请求信号,4.1.9中断服务编程,1。中断服务编程任务1。设置中断许可控制寄存器IE 2。设置中断优先级寄存器IP 3它还设置中断请求IT1或it0的触发模式。4.编写中断服务程序来处理中断请求功能。5.前三个程序通常放在主程序的初始化程序部分。示例6.3假设允许外部中断0,并使用边沿触发模式将其设置为高级中断,其他中断源为低级中断。解决方案:(1) SETBEA (2) MOVIE,# 81H SETBET0MOVIP,# 01H SETBPX0MOVTCON,# 01H SETBIT0,1000001,000001,000001,4.1.9中断服务程序设计,第二,使用中断时的主要程序结

12、构如下:org 0000h ljmp main3360 org中断入口地址(如果是外部中断1,则是0013h) ljmp int3360 main33604.1.9中断服务程序设计。中断服务程序1的流程结构。现场保护和现场恢复推动加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速加速2。关闭和打开中断CLR EA SETB EA 3。中断处理4。中断返回RETI右侧的程序流程图由以下程序表示:INT : CLR EA PUSH PSW PUSH ACC SETBEA CLR EA POP ACC SETBEA

13、 RETI,中断服务处理程序,4.1.9中断服务程序设计,如果MCS51应用系统中有四个中断源,包括外部中断源INT0和INT1,定时器/计数器中断源T0和T1。INT0为高电平中断,中断信号为低电平信号,中断服务子程序的入口地址(即存储地址)为6000h;INT1为低电平中断,中断信号为负脉冲信号,中断服务子程序的入口地址(存储地址)为7000h;T0和T1是高级中断,它们的中断服务子程序的入口地址(即存储地址)分别是8000小时和9000小时。让系统中的其他中断源不起作用。要求:(1)编写一个中断系统初始化程序来实现上述功能。(2)如果产生外部中断INT0中断,从外部数据存储器8000H开

14、始,将存储在存储器中的10个数字发送到内部数据存储器40H至49H的单元,如果在传输期间判断为0,则停止传输。4.1.9中断服务程序设计,解决方案:(1)确定中断功能寄存器TCON00000100或IT00、it11ie1000111或EA1、EX01、EX11、ET01、et11ip0001011或PX01、PX10、PT01、pt11tmod 4.1.9的控制值中断服务程序设计,(2)决定中断入口地址org 0000h ljmpmmain:org 003h ljmpimod (3)编写中断初始化主程序部分org 0040 h org 0040 h main : movsp,# 60 h main 3360 movsp,# 60 h movtcon,# 04 h CLRIT0 movoie,# 8 FH SETBIT1 movoip,# 0 bhset bea:set bex 0 set bex 1 set bex 0 clr px1 set bpt 1 3360,4.1.9中断服务程序设计,(4)编写外部中断0(INN0) 更改工作登记区SETB RS1 MO

温馨提示

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

评论

0/150

提交评论