第一范文网 - 专业文章范例文档资料分享平台

基于51单片机的扩展键盘毕业设计

来源:用户分享 时间:2025/6/29 5:48:59 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第 1 页 共 30 页

1 系统设计

1.1 设计要求

(1)扩展键盘键位编码符合显示分系统的约定。

(2)扩展键盘与显示处理机通讯通过其异步串行接口来完成,波特率为9600 b/s (3)扩展键盘与显示处理机通讯的接口电平为RS232C标准。

(4)利用89C52的片内E2PROM作为程序存贮器,避免外扩存贮器占用单片机的输入/输出口资源,利用P3口的第二功能完成异步串行通讯功能,用一片ICL232CPE作为接口电平转换芯片,实现键盘的全部硬件逻辑功能。 1.2 系统框图

图1-2是单片机系统中键盘系统的构成原理框图,列出了基于单片机的串行键盘系统框图,它主要由3个部分组成,他们分别是:串行接口模块、按键模块、单片机。串行键盘上的数据通过单片机锁存译码,处理好的数据通过串行接口与PC机相连,并在电脑上显示相应的数据。其中键盘接口芯片STC89C52是该子系统的核心部分,它应具备如下功能:第一,产生按键扫描时序,并进行软件去抖动。如果有按键按下,实现按键编码等功能。第二,可以区分处理数字键和功能键。对多个按键同时按下,按一定的编码优先级处理。第三,通过MAX232连接STC89C52芯片和计算机的串行通信口,计算机把程序从九针串口送到MAX232芯片,电平转换后送仅单片机串行口,单片机串行模块把数据送到程序区。

图1-2单片机框图

晶振 键盘 STC89C52 单片机 锁存 译码 PC 串行接口RS2-32 2 方案论证

2.1 单片机及外围电路 2.1.1单片机的选择

方案1:采用74LS244芯片

20个引脚的74LS244芯片带三态输出的8位锁存器,有8个输入端D1—D8及8个输出端Q1—Q8。用74LS244芯片可配合键盘使用,但是I/O口较少,无法实现更多按键的电路。

1

第 2 页 共 30 页

方案2:使用8279芯片

40个引脚的8279芯片是由Intel于80年代首先推出的,参考资料较多,应用比较成熟。8279是一种通用的可编程键盘器件。其键盘部分提供一种扫描的工作方式,可以和具有64个触点的键控制阵列相连。其缺点是:元器件多,面积大,电路复杂,综合成本较高。

方案3:使用STC89C52芯片

40个引脚的STC89C52有高可靠性,超低价,低功耗等特点,需要额外的时钟电路,外接按键扫描需要下拉电阻。使用STC89C52芯片在系统中可编程,无需仿真,使用起来很方便。

考虑到成本和电路的简便程度,本设计采用的是STC89C52芯片进行设计。STC89C52芯片是我们熟悉的芯片,对其性能、引脚、电路的接法等在学习的过程中也有一定的了解,所以,选择STC89C52芯片在制作过程中也不会有太大的困难。 2.1.2键盘

键盘是微型计算机系统中最常用的人机对话输入设备。在单片机应用系统中为了控制系统的工作状态,以及向系统输入数据,应用系统设有按键或键盘。在计算机系统中,键盘有两种基本类型:编码键盘和非编码键盘。编码键盘本身除了按键以外,还包括产生编码的硬件电路,使用虽然方便,但价格较高,在一般单片机应用系统中很少采用。非编码键盘靠软件来识别键盘上的闭合键,由此得出键码,在单片机应用系统中普遍采用。

键盘分为独立式键盘接口电路和矩阵式键盘接口电路两种方式。 方案1:独立式键盘

独立式键盘就是一个按键对应一个端口输入,没一个按键都有一个按键电路来区分其是否有键按下。它们可以直接与单片机I/O线相接或通过输入口与数据线相接,结构简单。这些测试线相互独立无编码关系,因而键盘软件不存在译码问题,一旦坚持到某测试线上有键闭合,便可直接转入到相应的键功能处理程序进行处理。

方案2:矩阵式键盘

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,也就是常说的行列键盘-。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4= 16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的 I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被

2

第 3 页 共 30 页

拉低,这样,通过读入输入线的状态就可得知是否有键按下了。因此,本设计采用的是矩阵式键盘。 2.1.3按键消抖

