基于单片机的电脑弹簧机按键板的设计与实现

发布者:创意旅程最新更新时间:2012-02-02 来源: 微计算机信息 关键字:按键板  PS2  AT89S51  电脑弹簧机 手机看文章 扫描二维码
随时随地手机看文章

引言

电脑弹簧机是用来生产弹簧的专用设备。按键板,作为一个人机交互的操作界面,起着输入操作命令,编辑弹簧加工程序及修改数据的功能,对电脑弹簧机的操作控制起着重要作用。在实际应用中,为方便操作,需要将按键板的按键汉字化和直接化,这使得使用标准的PC键盘不太可能,所以开发一块便宜且通用的按键板就很有现实意义。在PC机中,键盘和主机的通信采用的是PS/2协议。由于电脑弹簧机的控制器是一个标准的工控PC机控制器,具有标准的键盘接口,为了使设计简单和通用,在这里使用这个标准的键盘接口,并采用PS/2协议来进行按键板和弹簧机的通信,设计时选用单片机AT89S51作为按键板的处理芯片进行按键的识别和数据的接收和发送。本文介绍的是设计并实现这个按键板的详细方法。

一. 按键设计

按键板采用薄膜面板开关形式,薄膜面板开关设计简单,操作方便,安放容易,直接贴在一表面就可使用,加上其防水防尘的性能,很适合工业控制的应用场合。对一个弹簧机的按键板来说,其按键包括三类:数字键,功能键和编辑键。数字键实现的是数字的输入;功能键对应的是弹簧机的操作命令;编辑键用于对弹簧加工程序的编辑,如清除、保存等。一个设计合理的按键布局,与操作的方便性与可靠性直接关联,对于具体各个键的布置,应综合考虑操作的方便和布局的美观,该设计完成后的7行×8列的按键布局图见下:

图1 按键布局图

薄膜面板下面的行列阵电路采用单面柔性电路板(FPC)制作,电路起凸的形式保证了按键时的手感。它输出的是键盘行列阵的行线和列线。

二.按键板的软硬件设计

无论是按键板的硬件设计还是软件设计,都必定会涉及到按键板和主机的通信协议。所以在进入到软硬件设计之前,先对PS/2协议做一简单介绍。

1. PS/2协议

PS/2协议是外设与主机之间通信的一种同步双串行协议。在协议中主机端拥有较高的优先级,在一定条件下它可中止外设正在进行的发送过程。该协议采用的短帧格式传送数据的数据帧格式为:1位起始位(0),8位数据位,一位奇校验位,一位停止位(1)。数据发送时低位在前,高位在后。外设每收到主机发来的一帧数据,都要紧随该帧的停止位发送一个握手位ACK(0)应答主机,然后外设还要发1帧应答数据(0xF0),表明已完整地接收到了主机的命令;而主机在接收外设数据后不用发握手信号ACK,也不需要另外发送应答帧。无论是主机发还是外设发数据,同步时钟都是由外设产生的。

按照接收方和发送方的不同,该协议可分为两部分,其一为外设发送主机接收的通信,这一过程发生在工作人员操作外设或外设应答主机端发来的命令时,数据线和时钟线处于空闲状态下维持高电平状态;其二为主机发送外设接收的通信,该过程发生在主机上电自检时,主机发送测试信号检测外设是否存在并判断是何种类型的外设时。这个上电检测对外设来说很重要,其中一个检测项目为基本保证测试(Basic Assure Test),当主机发送该命令到外设时,外设必须回送相应的应答帧,否则主机就认为该外设的开机自检没能通过,在DOS以上的系统中,外设将无法使用。主机上电自检时,发送给外设的数据是一个命令集,针对每个命令,外设都要作出相应的响应,这些响应字也都是协议所规定好的,具体可参见文献[1]。

2. 硬件设计

在这里采用AT89S51作为按键板的主处理芯片。AT89S51是一个低功耗、高性能的8位CMOS单片机,有32个I/O口可供使用,能满足行列扫描口较多时的要求,并具有软件看门狗。

与前面的按键布局相对应,采用7×8的矩阵行列结构。行线用89S51的P2口,列线用P0口,由于P0口无内部上拉电阻,因而列线须外接上拉电阻。AT89S51的电源都由主机的PS/2接口提供,采用频率为12MHz外部晶振。用P3.6和P3.7作为数据线和时钟线和主机进行通信,完成后的硬件原理示意图如图二所示。

图2 硬件原理示意图

按键板的行列阵示意图如图三所示,按键板的行列阵只需将其行线和列线分别引出接到图二所示的行列线接口中即可。按键板和主机通过PS/2接口连接器相连,现在比较常用的PS/2接口连接器如图四所示。[page]

