第5章 MCS-51单片机内部资源及应用_第1页
第5章 MCS-51单片机内部资源及应用_第2页
第5章 MCS-51单片机内部资源及应用_第3页
第5章 MCS-51单片机内部资源及应用_第4页
第5章 MCS-51单片机内部资源及应用_第5页
已阅读5页,还剩160页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理及其接口技术主目录上一页下一页结 束教学目标教学目标5.1 AT89S51单片机内部并行接口单片机内部并行接口 5.1.1 端口的结构端口的结构 5.1.2 端口工作过程分析端口工作过程分析 5.1.3 端口的访问及示例端口的访问及示例 单片机原理及其接口技术主目录上一页下一页结 束MCS-51系列单片机外部引脚说明系列单片机外部引脚说明单片机原理及其接口技术主目录上一页下一页结 束地址总线(AB)805187518031P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3 .0P3 .1P3.2P3.3P3.4P3.5P3.6P3.7PS ENEAALERST用户I

2、/O控制总线(CB)锁存器P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0ALEA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0VCCVSS数据总线(DB)(a)(b)P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXD、 P3 .0TXD 、 P3 .1INT0、 P3.2INT1、 P3.3T0 、 P3.4T1 、 P3.5WR 、 P3.6RD 、 P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0

3、.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080518751803112345678910111213141516171819204039383736353433323130292827262524232221VCCVSS(1)P0.0P0.7统称为统称为P0口。口。 P0口可作为口可作为通用通用I/OI/O接口接口。 在接在接有片外存储器或有片外存储器或I/0扩扩展接展接时,时,作低作低8位地址总线位地址总线与双向与双向8位数据总线位数据总线。5.1.1 端口的结构及其功能描述端口的结构及其功能描述单

4、片机原理及其接口技术主目录上一页下一页结 束地址总线(AB)805187518031P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3 .0P3 .1P3.2P3.3P3.4P3.5P3.6P3.7PS ENEAALERST用户I/O控制总线(CB)锁存器P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0ALEA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0VCCVSS数据总线(DB)(a)(b)P1.0P1.1P1.2P1.3P1.4P1

5、.5P1.6P1.7RST/VPDRXD、 P3 .0TXD 、 P3 .1INT0、 P3.2INT1、 P3.3T0 、 P3.4T1 、 P3.5WR 、 P3.6RD 、 P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080518751803112345678910111213141516171819204039383736353433323130292827262524232221VCCVSS(2) P1口口(18脚脚):P1.0

6、P1.7统称为统称为P1口。口。P1口是一个口是一个带内部上拉电阻带内部上拉电阻的的8位双向位双向I/O口。口。单片机原理及其接口技术主目录上一页下一页结 束地址总线(AB)805187518031P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3 .0P3 .1P3.2P3.3P3.4P3.5P3.6P3.7PS ENEAALERST用户I/O控制总线(CB)锁存器P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0ALEA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D

7、7D6D5D4D3D2D1D0VCCVSS数据总线(DB)(a)(b)P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXD、 P3 .0TXD 、 P3 .1INT0、 P3.2INT1、 P3.3T0 、 P3.4T1 、 P3.5WR 、 P3.6RD 、 P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0805187518031123456789101112131415161718192040393837

8、36353433323130292827262524232221VCCVSS(3) P2口口(2128脚脚):P2.0P2.7统称为统称为P2口。口。P2口也是口也是一个带内部上拉电一个带内部上拉电阻阻的双向的双向I/O口。口。在在访问片外存储器或扩展访问片外存储器或扩展I/O接口时,还用于提供高接口时,还用于提供高8位地址。位地址。单片机原理及其接口技术主目录上一页下一页结 束地址总线(AB)805187518031P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3 .0P3 .1P3.2P3.3P3.4P3.5P3.6P3.7PS ENEAALERST用户I/O控制总线(

9、CB)锁存器P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0ALEA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0VCCVSS数据总线(DB)(a)(b)P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXD、 P3 .0TXD 、 P3 .1INT0、 P3.2INT1、 P3.3T0 、 P3.4T1 、 P3.5WR 、 P3.6RD 、 P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P

10、0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080518751803112345678910111213141516171819204039383736353433323130292827262524232221VCCVSS (4) P3口口(1017脚脚):P3.0P3.7统称为统称为P3口。口。P3口也是口也是一个带上拉电阻的一个带上拉电阻的I/O口口可以作双向的输入输可以作双向的输入输出口。出口。具有第具有第2功能。功能。单片机原理及其接口技术主目录上一页下一页结 束7一一.PO.PO口口5.1.1 端口的结构及

11、其功能描述端口的结构及其功能描述u P0P0口是一个三态双向口口是一个三态双向口, , 可作为通用可作为通用I/OI/O接口接口, , 也可作为也可作为地地址址/ /数据数据分时复用口。分时复用口。单片机原理及其接口技术主目录上一页下一页结 束8端口三种不同操作方式:端口三种不同操作方式: 输出数据方式输出数据方式读端口数据方式读端口数据方式读引脚方式读引脚方式(1)P0(1)P0口作为通用口作为通用I/OI/O口使用口使用单片机原理及其接口技术主目录上一页下一页结 束9输出数据方式输出数据方式(红色箭头方向)(红色箭头方向)MOV P0,AMOV P0,#data 所有所有端口操作指令端口操