键盘按键一般采用触点式按键开关,按键本身是机械开关,当按键背按下或释放时,按键触点的弹性会产生一种抖动现象。即当按键按下时,触点不会迅速可靠地接通;当按键释放时,触点也不会立即断开,而是要经过一段时间的抖动才能稳定下来。抖动时间视按键材料的不同一般在5~10ms之间。

按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。按键的抖动有硬件或软件两种方案。

方案1:硬件电路消除法

硬件消抖可利用RS触发器来吸收按键的抖动,其硬件电路接法如下图。一旦有键按下时,触发器就立即翻转,触点的抖动便不会再对输出产生影响,按键释放时也是这样。如图2-1-3硬件电路:

方案2:软件延时法

常用软件方法去抖,即检测出键闭合后执行一个延时程序,产生5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。

本设计采用的是软件延时法。 2.2 波特率的选择

在异型机种的串行通讯中,当规定了传输速率后,MCS-51/52单片机系统中选取适

图2-1-3硬件电路

当的晶体振荡频率至关重要。他与串行接口的工作方式、电源控制寄存器PCON的SMOD位、定时器T1一起决定着通讯的成败。MCS-51/52单片机串行接口工作在方式0时,其

3

第 4 页 共 30 页

波特率固定不变,其大小为:晶振频率/12。此方式为同步方式;工作在方式2时为异步方式,其波率为2SMOD/64晶振频率:①SMOD=0时,波特率为:晶振频率/64;②当SMOD=1时,波特率为:晶振频率/32;串行接口工作方式为1,3时为异步方式且其波特率是可变的,除了与SMOD位的取值有关外,主要取决于定时器1的溢出率。波特率可由下式确定: 定时器1溢出率=定时器1的计数速率/(256-X) 而定时器1的溢出率又由计数速率和定时时间预置数X决定,即:

定时器1溢出率=定时器1的计数速率/(256-X)

此时T1工作方式2,即8位自动装载方式。这种方式可以避免通过中断服务程序来重新装入初值,所得波特率也比较精确。式中X即为在TH1和TL1中装入的初始计数值。定时器1的计数速率与定时器工作方式的选择有关。当选定T1为定时工作方式时,其计数输入脉冲为内部时钟信号,即每个机器周期使寄存器值加1。而每个机器周期为12个振荡周期,故计数速率为晶振频率的1/12。因此:

波特率={2SMOD/32}*(晶振频率/12)*{1/(256-X)} =(2SMOD*晶振频率)/[32*12*(256-X)]

由于本扩展键盘与显示处理机的串行通讯为异步方式,所以设置他的串行接口的工作方式为方式1,定时器1的工作方式为方式2。再根据波特率要求(9 600 b/s)求他的预置值。若系统晶体的振荡频率12 MHz时,当SMOD选为1时,TH1,TL1的初值计算如下:

波特率=2*12*104/{32*12*(256-x)}=9600b/s

解上式可得:X1=250(FAH)或X2=249(F9H)将X置入TH1,TL1时,波特率发生器产生的实际的传为:

波特率1=2*12*104/{32*12*(256-250)}=10416.67b/s 波特率误差1=(9600-10416.67)/9600=-8.5%

或 波特率2=8 928.57 b/s,波特率误差2=7%无论置入哪个数,PC机与单片机之间均无法完成正常的通讯。

通过上面的公式,我们要得到9600 的波特率,晶振为11.0592M 和12M,定时器1 为模式2,SMOD 设为1,分别看看那所要求的TH1 为何值。代入公式: 11.0592M

9600=(2÷32)×((11.0592M/12)/(256-TH1)) TH1=250 12M

9600=(2÷32)×((12M/12)/(256-TH1)) TH1≈249.49

上面的计算可以看出使用12M 晶体的时候计算出来的TH1 不为整数,而TH1 的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600 波特率。若采用11.059 2 MHz晶振,按照上面公式计算出X=250 FAH,实际的传输速率为9 599.83 b/s,其误差为0.001 77%,PC机与单片机的通讯可正常进行。另外,SMOD位的选择有

4

搜索更多关于: 基于51单片机的扩展键盘毕业设计 的文档
基于51单片机的扩展键盘毕业设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8dx6l0gh9k6m3qp9y5my_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top