单片机x键盘扫描和显示课程设计

单片机x键盘扫描和显示课程设计

ID:16171009

大小:767.00 KB

页数:14页

时间:2018-08-08

单片机x键盘扫描和显示课程设计_第1页
单片机x键盘扫描和显示课程设计_第2页
单片机x键盘扫描和显示课程设计_第3页
单片机x键盘扫描和显示课程设计_第4页
单片机x键盘扫描和显示课程设计_第5页
资源描述:

《单片机x键盘扫描和显示课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、二、设计内容1、本设计利用各种器件设计,并利用原理图将8255单元与键盘及数码管显示单元连接,扫描键盘输入,最后将扫描结果送入数码管显示。键盘采用4*4键盘,每个数码管可以显示0-F共16个数。将键盘编号,记作0-F,当没按下其中一个键时,将该按键对应的编号在一个数码管上显示出来,当在按下一个键时,便将这个按键的编号在下一个数码管上显示,数码管上可以显示最近6次按下的按键编号。设计并实现一4×4键盘的接口,并在两个数码管上显示键盘所在的行与列。三、问题分析及方案的提出4×4键盘的每个按键均和单片机的P1口的两条相连。若没有按键

2、按下时,单片机P1口读得的引脚电平为“1”;若某一按键被按下,则该键所对应的端口线变为地电平。单片机定时对P1口进行程序查询,即可发现键盘上是否有按键按下以及哪个按键被按下。实现4×4键盘的接口需要用到单片机并编写相应的程序来识别键盘的十六个按键中哪个按键被按下。因为此题目还要求将被按下的按键显示出来,因此可以用两个数码管来分别显示被按下的按键的行与列四、设计思路及原因对于4×4键盘,共有十六个按键。如果每个按键与单片机的一个引脚相连,就会占用16个引脚,这样会使的单片机的接口不够用(即使够用,也是对单片机端口的极大浪费)。因

3、此我们应该行列式的接法。行列式非编码键盘是一种把所有按键排列成行列矩阵的键盘。在这种键若没有按键按下时,单片机从P1口读得的引脚电平为“1”;若某一按键被按下,则该键所对应的端口线变为地电平。因此0xEX(X表示任意4×4键盘的第一行中的某个按键被按下,相应的0xDX、0xBX、0x7X(X表示任意一个十六进制数)分别表示键盘的第二行、第三行、第四行;0xXE、0xXD、0xXB、0xX7(X表示任意一个十六进制数)则分别表示键盘的第一列、第二列、第三列和第四列。例如0xD7是键盘的第二行第四列的按键对于数码管的连接,采用了共

4、阳极的接法,其下拉电阻应保证芯片不会因为电流过大而烧坏。五、电路设计及功能说明4×4键盘的十六个按键分成四行四列分别于P1端口的八条I/O数据线相连;两个七段数码管分别与单片机的P0口和P2口的低七位I/O数据线相连。数码管采用共阳极的接法,所以需要下拉电阻来分流。结合软件程序,即可实现4×4键盘的接口及显示的设计。当按下键盘其中的一个按键时,数码管上会显示出该按键在4×4键盘上的行值和列值。所以实现了数码管显示按键位置的功能二、实验内容设计并实现一4×4键盘的接口,并在两个数码管上显示键盘所在的行与列。即将8255单元与键盘

5、及数码管显示单元连接,编写实验程序扫描键盘输入,并将扫描结果送数码显示,键盘采用4×4键盘,每个数码管值可以为0到F,16个数。将键盘进行编号记作0—F当按下其中一个按键时将该按键对应的编号在一个数码管上显示出来,当按下下一个按键时便将这个按键的编号在下一个数码管上显示出来,且数码管上可以显示最近6次按下按键的编号。基本原理1.电路设计及功能说明2.硬件原理框图及电路图(包括接口芯片简介)电路图:六、实验步骤(1).把实验平台与PC机串行口连起来,根据实验连线提示在实验台上连线,之后打开电源。(2).在PC机上用鼠标点击“Wa

6、ve”图标,进入WINDOWS调试环境,而后进行初始化设置。点击[仿真器仿真器设置]出现“仿真器设置”窗,进行仿真器的设置。(3).用鼠标点一下[文件打开文件],输入文件名*.asm,创建新文件,在该窗口中输入事先编好的程序。(4).用鼠标点[项目全部编译]窗,对当前源文件进行编译,反复修改好程序,直到编译通过为止。(5).全速运行程序,通过在键盘按键,观察八段管的显示结果,理解键盘扫描原理及程序编写方法。接口芯片简介AT89C51简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微

7、处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。主要管脚说明:  VCC:供电电压。  GND:接地。  P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口

8、作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。  P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部

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

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

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