单片机技术与应用 教学课件 ppt 作者 刘松 单元4 输入与输出

上传人:E**** 文档编号:89498324 上传时间:2019-05-25 格式:PPT 页数:46 大小:884.50KB
返回 下载 相关 举报
单片机技术与应用 教学课件 ppt 作者 刘松 单元4 输入与输出_第1页
第1页 / 共46页
单片机技术与应用 教学课件 ppt 作者 刘松 单元4 输入与输出_第2页
第2页 / 共46页
单片机技术与应用 教学课件 ppt 作者 刘松 单元4 输入与输出_第3页
第3页 / 共46页
单片机技术与应用 教学课件 ppt 作者 刘松 单元4 输入与输出_第4页
第4页 / 共46页
单片机技术与应用 教学课件 ppt 作者 刘松 单元4 输入与输出_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《单片机技术与应用 教学课件 ppt 作者 刘松 单元4 输入与输出》由会员分享,可在线阅读,更多相关《单片机技术与应用 教学课件 ppt 作者 刘松 单元4 输入与输出(46页珍藏版)》请在金锄头文库上搜索。

1、并行输入与输出,单元4,学习目标: 了解并行通信的基本概念; 掌握键盘的基本组成及工作原理; 掌握七段LED显示器的基本组成及工作原理。 技能目标: 能够正确在AT89S52外连接键盘和显示设备。 能够灵活应用典型键盘、显示电路构成各种实际电路,串行通信与并行通信,项目一 字符显示 第一部分 项目要求 设计一个八位显示电路,要求8只数码管从左到右顺序显示1、2、3、4、5、6、7、8共8个字符;将内存10H、11H、12H、13H中存放的压缩BCD码显示出来。,第二部分 相关知识 单片机应用系统中使用的显示器主要有:发光二极管显示器(LED);液晶显示器(LCD);阴极射线管显示器(CTR)。

2、 一、发光二极管及LED显示器 发光二极管,LED显示器,由发光二极管组成,不同的发光段亮,可组成不同字型,电流太大,耗电量大,电流太小,发光度不够,一般各管电流在10mA较合适。,7段LED字型码(段码),LED 显示器接口,LED显示器用于显示工业控制参数、过程状态。 1. LED数码管 共阴极LED和共阳极LED 当LED字段引线与数据线连接,每个显示字形对应一个字形码。,D7 D6 D5 D4 D3 D2 D1 D0 h g f e d c b a,显示程序任务:,1)设置显示缓冲区,存放待显示数据。 2)显示译码:程序存储器中建立字形码常数表,查表得出对应数据的字形码。 3)输出显示

3、:输出字形码到显示端口。,例: MOV DPTR,#WTAB ;指向字形码表首地址 MOV A,R0 ;取显示缓冲区中数据 MOVC A,A+DPTR ;查表显示译码 MOV P1,A ;输出显示 WTAB:DB 3FH,06H,5BH ;字形码表 ,二、七段LED显示器工作原理 LED显示器有静态显示和动态显示两种方式 1.静态显示器 多位LED分别用一组8位字段口,各位LED公共端接地,分别输出显示不同字形。,在AT89S52的串行口上扩展多片串行输入并行输出的移位寄存器74LS164作为静态显示器接口,图中给出了8位共阳极静态显示器的逻辑接口。设要显示的数据放在78H-7FH中。,89S

4、52,静态显示程序如下: DISPLAY:MOV R7,8;8位显示计数器 MOV R0,78H;78H-7FH为显示器缓冲区 MOV DPTR,TABLE;显示字形码表首地址 LOOP1:MOV A,R0;取出要显示的数据 INC R0;指向缓冲区下一地址 MOVC A,ADPTR;取出显示字形码 MOV SBUF,A;送出该LED上的字形码,LOOP2:JNB TI,LOOP2;输出完否? CLR TI;完,清发送中断标志 DJNZ R7,LOOP1;8位显示未完,继续 RET TABLE:DB 0C0H,0F9H,0A4H,0BH,99H DB 92H,82H,0FBH,80H,90H

