资源预览内容
第1页 / 共96页
第2页 / 共96页
第3页 / 共96页
第4页 / 共96页
第5页 / 共96页
第6页 / 共96页
第7页 / 共96页
第8页 / 共96页
第9页 / 共96页
第10页 / 共96页
亲,该文档总共96页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,第3章 MCS-51单片机的内部资源及应用,主要内容:MCS-51单片机内部各器件的具体结构、组成原理、工作方式的设置及典型应用,为读者后续学习单片机应用系统设计、充分利用单片机内部资源解决工程实际问题奠定基础。 重 点:单片机内部各器件工作方式的设置及灵活应用。 难 点:中断系统和定时器/计数器的应用。,2,第3章 MCS-51单片机的内部资源及应用,3.1 MCS-51单片机的并行I/O口 3.2 MCS-51单片机的中断系统 3.3 MCS-51单片机的定时器/计数器 3.4 MCS-51 单片机的串行通信,3,3.1 MCS-51单片机的并行I/O口,3.1.1 MCS-51内部并行I/O口 8051有4个8位并行I/O口,分别命名为P0, P1, P2和P3口。 1P0口 P0口为双向三态输入/输出口, P0口既可作为地址/数据总线口,又可作为通用I/O口,可驱动8个TTL输入。在访问外部存储器时,P0口作地址/数据总线存储器时。P0口作地址/数据总线复用口,,是一个真正的双向口,并分时送出地址的低8位和送出(或接收)相应存储单元的数据。作通用I/O口时,P0口只是一个准双向口,需要在外部引脚处外接上拉电阻。 P0口的位结构如右图所示。,4,2P2口,P2口常用做外部存储器的高8位地址口。当不用做地址口时,P2口也可作为通用I/O口,这时它也是一个准双向I/O口。不必外接上拉电阻就可以驱动任何MOS驱动电路,且只能驱动4个TTL输入。P2口的位结构如右图所示。,3P1口 P1口常用做通用I/O口,它也是一个标准的准双向I/O口,不必外接上拉电阻就可以驱动任何MOS驱动电路,且只能驱动4个TTL输入。P1口的位结构如右图所示。,5,4P3口 P3口是一个双功能口,第一功能与P1口一样可用做通用I/O口,也是一个准双向I/O口,不必外接上拉电阻,能驱动4个TTL输入。另外还具有第二功能。P3口工作在第二功能时各管脚定义如下表所示。 P3口的位结构图如右图所示。,6,3.1.2 MCS-51内部并行I/O口的应用,MCS-51I/O端口的操作方式: (1)输出数据方式:CPU通过一条数据传送指令就可以把输出数据写入P0P3的端口锁存器,然后通过输出驱动器送到端口引脚线。例如,下面的指令均可在P0口输出数据。 MOV P0, A P0 = a; ANL P0, #data ORL P0, A (2)读端口数据方式: CPU读入的这个数据并非端口引脚线上的数据。读端口数据可以直接读端口。例如,下面的指令均可以从P1口输入数据。 MOV A, P1 a = P1; MOV 20H, P1 MOV R0, P1 MOV R0, P1,7,(3)读端口引脚方式:读端口引脚方式可以从端口引脚上读入信息。在这种方式下,CPU首先必须使欲读端口引脚所对应的锁存器置1,然后才能读端口引脚。因此,用户在读引脚时必须先置位锁存器后读,连续使用两条指令。例如,下面的程序可以读P1引脚上的低4位信号。 MOV P1, #0FH ; 置位P1引脚的低4位锁存器 MOV A, P1 ; 读P1引脚上的低4位信号送累加器A,8,在I/O口直接用做输入/输出时,CPU既可以把它们看做数据口,也可以看做状态口,这是由用户决定的。 例题1要求将两个BCD拨码开关的数字和,在LED数码管上显示出来。(用CD4511驱动LED)(开关闭合为1,断开为0) 解:CD4511是BCD锁存段码译码共阴LED驱动集成电路,其引脚如右图所示,各引脚功能如下: VCC:接正电源; Vss:接地; A, B, C, D:BCD码输入脚(A为最低位,D为最高位); QaQg:段码输出脚,高电平有效,最大可输出25mA电流; EI:熄灭,接低电平,则QaQg全部输出低电平; LC:点亮测试,接低电平,则QaQg全部输出高电平; LE:锁存允许,接高电平锁存,则输出不会随BCD码输入改变。,1I/O口直接用于输入/输出,9,硬件电路设计:BCD拨码开关为4位,两个BCD拨码开关分别接至P3口的高四位和低四位(注意:应连接上拉电阻),由P1口的高四位和低四位通过两片CD4511分别扩展两位LED。硬件电路如右图所示。,软件设计思想:读P3口引脚,得到输入数据,将数据分成2个4位BCD码,求BCD码和,输出到P1口,通过CD4511驱动LED显示。,10,11,2I/O口扩展外部存储器 数据总线 宽度为8位,由P0口提供。 地址总线 宽度为16位,低8位A7-A0由P0口提供,高8位A15-A8由P2口提供。 P0口数据地址分时复用,所以P0口输出的低8位地址必须用地址锁存器锁存(一般选用8D锁存器74LS373)。 控制总线: RD 读控制 WR 写控制 PSEN 片外ROM选通 ALE 地址锁存控制 EA 片外ROM选择,12,片外ROM或EEPROM的扩展(地址范围0000HFFFFH),13,片外RAM的扩展(地址范围0000H7FFFH),14,3.2 MCS-51单片机的中断系统,计算机通过外部设备(也称为外设、输入/输出设备或I/O设备)与外界联系。计算机与外设之间不是直接相连的,而是通过不同的接口电路来达到彼此间的信息传送的目的。 计算机与外设之间交换信息的方式: (1)无条件传送方式:外设对计算机来说总是准备好的。 (2)查询传送方式:传送前计算机先查询外设的状态,若已经准备好就传送,否则就继续查询/等待。 (3)中断传送方式:外设通过申请中断的方式与计算机进行数据传送。 (4)直接存储器存取方式(DMA):传送数据的双方直接通过总线传送数据, 不经CPU中转。,15,3.2 MCS-51单片机的中断系统,3.2.1 中断的基本概念 3.2.2 MCS-51的中断系统 3.2.3 MCS-51中断系统的编程 3.2.4 MCS-51扩展外部中断请求输入口,16,3.2.1 中断的基本概念,1中断的定义 所谓“中断”,是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中止当前的程序,转去处理更紧急的事件(执行中断服务程序),处理完毕(中断服务完成)后,CPU自动返回原程序的过程。 作用:采用中断技术可以提高CPU效率、解决速度矛盾、实现并行工作、分时操作、实时处理、故障处理、应付突发事件,可使多项任务共享一个资源(CPU)。 中断与子程序的最主要区别:子程序是预先安排好的,中断是随机发生的。 中断涉及的几个环节:中断源、 中断申请、开放中断、保护现场、中断服务、恢复现场、中断返回。,17,2. 中断源 中断源是指引起中断的设备或事件,或发出中断请求的源头。 3. 中断的分类 中断按功能通常可分为可屏蔽中断、非屏蔽中断和软件中断三类。 可屏蔽中断是指CPU可以通过指令来允许或屏蔽中断的请求。 非屏蔽中断是指CPU对中断请求是不可屏蔽的,一旦出现,CPU必须响应。 软件中断则是指通过相应的中断指令使CPU响应中断。 4. 中断优先权与中断嵌套 中断优先级(也称为中断优先权):给每个中断源指定中断响应的优先级别, CPU按中断源的优先级高低顺序响应各中断源发出的中断请求。,18,中断嵌套:在某一瞬间,CPU因响应某一中断源的中断请求而正在执行它的中断服务程序时,若又有一级别高的中断源向CPU发出中断请求,且CPU的中断是开放的,CPU可以把正在执行的中断服务程序暂停下来,转而响应和处理优先权更高的中断源的中断请求,等处理完后再转回来,继续执行原来的中断服务程序,这就是中断嵌套。 中断嵌套的过程和子程序嵌套过程类似,子程序的返回指令是RET,而中断服务程序的返回指令是RETI。 5. 中断响应及处理过程 保护断点 寻找中断源 中断处理 中断返回 保护断点和寻找中断源都是由硬件自动完成的,用户不用考虑。,19,6. 中断系统的功能 中断系统:能够实现中断功能的硬件电路和软件程序。 中断系统的功能:能够实现中断优先权排队、中断嵌套、自动响应中断和中断返回等功能。 MCS-51单片机的大部分中断电路都是集成在芯片内部的,只有外部中断请求信号产生电路才分散在各中断源电路和接口电路中。,20,3.2.2 MCS-51的中断系统,MCS-51提供了5个中断源,2个中断优先级控制,可实现2个中断服务嵌套。可通过程序设置中断的允许或屏蔽,设置中断的优先级。 1MCS-51的中断源 8051允许5个中断源: (1)外部中断源(中断标志为IE0和IE1 ) 由 ( P3.2 )端口线引入,低电平或下降沿引起。 由 ( P3.3 )端口线引入,低电平或下降沿引起。 (2)内部中断源 (中断标志为TF0、TF1和TI/RI ) T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 TI/RI:串行I/O中断,完成一帧字符发送/接收引起。,21,8051的中断结构如下图所示。,22,CPU识别中断申请的依据: CPU在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置位,将启动中断机制。 2中断控制 MCS-51单片机设置了4个专用寄存器用于中断控制,用户通过设置其状态来管理中断系统。 (1)定时器控制寄存器TCON (88H),TF0/TF1:定时器溢出中断申请标志位(由硬件自动置位)。 =0:定时器未溢出; =1:定时器溢出(由全“1”变成全“0”)时由硬件自动置位,申请中断,中断被CPU响应后由硬件自动清零。,23,TR0/TR1:定时器运行启停控制位(可由用户通过软件设置 )。 =0:定时器停止运行; =1:定时器启动运行。 IE0/IE1:外部中断申请标志位(由硬件自动置位 ,中断响应后转向中断服务程序时,由硬件自动清0 )。 =0:没有外部中断申请; =1:有外部中断申请。 IT0/IT1:外部中断请求的触发方式控制位(可由用户通过软件设置 )。 =0:在INT0/INT1端申请中断的信号低电平有效; =1:在INT0/INT1端申请中断的信号负跳变有效。,24,(2)串行口控制寄存器SCON (98H),TI/RI:串行口发送/接收中断申请标志位(由硬件自动置位,必须由用户在中断服务程序中用软件清0)。 =0:没有串行口发送/接收中断申请; =1:有串行口发送/接收中断申请。 SCON的高6位用于串行口工作方式设置和串行口发送/接收控制。,25,(3)中断允许控制寄存器IE (0A8H),EX0/EX1/ET1/ET0/ES 位:分别是 / ,T0/T1,串行口的中断允许控制位。 =0 :禁止中断; =1 :允许中断。 EA:总的中断允许控制位(总开关): =0 :禁止全部中断; =1 :允许中断。,26,(4)中断优先级控制寄存器IP (0B8H),8051有两个中断优先级:高优先级和低优先级。每个中断源都可设置为高或低中断优先级,以便CPU对所有的中断实现两级中断嵌套。 8051内部中断系统对各中断源的中断优先级有一个统一的规定,称为自然优先级(也称为系统缺省优先级)。如下表所示。,8051单片机的中断优先级采用了自然优先级和人工设置高、低优先级的策略,中断处于同一级别时,就由自然优先级确定。开机时,每个中断都处于低优先级,中断优先级可以通过程序来设定,由中断优先级寄存器IP来统一管理。,27,(4)中断优先级控制寄存器IP (0B8H),PX0/PX1: / 优先级控制位: =0 :属低优先级; =1 :属高优先级。 PT0/PT1:T0/T1中断优先级控制位: =0 :属低优先级; =1 :属高优先级。 PS1:串行口中断优先级控制位: =0 :属低优先级; =1 :属高优先级。,28,中断优先级处理原则: 对同时发生多个中断申请时: 不同优先级的中断同时申请:先高后低 相同优先级的中断同时申请:按序执行(自然优先级
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号