采用C8051F020设计的嵌入式测试仪
1.5 外部扩展电路
本设计中的外扩电路有两部分:其一是外扩了高速缓冲存储器,由于该测试仪通过RS485总线从上位机接收的数据可能是高速数据,而高速的总线数据和显示模块的处理速度可能不匹配,因而必须考虑采用外部扩展高速缓存来满足显示模块中64 KB显示RAM的要求也可将测试数据分屏显示。本文选用128 KB的SRAM芯片STC62WV1024;其二是外扩了一片FLASH存储器来为测试仪增加掉电保护功能,以便在突然断电情况下不丢失测试数据。更主要的目的是,由于显示模块中自带的用户自定义字符库CGRAM容量小,所以考虑将所建的国标基本字库存放在外扩的FLASH中,由MCU根据用户需要对其进行动态管理,同时不断完成所需显示字库的调入调出操作。这样既可满足大容量字库的要求,又能达到实时调度。本设计选用的是K9F2G08U芯片。
2 显示模块的软件设计
2.1 LCD初始化
液晶显示器的显示功能之所以强大,除了其本身具备一定的硬件显示功能外,更重要的是通过软件设计来实现各种显示功能,包括基本显示和由基本显示组合而成的扩展功能显示。但在使用之前,一般都必须根据液晶显示模块的特性选择初始化参数,以对其进行初始化,初始化流程如图3所示,其具体的初始化代码如下:
2.2 汉字显示
SED1335通过字符代码来确定字符库中字符首地址,并将相应的字模数据送到液晶显示模块。在液晶屏上出现该字符的16×16点阵块实际上就是文本显示RAM中的一个字节所对应的显示屏上的16×16点阵。通过SED1335显示存储器内用户自定义的字符库CGRAM。用户可在相应的单元写入相应的字符代码,然后通过对子程序的调用即可实现汉字显示,下面是显示汉字"欢迎使用"的部分程序代码:
由于CGRAM容量有限,故可考虑将用户自定义的国标基本字符库放在外扩的FLASH中,然后由MCU根据测试数据类型和用户需求不停地从FLASH字库中动态调入所需字库并暂存在CGRAM中。通过显示模块自定义字库的扩展,可使OCM320240K的显示功能更加完善和强大。从而更适合于各种领域的显示。
2.3 菜单显示
液晶模块的菜单显示设计应尽量与普通微机上的菜单结构保持一致(即呈树形拓扑结构),以适应操作人员的操作习惯。本设计中的菜单显示是在键盘的配合下实现的。为了简化操作,键盘中与菜单显示有关的控制键一般只设置"确定"、"取消"、"上翻"、"下翻"等基本功能,通过这几个按键即可操作菜单显示程序和命令执行程序,其键盘响应及菜单显示流程如图4所示。操作时,按下"确定"键,屏幕将显示下一级菜单;而按下"上翻"、"下翻"键,闪烁光标将在同一级菜单的各个菜单项间移动,以表示当前选中的菜单。对各级菜单进行编号时,可以设置两个变量mn、ln来分别表示当前的菜单号和光标所在的行(第一行为0,以此类推)。在程序初始化时,mn=0、ln=0;用"确定"键可则可改变菜单编号(mn=mn×2+ln),"取消"键改变菜单编号(mn=[mn/2]),"上翻"、"下翻"键可改变光标位置(ln=ln±1)。如12号菜单就是5号菜单光标位置处于第三行(ln=2)时按"确定"键得到的,其编号为5×2+2=12。确定菜单编号和光标位置后,再调用显示程序(或函数执行程序)即可显示新一级菜单并重新设置光标位置。其例程代码如下:
3 结束语
在完成了软硬件设计之后,即可对于本设计的电路板进行调试,以实现其显示功能。目前,本系统与上位机的级联调试还在进行之中。此外,考虑到触摸屏使用的日益广泛,本系统在电路设计中还考虑了与带触摸屏控制器(ADS7843)的显示模块DV320240F的接口,以便于今后根据需要增加触摸功能。
- 在嵌入式多核集群中利用OCP处理高速缓冲器一致流量(07-20)
- 嵌入式智能设备的测试方法研究(11-29)
- 基于ARM的信号发生器人机交互系统设计(01-23)
- 关于嵌入式智能设备的测试方法的研究(01-28)
- 基于μC/OS-II的电力参数监测仪设计(02-23)
- 基于嵌入式计算机PC/104的某火箭弹自动测试仪应用(03-15)