MCS-51单片机的功能模块.ppt
《MCS-51单片机的功能模块.ppt》由会员分享,可在线阅读,更多相关《MCS-51单片机的功能模块.ppt(157页珍藏版)》请在三一办公上搜索。
1、5.1 MCS-51单片机并行I/O口5.2 MCS-51单片机中断系统5.3 MCS-51单片机定时器/计数器5.4 MCS-51单片机串行接口5.5 思考与练习题,第五章 MCS-51单片机的功能模块,第五章 MCS-51单片机的功能模块,主要内容:介绍51系列单片机主要内部功能模块:有并行I/O口、中断系统、定时/计数器和串行接口。要求:1、掌握51系列单片机的各功能模块的结构和工作原理;2、各模块应用程序的编写。,5.1 MCS-51单片机并行I/O口,I/O口的作用:1 实现CPU与外设间的速度匹配;2 改变数据的传送方式(并行、串行);3 改变信号的性质(A/D)和信号的电平(TT
2、L电平与RS232电平)外设的编址:独立编址 编址范围0000H0FFFFH,有专有的传送指令;与存储器统一编址 编址范围0FF00H0FFFFH,传送指令 MOVX A,DPTR MOVX DPTR,A,5.1 MCS-51单片机并行I/O口,I/O 数据的四种传送方式无条件传送(同步传送)条件传送(异步传送)中断传送DMA传送,5.1 MCS-51单片机并行I/O口,MCS-51单片机具有4个双向的8位I/O口P0P3,P0口为三态双向口,负载能力为8个TTL电路,P1P3口为准双向口(用作输入时,口线被拉成高电平,故称为准双向口),负载能力为4个TTL电路。各口中的每一位都是由锁存器(称
3、特殊功能寄存器SFR)、输出驱动器和输入缓冲器组成。这种结构,在数据输出时可锁存,但对输入信息是不锁存的,所以从外部输入的信息必须保持到取数指令执行完为止。,5.1.1 P0口,P0口是一个三态双向口,在系统扩展时,可作为低8位地址线和数据总线的分时复用口,在其他状态下可作为通用I/O接口,其1位的结构原理如图5.1所示,P0口由8个这样的电路组成。,5.1.1 P0口,图5.1,5.1.1 P0口,P0口是一个多功能8位口,可以字节访问,也可位访问,字节访问地址为80H,位访问地址为80H87H。(1)P0口用于I/O口是准双向I/O口。作为I/O口使用时,控制信号应为“0”,多路开关接通输
4、出锁存器的 端。同时与门关闭,上拉FET截止,形成P0口的输出电路为漏极开路输出。需要外接上拉电阻。a)作输出口时:不需要条件,可以正确的输出b)作输入口时:当CPU复位后进行输入操作时,输入信息是正确的。当P0口的某位(或整个P0口)先进行了输出操作,而后要由输出变成输入操作方式时,必须先用输出指令将锁存器置“1”,才能保证输入信息正确。(即是准双向的含义),5.1.1 P0口,(2)P0口用于地址/数据分时复用时是真正双向I/O口。当控制=1时,MUX接通地址/数据输出端。a)当地址/数据输出线置1时,“与”门输出为1,上拉FET导通,同时地址/数据输出通过反相器输出0,控制下拉FET截止
5、,这样A点电位上拉,地址/数据输出线为1。b)当地址/数据输出线置0时,“与”门输出为0,上拉FET截止,同时地址/数据输出通过反相器输出1,控制下拉FET导通,这样A点电位下拉,地址/数据输出线为0。输入数据,控制=0,分析同(1)中的输入中的第一种情况。通过上述分析可以看出,此时的输出状态随地址/数据线而变。因此,P0口可以作为地址/数据复用总线使用(需要加地址锁存器)。此时的P0口相当一个双向口。,5.1.2 P1口,P1口是一个8位口,可以字节也可按位访问,其字节地址为90H,位访问地址为90H97H。P1口是一个准双向I/O口,其1位的内部结构如图5.2所示。,5.1.2 P1口,图
6、5.2,5.1.2 P1口,它在结构上与P0口的区别在于输出驱动部分,其输出驱动部分由场效应管V1与内部上拉电阻组成。当其某位输出为1时,使输出驱动器中的场效应管截止,该位的输出由内部等效的上拉电阻拉成高电平,输出1。当输出为0时,输出场效应管导通则输出引脚为低电平,输出为0。不必像P0口那样需要外接上拉电阻。,5.1.2 P1口,在8051/80C51单片机中,P1口只有通用I/O接口一种功能,它的每一位可以分别定义为输入或输出,其输入输出原理特性与P0口作为通用I/O接口使用时一样。P1口具有驱动4个LSTTL负载的能力。在8052/80C52单片机中,P1口P1.0与P1.1除作为通用I
7、/O接口线外,还具有第二功能,即P1.0可作为定时器/计数器2的外部计数脉冲输入端T2,P1.1可作为定时器/计数器2的外部控制输入端T2EX。,5.1.3 P2口,P2口也是一个准双向I/O口,其1位内部结构见图5.3。在访问外部存储器时,P2口作为高8位地址输出口,在其他时候作为一般I/O接口使用。,5.1.3 P2口,图5.3,5.1.3 P2口,当作为准双向通用I/O口使用时,控制信号为低电平无效,多路转换器MUX接通锁存器Q端,锁存器Q端经反相器3接控制场效应管V1,其工作原理与P1相同,负载能力也与P1相同。当作为外部扩展存储器的高8位地址总线使用时,控制信号应为高电平“1”有效,
8、多路转换开关MUX接通地址信号,来自程序计数器PC的高8位地址PCH,或数据指针DPTR的高8位地址DPH经反相器3和V1反相后复原在P2.x口的引脚上,输出高8位地址A8A15。在上述情况下,口锁存器的内容不受影响,所以,取指或访问外部存储器结束后,由于转换开关又接至左侧,使输出驱动器与锁存器Q端相连,引脚上将恢复原来的数据。,5.1.4 P3口,P3口是一个多功能的8位口,可以字节访问也可位访问,其字节访问地址为B0H,位访问地址为B0HB7H。P3口的功能:(1)可作I/O口使用,为准双向口。这方面的功能与P1口一样。(2)每一位均具有第2功能。,5.1.4 P3口,图5.4,5.1.4
9、 P3口,当P3口作为通用I/O接口时,要求第2功能输出线保持高电平,使与非门3的输出取决于口锁存器的状态。在这种情况下,P3口仍是1个准双向口,它的工作方式、负载能力均与P1、P2口相同。当P3口作为第2功能(各引脚功能见表5.1)使用时就不能再做通用输出口使用,其锁存器Q端必须为高电平,以允许第2功能输出,在做第2功能输入时,虽仍做通用输入口,但已无实际意义。,5.1.5 接口的使用原则,1.I/O接口的读、写、修改每个I/O口均有两种“读”方式:读引脚和读锁存器。读引脚:是读外部接口的电平信号,读引脚信号有效。真正读引脚的指令只有 MOV A,Px读锁存器:是将接口锁存器的Q端信号读回,
10、写锁存器信号有效。读锁存器指令主要用于读修改写指令。如下列这些指令:如:ORL、XRL、JBC、CPL、INC、DEC、DJNZ、MOV Px,y、CLR Px.y和SET Px.y。,5.1.5 接口的使用原则,2.使用原则MCS-51单片机中的4个I/O口在实际使用中,一般遵循以下用法:P0口一般做系统扩展地址低8位/数据复用口,P1口一般做I/O扩展口,P2口做系统扩展地址高8位和I/O口扩展的地址译码用,P3口做中断输入、串行通用口使用。在各个口的带负载能力和接口要求上,由于P0口的输出级与P1P3口的输出级在结构上不同,所以,要求也不同。P0口的每一位可驱动8个TTL输入,在做通用I
11、/O口使用时,输出级是开漏电路,故需外部加上拉电阻。在做地址/数据总线使用时,不需要外接上拉电阻。P1P3的输出级内部有高效的上拉电阻,每一位输出可驱动4个TTL输入。,在实际使用中,一般用户在I/O扩展时,很难计算I/O的负载能力。对扩展集成芯片,如74LS系列的一些大规模集成芯片(如8155、8255、8253、8259等),都可与MCS-51直接接口。其他一些扩展用芯片,使用中可参考器件手册及典型电路。对于一些线性元件,如键盘、码盘及LED显示等输入/输出设备,由于MCS-51单片机提供不了足够的驱动电流,应尽量设计驱动部分。,5.1.5 接口的使用原则,5.2 MCS-51单片机中断系
12、统,5.2 MCS-51单片机中断系统一、中断的基本概念“中断”是处理事件的一个“过程”,这一过程一般是由计算机内部或外部某种紧急事件引起并向主机发出请求处理的信号,主机在允许情况下响应请求,暂停正在执行的程序,保存好“断点”处的现场,转去执行中断处理程序,处理完后恢复现场,自动返回到原断点处,继续执行原程序。这一处理过程就称为“中断”。,5.2 MCS-51单片机中断系统,中断程序与子程序的区别:调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先却无法确定,因为“中断”的发生是由外部因素决定的,程序中无法事先安排调用指令,因此,调用
13、中断服务程序的过程是由硬件自动完成的。,5.2.1 中断的基本概念,图5.5 中断执行过程,1.中断源:中断源就是中断请求信号的来源。2.中断响应与返回3.优先级控制图5.6 二级中断嵌套的中断过程,5.2.1 中断的基本概念,二、中断源和中断请求标志 中断源是指在计算机系统中向CPU发出中断请求的来源,中断可以人为设定,也可以是为响应突发性随机事件而设置。通常有I/O设备、实时控制系统中的随机参数和信息故障源等。可分为外部中断和内部中断。,5.2.2 中断源和中断请求标志,5.2.2 中断源和中断请求标志,图5.7 中断系统结构,IT0(IT1):外部中断0(或1)触发方式控制位。IT0(或
14、IT1)=0,则选择外部中断为电平触发方式,低电平有效;IT0(或IT1)=1,则选择外部中断为边沿触发方式,负跳沿有效。这两位由用户用根据需要用软件编程写入“1”或“0”,进而控制外中断请求信号方式。可以使用字节操指令,也可用位操作指令:CLR IT0;定义外中断0为电平触发方式。ORL TCON,#05H;定义两外中断均为脉冲触发方式,5.2.2 中断源和中断请求标志,1外部中断由P3.2、P3.3输入中断请求信号,外部中断请求有两种触发方式:电平触发及边沿触发。用户可以通过对特殊功能寄存器TCON中IT0和IT1位的编程来选择。相应位定义格式如下:,IE0(IE1):外部中断0(或1)的
15、中断请求标志位。(硬件置位、硬件复位)IE0(IE1)=1,表示()检测到有效的中断请求信号;IE0(IE1)=0,表示()上无有效的中断请求信号。,5.2.2 中断源和中断请求标志,2内部中断内部中断有:定时器/计数器T0/T1的溢出中断,串行口的发送/接收中断。T0/T1的溢出中断标志位TF0、TF1:对外部脉冲计数由P3.4、P3.5输入脉冲信号。当T0/T1计数到由全1变为全0时,由硬件自动置位TCON的TF0或TF1,向CPU申请中断。CPU响应中断后能自动撤除中断请求信号(硬件复位)。,5.2.2 中断源和中断请求标志,串行口的中断标志位TI、RI:当串行口发送完或接收完一帧信息后
16、,通过接口硬件自动置位SCON的TI或RI位向CPU申请的。当CPU响应中断后,需用户采用软件方法清零,以便撤除中断请求信号。,5.2.2 中断源和中断请求标志,串行口控制器SCONTI:串行口发送中断源。发送完一帧,由硬件置位。响应中断后,必须用软件清0。RI:串行口接收中断源。接收完一帧,由硬件置位。响应中断后,必须用软件清0。,5.2.2 中断源和中断请求标志,三、中断系统控制1中断允许控制寄存器 MCS-51单片机对各中断源的中断开放(允许)或关闭(屏蔽)是由内部的中断允许寄存器IE的各位来进行两级控制的。所谓两级控制是指各个中断源的允许控制位与一个中断允许总控位EA配合实现对中断请求
17、的控制。,EA(IE.7):允许禁止全部中断。当EA=0,则禁止所有中断的响应;当EA1,则各中断源的响应与否取决于各自的中断控制位的状态。,5.2.3 中断系统控制,5.2.3 中断系统控制,X(IE.6):保留位,无意义。ET2(IE.5):定时计数器2(8052型单片机)的溢出或捕获中断响应控制位。ET2=0则禁止中断响应(关中断);ET2=1为允许中断响应(开中断)。ES(IE.4):串行通信接收发送中断响应控制位。ES0,禁止中断响应(关中断);ES=1,允许中断响应(开中断)。ETi(IE.3,IE.1):定时器计数器i(i=0、1)的溢出中断响应控制位。ETi=0,禁止中断响应(
18、关中断);ETi=1,则允许中断响应(开中断)。EXi(IE.2、IE.0):外部中断i()中断响应控制位。EXi=0,禁止中断响应(关中断);EXi=1则允许中断响应(开中断)。,5.2.3 中断系统控制,例如:要使INT0开中(其余关中),可执行下列指令:MOV IE,#1000000lB;或者:SETB EA;SETB EX0;,5.2.3 中断系统控制,2中断优先级控制 CPU同一时间只能响应一个中断请求。若同时来了两个或两个以上中断请求,就必须有先有后。MCS-51单片机的中断源有两个用户可控的中断优先级,即高、低中断优先级,从而实现中断嵌套。,5.2.3 中断系统控制,CPU响应中
19、断的原则是:1)先高后低 如果多个中断请求同时出现,CPU首先响应优先级别最高的中断请求;2)高可断低 高优先级的中断请求可中断正在执行的低优先级中断服务程序,实现中断嵌套;3)同低不断 同级或低优先级的中断请求不能中断正在执行的中断服务程序。如果有两个或两个以上的同一优先级别的中断源同时向CPU申请中断,则这些同级中断源的中断优先权按CPU对内部硬件的查询次序决定。,5.2.3 中断系统控制,IP寄存器的格式如下:(可通过软件设置,定义各中断源的中断优先级别)、(IP.6、IP.7):保留位,无定义。PT2(IP.5):T2的中断优先级设置位。通过编程设置 PT2=1,则定义为高优先级中断;
20、设置PT2=0,则定义为低优先级中断。PS(IP.4):串行通信中断优先级设置位。软件设置 PS=1,则定义为高优先级中断;设PS=0,则定义为低优先级中断。,5.2.3 中断系统控制,PTi(IP.3、IP.1):Ti中断优先级设置位。软件设置PTi=1,则定义为高优先级中断;设置PTi=0,则定义为低优先级中断。PXi(IP.2、IP.0):外部中断i中断优先级设置位。软件设置PXi=1,则定义为高优先级中断;设置PXi=0,则定义为低优先级中断。例如:若要将INT1、串行口设置为高优先级,其余中断源设置为低优先级,可执行下列指令:MOV IP,#00010100B;,5.2.3 中断系统
21、控制,当同时有两个或两个以上优先级相同的中断请求时,则由内部按查询优先顺序来确定该响应的中断请求,其优先顺序由高向低顺序排列。优先顺序排列如下:,中断优先原则:1、低级不打断高级2、高级不睬低级3、同级不能打断4、同级、同时中断,事先约定。,5.2.4 中断处理过程,四、中断处理过程中断处理过程大致可分为四步:中断请求、中断响应、中断服务、中断返回。1.中断请求 中断源发出中断请求信号,相应的中断请求标志位(在中断允许控制寄存器IE中)置“1”。,5.2.4 中断处理过程,2中断响应1)响应的条件 CPU在每个机器周期的S6按照优先级查询中断标志位,当相应中断源有中断请求且满足如下条件之一时,
22、MSC-51单片机响应中断。(1)无同级或高级中断正在处理或CPU处在非中断响应状态,CPU处于开中断(即EA=1)状态且相应中断是开放的(中断允许寄存器IE相应位置1)。(2)若CPU正在响应某一中断请求时又来了新的中断请求,则应满足高级中断可以中断低级中断,实现中断嵌套;低级中断只能等待现有中断服务完成后再被响应的原则。(3)若CPU现行执行的指令为RETI或任何访问IE、IP(如SETB EA)的指令时,则执行完该指令且紧随其后的另一条指令也已执行完毕后才响应该中断请求。,5.2.4 中断处理过程,2)中断响应过程 首先,根据中断源的优先级高低,对相应的优先级状态触发器置1;然后,保护断
23、点,把当前程序计数器PC的内容压入堆栈。其次,封锁同级和低级中断,以防在响应中断期间受其他中断的干扰,清除相应的中断请求标志位(串行口中断请求标志RI和TI除外);最后,根据中断源入口地址,转入执行相应中断服务程序,各中断服务程序的入口地址见表5.1。,5.2.4 中断处理过程,表5.1 中断源入口地址,5.2.4 中断处理过程,3)中断响应时间 所谓中断响应时间是指CPU检测到中断请求信号到转入中断服务程序入口所需要的机器周期数。MCS-51单片机响应中断的最短时间为3个机器周期,时间最长需要8个机器周期。,5.2.4 中断处理过程,3 执行中断服务程序 中断服务程序应包含以下几部分:保护现
24、场:中断时刻单片机存储单元中的数据或状态.(2)允许中断和禁止中断 在CPU执行当前中断服务程序的过程中,往往又会 有其它中断源的中断请求出现。(3)执行中断服务程序主体,完成相应操作(4)恢复现场,5.2.4 中断处理过程,4 中断返回 在中断服务程序最后,必须安排一条中断返回指令RETI,当CPU执行RETI指令后,自动完成下列操作:恢复断点地址。开放同级中断,以便允许同级中断源请求中断。,5.2.5 中断请求的撤除,五、中断请求的撤除 中断源发出中断请求,相应中断请求标志置“1”。CPU响应中断后,必须清除中断请求“1”标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。对定时/
25、计数器T0、T1中断,外中断边沿触发方式,CPU响应中断时就用硬件自动清除了相应的中断请求标志。对外中断电平触发方式,需要采取软硬结合的方法消除后果。对串行口中断,用户应在串行中断服务程序中用软件清除TI或RI。,5.2.6 中断的应用及编程,六、中断的应用及编程 中断初始化 设置堆栈指针SP 定义中断优先级 定义外中断触发方式 开放中断 安排好等待中断或中断发生前主程序应完成的操作内容。,5.2.6 中断的应用及编程,中断服务主程序 在中断服务入口地址设置一条跳转指令,转移到中断服务程序的实际入口处。根据需要保护现场。中断源请求中断服务要求的操作。恢复现场。与保护现场相对应,注意先进后出、后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS 51 单片机 功能模块
链接地址:https://www.31ppt.com/p-6512342.html