编单片机原理与应用 三版 教学课件 ppt 作者 潘永雄 第4-7章 第6章

上传人:E**** 文档编号:89363261 上传时间:2019-05-24 格式:PPT 页数:344 大小:2.96MB
返回 下载 相关 举报
编单片机原理与应用 三版 教学课件 ppt 作者 潘永雄 第4-7章 第6章_第1页
第1页 / 共344页
编单片机原理与应用 三版 教学课件 ppt 作者 潘永雄 第4-7章 第6章_第2页
第2页 / 共344页
编单片机原理与应用 三版 教学课件 ppt 作者 潘永雄 第4-7章 第6章_第3页
第3页 / 共344页
编单片机原理与应用 三版 教学课件 ppt 作者 潘永雄 第4-7章 第6章_第4页
第4页 / 共344页
编单片机原理与应用 三版 教学课件 ppt 作者 潘永雄 第4-7章 第6章_第5页
第5页 / 共344页
点击查看更多>>
资源描述

《编单片机原理与应用 三版 教学课件 ppt 作者 潘永雄 第4-7章 第6章》由会员分享,可在线阅读,更多相关《编单片机原理与应用 三版 教学课件 ppt 作者 潘永雄 第4-7章 第6章(344页珍藏版)》请在金锄头文库上搜索。

1、,第6章 数字信号输入/输出接口电路,6.1 开关信号的输入/输出方式 6.2 I/O资源及扩展 6.3 简单显示驱动电路 6.4 LED数码管及其显示驱动电路 6.5 LCD显示器件及其驱动电路 6.6 键盘电路 6.7 并行接口及应用实例 6.8 光电耦合器件接口电路 6.9 单片机与继电器接口电路 6.10 电平转换电路,输入/输出接口电路是单片机应用系统中必不可少的单元电路之一,它涉及数据输入电路以及经过单片机处理后的数据输出电路。单片机应用系统总是要对输入信号进行比较、判断或运算处理后,输出适当的控制信号去控制特定设备。 输入/输出量可以是模拟信号,也可以是开关信号。对于模拟信号,经

2、放大、限幅、低通滤波电路,再经A/D转换电路转换为数字信号后,单片机才能处理;单片机处理结果也需要经过D/A转换、平滑滤波后,才能得到模拟量。本章主要介绍数字信号的输入/输出(I/O)接口电路。,开关信号包括脉冲信号、电平信号两类。在单片机控制系统中,常采用如下方式实现开关信号的输入和输出。,6.1 开关信号的输入/输出方式,1. 直接解码输入/输出方式 在这种方式中,直接利用CPU I/O引脚输入/输出开关信号,如图6-1(a)所示,其中P1.0、P1.1作为输入引脚,当S1、S2断开时,P1.0、P1.1引脚为高电平;当S1、S2被按下时,相应引脚为低电平。对于内置了上拉电阻的I/O口,如

3、MCS-51系列CPU的P1口,无须外接上拉电阻R1、R2。对于CMOS输入结构的I/O口,输入时I/O引脚处于悬空状态,如PIC16C系列CPU的I/O端口,这类I/O引脚作输入引脚使用时,必须外接上拉电阻,使S1、S2不按下时,输入引脚为高电平。,在图6-1(a)中,P1.2作为输出引脚,驱动LED发光二极管。如果CPU I/O引脚驱动电流有限,则必须外接驱动器,如集电极开路输出的7407或7406等。 在直接编码输入/输出方式中,每一I/O引脚仅能输入或输出一个开关信号,各引脚相互独立,没有编码关系。显然,I/O引脚利用率低,只适用于仅需要输入或输出少量开关信号的场合。,2. 编码输入/

4、输出方式 在这种方式中,将若干条用途相同(均为输入或输出)的I/O引脚组合在一起,按二进制编码后输入或输出。例如,对于n条输出引脚,经二进制译码器译码后,可以控制2n个设备;对于2n个不同时有效的输入量,经过编码器与CPU连接时,也只需要n个引脚,如图6-1(b)所示。 显然,采用编码输入/输出时,CPU I/O引脚利用率最高,但硬件开销大,在单片机控制系统中很少采用。,3. 矩阵输入/输出方式 将CPU I/O引脚分成两组,用n条引脚构成行线,m条引脚构成列线,行、列交叉点就构成了所需的n m个检测点。显然,所需的I/O引脚数目为n + m,而检测点总数达到了n m个,如图6-1(c)所示。

