计算机课件 第五章MCS-51 单片机IO接口的简单应用设计

上传人:woxinch****an2018 文档编号:44741320 上传时间:2018-06-14 格式:PPT 页数:32 大小:2.58MB
返回 下载 相关 举报
计算机课件 第五章MCS-51 单片机IO接口的简单应用设计_第1页
第1页 / 共32页
计算机课件 第五章MCS-51 单片机IO接口的简单应用设计_第2页
第2页 / 共32页
计算机课件 第五章MCS-51 单片机IO接口的简单应用设计_第3页
第3页 / 共32页
计算机课件 第五章MCS-51 单片机IO接口的简单应用设计_第4页
第4页 / 共32页
计算机课件 第五章MCS-51 单片机IO接口的简单应用设计_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《计算机课件 第五章MCS-51 单片机IO接口的简单应用设计》由会员分享,可在线阅读,更多相关《计算机课件 第五章MCS-51 单片机IO接口的简单应用设计(32页珍藏版)》请在金锄头文库上搜索。

1、第5章 MCS-51 单片机I/O接口的 简单应用设计u5.1 I/O接口概述 u5.2 I/O接口的功能和内部结构 u5.3 I/O接口的编程 u5.4 单片机与LED数码管的接口 u5.5 单片机与键盘的接口5.1 I/O接口概述1、什么是I/O接口?输入输出设备与主机的连接部分称为输入输出接口,简称 I/O接口 、I/O接口的作用?输入/输出(I/O)接口是CPU与外设间交换信息的桥梁,单 片机对外设进行数据操作时,必须经过I/O接口。 分析输出输入指令(类)时序图:I/O接口的基本作用:输出锁存、输入缓冲一个简单应用实验图5-1 单片机控制单灯闪烁电路图 源程序:ORG 0000HSJ

2、MP MAINORG 0030HLOOP:SETB P1.0 LCALL DELAYCLR P1.0 LCALL DELAYAJMP LOOPDELAY: MOV R7,#250D1: MOV R6,#250D2: DJNZ R6,D2 JNZ R7,D1 RET END 5.2 MCS-51单片机I/O接口的 功能和内部结构 5.2.1 P0口的内部结构及功能图5-2 P0口的位结构图 P0口的字节地址为80H。 P0口既可以作为通用的 I/O口使用,也可作为单 片机系统的地址/数据线使 用,所以在P0口的电路中 有一个多路转换开关 MUX。在内部控制信号 的作用下,多路开关 MUX可以分别

3、接通锁存 器输出和地址线/数据线。5.2.2 P1口的内部结构及功能P口的位结构的电路原理图P1口作通用I/O口使用 的。其输出驱动部分 与P0口不同,内部有 上拉负载电阻与电源 相连(没有高阻态) 。在端口由输出口转 为输入口时,必须先 向对应的锁存器写入 “1”(所以称为准双向 口)。5.2.3 P2口的内部结构及功能P口的位结构的电路原理图P2口的字节地址为A0H 。在实际应用中,因为 P2口用于为系统提供高 位地址,因此同P0口一 样,在口电路中有一个 MUX。但MUX的1个 输入端不再是“地址/数 据”,而是单一的“地址 ”,这是因为P2口只作 为地址线使用。5.2.4 P3口的内部

4、结构及功能P口的位结构的电路原理图P3口的字节地址为B0H。 它也是一个双功能口,第 一功能与P1口一样可用做 通用I/O口,也是一个准 双向I/O口。另外,由于 MCS-51的引脚数目有限 ,因此在P3口电路中增加 了引脚的第二功能。P3口的第二功能如下: 5.3 I/O接口的编程u 5.3 .1 I/O接口的编编程操作方式MCS-51四个I/O端口共有三种操作方式:输出数据方式、读端口数 据方式和读端口引脚方式。 、输出数据方式 在数据输出方式下,CPU通过一条数据传送指令就可以把输出数据 写入P0P3的端口锁存器,然后通过输出驱动器送到端口引脚线。因 此,凡是端口操作指令都能达到从端口引

