实验一 基于并行接口的键盘控制

实验一 基于并行接口的键盘控制

ID:38520692

大小:226.27 KB

页数:8页

时间:2019-06-14

实验一 基于并行接口的键盘控制_第1页
实验一 基于并行接口的键盘控制_第2页
实验一 基于并行接口的键盘控制_第3页
实验一 基于并行接口的键盘控制_第4页
实验一 基于并行接口的键盘控制_第5页
资源描述:

《实验一 基于并行接口的键盘控制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、本科实验报告实验名称:课程名称:实验时间:任课教师:实验地点:实验教师:实验类型:□原理验证■综合设计□自主创新学生姓名:学号/班级:组号:学院:同组搭档:专业:成绩:实验一基于并行接口的键盘控制一、实验目的1.掌握简单并行接口(8255)的工作原理及使用方法。2.了解小键盘的工作原理,学会设计小键盘的接口技术。3.利用8255并行接口芯片作为小键盘的接口电路,掌握它们之间的线路连接。二、实验内容与步骤1、接线PA0-PA3/8255接行0–行3/4×4矩阵键盘PB0-PB3/8255接列0–列3/4×4矩阵键盘CS/8255接Y1/IO地址2、编程

2、实现在按下小键盘上的任意键后,在微机屏幕上显示相应字符。它们的对应关系如下:小键盘显示小键盘显示0——08——81——19——92——2A——A3——3B——B4——4C——C5——5D——D6——6E——E7——7F——F三、实验原理1、可编程并行接口8255A芯片8255A是通用的可编程并行接口芯片,它可以将任一个与TTL兼容的I/O设备与CPU相连。8255A为40引脚双列直插芯片。它有三个相互独立的端口,分别成为A端口、B端口、C端口,每个端口有8根数据线,通过数据线,可以与I/O设备交换数据。8255A的引脚分布及内部结构图1(a),(b)

3、所示。图1-(a)8255A引脚分布图1-(b)8255A内部结构图方式选择控制字8255A共有两类编程控制字:方式选择控制字和对C端口按位置位/复位控制字。这两个控制字都要写入控制寄存器。初始化时,把方式选择控制字写入控制寄存器用来选择端口的工作方式及端口功能。在8255A工作之后,把“按位置位/复位控制字”写入控制字寄存器,可以把C端口的对应位单独地置1或置0。(1)方式选择控制字方式选择控制字的格式如下图所示:图2方式选择控制字各位的意义如下:D7位:方式选择控制字的特征位,必须为1,表示写入控制寄存器的控制字为方式选择控制字。D6/D5位:选

4、择A组的工作方式,控制A端口及C端口的高4位工作方式。“00”:方式0;“01”:方式1;“1x”:方式2。D4位:D4=0,选择A端口的8条数据线PA7-PA0作为输出线;D4=1,选择A端口的8条数据线PA7-PA0作为输入线。D3位:D3=0,选择C端口的高4位数据线PC7-PC4作为输出线;D3=1,选择C端口的高4位数据线PC7-PC4作为输入线。D2位:选择B组的工作方式,控制B端口及C端口的低4位工作方式。D2=0,选择B组工作于方式0;D2=1选择B组工作于方式1。D1位:D1=0,选择B端口的8条数据线PB7-PB0作为输出线;D1

5、=1,选择A端口的8条数据线PB7-PB0作为输入线。D0位:D0=0,选择C端口的低4位数据线PC3-PC0作为输出线;D0=1,选择C端口的低4位数据线PC3-PC0作为输入线。(1)C端口按位置位/复位控制字C端口按位置位/复位控制字的格式如下图所示:图3C端口按位置位/复位控制字各位的意义如下:D7位:特征位,该位必须为0,表示写入控制寄存器的控制字为C端口按位置位/复位控制字。D6/D5/D4位:不用。D3/D2/D1位:C端口选择位,选择C端口中特定的某一位。“111”-“000”分别表示第7位-第0位。D0位:置位/复位。D0=1,表示

6、选择的端口输出‘1’,D0=0,表示选择的端口输出‘0’。2、4×4矩阵键盘矩阵键盘由8255芯片卡控制,并将行线连接到8255芯片的A口,将列线连接到B口,还需要连接8255芯片的片选到Y1/IO地址(280H)以使键盘阵列有8255芯片控制。图48255芯片与矩阵键盘8255A与4×4矩阵键盘接口线路如图4所示。PA0-PA3分别连接矩阵键盘的4条行线,PB0-PB3分别连接矩阵键盘的四条列线。所有的行线、列线通过上拉电阻共与正电压源相连。因此当按键没有按下时,所有的端口读入的数据均为‘1’。当有按键按下时,对应的行线与列线读入的数据应保持一致。

7、皆为‘0’或皆为‘1’。矩阵键盘的检测就是按照上述特性实现的。一共有两种检测方法:行扫描法、行反转法。(1)行扫描法行扫描法的原理如下,首先判断是否有按键按下。将所有的行线置成0电平,然后通过列线输入全部列值,如果读入的列值全是1,则说明没有任何一个键按下;反之,如果读入的列值不全是1,这说明有键按下。也就是说,在键盘识别的开始先进行全扫描。若有键按下,则必须判别是哪个按键被操作。第二部确定哪个键按下。一旦发现有键按下,就转入采用逐行扫描的办法俩确定究竟是哪一个被按下。先扫描第一行,即使它输出为0电平,其余的行线为高电平1,然后读入列值。如果读入的列

8、值中,其中有一位为低电平0,则说明在慈航的一个行、列交叉处有键被按下。如果读入的列值全是1,说明这一行所有按

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。