5、可见,I/O引脚的利用率较高,硬件开销少,因此得到了广泛应用。,图6-1 输入/输出方式 (a) 直接解码输入/输出方式; (b) 矩阵输入/输出方式;(c) 编码输入/输出方式,在矩阵编码方式中,如果行线、列线均定义为输出状态,就可输出n m个开关量;当行、列线中有一组为输出线,另一组为输入线时就构成了n m个输入检测点,如矩阵键盘电路。,通过单片机芯片实现数字信号的输入处理和输出控制时,必须了解以下问题: (1) 准确理解CPU各引脚的功能,确定可利用的I/O资源,并做出相对合理的使用规划。 例如在MCS-51系列单片机中,理论上可以使用的I/O端口数目为四个8位口,共计32根I/O线。,

6、6.2 I/O资源及扩展,但当系统中含有外部ROM或外部RAM存储器时,P0口将作为地址/数据总线使用,即在取指期间,P0口输出指令码所在存储单元(外部程序存储器)的低8位地址,读出的指令码也从P0口输入,即又作数据总线使用;P2口输出外部程序存储器、外部数据存储器高8位地址。因此,在含有外部存储器的MCS-51单片机应用系统中,P0、P2口不能再作为通常意义上的I/O总线使用。 内含OTP ROM、Flash ROM程序存储器的MCS-51及兼容芯片,如87C51/52/54/58、89C51/52/54/58、87C512/52 2/542/582、89C512/522/542/58X2、

7、AT89S51 /52/53已成为主流芯片,这类芯片无须扩展外部程序存储器,一般只需扩展外部数据存储器和I/O端口。,但在MCS-51系统中,没有独立的I/O端口地址空间,即I/O地址空间是外部数据存储器空间的一部分,因此,只要系统中使用了可寻址的I/O接口芯片,如8155、8255等,也不能将P0 口作为一般意义上的I/O引脚使用,P2口也不能作为一般意义上I/O引脚使用,除非扩展外部RAM和I/O端口地址小于256字节,P2口才可作为一般意义上的I/O引脚使用(通过“MOVX Ri, A”和“MOVX A, Ri”访问)。 P3口是多功能复用端口,只有当不使用其中的第二输入/输出功能时,

8、才可作为一般I/O口使用。,例如,P3.6、P3.7引脚分别是外部数据存储器读写控制信号,因此在含有外部RAM、可寻址I/O芯片的控制系统中,不能再将这两个引脚挪做他用。又如,当使用作为电源掉电中断输入端时,P3.2引脚同样不能作为一般I/O引脚使用。 可见,在MCS-51系列CPU中,只有P1口和P3口中未用的引脚可作为一般I/O引脚使用,即能够使用的I/O线数目在816之间;在使用片内程序存储器芯片的MCS-51系统中,如果所需外部RAM、I/O端口空间小于256字节时,P1口、P2口和P3口中未用的引脚可作为一般I/O引脚使用,即能够使用的I/O线数目在1624之间。因此,在MCS-51

9、单片机应用系统中常需要通过触发器或I/O扩展芯片扩展I/O引脚。,(2) 作输出控制信号线时,必须了解CPU复位期间和复位后该引脚的状态。 MCS-51系列CPU在复位期间和复位后各I/O端口的状态可参阅第2章有关内容。 (3) 只有了解了CPU I/O端口输出级电路结构和负载能力,才可能设计出原理正确、工作可靠的I/O接口电路。 对于输出口,当输出高电平时,能给负载提供的最大驱动电流就是该输出口高电平驱动能力,当输出电流大于最大驱动电流时,上拉MOS管内阻上的压降将增加,VOH会下降。当VOH小于某一数值后,后级电路会误认为输入为低电平, 产生逻辑错误。因此,要注意输出高电平时的负载能力。,

10、而当输出低电平时,输出级饱和,负载电流倒灌。同样,倒灌的电流也不能太大,否则会使输出级因过流而损坏,即使没有损坏,也会因灌电流太大,造成输出低电平VOL上升。当VOL大于某一数值后,后级电路同样会误以为输入为高电平,产生逻辑错误。 负载能力通常以能驱动多少个TTL门电路作为计量单位。MCS-51系列CPU各I/O端口内部电路结构已在第2章介绍过,这里不再详细介绍。至于I/O端口负载能力可从CPU芯片技术手册中查到。,(4) 了解I/O端口输出电平范围。 (5) 了解输入及OD输出状态下,I/O端口最大耐压。,6.2.1 通过锁存器、触发器扩展I/O口 当仅需要扩展少量的I/O引脚时,可使用锁存