5、脚线上输出数据的目的,写 入数据可直接输出到P0P3端口引脚上。例如,下面的指令均可在P0口输出数据:MOV P0,AANL P0,#dataORL P0,Au、读端口数据方式读端口数据方式是一种仅对端口锁存器中的数据进行 读入的操作方式,CPU读入的这个数据并非端口引脚上的 数据。这类操作都是由对端口的“读修改写”指令来实 现的,例如:ANL P,#、读端口引脚方式利用读端口引脚方式可以从端口引脚上读入信息。在这 种方式下,CPU首先必须使欲读端口引脚所对应的锁存器 置1,以便使输出场效应管截止,然后打开输入三态缓冲 器,使相应端口引脚上的信号输入MCS-51内部数据线。因 此,用户在读引脚

6、时,必须先置位锁存器后读,连续使用 两个指令。例如,下面的程序可以读P1引脚上的低4位信 号。 MOV P1,#0FH ;置位P1引脚的低4位锁存器MOV A,P1 ;读P1引脚上的低4位信号读累加器A应当指出,MCS-51内部4个I/O端口既可以字节寻址, 也可以位寻址,每位既可以用做输入,也可以用做输出。 下面举例说明它们的使用方法。硬件电路如图5-6所示,单片机的P1口接8个 LED发光二极管,试编写程序实现8个发光二极管循环点亮 ,即实现发光二极管组成的流水灯控制。u5.3 . I/O接口编编程实例:发光二极管的应用图5-6 流水控制的硬件电路图完整的程序如下:ORG 0000H JM

7、P MAIN ORG 0030H MAIN:MOVA,#0FFH ;设置左移初值 CLRC;C=0 MOVR2,#08H ;设置左移次数 LOOP:RLCA ;左移1位 MOVP1,A ;输出到P2 CALLDELAY ;延时 DJNZR2,LOOP ;左移7次 MOVR2,#07H ; LOOP1: RRCA ;右移1位 MOVP1,A ;输出到P2 CALLDELAY ; DJNZR2,LOOP1 ;右移7次 JMPMAIN DELAY: MOVR3,#20;延时0.2s D1:MOVR4,#20 D2:MOVR5,#248 DJNZR5,$ DJNZR4,D2 DJNZR3,D1 RET

8、 END5.4 单片机与LED数码码管的接口 u5.4.1数码管的结构 表5-2 8段LED的字形码(段码)表显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03FHC0Hc39HC6H106HF9Hd5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8Hy6EH91H87FH80HH76H89H96FH90HL38HC7HA77FH88H“灭”00HFFHb7CH83H表5-2 8段LED的字形码(段码)表5.4.2 LED数码管的工作原理 u、LED静态显示方式 图5-1

9、0 4位静态LED显示器电路 u、LED动态显示方式图5-11 4位8段LED动态显示电路 图5-12为8位LED动态显示2008.10.10的过程。图(a)是显示过 程,某一时刻,只有一位LED被选通显示,其余位则是熄灭的;图( b)是实际显示结果,人眼看到的是8位稳定的同时显示的字符。 为了减少硬件开销,提高系统可靠性并降低成本,单片机控制系统通常采用动态扫 描显示,另外,数码管内部发光二极管点亮时大约需要5mA电流,而且电流不可过大 ,否则会烧毁发光二极管。由于单片机的I/O送不出如此大的电流,所以,数码管与 单片机连接时需要加驱动电路,可以加三极管驱动或使用专门的的数码管驱动芯片, 如

10、74HC245、74HC573等。u5.4.3 数码管显示器的应用举例图5-13是接有六个共阴极数码管的动态显示接口电路,用74LS245接成直通的方式作 驱动电路,阴极用非门74LS04反相门驱动,字形选择由P1口提供,位选择由P2口控制 。当P2.0P2.4轮流输出1时,六个数码管动态显示“123456”字样。图5-13 6个共阴极数码管的动态显示接口 完整源程序如下:ORG 0000H MOV P2,#0 ;清显示 MAIN: MOV DPTR,#TAB1 ;指向段码表表头地址 MOV R0,#0 ;R0存字形表偏移量MOV R1,#01 ;R1置数码表位选代码 NEXT:MOV A,R

