并行输入及输出实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学习情景四并行输入与输出

学习目标:

了解并行通信的基本概念;

掌握键盘的基本组成及工作原理;

掌握七段LED显示器的基本组成及工作原理。

技能目标:

能够正确在AT89S52外连接键盘和显示设备。

能够灵活应用典型键盘、显示电路构成各种实际电路。

在数据通信与计算机领域中,有两种基本的数据传送方式,即串行数据传送方式与并行数据传送方式,也称串行通信与并行通信。串行通信将在以后介绍。

数据在多条并行传输线上各位同时传送的方式,称为并行传送方式,多用于近距离传送,如图4.1(a)所示;而数据在单条一位宽的传输线上按时间先后一位一位地传送,称为串行数据传送方式,常用于远距离传送,如图4.1(b)所示。

在单片机应用系统中,通常都有操作面板。操作人员通过操作面板实现与应用系统的信息交流,包括下达命令、修改程序和参数、干预应用系统的状态、显示运行状态和运行结果。

本学习环境主要介绍人机对话通道中常用的输入设备――键盘,输出设备――LED 显示器。

a)并行通信方式

(b)串行通信方式

第一部分项目要求

设计一个4×4矩阵键盘与AT89S52接口电路。要求用查询法读取行列键盘键码,并将键码存入内部RAM 32H单元。

第二部分相关知识

键盘是由若干个按键组成的开关矩阵,它是最简单的单片机输入设备,操作员可以通过键盘输入数据或命令,实现简单的人机通信。若键盘闭合键的识别是由专用硬件实现的,则称为编码键盘;若用软件实现闭合键识别的,则称为非编码键盘。非编码键盘又分为行列式和独立式两种。本项目主要讨论,非编码键盘的工作原理、接口技术和程

序设计。

键盘接口应有以下功能:

✓ 键扫描功能,即检测是否有键闭合;

✓ 键识别功能,确定被闭合键所在的行列位置;

✓ 产生相应的键值功能;

✓ 消除按键抖动功能。

一、 键盘工作原理

1.按键去抖动

常用键盘的按键是一个

机械开关结构,被按下时,由

于机械触点的弹性及电压突

跳等原因,在触点闭合或断开的瞬间会出现电压抖动,如图4.2所示。抖动时间长短与按键的结构和机械特性有关,一般为5~10 ms 。而按健的闭合时间和操作者的按键动作有关,大约为十分之几秒到几秒不等。

去抖动有硬件和软件两种方法。硬件方法就是在键盘中附加去抖动电路,从根本上消除抖动产生的可能性,图4.3为利用双稳电路的去抖动电路;而软件方法则是采用时间延迟以躲过抖动(大约延时20-30ms 即可),待行线上状态确定之后,再进行状态输入。一般为简单起见多采用软件方法。

图4.3去抖动电路 2.按键连接方式

键盘和CPU 的连接方式可分为独立式键盘和矩阵式键盘。

① 独立式键盘

独立式是一组相互独立的按健,这些按键可直接与单片机的I/O 口连接,即每个按键独占一条口线,接口简单。独立式键盘因占用单片机的硬件资源较多,只适合按键较少的场合。

图4.4(a)是一个具有4个按键的独立式键盘,每一个按键的一端都接地,另一端接AT89S52的I/O 口。从图中可以看出,独立式键盘每一按键都需要一根I/O 线,占用AT89S52的硬件资源较多。

② 矩阵式键盘 也称行列式键盘,因为键的数目较多,所以按键按行列组成矩阵。图7.4(b)是由4根行线和4根列线组成的16个按键的键盘。与独立式键盘相比,16个按键只占用了8个I/O 口线,因此适用于按键较多的场合。

矩阵式键盘接口处理的内容:

图4.2 键闭合和断开时的电压抖动 图4.4独立式键盘和矩阵式键盘

A.键扫描

键盘上的键按行列组成矩阵,在行列的交点上都对应有一个键。为判定有无键被按下(闭合健)以及被按键的位置,可使用扫描法说明查找闭合健的方法。

首先是判定有没有键被按下。如图4.5所示,键盘的行线一端经电阻接+5V 电源,另一端接单片机的输入口线。各列线的一端接单片机的输出口线,另一端悬空。为判定有没有键被按下,可先经输出口向所有列线输出低电平,然后再输入各行线状态。若行线状态皆为高电平,则表明无健按下;若行线状态中有低电平,则表明有健被按下。

图4.5键扫描示意图

然后再判定被按键的位置。判定键位置的扫描是这样进行的:先使输出口输出0FEH,即Y0为低电平“0”,其它列线为高电平“1”,然后输入行线状态,测试行线状态中是否有低电平的。如果没有低电平,再使输出口输出0FDH,即Y1为“0”,其它列线为“1”,再测试行线状态。以次类推,直检测到行线中有低电平,则闭合健找到,通过此次扫描的列线值和行线值就可以知道闭合健的位置。

B.去抖动

判断有键按下后,延时一段时间,再判断键盘状态,如果仍为有键按下状态,则认为有键按下,否则按抖动处理。

C.确定按键的键值

如图4.6所示,以键的排列顺序安排健号,则键值的计算公式为:

键值=行首号+列号

图4.6键值表

D.判断闭合键是否释放

计算键值之后,等待键释放是为了保证键的一次闭合仅进行一次处理。

二、键盘接口的控制方式

在单片机的运行过程中,扫描键盘只是CPU的工作任务之一,何时执行键盘扫描和处理,可以有两种方式:程序扫描方式和中断扫描方式。程序扫描是指CPU空闲时执行键盘扫描,或每隔一定时间执行一次键

盘扫描,定时可由单片机的定时器完成。

中断扫描是指,当有键闭合时才向CPU

发出中断请求,中断响应后执行键盘扫

描程序。

三、应用举例

【例4.1】硬件连接如图4.7所示,

编程完成如下功能:按键按下后,对应的小灯亮,再按下,对应的小灯灭。

图4.7硬件连接示意图89S52

相关文档
最新文档