最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

4×4 键盘在LCD显示屏上的应用

来源:动视网 责编:小OO 时间:2025-09-26 05:29:02
文档

4×4 键盘在LCD显示屏上的应用

目录第1章研究背景及要求11.1背景11.2液晶显示模块的设计内容11.3液晶显示模块的介绍1第2章设计的方案及基本原理22.1软件设计22.24×4键盘的工作原理4第3章程序设计63.1程序流程图63.2程序代码7第4章调试结果及分析9第5章结论与体会10参考文献11第1章研究背景及要求1.1背景凌阳科技股份有限公司(Sunplus)是全球知名的消费性IC设计公司,为回馈教育,改善大专院校单片机教学条件,特推出具有长期战略意义的凌阳科技大学计划。本实验箱是凌阳公司为支持大学计划以凌阳16位单
推荐度:
导读目录第1章研究背景及要求11.1背景11.2液晶显示模块的设计内容11.3液晶显示模块的介绍1第2章设计的方案及基本原理22.1软件设计22.24×4键盘的工作原理4第3章程序设计63.1程序流程图63.2程序代码7第4章调试结果及分析9第5章结论与体会10参考文献11第1章研究背景及要求1.1背景凌阳科技股份有限公司(Sunplus)是全球知名的消费性IC设计公司,为回馈教育,改善大专院校单片机教学条件,特推出具有长期战略意义的凌阳科技大学计划。本实验箱是凌阳公司为支持大学计划以凌阳16位单
目录

第1章 研究背景及要求    1

1.1背景    1

1.2液晶显示模块的设计内容    1

1.3液晶显示模块的介绍    1

第2章 设计的方案及基本原理    2

2.1软件设计    2

2.2 4×4 键盘的工作原理    4

第3章程序设计    6

3.1程序流程图    6

3.2 程序代码    7

第4章 调试结果及分析    9

第5章 结论与体会    10

参考文献    11

第1章 研究背景及要求

1.1背景

凌阳科技股份有限公司(Sunplus)是全球知名的消费性IC 设计公司,为回馈教育,改善大专院校单片机教学条件,特推出具有长期战略意义的凌阳科技大学计划。本实验箱是凌阳公司为支持大学计划以凌阳 16 位单片机 SPCE061A 为核心开发出来的实验教学系统,此实验箱以操作方便、易学易用、功能强大等特点受到广大在校师生以及业界用户的欢迎。

凌阳十六位单片机(SPCE061A)实验箱是集单片机应用技术、在线调试、在线仿真等功能于一体的强大开发系统,SPCE061A 及其系列产品将带领 MCU  的应用迈入片上系统(SOC)时代,使在体验凌阳音频的欢快愉悦中轻松步入单片机及其嵌入式系统的流行领域。

1.2液晶显示模块的设计内容

本次设计的液晶显示界面是用于类似手机的界面,通过进行这次课程应用设计,了解当今先进科技——液晶显示的基本原理和实现方法以及所用的液晶显示模块的原理、组成、设计方法等内容。

本次设计主要实现的任务是在液晶屏上显示各种字符、数字、汉字、图形,以及通过采样模块采集电压数据,并实现将采样到的电压变化的动态曲线显示在液晶屏上等。

硬件部分主要包括液晶模块、键盘、单片机、采集模块、串口通信

1.3液晶显示模块的介绍

液晶显示模块具有显示数字、字母、汉字和图形符号的能力,它是由点阵字符液晶显示器件和专用的行、列驱动器、控制器及必要的连接件,结构件装配而成。这种点阵字符模块本身具有字符发生器,显示容量大,功能丰富。功耗小,另外由于自带扫描驱动,内部另有显示数据寄存器及控制和状态寄存器,使得与单片机的接口比较方便,因此图形显示模块在一些低功耗(特别是电池供电的场合)和人机界面友好的智能设备中应用广泛。

第2章 设计的方案及基本原理

2.1软件设计

1.显示初始化

在显示之前,应先调用该模块,实现对屏幕的初始化,并设置文本和图形缓冲区的起始地址。其流程图如下:

图2-1流程图

2.汉字的显示

液晶屏幕横向为240点,分成30个字节,纵向为128行。对16×16点阵的汉字,需占用32个字节,每行可显示15个汉字,共8行。

