欢迎来到天天文库
浏览记录
ID:37190342
大小:144.00 KB
页数:7页
时间:2019-05-19
《单片机与键盘设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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
此文档下载收益归作者所有