图3 按键板行列阵示意图                

 图4 PS/2接口连接器

3. 软件设计

软件的设计是按键板实现的关键,采用单片机C语言编程。它通过主程序和一系列的子程序来实现。主程序用于系统的初始化,子程序的调用。子程序包括接收主机命令子程序,发送数据子程序,接收数据子程序,行列扫描子程序以及发送键码子程序。

接收主机命令子程序用于面板接收主机的命令,并作出相应的响应,这在DOS以上的系统中很重要,否则主机不承认按键板的存在。发送数据子程序用于发送数据帧到主机,每一位数据的发送都是按PS/2协议的时序要求所编写的。接收数据子程序用于接收主机发来的数据帧,每一位数据的接收也是由时序规定的。行列扫描子程序作用是对按键板上键的识别,并将该键对应的码发送到按键缓冲区暂存起来。PS/2协议中,当一个键被按下或按住时就发送该键的通码 (MAKE),被释放时就发送断码(BREAK),每个按键都被分配了唯一的通码和断码(协议中统称为扫描码),这样主机通过扫描码就可识别按键的类别。在弹簧机的按键板中,因为面板中的键不全是标准的,对于那些自定义的键,可将该键与一标准键的扫描码对应起来,例如可将面板中的“启动”与标准键“A”对应,这样当“启动”被按下时,发送给主机的就是字母“A”的扫描码,通过重定义主机系统中的相关控制部分,就可实现启动弹簧机的功能。发送键码子程序用于发送按键缓冲区中的数据。而对于面板中的“锁键”,实现的是面板的锁死,在工控系统中,这个对于操作系统的可靠性是很有必要的,当该键按下时,则不发送缓冲区中的数据,同时清空缓冲区,多按一下则可解锁。为了防止死机现象的发生,在主程序的循环中加入软件看门狗。软件实现的流程图见下图:

图5 软件流程图

三.结论

本文介绍的电脑弹簧机按键板具有结构简单,设计灵活,安全可靠的特点,可在DOS及WINDOWS的系统中使用。作为一弹簧机的按键板,其已在实际中得到成功的应用。本设计也可广泛运用于以PC机为主机的控制系统中,可以根据实际需要,改变按键的阵列以及按键的功能,因而应用本设计可以实现丰富多彩的控制设备中所需的非标准的PC机键盘。

参考文献:

[1]  Adam Chapweske. PS/2技术参考. Roy Show 译. 2002

[2]  何立民. MCS-51系列单片机应用系统设计系统配置与接口技术[M]. 北京: 北京航空航天大学出版社. 1999.6

[3]  何立民.  单片机高级教程-应用与设计[M]. 北京:北京航空航天大学出版社. 2000.8

[4]  赵亮,候国锐. 单片机C语言编程与实例[M]. 北京:人民邮电出版社. 2003.9

关键字:按键板  PS2  AT89S51  电脑弹簧机 引用地址:基于单片机的电脑弹簧机按键板的设计与实现

上一篇:基于AT89C51控制的直流电动机双环调速系统
下一篇:基于单片机的楼宇直按可视对讲门铃系统的设计

推荐阅读最新更新时间:2024-03-16 12:52