12、作指令均可从端口输出数据。均可从端口输出数据。00单片机原理及其接口技术主目录上一页下一页结 束u 在在CPUCPU向端口输出数据时向端口输出数据时, , 对应的对应的控制信号为控制信号为0 0, , 转换开转换开关把输出级与锁存器端接通关把输出级与锁存器端接通, , 同时因与门同时因与门3 3输出为输出为0 0使使V2V2截止截止, , 此时此时, , 输出级是漏极开路电路输出级是漏极开路电路。 单片机原理及其接口技术主目录上一页下一页结 束u 使用时注意使用时注意: : 在输出数据时在输出数据时, , 由于由于V2V2截止截止, , 输出级是漏极开路电输出级是漏极开路电路路, , 要使要使

13、“1”1”信号正常输出信号正常输出, , 必须外接上拉电阻必须外接上拉电阻。 单片机原理及其接口技术主目录上一页下一页结 束单片机原理及其接口技术主目录上一页下一页结 束13读锁存器数据方式读锁存器数据方式(红色箭头方向)(红色箭头方向)对端口及其口线对端口及其口线ANL、ORL、XRL、SETB、CLR、CPL的指令操作为读锁存的指令操作为读锁存器数据方式。器数据方式。该类指令又称为该类指令又称为“读读-改改-写写”指令。指令。为什么要读锁存器:为什么要读锁存器:避免避免PX.X引脚因负载引脚因负载原因导致的状态改变原因导致的状态改变失控。失控。仅对仅对端口锁存器中的数据端口锁存器中的数据进

14、行读入进行读入00单片机原理及其接口技术主目录上一页下一页结 束14读端口引脚方式读端口引脚方式 为了正确为了正确读入端口引脚数据,须先使读入端口引脚数据,须先使V1、V2管截止管截止,而后读入。,而后读入。0001应注意应注意 ,当,当P0P0口作输口作输入口使用时,应先对该口入口使用时,应先对该口引脚写入引脚写入“1 1”使场效应管使场效应管T2T2截止,防止场效应管处截止,防止场效应管处于导通状态,会将输入的于导通状态,会将输入的高电平拉成低电平,从而高电平拉成低电平,从而引起误读。引起误读。 注:注:这里就体现了这里就体现了“准双向准双向I/O口口”的概念,即的概念,即P0口口线口口线

15、输入数据时,要先在输入数据时,要先在P0相应口线上输出相应口线上输出“1”,做,做好输入准备工作(铺垫工好输入准备工作(铺垫工作)。作)。与此类似,与此类似,P1、P2、P3作为作为I/O口使用时也是口使用时也是“准准双向口双向口”。单片机原理及其接口技术主目录上一页下一页结 束15例如读例如读P0P0口低口低4 4位引脚线上的信号:位引脚线上的信号: MOV P0,#0FHMOV P0,#0FH MOV A,P0 MOV A,P0 单片机原理及其接口技术主目录上一页下一页结 束u此时可分为两种情况:此时可分为两种情况: 一种是从一种是从P0P0口口输出输出地址或数据地址或数据 另一种是从另一

16、种是从P0P0口口输入输入数据。数据。1 12 23 34 4(2)P0(2)P0口作为口作为地址地址/ /数据数据使用使用单片机原理及其接口技术主目录上一页下一页结 束1 12 23 34 4u在访问片外存储器需从在访问片外存储器需从P0P0输出地址或数据输出地址或数据信号时信号时, , 控制控制信号应信号应为高电平为高电平1 1, , 使转换开关使转换开关MUXMUX把反向器把反向器4 4的输出端与的输出端与V1V1接通接通, , 同时把与门同时把与门3 3打开。打开。 单片机原理及其接口技术主目录上一页下一页结 束1 12 23 34 4u从从P0P0口送出地址后,又从口送出地址后,又从

17、P0P0口接收数据,口接收数据,输入输入数数据类似于从据类似于从P0P0口读引脚。口读引脚。 单片机原理及其接口技术主目录上一页下一页结 束19读取片外读取片外RAM的的2050H单元内容到累加器单元内容到累加器MOV DPTR,#2050HMOVX A,DPTR;执行此指令执行此指令, P3.7引脚上输出引脚上输出/RD 有效信号有效信号(低电平低电平),DPTR包含包含16位地址信息由位地址信息由P0(低(低8位)、位)、P2口(高口(高8位)位)提供,数据由提供,数据由P0口输入到累加器。口输入到累加器。单片机原理及其接口技术主目录上一页下一页结 束20Q二二.P1.P1口口单片机原理及

18、其接口技术主目录上一页下一页结 束21Qu P1P1口为准双向口。它在结构上与口为准双向口。它在结构上与P0P0口的口的区别在于区别在于输出驱动部输出驱动部分分, , 其输出驱动部分由场效应管其输出驱动部分由场效应管V1V1与内部上拉电阻组成。与内部上拉电阻组成。 当某位输出高电平时当某位输出高电平时, , 可以提供拉电流负载可以提供拉电流负载, , 不必象不必象P0P0口那口那样需要外接电阻样需要外接电阻。 单片机原理及其接口技术主目录上一页下一页结 束22Qu 从功能上来看从功能上来看P1P1只有一种功能(对只有一种功能(对MCS51MCS51子系列)子系列), , 即即通用输入输出通用输