3.键盘的控制

键操作流程如图3-2所示,由于程序中会有数码管显示程序,所以本实验在中断中扫描键盘。 即键盘程序包括两个部分:中断扫描程序和获取键值程序。在以前1×8键盘的键盘程序里讲过,键盘程序里要有消抖操作,为了消除抖动,首先做如下定义:1.按键时间小于30ms(ScanCnt<4),认为没有键按下;2.按键时间大于30ms小于05s(4先判断是否有键按下,如果没有键按下,则认为是键抬起状态,把键抬起标志置 1 后返回;如果有键按下,按行扫描,先扫描第一行,如果键码为0;再扫描第二行,如果键码为0,再扫描第三行,依次扫描到第四行,如果键码为0,则认为是键抬起状态,置贱抬起标志;如果键码不为0,比较键码和上次扫描到的键码是否相同,如果不同,保存新的键值,扫描计数器置 1;如果相同,扫描计数器加一,返回。上面介绍的是键扫描程序,扫描得到的键码不一定是最终的键盘,因为前面提过,要进行消抖处理。图 3-4是消抖和取键值程序流程,取扫描计数器值;根据前面的定义,如果按键时间小于30ms,即判断扫描计数器值是否小于4(1/128*4s=31.25ms),如果小于4,键值为0;如果大于4, 根据前面定义,判断按键时间是否大于0.5s,即判断扫描计数器值是否大于                        (1/128*s=0.5s),如果小于 ,判断键是否抬起,没有抬起则键值为 0;抬起时保存键值,把计数器全部清零;返回键值。

4.菜单的选择

菜单的选择主要是通过键盘控制光标来进行选择

5.数据的采集

键盘/液晶显示器与单片机的接口电路设计。

人机对话功能,在绝大多数的单片机应用系统中是必不可少的,它起着沟通操作者与系统之间的联系的重要作用。包括人对应用系统的状态干预与数据输入以及应用系统向人报告运行状态与运行结果。而人机对话功能模块的最基本组成就是键盘、显示器两部分。因此,设计一种将键盘、显示两部分融为一体的相对的人机对话功能模块很有必要。对它的设计,在一定程度上影响着系统的智能化程度和操作的直观性。

本次设计采用了4×4键盘,与单片机的P0口相连,利用键盘实现对液晶屏幕显示的控制。这16个键分别实现的功能表示为:0-9十个数字键、返回、确认、向上、向下、左移、右移等键。

键盘主要作用有:

1、通过方向键(向上/向下)来控制光标进行菜单选择

2、在本次设计中,方向键(左移/右移)实现的功能为调节采集速度

3、1-8这八个数据键用来确定显示八路采集波形曲线中的一路

4、返回、确定键就是实现返回与确定功能

图2-2 设计原理图

4×4 键盘,能满足按键显示的基础实验,以及电子钟之类的相关兴趣实验。4×4 键盘矩阵电路为行列式键盘,在其旁边的 8 对排针中7~4控制列扫描,3~0控制行扫描。如果选用默认连接,可以用跳线将其短接;另外也可通过排线按需要进行连接。

2.2 4×4 键盘的工作原理

在一般应用中,键盘按其接线方法有:直接式键盘、行列式键盘 (又称矩阵键盘)、串转并键盘等;在实验箱中,采用4 ×4的行列式键盘,即键盘排列为4行、4列,共16个按键。基本的扫描原理是:先使行扫描线输出高电平,然后读取列扫描线的状态,得到与按键横向位置对应的4位列码;如果是有键被按下时,则对应的列扫描线必然会被读回高电平,如果是无键盘按下时,则读取的列码必定全是0。这也就可以判断有无按键的按下了。一旦检测到有键按下时,还需要有一个延时的消除抖动的操作,以消除按键时带有的抖动信号;一般延时在15ms左右即可。延时后,如还能检测到有按键按下,则可确定当前是有键按下,可进入获取键值的操作。获取键值时,采用行列依次扫描的方法。首先使第一行扫描线输出高电平,其它的行扫描线输出低电平,然后读取列扫描线的状态,得到列码;如果本行无键按下,则得到的列码为全0,并扫描下一行;如本行有键按下,则会读取到对应的列码值,并退出扫描,进行键值计算。当第一行扫描没有检测到按键时,则扫描下一行,即使第二行扫描线输出高电平,其它行扫描线输出低电平,其 它与前面所述类似。在行列扫描时,可以用一个变量记录下当前扫描的行号,在计算键值时,可以利用此行号以及列码得知是哪一行、哪一列上的按键按下了。

数码管显示时,比如第一次按数字键“1”时,SPCE061A控制在最右边的数码管上显示“1”,第二次按数字键“4”时,把“1”显示在第5个数码管上,再在最右边的数码管上显示“4”,依次类推,这样在视觉上来看,就是把原来显示的数字向左移一位,再把数字键代表的数字显示在最右边的数码管上。当数码管上已经显示“145”时,第一次按删除键时,数码管上显示的数字右移一位,在最左边的数码管上显示“0”,即“1”显示在从右边数第二个数码管, “4”显示在最右边的数码管;第二次按删除键时,数码管上显示的数字再右移一位,在最左边的数码管上显示“0”,即除“1”显示在最右边的数码管,其他数码管都显示“0”,依次类推,这样在视觉上来看,就是删除最右边显示的数字,把其他数字右移一位。

第3章程序设计

3.1程序流程图

图3-1程序流程图

图3-2数据采集

3.2 程序代码

#include "SPCE061A.h"

#include "1602LCD.h"

const unsigned int Text[]="Welcome!";

const unsigned int NumChar[16]="01234567abcd+s";

unsigned int key;

int main (void)

init_LCD(); //初始化LCD

clear_LCD(); 

gotoxy(0,0); 

display_LCD_string(Text);

delay(100);

clear_LCD();

while(1)

while(keyscan()==0xff);

if(num<16)

gotoxy(num,0);

else

gotoxy((num-16),1);

write_LCD_data(NumChar[key]);

num++;

}

}