5、DB 88H,83H,0C6H,0A1H,86H DB 8EH,0FFH ;F,暗,2. LED动态显示 动态显示方式是各位数码管的a h端分别连在一起,并与单片机系统的一个I/O口相连。从该I/O口输出显示代码。每只数码管的共阴极端或共阳极端则与另一个I/O口相连,控制该位的点亮。 每一时刻,只有一位数码管被点亮,各位之间,依次轮流被点亮,对每位来说,每隔一段时间点亮一次。 利用发光二极管的余辉和人眼的驻留效应,并通过适当调整每位数码管点亮的时间和时间间隔,便可以得到稳定的显示输出。 在单片机系统应用中,广泛采用动态显示方式。,第三部分 项目实施 (一)硬件电路分析 P2口输出与对应显示位的

6、关系,(二)程序清单:,ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#50H MOV 30H,#01H MOV 31H,#02H MOV 32H,#03H MOV 33H,#04H MOV 34H,#05H MOV 35H,#06H MOV 36H,#07H MOV 37H,#08H LP7:LCALL DIR SJMP LP7,DPLAY:MOV R0,30H ;显示数据缓冲区首 地址送R0 MOV R3,07FH ;使显示器最左边位亮 MOV A,R3 LPl: MOV P2,A ;扫描值送P2口 MOV A,R0 ;取欲显示数据 ADD A,0E

7、H ;加上查表指令地址偏移量 MOVC A,A+PC ;取出段码 MOV P1,A ;送出显示 ACALL DELAY ;调用延时子程序 INC R0 ;指向下一个显示缓冲区地址 MOV A,R3 JNB ACC0,LP2 ;扫描到第八个显示器否?,RR A ;未到,扫描码右移1位 MOV R3,A LJMP LPl LP2:RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H, 92H ;0,1,2,3,4,5 DB 82H, 0F8, 80H, 90H, 0C8H,83H ;6,7,8,9,A,B DB 0C6H,0A1H,86H, 8EH ;C,D,E,F DELAY:M

8、OV R7,02H ;延时子程序 DL1:MOV R6,0FFH DL2:DJNZ R6,DL2 DJNZ R7,DLl RET,项目二 矩阵式键盘电路设计 第一部分 项目要求 设计一个44矩阵键盘与AT89S52接口电路。要求用查询法读取行列键盘键码,并将键码存入内部RAM 32H单元。,第二部分 相关知识,在单片机应用系统中,经常使用简单的键盘和数码管显示电路作为系统的输入和输出,完成人机对话活动,即人机通道。实际上是单片机与键盘和数码管显示器的接口电路。 键盘接口应有以下功能: 键扫描功能,即检测是否有键闭合; 键识别功能,确定被闭合键所在的行列位置; 产生相应的键值功能; 消除按键抖动

9、功能。,一、键盘工作原理 键盘是一组按键的集合,它是最常用的单片机输入设备,操作人员可以通过键盘输入数据或命令,实现简单的人机通信。 根据按键的识别方法分类,键盘有编码和非编码的两种。编码键盘是通过一个编码电路来识别闭合键的键码,如BCD码键盘、ASCII码键盘等;通过软件来识别键码为非编码键盘。,由于非编码键盘的电路简单,可以方便地增减键的数量,因此在单片机应用系统中得到广泛的应用。 1、按键电路和抖动的消除 键盘中每个按键都是一个常开关电路。 开关为机械弹性开关,当机械触点断开、闭合时有抖动。,消除的办法: 硬件 单脉冲触发器,即双稳态触发器或基本R - S触发器。 软件 延时,用子程序

10、2、键盘连接方式 键盘可分为独立式和行列(矩阵式)两类。 (1) 独立式非编码键盘 电路:见图 4只按键分别接到89S52 P1口的4条I/O线上。在没有键按下的情况下,,89S52,由于上拉电阻的作用,P1.0P1.3线上输入均为高电平。当有某键按下时,与其相连的I/O线将得到低电平,其他未按之键的输入线上,仍维持其原来的高电平输入。 这种键盘结构的优点是电路简单,编程简单;缺点是当键盘数较多时,要占用较多的I/O线。 这种键盘结构可用程序去掉抖动。 (2) 非编码行列式键盘 为了减少键盘与单片机接口时所占用I/O线的数目,在键数较多时,通常都将键盘排列成行列矩阵形式。,即将I/O线的一部分