19、入输出I/OI/O接口接口, , 具有具有输入、输出、输入、输出、 端口操作端口操作3 3种工作方式种工作方式, , 每每1 1位口线能独立地用作输入或输出线。位口线能独立地用作输入或输出线。单片机原理及其接口技术主目录上一页下一页结 束23三三.P2口口 P2P2口的位结构比口的位结构比P1P1多了一个转换控制部分,当多路开多了一个转换控制部分,当多路开关关MUXMUX倒向下时,倒向下时,P2P2口作通用口作通用I/OI/O口,口,具有具有输入、输出、输入、输出、 端口操作端口操作3 3种工作方式种工作方式, , ;单片机原理及其接口技术主目录上一页下一页结 束24三三.P2口口 当扩展片外

20、存贮器时,当扩展片外存贮器时,MUXMUX开关打向上,开关打向上,P2P2口作口作高八位地高八位地址线址线输出高八位地址信号。输出高八位地址信号。单片机原理及其接口技术主目录上一页下一页结 束25 四四.P3.P3口口 P3P3口为双功能口为双功能I/OI/O口,内部结构中增加了第二输入口,内部结构中增加了第二输入/ /输出功能。输出功能。单片机原理及其接口技术主目录上一页下一页结 束P3口各位的第二功能口各位的第二功能引脚引脚第二功能第二功能功功 能能 说说 明明 P3.0RXD串行数据输入端串行数据输入端 P3.1TXD串行数据输出端串行数据输出端 P3.2INT0外部中断外部中断0中断请

21、求信号输入中断请求信号输入端端P3.3INT1外部中断外部中断1中断请求信号输入中断请求信号输入端端P3.4T0定时定时/计数器计数器0外部计数脉冲外部计数脉冲输入端输入端P3.5T1定时定时/计数器计数器1外部计数脉冲外部计数脉冲输入端输入端P3.6WR片外片外RAM写选通信号输出端写选通信号输出端 P3.7RD片外片外RAM读选通信号输出端读选通信号输出端 单片机原理及其接口技术主目录上一页下一页结 束2789S5189S51P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5V+5V+5V+5V1K1K4 4

22、330330 4 47.2.3 应用举例应用举例例例1.1.在图中在图中P1.4P1.4P1.7P1.7接四个发光二极管接四个发光二极管LED,P1.0LED,P1.0P1.3P1.3接四个接四个开关,编程将开关的状态反映到发光二极管上。开关,编程将开关的状态反映到发光二极管上。 单片机原理及其接口技术主目录上一页下一页结 束28例例1.1.在图中在图中P1.4P1.4P1.7P1.7接四个发光二极管接四个发光二极管LED,P1.0LED,P1.0P1.3P1.3接四个开关,编程将开关的状态反映到发光二极管上。接四个开关,编程将开关的状态反映到发光二极管上。 89S5189S51P1.0P1.

23、0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5V+5V+5V+5V1K1K4 4330330 4 4EA单片机原理及其接口技术主目录上一页下一页结 束29 ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV P1,#0FFH ;高四位全灭,低四位输入线送高四位全灭,低四位输入线送“1”, ABC: MOV A,P1 ;读读P1口引脚开关状态,并送入口引脚开关状态,并送入A SWAP A ;低四位开关状态换到高四位低四位开关状态换到高四位 MOV P1,A ;从从P1口输出口输出 ORL P1,#0

24、FH ;高四位不变,低四位送高四位不变,低四位送“1”, SJMP ABC ;循环执行循环执行END 单片机原理及其接口技术主目录上一页下一页结 束5.2.1 中断的概念中断的概念5.2.2 AT89S51 AT89S51单片机中断系统的结构与控制单片机中断系统的结构与控制5.2.3 中断处理过程中断处理过程5.2.4 中断响应时间中断响应时间5.2.5 51 51单片机中断请求的撤除单片机中断请求的撤除5.2.6 中断服务程序与子程序的区别中断服务程序与子程序的区别5.2.7 外部中断源的扩展外部中断源的扩展5.2.8 中断应用举例中断应用举例单片机原理及其接口技术主目录上一页下一页结 束1

25、.中断的定义:中断的定义: 由于由于内部或外部内部或外部的某种原因的某种原因, 而而CPU必须必须暂时中止暂时中止其正在执行的程序,转去执行请求中断的那个外设或事其正在执行的程序,转去执行请求中断的那个外设或事件的服务程序,等处理完毕后再返回执行原来中止的程件的服务程序,等处理完毕后再返回执行原来中止的程序,序,这一过程叫做这一过程叫做中断中断。 5.2.1 中断的概念中断的概念单片机原理及其接口技术主目录上一页下一页结 束 中断概念类比 看电视中断处理中断请求实际生活中断返回电话铃响接听电话看电视主程序计算机事件发生事件处理主程序图5.1 中断概念示意图 单片机原理及其接口技术主目录上一页下

