基于单片机89C51的异步串行接口键盘设计
出处:郁成军 韩振铎 马燕飞 发布于:2007-09-26 15:07:34
摘 要:介绍了计算机异步串行接口键盘的特殊设计要求和工作原理,结合开发过程,讨论分析了89C51芯片的结构、功能特点以及应用中需要注意的问题,并给出了计算机串行接口键盘的硬件原理图及软件流程图。
关键词:89C51单片机;异步串行接口;键盘设计;E2PROM
笔者结合工作实际,围绕单片机89C51设计了通用异步串行接口键盘作为显示分系统的扩展键盘。目的在于为显示分系统增加一种干预手段。实践表明:此键盘改善了系统的人机界面,提高了系统的处理效率。
1 设计要求与工作原理
1.1 设计要求
(1)扩展键盘键位编码符合显示分系统的约定。
(2)扩展键盘与显示处理机通讯通过其异步串行接口来完成,波特率为9600 b/s。
(3)扩展键盘与显示处理机通讯的接口电平为RS232C标准。
(4)波特率相对误差应小于2.5%。
(5)扩展键盘的电源要求:直流+5 V。
(6)扩展键盘的环境温度要求:-100~+500°C。
1.2 工作原理
扩展键盘工作原理如图1所示。扩展键盘通过异步串 行接口与显示处理机相连,与标准键盘一起,显示处理机便拥有2个键盘。2个键盘可同时向显示处理机发出干预命令。因此,显示分系统增加了一条输入干预命令的新途径,缩短了干预命令的输入时间,提高了人工干预的效率。
2 电路设计
扩展键盘由以下几部分组成:
①单片机89C51及时钟、复位电路。
②TTL电平到RS232C电平转换芯片ICL232CPE,此芯片只需直流+5 V电源。
③工作指示电路。
④键位阵列部分(8×13)。
3 89C51的结构与性能特点
89C51是MCS-51系列单片机的典型产品之一。
①4 kB可编程的E2PROM。
②面向控制的8 b CPU。
③128 B内部RAM数据存贮器。
④32 b双向输入/输出线。
⑤1个全双工的串行口。
⑥2个16 b定时器/计数器。
⑦5个中断源,2个中断优先级。⑧时钟发生器。
⑨可以寻址64 kB的程序存贮器和64 kB的外部数据存贮器。
该键盘利用了89C51的片内E2PROM作为程序存贮器,避免外扩存贮器占用单片机的输入/输出口资源;利用P3口的第二功能完成异步串行通讯功能;用一片ICL232CPE作为接口电平转换芯片,便实现了键盘的全部硬件逻辑。硬件少,可靠性高。整个键盘采用+5 V直流电源;电路与键位阵列分离设计。本键盘还克服了以往键盘设计中键位少、不通用等缺点。
4 软件功能流程图
软件实现键位扫描、消除抖动、键码转换、键码发送等功能。另外软件也实现了换档、按键连发功能。
5 应用中应注意的问题
在异型机种的串行通讯中,当规定了传输速率后,MCS-51单片机系统中选取适当的晶体振荡频率至关重要。他与串行接口的工作方式、电源控制寄存器PCON的SMOD位、定时器T1一起决定着通讯的成败。MCS-51单 片机串行接口工作在方式0时,其波特率固定不变,其大小为:晶振频率/12。此方式为同步方式;工作在方式2时为异步方式,其波率为
晶振频率:①SMOD=0时,波特率为:晶振频率/64;②当SMOD=1时,波特率为:晶振频率/32;串行接口工作方式为1,3时为异步方式且其波特率是可变的,除了与SMOD位的取值有关外,主要取决于定时器1的溢出率。波特率可由下式确定:
而定时器1的溢出率又由计数速率和定时时间预置数X决定,即:

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

由于本扩展键盘与显示处理机的串行通讯为异步方式,所以设置他的串行接口的工作方式为方式1,定时器1的工作方式为方式2。
若采用11.059 2 MHz晶振,按照上面公式计算出X=250 FAH,实际的传输速率为9 599.83 b/s,其误差为0.001 77%,PC机与单片机的通讯可正常进行。
另外,SMOD位的选择有时也能影响波特率的误差。
因此在波特率设置时,对SMOD位的选取也需慎重考虑。
设计按键阵列时,应采用标准键盘的导电橡胶薄膜按键阵列,避免使用寿命短、常出现接触不良现象的老式键。
6 结语
此键盘功能设计还可进一步细化,如实现大写锁定、小键盘锁定等。由于键盘与主机通讯数据量不大,故未采用USB口与主机通讯。稍加修改,完全可以用USB口与主机通讯。若此键盘用于一些不采用串行通讯的系统中时,可直接用TTL电平相连,省掉ICL232CPE芯片,电路更简单,且P3口可采用并行输出。
参考文献:
[1]. 89C51 datasheet https://www.dzsc.com/datasheet/89C51_105386.html.
[2]. TTL datasheet https://www.dzsc.com/datasheet/TTL_1174409.html.
[3]. ICL232CPE datasheet https://www.dzsc.com/datasheet/ICL232CPE_398327.html.
[4]. MCS-51 datasheet https://www.dzsc.com/datasheet/MCS-51_477840.html.
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 什么是氢氧燃料电池,氢氧燃料电池的知识介绍2025/8/29 16:58:56
- SQL核心知识点总结2025/8/11 16:51:36
- 等电位端子箱是什么_等电位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重复控制的复合控制策略2025/7/29 16:58:24
- 什么是树莓派?一文快速了解树莓派基础知识2025/6/18 16:30:52









