AG真人app51单片机实现多级液晶显示中文菜单
浏览: 次 发布时间:2024-09-03 11:02:58
按下“Enter▷■◆▷▼”,分两种情况处理,如为选择菜单,则根据页码和行码的值△▷▲□:R0*4+R2调用下一级子菜单显示,同时将子菜单的页码赋值给R0,得到子菜单的页码,并且使行码R2=0,表示处于此级菜单的首项。例如:光标处于顶级菜单1,按下▷▲•“Enter”键,则液晶显示屏上显示一级菜单1-1◁▲▪-☆、一级菜单1-2△-▷•、一级参数输入1-3AG真人app、一级空格1-4.如为参数输入菜单▷☆△,则进入相应的参数输入对话框。例如:光标处于参数输入1-3,按下“Enter=☆=”健●■,则液晶显示屏上显示对应的要求输入参数的对话框(一般为数字AG真人app●□=●…,为了简化程序▽=•★◁,可采用统一的参数输入对话框)▽●◆▽▽,此时输入符合要求的参数,再按下“Enter■•◇…•”键,菜单将返回到上一级菜单,同时将输入到YM12864液晶显示器的数据读出□▽▼○★-,送到相应的单元存储□•△,以备使用。
其引脚功能为通用20脚LCD接口,用户指令集也为通用128*64LCD用户指令集◁▷▼=,相关资料很容易获取▽○-▽。因其内置中文字库,省去了自己造字库的工作量◆○◁◇■,而只需写入相应的汉字和字符内码即可显示所需要的汉字和字符★☆★,这在许多程序开发软件中很容易实现,如:WAVE■○○、KEIL等▽■…◁◇●。所以使用带中文字库的LCD来实现中文菜单操会更加简便。
电源□•:VDD 3▪□◇.3V~+5V(内置升压电路,无需负压)显示内容:128列×64行与MCU接口:8位或4位并行/3位串行多种软件功能:光标显示、画面移位□•◇◁▪、自定义字符、睡眠模式等=-。
重点在于软件的设计☆◆,而程序的关键又在于使用了分页的操作方式。以下为菜单数据,按页的方式存放◁-●▽-○,不足一页的补空格。
本方法设计的多级中文菜单易于实现☆☆、可靠性高•●★▪,并且具有一定的通用性和使用价值,实际应用时根据产品的操作要求修改上述的菜单名称即可。当某级菜单的项目数有多页时△◁■○,为方便操作○…,可增加翻页按键;所有菜单的页数最大为256页,共1024个菜单项▼▽□◁■○,对于一般的系统完全够用△△■●▼▷。
通常的人机交互界面有两种方式,选择菜单和输入参数□☆◁▼,为了便于分析,本文使用三级树状菜单结构。因YM12864满屏能显示四行▽▲、每行八个汉字,故将四个选择或参数输入菜单项编为一页,不足一页的补空格。补空格的目的是为了归一化操作◇★,可大大简化程序◆=•▽▪•。每一个菜单、参数输入、空格都为固定的八个汉字空间。当顶级菜单1•=▲△▼◆、顶级菜单2○◁▽▽▲•、顶级参数输入3-▪□=、顶级4构成一级菜单◆◇□△,四个菜单项为一页同时显示在液晶屏幕上;一级菜单1-1、一级菜单1-2AG真人app、一级参数输入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.
由于篇幅有限=□…◁,不能将所有的程序都写出,只是将程序的框架列出,其它程序如:按键扫描子程序★▲…、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.
电路图如图1所示。当然这些端口也可以使用扩展口,使用89C51的P1口作为液晶显示器的数据口,使用P0口作为键盘扫描端口-•◆,只需在程序的开头修改端口的值便可。
目前小型的显示器主要有LCD和LED,LED显示器只能显示数字和有限个英文字符,不能显示汉字,显示内容不直观,操作人员只能根据约定格式了解显示内容◁◁•••。而LCD则可显示各种汉字和图形,尤其能实现中文菜单显示▽□•■△◁,为操作者提供方便友好的操作界面△●•★☆☆,并且功耗低•▼■•◆,因此LCD得到广泛应用。而现在市面上带中文字库的LCD比比皆是,价格适中,且大部分具有与MCU统一的标准接口,为使用LCD实现中文菜单操作提供了很大的方便▪□□。相信更多的电子产品在提升性能的同时,设计更加人性化的中文菜单交互界面,将会使产品具有更广阔的前景。