单片机与键盘设计

单片机与键盘设计

ID:37190342

大小:144.00 KB

页数:7页

时间:2019-05-19

单片机与键盘设计_第1页
单片机与键盘设计_第2页
单片机与键盘设计_第3页
单片机与键盘设计_第4页
单片机与键盘设计_第5页
资源描述:

《单片机与键盘设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、开题报告目录前言······························技术指标。方案选择··························。具体设计··························。应用案例··························。检测··························。结论··························。前言:本实验是通过89c51单片机最小系统做扩展键盘。然后通过键盘按键控制LED数码管的显示。键盘实际上是由排列成矩阵

2、形式的一系列开关组成的,它是单片机系统中最常用的人机联系的一种输入设备。用户可以通过键盘向CPU输入数据,地址和命令。键盘按其结构可分为编码式键盘和非编码式键盘两大类。本实验采用的事非编码式键盘设计。采用线反转法进行键盘的识别,用延时程序来消除键的抖动。线反转法可以可到防止几个单触点开关同时按下对硬件的损害,起到保护作用。线反转法的工作原理如下:首先将行线作为输出线,列线作为输入线。先通过行线输出全”0”信号,读入列线的值。如果此时有某一个键被按下,则必然是某一列线值为“0”。然后将行线和列线的输入输

3、出关系互换,并且将刚才读到的列线值从列线所接的并行端口输出,再读取行线的输入值。那么在闭合键所在的行线值必定为0.这样,当1个键被按下时,必定可以读得唯一的行值和列值。需要说明的是,若用线反转法来确定闭合键时,如果遇到多个键闭合的情况,则输入的行值和列值中一定有1个以上的0.由于预先建立的键值代码表中不会有这样的值,因而可以判断为重建丢弃,由此可见,用这种方法可以很方便地解决重建问题。国内外的应用实例:译码器扩展输入方式目前在工业设备,汽车电子及仪器仪表中普遍使用以单片机为控制核心的控制器,在开发系统

4、中常常会由于MCU资源不足而不得不采用扩展键盘输入I/O来满足应用系统的需要,而出现这种情况的原因之一是键盘输入I/O口占用了太多的系统资源。扩充键盘输入通常采用以下两种方式:1~采用并行接口专用芯片8279,但8279所需外围元件多,占用电路板面积大综合成本较高;2~采用通用译码器与I/O口进行连接扩展,这种方式利用低成本的外围芯片,可以节省I/O口的资源,同时软件编程也比较容易实现。技术指标:扩展键盘的电源要求:直流+5伏扩展键盘的环境温度要求:-100~500摄氏度89C51芯片的工作温度:-4

5、0摄氏度~85摄氏度,针脚数:40技术指标:扩展键盘的电源要求:直流+5伏扩展键盘的环境温度要求:-100~500摄氏度89C51芯片的工作温度:-40摄氏度~85摄氏度,针脚数:40方案选择:总原理图:3*3键盘相当于九个单触点开关,三行线分别接入p7~p5,三列线分别接入p4~p2,采用线反转法接入。当有开关按下时,通过单片机载入的扫描程序扫描,确定触点的标号及对应的键特征值,然后通过特征值链接控制p1端口的输出从而用LED显示所按开关的标号。LED:共阳极LED数码管;晶振:频率为12MHz的晶

6、振一个采用采用+5伏的电源89C52单片机一个八路反向驱动集成块5个一千欧姆的电阻九个单触点开关具体设计:软件功能流程图:软件实现键位扫描、消除抖动、键码转换、键码发送等功能。另外软件也实现了换档、按键连发功能。软件功能流程图如图4所示。扫描子程序:KEYZ:LCALLKS2;JNZMK1;LJMPMK7;MK1:LCALLDIR;LCALLDIR;LCALLKS2;JNZMK2;LJMPMK7;MK2:MOVP0,#1CH;MOVA,P0;ANLA,#1CH;CJNEA,#1CH,MK3;LJMPM

7、K7;MK3:MOVR2,A;ORLA,#E3H;MOVP0,AMOVA,P0ANLA,#0E0H;ADDA

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

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

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