当前位置:文档之家› 非编码键盘的扫描程序设计

非编码键盘的扫描程序设计

摘要 ------------------------------------------------------------------------------------------------------- 11设计方案 ------------------------------------------------------------------------------------------------ 21.1设计任务 ---------------------------------------------------------------------------------------- 2 1.2设计方案 ---------------------------------------------------------------------------------------- 22系统硬件设计------------------------------------------------------------------------------------------ 32.1最小应用系统 ------------------------------------------------------------------------------------ 3 2.28155扩展电路---------------------------------------------------------------------------------- 4 2.3矩阵键盘接口电路 ---------------------------------------------------------------------------- 6 2.4LCD1602接口电路----------------------------------------------------------------------------- 6 2.5主电路设计 --------------------------------------------------------------------------------------- 8 3系统软件设计------------------------------------------------------------------------------------------ 83.1主程序设计 --------------------------------------------------------------------------------------- 9 3.2延时程序设计----------------------------------------------------------------------------------- 9 3.3键盘扫描子程序设计 ------------------------------------------------------------------------ 103.4显示子程序设计------------------------------------------------------------------------------- 114 系统调试与结果 ---------------------------------------------------------------------------------- 134.1调试内容与问题解决----------------------------------------------------------------------- 13 4.2运行结果与分析 ----------------------------------------------------------------------------- 13 小结 ------------------------------------------------------------------------------------------------------- 15 参考文献 ------------------------------------------------------------------------------------------------ 16 附录 ------------------------------------------------------------------------------------------------------- 17摘要计算机控制技术是一门以电子技术、自动控制原理、计算机应用技术为基础,以计算机控制技术为核心,综合可编程控制技术、单片机技术、计算机网络技术,从而实现生产技术的精密化、生产设备的信息化、生产过程的自动化及机电控制系统的最佳化的专门学科。

企业对具备较强的计算机控制技术应用能力专门人才需求很大。

本文在proteus7.5软件上利用8155芯片来扩展8031单片机的I/O接口,在keil软件下采用C语言编程,生成.hex文件,可以仿真实现6*6矩阵键盘的按键识别和消除按键抖动,将识别到的按键更人性化的在lcd1602的液晶显示,主要由方案设计、硬件电路设计、系统软件设计和系统调试四部分组成。

关键词:8031单片机 8155芯片矩阵键盘 I/O口扩展 1602液晶非编码键盘的扫描程序设计1设计方案1.1 设计任务通过8155扩展8031微控制器I/O口组成6×6行列式键盘行列式键盘。

设计非编码键盘的扫描硬件系统,画出电路图;对键盘按键能够正确识别,去抖动;键盘扫描;撰写设计说明书。

1.2 设计方案首先,将用8155芯片扩展8031单片机的I/O口,然后需要检测6*6的矩阵键盘的12根导线可分别接在8155的PB0-PB6和PC口,LCD1602的8根数据线可接在8155的PA0口,控制线接在单片机的P2.0-P2.3,由于8155是可编程芯片,所以将的PA、PB和PC口依次设为输出、输出和输入,通过编写键盘扫描程序来识别按键并返回按键值,最后判断将识别到的按键值形象的显示在LCD1602液晶上。

主电路结构框图如图1-1所示。

图1-1 系统结构图2系统硬件设计2.1最小应用系统80C31单片机,它是8位高性能单片机。

属于标准的MCS-51的HCMOS产品。

它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,标准MCS-51单片机的体系结构和指令系统。

80C31内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

但80C31片内并无程序存储器,需外接ROM。

此外,80C31还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。

在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。

掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。

本次设计采用80C31的PDIP(40pin)封装形式,管脚图如图2-1所示。

图2-1 8031管脚图80c31单片机的40根管脚,若要单片机正常工作必须满足:1. 电源线2根Vcc:编程和正常操作时的电源电压,接+5V。

Vss:地电平。

2. 晶振:2根XTAL1:振荡器的反相放大器输入。

使用外部震荡器是必须接地。

XTAL2:振荡器的反相放大器输出和内部时钟发生器的输入。

当使用外部振荡器时用于输入外部振荡信号。

所以可以得到单片机的最小应用系统如图2-2所示。

图2-2 8031最小应用系统2.2 8155扩展电路8155芯片介绍关于Intel的8155/8156:是一多功能的可编程外围接口芯片,40脚双列直插封装,有A口、B口、C口和定时器/计数器低8位以及定时器/计数器高8位五个端口,另外8155内部还有一个命令/状态寄存器,所以8155内部共有6各端口。

对它们只需要使用即可实现编址,如表1-1所示。

8155的A口有输入和输出两种工作方式,B口也有输入和输出两种工作方式,而C口有输入方式(ALT1),输出方式(ALT2),A口控制端口方式(ALT3)以及A口和B口控制端口方式(ALT4)四种工作方式。

这些端口的工作方式是由8155内部的命令寄存器(命令字)来控制的。

命令字除了规定端口的工作方式还规定了定时器/计数器的工作方式。

命令字只能进行写操作。

其格式如图2-3所示。

图2-3 8155的命令字结合8031和8155的芯片结构和特点,可设计出如图2-4所示的扩展电路。

图2-4 8155扩展电路2.3 矩阵键盘接口电路编码键盘与单片机的接口单片机系统所用的键盘有编码键盘和非编码键盘两种。

非编码键盘是由一些按键排列成的一个行列矩阵。

按键的作用,只是简单地实现接点的接通和断开,但必须有一套相应的程序与之配合,才能产生出相应的键码。

非编码键盘几乎不需要附加什么硬件电路,目前,在微型计算机控制系统中使用比较普遍。

本次设计有一个6行×6列的非编码键盘,按行依次为1-36,键盘的行线接8155C口的六条线PB5~PB0,键盘的列线则接8155C口的6条线,而且在C口接下拉电阻。

如图2-5所示。

图2-5 矩阵键盘接口电路2.4 LCD1602接口电路LCD1602字符型液晶显示模块是一种专门用于可以显示16列*2行显示字母、数字、符号等点阵式LCD, 16*2等的模块。

其管脚介绍如下:第1脚:VSS为地电源。

第2脚:VDD接5V正电源。

第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。

图2-6 LCD1602接口电路第15脚:背光源正极。

第16脚:背光源负极。

相关主题