26、一页结 束图5.2 中断过程示意图中断源中断申请单片机原理及其接口技术主目录上一页下一页结 束34 “中断”响应之后所执行的相应的处理程序通常称之为中断服务或中断处理子程序,原来正常运行的程序称为主程序。 主程序被断开的位置(或地址)称为“断点”。引起中断的原因,或能发出中断申请的来源,称为“中断源”。中断源要求服务的请求称为“中断请求”(或中断申请)。单片机原理及其接口技术主目录上一页下一页结 束 调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先却无法确定。 因为“中断”的发生是由外部因素决定的,程序中无法事先安排调用指令,因此,

27、调用中断服务程序的过程是由硬件自动完成的。 单片机原理及其接口技术主目录上一页下一页结 束2为什么要设中断为什么要设中断 中断解决了中断解决了快速主机与慢速快速主机与慢速I/O设备的数据设备的数据传送速度匹配的问题传送速度匹配的问题,还具有如下优点:,还具有如下优点: (1)分时操作:)分时操作: (2)实时响应:)实时响应: (3)可靠性高:)可靠性高: CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。 CPU可以分时为多个I/O设 备服务,提高了计算机的利用率; CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;单片机原理及其接口技术主目录上一页下一页结 束3

28、7 中断源是指在计算机系统中向CPU发出中断请求的来源, 中断可以人为设定,也可以是为响应突发性随机事件而设置。通常有I/O设备、实时控制系统中的随机参数和信息故障源等。 3中断源中断源u外部设备中断源u控制对象中断源u故障中断源u定时脉冲中断源u通讯中断源单片机原理及其接口技术主目录上一页下一页结 束 4中断优先级中断优先级u如果正在执行主程序时只有如果正在执行主程序时只有1个中断源个中断源请求中断请求中断,而而这时这时CPU又是对中断开放又是对中断开放的,此时的,此时中断立即响应中断立即响应。u由于中断是随机产生的由于中断是随机产生的,中断源一般又不止中断源一般又不止1个个,因因此会出现:

29、此会出现:几个中断源同时请求中断;或者当某一几个中断源同时请求中断;或者当某一个中断正在响应中个中断正在响应中(即正在执行该中断源的中断服即正在执行该中断源的中断服务程序务程序),又有其它的中断源请求中断,又有其它的中断源请求中断,这时中断系这时中断系统应如何处理呢统应如何处理呢?单片机原理及其接口技术主目录上一页下一页结 束 在一般情况下,首先把各个中断源分成若干个优先级,然后再按如下原则进行处理:(1)不同级的中断源同时申请中断时先高后低;(2)同级的中断源同时申请中断时事先规定;(3)处理低级中断又收到高级中断请求时停低转高;(4)处理高级中断又收到低级中断请求时高不理低。 单片机原理及

30、其接口技术主目录上一页下一页结 束 中断优先级越高, 则响应优先权就越高。当CPU正在执行中断服务程序时, 又有中断优先级更高的中断申请产生, 这时CPU就会暂停当前的中断服务转而处理高级中断申请, 待高级中断处理程序完毕再返回原中断程序断点处继续执行, 这一过程称为中断嵌套。 5 . 中断嵌套中断嵌套响应低级中断请求返回主程序RETI低级中断程序断点响应高级中断请求返回低级中断程序断点主程序继续执行主程序继续执行高级中断服务程序单片机原理及其接口技术主目录上一页下一页结 束41 6 .中断处理过程图5.2 中断过程示意图中断源中断申请单片机原理及其接口技术主目录上一页下一页结 束42 6 .

31、中断处理过程实现中断响应和中断返CPU中断响应过程如下: 首先,将断点处的PC值(即下一条应执行指令的地址)推入堆栈保留下来,这称为保护断点,由硬件自动执行。 然后,将有关的寄存器内容和标志位状态推入堆栈保留下来,这称为保护现场,由用户自己编程完成。 保护断点和现场后即可执行中断服务程序,执行完毕,CPU由中断服务程序返回主程序。单片机原理及其接口技术主目录上一页下一页结 束43 中断返回过程如下: 首先恢复原保留寄存器的内容和标志位的状态,这称为恢复现场,由用户编程完成。 然后,再加返回指令RETI,RETI指令的功能是恢复PC值,使CPU返回断点,这称为恢复断点。 恢复现场和断点后,CPU

32、将继续执行原主程序,中断响应过程到此为止。实现中断响应和中断返回单片机原理及其接口技术主目录上一页下一页结 束44中断响应、返回过程流程图中断响应、返回过程流程图 断点主程序继续执行主程序响应中断请求返回主程序中断服务程序保护现场保护断点恢复现场恢复断点执行继续执行中断源中断申请单片机原理及其接口技术主目录上一页下一页结 束 1. 中断源:中断源: AT89S51单片机有单片机有5个中断源,其中外部中个中断源,其中外部中断源断源2个;内部中断源个;内部中断源3个个 。5.2.2 AT89S51 AT89S51单片机中断系统的结构与控制单片机中断系统的结构与控制单片机原理及其接口技术主目录上一页

