首页 > kyapp官方网站

51单片机实现多级液晶显示中文菜单

时间: 2024-08-07 13:44:16 |   作者: kyapp官方网站

  目前小型的显示器主要有LCD和LED,LED显示器只能显示数字和有限个英文字符,不能显示汉字,显示内容不直观,操作人员只能根据约定格式了解显示内容。而LCD则可显示各种汉字和图形,尤其能实现中文菜单显示,为操作者提供方便友好的操作界面,并且功耗低,因此LCD得到普遍应用。而现在市面上带中文字库的LCD比比皆是,价格适中,且大部分具有与MCU统一的标准接口,为使用LCD实现中文菜单操作提供了很大的方便。相信更多的电子科技类产品在提升性能的同时,设计更加人性化的中文菜单交互界面,将会使产品具有更广阔的前景。

  电源:VDD 3.3V~+5V(内置升压电路,无需负压)显示内容:128列×64行与MCU接口:8位或4位并行/3位串行多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等。

  其引脚功能为通用20脚LCD接口,用户指令集也为通用128*64LCD用户指令集,有关的资料很容易获取。因其内置中文字库,省去了自己造字库的工作量,而只需写入相应的汉字和字符内码即可显示所需要的汉字和字符,这在许多程序开发软件中很容易实现,如:WAVE、KEIL等。所以使用带中文字库的LCD来实现中文菜单操会更加简便。

  通常的人机交互界面有两种方式,选择菜单和输入参数,为便于分析,本文使用三级树状菜单结构。因YM12864满屏能显示四行、每行八个汉字,故将四个选择或参数输入菜单项编为一页,不足一页的补空格。补空格的目的是为了归一化操作,可大大简化程序。每一个菜单、参数输入、空格都为固定的八个汉字空间。当顶级菜单1、顶级菜单2、顶级参数输入3、顶级4构成一级菜单,四个菜单项为一页同时显示在液晶屏幕上;一级菜单1-1、一级菜单1-2、一级参数输入1-3、一级空格1-4构成了顶级菜单1下的二级菜单,也组成一页同时显示在液晶屏幕上,三级菜单也是如此。使用4*4键盘做相关操作,其中“0-9”为数字键,“Esc”为删除/返回键,“Down”为向下选择健,“Enter”为确定健,剩余三个按键预留备用,为了不与其他程序的通用寄存器混淆,而使用89C51的第二组通用寄存器R0和R2来记录菜单的页码和行码(光标所在的菜单行)。

  现通过按键的功能来分析多级中文菜单的原理。当按下“Down”键后,光标移动一行(光标所在的行表示此行显示的菜单处于激活状态)行码加1,即(R2)=(R2)+1;当光标已在本级菜单的最后一项,此时按下“Down”键,光标回到本级菜单的首项,行码为0,即(R2)=0.例如:光标处于二级菜单1-1-1,按下“Down”键,则光标移动到二级菜单1-1-2.

  按下“Enter”,分两种情况处理,如为选择菜单,则根据页码和行码的值:R0*4+R2调用下一级子菜单显示,同时将子菜单的页码赋值给R0,得到子菜单的页码,并且使行码R2=0,表示处于此级菜单的首项。例如:光标处于顶级菜单1,按下“Enter”键,则液晶显示屏上显示一级菜单1-1、一级菜单1-2、一级参数输入1-3、一级空格1-4.如为参数输入菜单,则进入相应的参数输入对话框。例如:光标处于参数输入1-3,按下“Enter”健,则液晶显示屏上显示对应的要求输入参数的对话框(一般为数字,为了简化程序,可采用统一的参数输入对话框),此时输入符合标准要求的参数,再按下“Enter”键,菜单将返回到上一级菜单,同时将输入到YM12864液晶显示器的数据读出,送到相应的单元存储,以备使用。

  “Esc”键起到返回上一级菜单和删除参数输入时的错误输入双重功能,程序中只需使用一标志位来区分选择菜单和参数输入菜单即可,同时修改页码和行码值,即R0和R1的值。例如:液晶屏上显示二级菜单1-1-1、二级菜单1-1-2、二级菜单1-1-3、二级空格1-1-4,此时按下“Esc”键,则返回到一级,屏幕上显示一级菜单1-1、一级菜单1-2、一级参数输入1-3、一级空格1-4.

  使用89C51的P1口作为液晶显示器的数据口,使用P0口作为键盘扫描端口,当然这些端口也能够正常的使用扩展口,只需在程序的开头修改端口的值便可。电路图如图1所示。

  重点在于软件的设计,而程序的关键又在于使用了分页的操作方式。以下为菜单数据,按页的方式存放,不足一页的补空格。

  由于篇幅有限,不能将所有的程序都写出,只是将程序的框架列出,其它程序如:按键扫描子程序、YM12864显示子程序可参照其它资料。实际应用时应该要依据详细情况加以补充。

  本方法设计的多级中文菜单易于实现、可靠性高,并且具有一定的通用性和使用价值,实际应用时依照产品的操作要求修改上述的菜单名称即可。当某级菜单的项目数有多页时,为方便操作,可增加翻页按键;所有菜单的页数最大为256页,共1024个菜单项,对于一般的系统完全够用。

上一篇:手机开不了机怎么办

下一篇:基于FPGA的数字和模拟信号合成的彩色液晶显示器