当前位置:首页 > 单片机 > 单片机
[导读]1引言在嵌入式计算机系统设计中,经常要考虑键盘显示装置的设置问题。尽管有多种方案可以满足键盘显示的要求,但是这些方案都各有其优缺点,比如采用专用的键盘显示器管理芯片8279,在系统的按键及显示器位数较多时是

1引言

在嵌入式计算机系统设计中,经常要考虑键盘显示装置的设置问题。尽管有多种方案可以满足键盘显示的要求,但是这些方案都各有其优缺点,比如采用专用的键盘显示器管理芯片8279,在系统的按键及显示器位数较多时是一种好的方案,但目前键盘的设置趋于简单化(即采用一键多用方式或利用增加键和减少键来取代数字键等),因此,一般系统按键不多,其显示器的位数一般也不超过8位。这样,采用 8279由于需要较多的外围电路器件,因此显得不是很方便了。而14499是显示器管理芯片,它虽然可以管理四位显示器,但它没有按键管理功能。此外, PS7219是高性能的多位LED显示驱动器,可管理8位显示器,并有很强的显示管理功能,如位闪、复位等功能,但其售价较高,且不能独立管理键盘。鉴于上述几个芯片的情况,笔者用89C2051单片机设计了织机监测器键盘显示装置来对织机生产数据进行处理与显示。以下详细描述为该织机监测器设计的键盘显示装置。

2硬件电路设计

键盘显示装置主要由89C2051单片机、译码驱动器、按键、LED显示器组成,其原理电路如图1所示。

2.1 89C2051单片机

89C51单片机P1口的每个引脚都有20mA的吸电流能力,该电流足以驱动共阴极LED显示器的段片选端,因此可将P1口作为LED的段选线,P3.3、P3.4、P3.5经译码驱动后作LED的位选线,同时也可作为键盘的扫描线,另外,键盘的回馈线接INT0引脚。由于扫位选线(扫描线)为低电平有效,当有键按下时,回馈线INT0端将产生低电平信号以申请中断,从而使其在中断程序中判别键值并执行键处理程序;RXD、TXD引脚与监测器单片机的串行通信线相连。通过它们可在接收到按键命令后向监测器发送键盘命令,或在接收到监测器发送的数据后,将数据送入显示缓冲区。

2.2按键设置

这种键盘显示系统所需要设置的八个按键分别是:
  (1)打纬数据键:该键压合时可用于显示当前打纬数(六位)。
  (2)加时打纬数键:该键压合可用于显示当前的加时打纬数据(六位)。
  (3)断纬次数键:该键压合以显示当前断纬数及断纬时间,该数据亦为六位,其中前三位是断纬数据,后三位是断纬时间。
  (4)断经次数键:该键压合显示当前断经数及断经时间,该数据为六位,其中前三位是断经数,后三位是断经时间。
  (5)断边次数键:该键压合显示当前断边数及断边时间,共六位。前三位是断边数,后三位是断边时间。
  (6)停车次数键:该键压合显示当前的停车时间,该数据共六位。前三位是停车数,后三位是停车时间。
  (7)查日历键:该键压合可显示当前时间“年、月、日、时、分、秒”,分两屏显示,第一屏是年、月、日,显示2秒;第二屏是时、分、秒,各占两个显示位,显示2秒。
  (8)初始化键:可用于对机台的串行EEPROM进行初始化,同时显示本机台的ID号。

2.3 LED显示器

LED显示电路用了8个LED显示器,其中1位是显示标志,1位是标志与数据间的分隔符,其余六 位用来显示数字。 

2.4译码驱动电路

译码驱动电路输入端与89C2051的引脚P3.3、P3.4和P3.5相连,其8个输出端可作LED的位选信号(同时也是键盘的扫描信号)。

3应用软件设计

该键盘显示装置的主要程序是LED显示程序、键盘扫描程序和键值处理程序。各显示器的显示时间可调整定时器T0的定时值来设定。在T0中断程序中,可通过判断显示标志的状态来决定向哪个LED发送数据、更改位选线或更新显示标志。程序中设有2EH和2FH两个显示标志单元;其中2EH为下一次显示标志单元,该单元中有下一次应选中哪一位LED的信息;2FH为当前显示标志单元,该单元中存有当前是哪个LED被选中的信息,如在T0中断中判知2EH的值为#80H,则表明这次应选中的是最左边的LED,而下一次应选中的是最左边的第二个LED。因此,通常设定2EH中的值为#40H,2FH中的值为#80H,以表明当前显示的是最左边的LED。下面是在T0中断程序中判定应使哪个LED位选线有效的程序段,其中标号为Y1~Y8的程序是各LED的显示处理程序。

 

由于LED位选信号就是键盘的扫描线,因此在有按键按下并产生INT0中断时,便可在INT0中断程序中通过判定2FH中的位状态来确定是哪一个键被压合,从而转去执行键程序,以在键处理程序中向监测器发送取数命令。

4注意事项

在该键盘显示装置的设计中,通常需要注意以下几点:

(1)如与监测器之间的连线较长,最好采用屏蔽线作为与监测器之间的通信线。

(2)外中断INT0应设定为下跳沿触发中断方式,这样,在有键压合时,ITN0引脚从高电平跳变为低电平时只产生一次中断。

(3)INT0引脚与地之间必需接0.1μF左右的小电容,用来抑制按键压合时产生的干扰。

(4)对于用89C2051单片机设计的键盘LED显示装置来说,其系统最多可设置16个LED显示器和16个按键。

利用本文所介绍的方法设计的键盘显示装置具有电路简单实用、价钱便宜、按键显示器设置灵活、抗干扰能力强等优点,因此,可与各类控制器配套使用。

参考文献
1.MCS-51系列单片机应用系统设计.北京:航空 航天大学出版社,2000:p157~18
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

采用51单片机最小开发板,由8位自制独立按键控制。单片机芯片为STC89C52RC,晶振为@12.000 mhz。8X8LED点阵屏模块由MAX7219驱动,MAX7219包含一个自动扫描电路。你只需要把要显示的数据发送...

关键字: 51单片机 MAX7219 寄存器

大家好,欢迎回来。在这个项目中,我们将学习如何使用键盘和LCD显示制作一个安全的基于Arduino的门锁。你可以用它来保护你的办公室、房间或家里的保险箱。要锁门和开锁,你需要在安全系统中输入密码。这确保了只有经过授权的人...

关键字: 键盘 LCD Arduino 电子门锁

在嵌入式系统开发的广阔领域,51单片机和STM32无疑是两种极具代表性的微控制器。对于初学者而言,选择学习路径时往往会面临一个抉择:是直接跨越51单片机,挑战更高层次的STM32,还是从51开始,逐步进阶?本文旨在探讨直...

关键字: 51单片机 STM32

在嵌入式系统开发中,特别是在使用8051系列单片机(简称C51)进行编程时,数据类型的选择与定义对程序的性能和可读性至关重要。C51语言在标准C语言的基础上进行了扩展,以适应单片机特有的硬件结构和操作需求。本文将深入探讨...

关键字: C51数据 51单片机

在嵌入式系统领域,51单片机作为一种经典的微控制器,广泛应用于各种自动化控制系统中。其外部引脚作为单片机与外界交互的接口,承载着数据传输、控制信号输出等重要功能。本文将通过对51单片机外部引脚的案例分析,结合实际代码,深...

关键字: 51单片机 单片机

在电子技术的浩瀚星空中,LED(发光二极管)以其独特的魅力成为了一颗璀璨的明星。而结合51单片机这一经典的嵌入式开发平台,LED的应用更是被赋予了无限可能,其中,花样流水灯便是一个生动而富有创意的实例。本文将带您深入探索...

关键字: 51单片机 LED

在现代嵌入式系统设计中,51单片机作为一种经典的微控制器,凭借其丰富的功能和广泛的应用领域,仍然受到工程师们的青睐。定时器中断是51单片机中一个非常实用的功能,它可以在特定的时间间隔内自动触发中断,执行预设的操作,从而提...

关键字: 51单片机 定时器

随着电脑科技的飞速发展,作为电脑输入设备的重要组成部分,键盘的种类和功能也在不断演变。其中,机械键盘以其出色的手感、长久的使用寿命和高度个性化的特点,深受众多电脑用户的喜爱。而机械键盘的核心——键盘轴,更是决定键盘使用体...

关键字: 电脑 键盘 机械

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU
关闭