33、下一页结 束2.中断系统结构中断系统结构IE0EX0TF0IE1TF1TIESET1EX1ET0RIIP硬件查询高级中断请求低级中断请求中断入口地址中断源INT0INT1中断入口地址中断源10IEPX0PSPT1PX1PT0111111111100000EA11SCON11T0T1RXTXIT0IT100TCON图5.4 MCS-51中断系统结构示意图中断申请中断控制中断排队5.2.2 AT89S51 AT89S51单片机中断系统的结构与控制单片机中断系统的结构与控制单片机原理及其接口技术主目录上一页下一页结 束 5.2.2 中断标志与中断控制中断标志与中断控制 1中断标志中断标志 定时器控制

34、寄存器定时器控制寄存器TCON 串行控制寄存器串行控制寄存器SCON 2中断控制 中断允许控制寄存器IE单片机原理及其接口技术主目录上一页下一页结 束 5.2.2 中断标志与中断控制中断标志与中断控制 1中断标志中断标志 (1) 定时器控制寄存器定时器控制寄存器TCON SFR之一,锁存之一,锁存中断请求标志,中断请求标志,字节地址字节地址88H,可位寻址。可位寻址。 其结构、位名称、位地址及其功能如表其结构、位名称、位地址及其功能如表5.1所示。所示。 单片机原理及其接口技术主目录上一页下一页结 束表表5.1 TCON的结构、位名称、位地址和功能的结构、位名称、位地址和功能位编码位编码位名称

35、位名称TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0位地址位地址8FH 8EH 8DH 8CH 8BH 8AH 89H 88H功功 能能 T1中断标志位T1启停控制位T0中断标志位TCON.0/INT1中断标志位/INT0中断标志位/INT1触发方式位/INT0触发方式位T0启停控制位TCON.1TCON.2TCON.3TCON.4TCON.5TCON.6TCON.7 在每个机器周期的S5P2时检测(或接收)中断源发来的中断请求信号后使相应的中断标志位置1,然后便在下个机器周期检测这些中断标志位的状态,以决定是否响应中断。单片机原理及其接口技术主目录上一页下一页结 束表5.1

36、TCON的结构、位名称、位地址和功能位编码位编码位名称位名称TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0位地址位地址8FH 8EH 8DH 8CH 8BH 8AH 89H 88H状状 态态 TCON.0TCON.1TCON.2TCON.3TCON.4TCON.5TCON.6TCON.7外部中断 0采用电平触发0外部中断 0采用边沿触发1 11 外部中断1 采用边沿触发0 外部中断1 采用电平触发 0 0 0 0单片机复位时或无中断请求发生时,这些位均为0外部中断1发出中断请求时外部中断0发出中断请求时111T0发出中断请求时T1发出中断请求时停止T0计数启动T0开始计数停止T

37、1计数启动T1开始计数00 11单片机原理及其接口技术主目录上一页下一页结 束(2)串行控制寄存器SCON SFR之一,锁存中断请求标志,字节地址98H,可位寻址。 SCON结构、位名称、位地址及其功能如下表所示。其中只有TI和RI两位用来表示串行口中断标志位。单片机原理及其接口技术主目录上一页下一页结 束位编码位编码位名称位名称SM0 SM1 SM2 REN TB8 RB8 TI RI位地址位地址9FH 9EH 9DH 9CH 9BH 9AH 99H 98H功功 能能 SCON.0串行发送中断标志位串行接收中断标志位SCON.1SCON.2SCON.3SCON.4SCON.5SCON.6SC

38、ON.7 SCON的结构、位名称、位地址和功能表单片机原理及其接口技术主目录上一页下一页结 束 1) TI:为串行口发送中断标志位,位地址为串行口发送中断标志位,位地址为为99H。在串行口发送完一组数据时,。在串行口发送完一组数据时,TI由硬件由硬件自动置位自动置位(TI=1),请求中断,当,请求中断,当CPU响应中断进响应中断进入中断服务程序后,入中断服务程序后,TI状态不能被硬件自动清状态不能被硬件自动清除,而必须在中断程序中由软件来清除。除,而必须在中断程序中由软件来清除。 2) RI:为串行口接收中断标志位,位地址为串行口接收中断标志位,位地址为为98H。在串行口接收完一组串行数据时,

39、。在串行口接收完一组串行数据时,RI由由硬件自动置位硬件自动置位(RI=1),请求中断,当,请求中断,当CPU响应中响应中断进入中断服务程序后,断进入中断服务程序后,也必须由软件来清除也必须由软件来清除RI标志。标志。单片机原理及其接口技术主目录上一页下一页结 束单片机原理及其接口技术主目录上一页下一页结 束 1) 中断允许控制寄存器中断允许控制寄存器IE 2. 中断控制 MCS-51没有专门的开中断和关中断指令,中断的开放和关闭是通过中断允许寄存器IE各位的状态进行两级控制的。所谓两级控制是指所有中断允许的总控制位和各中断源允许的单独控制位,每位状态靠软件来设定。中断允许控制寄存器IE各位的

40、定义及其功能等如表5.2所示。单片机原理及其接口技术主目录上一页下一页结 束表表 5.2 IE的结构、位名称、位地址和功能的结构、位名称、位地址和功能 位编码位编码IE.7IE.6IE.5IE.4IE.3IE.2IE.1IE.0位名称位名称 EA ET2 ES ET1 EX1ET0 EX0位地址位地址 AFH ADH ACH ABH AAH A9H A8H功功 能能 中断总允许控制位定时器T1的溢出中断允许控制位 外部中断1的中断允许控制位定时器T0的溢出中断允许控制位外部中断0的中断允许控制位串行口中断允许控制位定时器T2的溢出中断允许控制位 SFR之一,控制中断开关,字节地址A8H,可位寻

41、址。 单片机原理及其接口技术主目录上一页下一页结 束表表 5.3 IE的结构、位名称、位地址和功能的结构、位名称、位地址和功能 位编码位编码IE.7IE.6IE.5IE.4IE.3IE.2IE.1IE.0位名称位名称 EA ET2 ES ET1 EX1ET0 EX0位地址位地址 AFH ADH ACH ABH AAH A9H A8H功功 能能 禁止所有中断开通外部中断/INT0禁止其他中断00 0 0 0 0 0开通总中断1所有中断仍被禁止0 0 0 0 0 10 1 0 0 1 0开通T0和串行口中断禁止其他中断 1 1 1 1 1 1开通所有中断单片机原理及其接口技术主目录上一页下一页结

42、束单片机原理及其接口技术主目录上一页下一页结 束 2)中断优先级控制寄存器)中断优先级控制寄存器IP MCS-51的中断源优先级是由中断优先寄存器IP来进行控制的。其5个中断源划分为两个中断优先级:高优先级和低优先级。 相应位置“1”,定义为高级中断 相应位清“0”,定义为低级中断单片机原理及其接口技术主目录上一页下一页结 束表表 5.3 IP的结构、位名称、位地址和功能的结构、位名称、位地址和功能 位编码位编码IP.7IP.6IP.5IP.4IP.3IP.2IP.1IP.0位名称位名称 PT2 PS PT1 PX1PT0 PX0位地址位地址 BDH BCH BBH BAH B9H B8H功功

43、 能能保留位保留位保留位保留位 定时器T2中断优先级控制位串行口中断优先级控制位定时器T1中断优先级控制位定时器T0中断优先级控制位/INT0中断优先级控制位/INT1中断优先级控制位 1 1 1 1 1 1高级中断(同为1时亦称其为同级中断)低级中断(同为0时亦称其为同级中断)0 0 0 0 0 0 SFR之一,控制中断优先级,字节地址B8H,可位寻址。 优先级相同如何处理?单片机原理及其接口技术主目录上一页下一页结 束 如果同样优先级的请求同时接收到,则内部对中如果同样优先级的请求同时接收到,则内部对中断源的查询次序决定先接受哪一个请求,表断源的查询次序决定先接受哪一个请求,表5.4列出了

44、同列出了同(一优先一优先)级中断源的内部查询顺序。级中断源的内部查询顺序。中断源中断源 中断标志中断标志优先查询顺序优先查询顺序 外部中断外部中断0 定时器定时器T0中断中断 外部中断外部中断1 定时器定时器T1中断中断 串行口中断串行口中断IE0TF0IE1TF1RI+TI高高低低表5.4 中断源的内部查询顺序单片机原理及其接口技术主目录上一页下一页结 束 例如:某软件中对寄存器IE、 IP设置如下: MOV IE, 8FH MOV IP, 06H则此时该系统中: CPU中断允许; 允许外部中断0、外部中断1、定时器/计数器0、定时器/计数器1提出的中断申请; 允许中断源的中断优先次序为:

45、定时器/计数器0 外部中断1 外部中断0 定时器/计数器1。 EAXET2ESET1EX1ET0EX01000111100000110IE单片机原理及其接口技术主目录上一页下一页结 束5.2.3 中断处理过程中断处理过程 中断处理过程大致可分为4步: 。 1. 中断请求 当中断源要求CPU为它服务时,必须发出一个中断请求信号。CPU将相应的中断请求标志位置“1”。为确保该中断得以实现,中断请求信号应保持到CPU响应该中断后才能取消。CPU会不断及时地查询这些中断请求标志位,一旦查询到某个中断请求标志置位,CPU就响应这个中断源的中断请求。中断请求、中断响应、 中断服务 和中断返回单片机原理及其