第4章 调试结果及分析

第5章 结论与体会

设计中我遇到了按键分辨的问题。我采用的解决方法是自己在纸上记下自己定义的功能。此次设计的优点是程序简单,不过缺点是操作繁琐。很难理清按键顺序。我建议能够简化操作步骤,使电路图连接更清晰。操作起来能够得心应手。

课程设计终于结束了,最初的目的是想学到一些对将来就业很有实质性帮助的东西。结果还算可以接受,虽然说与预期的有不少出入,但锻炼自己这个主要目标算是达成了。通过这次课程设计,我对如何完成一项实际的计划有了进一步的认识,对如何加强自己的合作能力有了更进一步的思考。通过这次课程设计,我想下学期的毕业设计会少点困难,以后在工作中也能够有更多的经验好借鉴。在这段日子里,我实践、思考、反思、总结,所得收获都已经成为大学生涯中的宝贵财富。或许大学生活中的片断随着岁月的流逝难免被遗忘,但是这段课程设计的日子相信仍会是记忆深刻,它作为我们走向社会的第一步,承载了即将面对现实和挑战的心情,必将难忘。

参考文献

[1]于忠达.Delphi7程序设计基础教程[M].北京:人民邮电出版社,2004.

[2]王达峰.基于C51的汉字/数字混合液晶显示及更新[J].2002.12

[3]李宏.液晶显示器件应用技术[M]. 北京:机械工业出版社,2004

[4]张毅刚.MCS-51单片机应用设计[M].哈尔滨工业大学出版社,2002

[5]林雪明.点阵式液晶显示系统图文界面的设计[J].2000.12

文档

4×4 键盘在LCD显示屏上的应用

目录第1章研究背景及要求11.1背景11.2液晶显示模块的设计内容11.3液晶显示模块的介绍1第2章设计的方案及基本原理22.1软件设计22.24×4键盘的工作原理4第3章程序设计63.1程序流程图63.2程序代码7第4章调试结果及分析9第5章结论与体会10参考文献11第1章研究背景及要求1.1背景凌阳科技股份有限公司(Sunplus)是全球知名的消费性IC设计公司,为回馈教育,改善大专院校单片机教学条件,特推出具有长期战略意义的凌阳科技大学计划。本实验箱是凌阳公司为支持大学计划以凌阳16位单
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top