基于单片机的数控直流稳压电源的设计与实现
1 引言   直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。传统的多 功能直流稳压电源功能简单、难控制、可靠性低、干扰大、精度低且体积大、复杂度高。普 通直流稳压电源品种很多.但均存在以下问题:输出电压是通过粗调(波段开关)及细调(电位器)来调节。这样,当输出电压需要精确输出,或需要在一个小范围内改变时(如 1.02~1.03V),困难就较大。另外,随着使用时间的增加,波段开关及电位器难免接触不良,对输出会有影响。常常通过硬件对过载进行限流或截流型保护,电路构成复杂,稳压精度也 不高。本文设计了一种以单片机为核心的智能化高精度简易直流电源,克服了传统直流电压 源的缺点,具有很高的应用价值。   2
[电源管理]
采用AT89S51的并行口P1接4×4矩阵键盘程序
1.实验任务 如图4.14.2所示,用AT89S51的并行口P1接4×4矩阵键盘,以P1.0-P1.3作输入线,以P1.4-P1.7作输出线;在数码管上显示每个按键的“0-F”序号。对应的按键的序号排列如图4.14.1所示   图4.14.1 2.硬件 电路 设计原理图   图4.14.2 3.系统板上硬件连线设计 (1. 把“单片机系统“区域中的P3.0-P3.7端口用8芯排线连接到“4X4行列式键盘”区域中的C1-C4 R1-R4端口上; (2. 把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任
[单片机]
采用<font color='red'>AT89S51</font>的并行口P1接4×4矩阵键盘程序
单片机AT89S51光栅系统在机床改造中的应用
一、光栅尺位移测量工作原理 光栅是由光源、透镜、标尺光栅(主光栅)、指示光栅(副光栅)和光电元件组成。当主光栅和副光栅呈一很小的θ角相对倾斜重叠放置时,造成两光栅尺上的线纹交叉。在光源的照射下,交叉点附近的小区域内黑线重叠形成明暗相间的莫尔条纹与光栅线纹几乎成垂直方向排列。当标尺光栅相对主光栅沿垂直刻线移动时,莫尔条纹跟随其移动。莫尔条纹的光强度近似呈正(余)弦曲线变化,经光电元件所感应的光电流变化规律近似为正(余)弦曲线。经放大器放大、整形电路整形,得到两路相差为90°的正弦波或方波,送入光栅数显表计数显示。 二、光栅数显系统的硬件介绍 处理采集信号芯片选用AT89S51,它支持ISP在线编程功能,内部具有两个16位的定时器
[单片机]
单片机<font color='red'>AT89S51</font>光栅系统在机床改造中的应用
MSP430学习笔记9-PS2键盘解码
PS2键盘解码的基本原理是通过外部中断读取键盘输出的串行信号,在根据扫描码进行查表解码。键盘发送往主机的信号总是在时钟的下降沿因此此中断是在下降沿触发,且时钟信号是由键盘给出,因此使用P1口中断(已经在初始化端口时设置)。发送的数据位11位,第一位是起始位,总为0,紧接是8个数据位,然后是奇校验位,最后是停止位总为1. 本程序只能对基本按键(即键被按下时产生三个字节的扫描码的按键)做出解码,包括所有的可显示字符键和Table,Back Space和Ente三个特殊功能键。基本按键的扫描码由三个字节组成,第1个字节为接通码,第2、3字节为断开码;其中第1字节和第3字节相同,中间字节为断开标志0xf0。例如:通码和断码是以
[单片机]
按键识别方法实验
按键识别方法之一 1. 实验任务 每按下一次开关SP1,计数值加1,通过AT89S51单片机的P1端口的P1.0到P1.3显示出其的二进制计数值。 2. 电路原理图 图4.8.1 3. 系统板上硬件连线 (1. 把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上; (2. 把“单片机系统”区域中的P1.0-P1.4端口用8芯排线连接到“八路发光二极管指示模块”区域中的“L1-L8”端口上;要求,P1.0连接到L1,P1.1连接到L2,P1.2连接到L3,P1.3连接到L4上。 4. 程序设计方法 (1. 其实,作为一个按键从没有按下到按下以及释放是一个完整的过程,也就是说,当我们按下一个按键时,总
[单片机]
按键识别方法实验
AT89C51与AT89S51单片机有什么区别
AT89S51 是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统供给高性价比的解决方案。 AT89S51具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌
[单片机]
AT89S51/52串口下载线制作过程
所谓IsP,即In System Preogrammerable在线系统可编程。也就是说,单片机可在系统应用板上进行编程,然后立即运行。 利用ISP在线编程的电路见附图。整个电路可用万用板搭建,利用PC机的串口进行数据通讯,单片机编程脚为⑥~⑨脚。由于AT89S51/52⑨脚是复位端,所以按图示接法,此板只能作为编程板用。若要使此板能运行,则⑨脚需加上 编程 和 运行 切换开关。在 运行 状态下,⑨脚需接常规RC复位电路。 编程 时,⑨脚改接到+5V供电端,将电压提升至编程所需的高电平。 此编程器若需稳定工作。可在MAX232和AT89S51之间加74HC244作驱动缓冲。但大多数情况下,附图所示电路均可满足要求。
[单片机]
自制简单实用的51单片机开发板
一、电路原理 电路如下图所示。89S52单片机的P0口外接8x1kΩ的上拉排阻与1602字符型液晶屏的数据线相连,P2.5、P2.6、P2.7与1602字符型液晶屏的三根控制线相连,组成系统的显示部分;P1口与16个按键开关相连,组成4×4行列式键盘;J4为RS232通信插座,一端接MAX232,一端通过串行通信电缆与电脑的串口相连,以实现单片机系统与电脑间的串行通信,单片机的串行通讯口P3.0、P3.1通过J1接至MAX232.J5、J6将单片机各管脚引出,以方便扩展使用;K17为复位开关,Dl、D2分别为复位和电源指示灯。 二、PCB制作及注意事项 PCB板如右图所示。黑线部分为底层,白线部分为顶层,覆铜部分为底层地。此
[单片机]
自制简单实用的51单片机开发板
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved