摘 要:提出了一种基于单片机的键盘和显示系统设计方案。详细阐述了系统硬件设计各模块接口电路和工作原理,介绍了LED点阵字符型液晶显示模块和键盘接口的软件设计,给出相应的程序设计流程图。在Proteus环境下仿真实现了各种字符的输入、字母大小写切换和显示等功能。
关键词:单片机;键盘;数码管
1 引言
随着电子技术的快速发展,自动化智能控制领域中单片机智能控制系统快速取代了由传统的分立元件或数字逻辑电路构成的控制系统。因此,这里提出一种基于单片机的键盘及LED显示系统设计解决方案。该系统设计具有电路设计简单、成本低、智能度高等特点,已成功应用于具体控制系统。
2 键盘设计
矩阵键盘又称行列式键盘,它是由四条I/O线作为行线,四条I/O线作为列线组成的键盘,行线和列线的每一个交叉点上设置一个按键。这样按键的个数就是4*4个。通过查资料明白这种键盘结构能够有效的提高单片机系统中的IO口的利用率。图1中为键盘与单片机的连接图。
在此设计中,当有键按下时,键扫描的工作过程如下:
(1)CPU先使列线P3.4线为低电平,其他的都为高电平,即P3.4所接的那一列为0状态,其他的列为1状态。
(2)CPU读入输入缓冲器的状态,以确定哪条行线为低电平,此时,若P3.0为0状态,则说明为0键按下;若P3.1为低电平,则说明1键按下;若P3.2为低电平,则为2键按下;若P3.3为低电平,则说明为3键按下。
(3)若输入缓冲器的状态全部为1状态,则继续使列线为低,其余列线为高。再读入输入缓冲器的状态,以确定那条行线为0状态,从而判断是哪个键压下。
(4)判断出哪个键按下之后,程序转入相应的程序,显示器上显示对应十六进制数。
图1 键盘和单片机连接图
3显示设计
显示器采用的是7SEG-COM-ANODE7段数码管。标号为0-7的接口分别对应的接单片机P0.0-P0.6。8号接口接电源。通过改变P0口输出的值来改变字型码。由键的组成以及电路的连接,判断是哪一行时,只要与0EH,0DH,0BH,7H想比较就可以得到所按下的键。它们对应的行线依次是P3.0,P3.1,P3.2,P3.3,然后再通过COUNT所赋的值处理后得到要显示的字型码。LED显示器由a,b,c,d,e,f,g,h七段构成,又为共阳显示器,0-F字型码依次为0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8,80H,90H,88H,83H,0C6H,
0A1H,86H,8EH。连接电路图如2所示,将程序导入则可以得到相应的结果。
图2数码管与单片机的连接图
4测试
采用PROTUES仿真软件进行测试过程如下:当按下F号键时,键盘开始扫描,首先判断的是P3.4口所接的这一列,可判断这一列没有键按下,然后再到P3.5所接的这一列,同样由程序可判断出这一列没有键按下,然后再到P3.6口,再次判断有无键按下,直到P3.7口,判断出这一列有键按下,再寻找是哪个键按下,由于F键按下,P3.7口这一列的电平都为低电平,由图1可知,P3.0-P3.3为行线,再逐一判断哪一行为低电平,判断出是哪个键按下之后,得到P3口的状态值后,得到P1口的输出值,就得到所显示的值F。
5 结论
单片机应用系统中,通常需要人机对话功能,能够随时发出各种控制命令和输入数据,报告应用系统的运行状态与结果。该系统设计能够方便实现对字符、数字的输入和显示。随着Proteus 软件版本升级,不断完善元件库,只要简单修改软件程序,系统就能实现各种字符的输入和显示。因此,本系统在各种控制系统中有着广阔的应用前景。
参考文献:
[1]曹巧媛,单片机原理及应用[M],北京:电子工业出版社,1997.7.
[2]张洪润,兰清华,单片机应用技术教程[M],北京:清华大学出版社,1997.11.
[3]李华,MCS-51系列单片机实用接口技术[M],北京航空航天大学出版社,1993.8.
[4]张俊谟,单片机中级教程[M].北京航空航天大学出版社,2006.10