11、器、触发器或三态门电路实现。,1. 输出口,图6-2 使用74 HC 273扩展输出口,MOV DPTR, #9800H ;输出口地址送数据指针 MOVX DPTR, A ;累加器Acc内容锁存到74 HC 273的输出端 显然,扩展输出口的状态不能读出,当仅需要修改输出口中个别位状态时,可使用具有位寻址功能的内部RAM单元作为扩展输出口的映像地址,采用间接方式访问,,即先对映像地址单元进行“读改写”操作,再将映像地址单元内容送外部端口。例如通过如下指令即可将9800H口的b0位取反: PORTP6 DATA 28H ;使用28H单元作为9800H端口的映像地址 MOV A, PORTP6 ;

12、Acc9800H端口映像地址 CPL ACC.0 ;对b0位取反 MOV PORTP6, A ;回写映像地址单元 MOV DPTR, #9800H ;DPTR端口地址 MOVX DPTR, A ;端口映像内容b0位取反后送74 HC 273输出端,对于确实需要将数据写入这类“高电平送数,下降沿锁存”的器件,如某些LCD显示模块I/O口时,可将这类器件的数据输入端、数据锁存使能端LE与CPU的I/O引脚(如P1.X)或具有输出锁存功能的I/O扩展芯片,如8255、8155的输出口相连,如图6-8所示。,2. 输入口 对输入口来说,一般无须锁存,原则上三态门电路、具有三态输出的总线缓冲器、驱动器、

13、D型触发器(如74 HC 374)以及电平触发的锁存器(如74 HC 373)等均可以作为输入口扩展芯片,如图6-3所示。 在图6-3中分别使用了两片74 HC 373、一片74 HC 125构成了三个输入口,共扩展了20条输入线,其中U1的输出允许端接U4的译码输出引脚。,图6-3 扩展输入口,当A15、A14、A13、A12、A11为10000,且为低电平时,输出低电平,即读8000H端口时,引脚将出现负脉冲(由于输入口无须锁存,因此将74 HC 373的锁存输入端LE通过2.2 k电阻与电源VCC相连),使数据输入端与CPU数据总线相连。不难看出,由U2构成的第二个输入端口地址为8800

14、H,其中锁存脉冲由外部输入设备提供;由U3构成的第三个输入端口地址为9000H。 图6-4是一个实用的输入/输出口扩展电路,其中74 HC 273构成8位输出口,74 HC 373构成8位输入口。,图6-4 扩展输入/输出口,在图6-4所示I/O扩展电路中,由于I/O端口数不多,没有用P2口(即高8位地址A15A8)引脚,在应用程序中不用“MOVX A, DPTR”与“MOVX DPTR, A”指令,而用“MOVX A, Ri”与“MOVX Ri, A”指令读写I/O端口时,P2口全部引脚可作为一般I/O引脚使用。,6.2.2 利用串入并出及并入串出芯片扩展I/O口 在速度要求不高的情况下,可

15、利用74HC164、74HC594、74HC595等“串入并出”芯片扩展输出口;利用74HC165、74HC597等“并入串出”芯片扩展输入口,也是一种简单、实用的I/O口扩展方式。当串行口未用时,可通过串行口方式0完成串行数据的输入或输出(参阅第4章);而当串行口已作它用时,可根据串行输入/输出芯片的操作时序,使用I/O引脚模拟串行移位脉冲,完成数据的输入/输出,例如在图6-5中使用89C5芯片三根I/O线,借助两片74HC595即可将3根I/O引脚通过串行移位方式扩展为16根输出线。,图6-5 通过“串入并出”芯片扩展输出引脚,假设扩展输出引脚ED7ED0输出信息在内存中的映像地址为EDA

16、TA1;ED15ED8输出信息在内存中的映像地址为EDATA1+1,则可通过如下程序段将数据串行输出到ED15ED0引脚。 EDATA1 DATA 38H ;假设输出数据存放在38H、39H单元中 SDI BIT P1.0 ;串行数据输入接P1.0引脚 SRCLK BIT P1.1 ;串行移位脉冲接P1.1引脚 RCLK BIT P1.2 ;并行输出锁存脉冲接P1.2引脚 ;-串行数据输出程序段-,CLR RCLK ;并行锁存脉冲置为低电平 MOV R0, # EDATA1 MOV R2, #2 ;共需要串行输出两个字节 LOOP1: MOV A, R0 ;取输出数据 MOV R3, #8 ;右移8次 LOOP2: CLR SRCLK ;串行移位脉冲置为低电平 RRC A ;带进位Cy循环右移,MOV SDI, C ;串行数据送SD

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号