11、作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上。 行列式键盘的数量为:行线数m乘以列线数n,即可组成mn个按键的键盘。 见图。 这是一个44行列式键盘,按键数量为16个。 矩阵式键盘接口处理的内容: 判断键盘中有无键按下的方法是:先向所有连接列线的I/O线输出0;然后,将连接行线的按键状态,由相应的I/O线读入累加器A中。有键按下时对应的行线,输入为0;没有键按下时对应的行线,输入为1。,X3, 求键码的过程是: 依次从一条列线上输出低电平,然后检查各行线的状态。若都为1,说明闭合键不在该列;若有的行线为0,则说明闭合键在该列与为0的行线的交点上。由于每个按键所在的行号和列号不相同

12、,所以,每个按键都按行列号赋予了一个键号。(键值) 列Y3 Y2 Y1 Y0 行X3 X2 X1 X0 1 1 1 0 E 1 1 1 0 E 1 1 0 1 D 1 1 0 1 D 1 0 1 1 B 1 0 1 1 B 0 1 1 1 7 0 1 1 1 7,键号:列行 EE ED EB E7 DE DD DB D7 BE BD BB B7 7E 7D 7B 77 键值N= 行首键号 + 列号 3.编码键盘按键的处理过程 处理程序分为:程序扫描方式和中断扫描方式。 (1)程序扫描方式,即查询方式。 在单片机应用系统中,对键盘的处理只是CPU工作的一部分。为了能及时发现有键按下,CPU要不断

13、,地调用键盘处理程序,对键盘进行扫描。这种CPU主动调用键盘处理程序的方式,称为程序扫描方式。 程序控制扫描工作方式的工作过程与键盘扫描子程序。 ()判断键盘上有无键按下。其方法为:D0 D3输出0000B(列线),读D4 D7状态(行线),若D4 D7为全“1”则键盘无键按下,若不全为“1”则有键按下。 ()去除键的机械抖动影响:在判断有键按下后,软件延时一段时间(5 10mS)后再判断键盘状态,如果仍为有键按下状态,则认为有一个稳定的键按下,否则按照键抖动处理。,()判别闭合键的键号:对键盘的列线进行扫描,再相应地顺序读出D4 D7的可能状态。 ()CPU对键的一次闭合仅作一次处理,采用的

14、方法为等待键释放以后再将键号送入累加器A中。 (2)中断扫描方式 为了提高CPU的效率,可以让键盘工作在中断扫描方式。有键闭合,产生中断请求信号。消抖、求键号等工作由中断服务子程序完成。采用中断方式的键盘接口电路。,89S52,二、 键盘接口控制方式 1、判别键盘上有无键闭合; 2、键盘去抖 3、判别闭合键的键号;N= 行首键号 + 列号 4、判断闭合键是否释放。 三、应用举例 【例4.1】硬件连接如图所示,编程完成如下功能:按键按下后,对应的小灯亮,再按下,对应的小灯灭。,89S52,编程如下: KEY:MOV P1, #0FFH ;灯全灭 MOV P2 , #0FFH ;P2口为输入状态

15、MOV A, P2 ;读键值,键按下相应位为0 CPL A ;取反,键按下相应位为1 ANL A, #0FH ;屏蔽高4位,保留低4位 JZ LRET ;全零,无键按下,返回 LCALL DEL20 ;非全零,有键按下,延 时,软件去抖 MOV A, P2 ;重读键值 CPL A,ANL A, #0FH JZ LRET ;全零,无键按下,返回 JB ACC.0, K0 ;K0按下,转K0程序 JB ACC.1, K1 ;K1按下,转K1程序 JB ACC.2, K2 ;K2按下,转K2程序 JB ACC.3, K3 ;K3按下,转K3程序 SJMP LRET K0:CPL P1.0 ;P1.0状态取反,小灯 LED0亮变灭,灭变亮 SJMP LRET K1: CPL P1.1 ;P1.1状态取反,小灯 LED1亮变灭,灭变亮 SJMP LRET,K2: CPL P1.2 ;P1.2状态取反,小灯 LED2亮变灭,灭变亮 SJMP LRET K3: CPL P1.3 ;P1.3状态取反,小灯 LED3亮变灭,灭变亮 LRET: RET DEL20:MOV R7, #27H ;延时20ms左右 LOOP1:MOV R6, #0FFH LOOP2:DJNZ R6, LOOP1 DJNZ R7, LOOP2 RET,第三部分 项目实施 (一)硬件电

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

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

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