46、接口技术主目录上一页下一页结 束 2.中断响应中断响应-条件条件 同时满足以下同时满足以下4个条件时,才可能响应中断。个条件时,才可能响应中断。 (1)有中断请求;)有中断请求; (2) 对应中断允许位为对应中断允许位为1; (3) 开中断(即开中断(即EA=1)。)。 (4) 当前一条指令执行完。当前一条指令执行完。 TF1TF0IE1IT1IE0IT0EAET2ESET1EX1ET0EX0TCONTIRISCONIEPSPT1PX1PT0PX0IPB8HA8H98H88H单片机原理及其接口技术主目录上一页下一页结 束 2.中断响应中断响应-条件条件不响应中断的条件不响应中断的条件 (满足之

47、一)(满足之一)(1) 正在执行同级或高优先级的中断服务程序正在执行同级或高优先级的中断服务程序; (2) 不是指令的最后一个机器周期不是指令的最后一个机器周期; (该条指令没有执行完该条指令没有执行完)(3) 执行执行RETI 或或 读写读写 IE/IP指令期间不能响应指令期间不能响应, 或不是或不是其后面其后面一条指令一条指令的最后一个机器周期。(的最后一个机器周期。(即如果是即如果是RETI或读写或读写IP/IE指指令后,需令后,需再再执行一条指令后才能响应中断执行一条指令后才能响应中断) ;(4) 软件封锁(软件封锁(EA0)单片机原理及其接口技术主目录上一页下一页结 束 2.中断响应

48、中断响应-过程过程 单片机一旦响应中断请求单片机一旦响应中断请求, 就由就由硬件自动完成硬件自动完成以下功能以下功能: (1)把当前程序计数器)把当前程序计数器PC的内容(的内容(中断点地址)压入堆栈中断点地址)压入堆栈,以便,以便在在RETI后返回原程序执行后返回原程序执行; (2)关闭中断关闭中断,以,以防止在响应中断期间受其它中断的干扰防止在响应中断期间受其它中断的干扰。 (3)清除相应的中断请求标志位清除相应的中断请求标志位(串行口中断请求标志(串行口中断请求标志RI和和TI除除外)外); (4)把被响应的中断源所对应的中断服务程序的入口地址()把被响应的中断源所对应的中断服务程序的入

49、口地址(中断矢中断矢量量)送入)送入PC, 从而从而转入相应的中断服务程序转入相应的中断服务程序。 单片机原理及其接口技术主目录上一页下一页结 束表表5.6 MCS-51中断入口地址表中断入口地址表中断源中断源中断程序入口地址中断程序入口地址INT00003H定时器定时器T0000BHINT10013H定时器定时器T1001BH串行口中断串行口中断0023HORG 0013HLJMP WBZD1 一般在入口地址处放置一条跳转指令,转到相应的中断服务程序入口处。如对外部中断1的中断响应:单片机原理及其接口技术主目录上一页下一页结 束5.2.4 中断响应时间中断响应时间最短:3个机器周期最长:8个

50、机器周期第一机器周期:查询中断标志状态;第一机器周期:查询中断标志状态;第二、三机器周期:保护断点及跳转。第二、三机器周期:保护断点及跳转。 若正在执行若正在执行RETI等指令需等指令需1个机器周期。个机器周期。下一条指令最长需下一条指令最长需4个机器周期(如乘法指令)。个机器周期(如乘法指令)。响应中断需响应中断需3个机器周期。个机器周期。单片机原理及其接口技术主目录上一页下一页结 束 5.2.5 中断请求的撤除中断请求的撤除 中断源发出中断请求后,相应的中断源发出中断请求后,相应的中断请求中断请求标志位自动置标志位自动置“1”,而,而CPU响应中断后,响应中断后,必须及时清除中断请求必须及

51、时清除中断请求“1”标志。标志。否则中断响应返回后,将否则中断响应返回后,将再次进入该中断,引起死循环出错。再次进入该中断,引起死循环出错。单片机原理及其接口技术主目录上一页下一页结 束u 边沿触发方式的外部中断/INT0和/INT1请求u 定时器T0与T1的中断请求CPU在响应中断后,由硬件自动清除自动清除相应的中断请求标志TF0、TF1、IE0与IE1。注意:若不是以中断响应方式处理中断请求,例注意:若不是以中断响应方式处理中断请求,例如查询方式,则硬件不会自动清零以上标志位。如查询方式,则硬件不会自动清零以上标志位。u 串行中断请求TI和RI需由软件指令进行清除: CLR TI 或 CL

52、R RI人工清除人工清除对于对于单片机原理及其接口技术主目录上一页下一页结 束u 电平触发方式的外部中断/INT0和/INT1请求 由软硬件相结合进行清除。INSVR: ANL P1, #0FEH ;P1.0=0,Q=1 撤销中断 ORL P1,#01H ;P1.0=1,为下次中断 CLR IE0 ;清除中断申请 对于单片机原理及其接口技术主目录上一页下一页结 束 中断返回中断返回 注意:注意:(1)不能用)不能用RET指令代替指令代替RETI指令。指令。 (2)中断服务程序中)中断服务程序中PUSH与与POP须成对使用。须成对使用。 MCS-51响应中断后,自动执行中断服务程响应中断后,自动

53、执行中断服务程序。在中断服务程序中,只要遇到序。在中断服务程序中,只要遇到RETI指令指令(不论在什么位置不论在什么位置),单片机就结束本次中断服,单片机就结束本次中断服务,返回原程序。因此,在中断服务程序的最务,返回原程序。因此,在中断服务程序的最后必须有一条后必须有一条RETI指令,用于中断返回。指令,用于中断返回。单片机原理及其接口技术主目录上一页下一页结 束5.2.6中断服务程序与子程序的区别1.1.中断服务程序的执行与子程序调用主要类同点:中断服务程序的执行与子程序调用主要类同点: 都是暂停当前正在执行的主程序(或上一级程都是暂停当前正在执行的主程序(或上一级程 序),转去执行一个新

54、起始地址的程序段。序),转去执行一个新起始地址的程序段。 都是由硬件自动把断点都是由硬件自动把断点PCPC值压入堆栈,然后通值压入堆栈,然后通 过软件完成现场保护。过软件完成现场保护。 执行完子程序或中断服务程序后,都要通过软执行完子程序或中断服务程序后,都要通过软 件完成现场恢复,并通过执行返回指令,重新返件完成现场恢复,并通过执行返回指令,重新返 回到断点处继续执行主程序(或上一级程序)。回到断点处继续执行主程序(或上一级程序)。 二者都可以实现嵌套(但中断嵌套和子程序嵌二者都可以实现嵌套(但中断嵌套和子程序嵌 套深度不同)套深度不同)单片机原理及其接口技术主目录上一页下一页结 束2.2.

55、中断服务程序的执行与子程序调用主要不同点:中断服务程序的执行与子程序调用主要不同点: 外部中断请求信号的发生大多是随机的,因此也就外部中断请求信号的发生大多是随机的,因此也就 无法确定响应中断的时刻,但子程序调用却是由软无法确定响应中断的时刻,但子程序调用却是由软 件编排好定点定时发生的。件编排好定点定时发生的。 中断响应后由固定的中断矢量地址转入中断服务程中断响应后由固定的中断矢量地址转入中断服务程 序,而子程序的入口地址是由软件设定的。序,而子程序的入口地址是由软件设定的。 中断响应时间不固定,为中断响应时间不固定,为3838个机器周期,而子程个机器周期,而子程 序调用过程时间是固定的。序

56、调用过程时间是固定的。 3.3.中断返回指令中断返回指令RETIRETI除了有恢复断点地址的功能外,还除了有恢复断点地址的功能外,还有清零相应优先级状态触发器的作用,而子程序返回指有清零相应优先级状态触发器的作用,而子程序返回指令令RETRET只有恢复断点地址的功能,因此不能以只有恢复断点地址的功能,因此不能以RETRET替代替代RETIRETI。单片机原理及其接口技术主目录上一页下一页结 束5.3 中断系统的应用中断系统的应用(1)开中断和允许中断源中断;(2)确定各中断源的优先级;(3)若是外部中断,则应规定是电平触发还是边沿触发。 在中断服务程序编程时,在中断服务程序编程时,首先要对中断

57、系统进行首先要对中断系统进行初始化初始化,也就是对几个特殊功能寄存器的有关控制位,也就是对几个特殊功能寄存器的有关控制位进行赋值。具体来说进行赋值。具体来说, 就是要完成下列工作:就是要完成下列工作:单片机原理及其接口技术主目录上一页下一页结 束5.2.6外部中断源的扩展 AT89S51AT89S51单片机只有两个外部中断请求输入端,通单片机只有两个外部中断请求输入端,通常采用以下两种方法对外部中断源进行扩展。常采用以下两种方法对外部中断源进行扩展。 1.1.借用空余的内部计数借用空余的内部计数/ /定时器定时器 单片机的计数单片机的计数/ /定时器设置为外部事件(脉冲)计定时器设置为外部事件

58、(脉冲)计数功能,且工作于方式数功能,且工作于方式2 2(8 8位,数据初值自动重装)、位,数据初值自动重装)、初值为初值为FFHFFH时,只要输入引脚出现时,只要输入引脚出现 1 1个计数脉冲下降沿个计数脉冲下降沿就会产生定时器溢出中断。就会产生定时器溢出中断。 2.2.采用采用“与门与门”电路结合软件查询电路结合软件查询 扩展外部中断源电路如图扩展外部中断源电路如图5-5-6 6所示。共扩展所示。共扩展4 4个外部中断源个外部中断源IS1IS4,它们一方面通过一个,它们一方面通过一个4 4输入输入“与门与门”接入到单片机外接入到单片机外中断输入引脚,另一方面分别接入到单片机中断输入引脚,另

59、一方面分别接入到单片机P1.0 P1.3。单片机原理及其接口技术主目录上一页下一页结 束该扩展外部中断源的工作原理为:该扩展外部中断源的工作原理为:(1 1)规定)规定IS1IS4IS1IS4均为负脉冲有效,由于均为负脉冲有效,由于“与门与门”的存在,则只的存在,则只 要任一个有效,要任一个有效,/INT1/INT1上都会出现负脉冲,从而引起上都会出现负脉冲,从而引起/INT1/INT1 引脚上出现有效的中断请求,若引脚上出现有效的中断请求,若CPUCPU中断是开放的,则中断是开放的,则CPUCPU 将响应中断,转去执行中断服务程序;将响应中断,转去执行中断服务程序;(2) (2) 在中断服务

60、程序中,通过在中断服务程序中,通过P1.0P1.3查询是查询是IS1IS4中的哪一中的哪一 个发出了负脉冲信号;个发出了负脉冲信号;(3) (3) 根据查询结果,在中断服务程序中选择执行对应的处理程序根据查询结果,在中断服务程序中选择执行对应的处理程序 段,执行完毕后,段,执行完毕后,RETIRETI返回主程序。返回主程序。单片机原理及其接口技术主目录上一页下一页结 束 5.2.8 中断应用举例中断应用举例例例1:若规定外部中断若规定外部中断0为电平触发方式,高优先级,试写出有关的为电平触发方式,高优先级,试写出有关的 初始化程序。初始化程序。解:一般可采用一般可采用位操作位操作指令来实现:指

温馨提示

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

评论

0/150

提交评论