11、0MOVC A,A+DPTR ;查字形码表1MOV P1,A ;送P1口输出 MOV A,R1MOV P2,A ;输出位选码ACALL DAY ;延时INC R0 ;指向下一位字形RL A ;指向下一位数码管MOV R1,ACJNE R1,#40H,NEXT ;六个数码管显示完?SJMP MAIN DAY:MOV R6,#40 ;12M晶振,延时20ms子程序 DL2: MOV R7,#7DH DL1: NOPNOP DJNZ R7,DL1DJNZ R6,DL2RET TAB1: DB 06H,5BH,4FH,66H,6DH,7DH ; “16”的字形 码END5.5 单片机与键盘键盘 的接口

12、 u5.5.1 键盘键盘 的分类微机系统中常用的键盘有编码键盘和非编码键盘两种。在单片机系统中 ,基于成本控制的目的,常用的是非编码键盘。非编码键盘按键盘的连接形 式可分为:独立连接式键盘和矩阵式(又称行列式)键盘。 、独立连接式键盘独立连接式键盘连接图如图5-15(a)所示。这种键盘的优点是硬件、 软件结构简单,使用方便,但随着个数的增加,被占用的I/O口线也将增加。 因此,这种形式的键盘不是和在键数要求较多的系统中使用,但在键数要求 不多的单片机系统中,独立式键盘使用得相当普遍。、矩阵式键盘单片机系统需要安排较多的按键时,为节约微处理器的I/O接口 资源,通常把键排列成矩阵式,这样可以更合

13、理地利用硬件资源 。矩阵式键盘是指由若干个按键组成的开关矩阵。4行4列矩阵式 键盘的链接图如图5-15(b)所示。 u5.5. 键盘键盘 的防抖对于如图5-16(a)所示的键盘来说,按下和释放按键的过程中,I/O上的电 压波形如图5-16(b)所示。图中的t1和t3分别为键的闭合和断开过程中的抖 动期(分别称为前沿抖动和后沿抖动),抖动时间的长短与开关的机械特性 有关,一般为510ms,t2为稳定的闭合期,其时间的长短由按键的动作决定 ,一般为几百毫秒至几秒。t0,t4为断开期。图5-16 键按下和释放时的I/O口电压波形图为了保证CPU对按键闭合的正确判定,必须去除抖动,在键的稳定闭合和断

14、开期间读取键的状态。去除抖动可以采用硬件和软件两种方法。硬件方法就是在按键输入通道上添 加去抖动电路,从根本上避免电压抖动的产生。软件方法则采用延迟510ms 的时间,待电压稳定之后,再进行状态输入。由于人的按键速度与单片机的 运行速度相比要慢的多,所以,软件延时的方法从技术上完全可行,而且经 济上更加实惠,因此被越来越多地采用。按键去抖流程如图5-17所示。图5-17 按键去抖流程图u5.5.3 键盘键盘 接口、矩阵式键盘接口键盘接口的主要功能是对键盘上所按下的键进行识别,矩阵式非编码键盘而 言,常用的两种按键识别方法是:扫描法和线反转法。 )、扫描法对按键的识别,可分两步进行:第一步,识别

15、键盘有无键按下;第二步,如有键被按下,识别出具体的键位。2)、线反转法扫描法要逐列扫描查询,当被按下的键处于最后一列时,则要经过多次扫描 才能最后获得此按键所处的行列值。而线反转法则很简练,无论被按键时处 于第1列或最后一列,均只需经过两步便能获得此按键所在的行列值,线反转 法的原理如图5-19所示。两个具体操作步骤: 让行线编程为输入线, 列线编程为输出线,并使输出 线输出为全低电平,则行线中 电平由高变低的所在行为按键 所在行。 再把行线编程为输出线 ,列线编程为输入线,并使输 出线输出为全低电平,则列线 中电平由高变低所在列为按键 所在列。 结合上述两步的结果,可 确定按键所在行和列,从而识 别出所按的键。u 1、键盘扫描的工作方式单片机应用系统中,CPU对键盘扫描可以采取查

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

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