本应用笔记介绍如何在MAX-IDE和IAR嵌入式工作台上使用LCD仿真器,并说明如何创建LCD存储器图和LCD显示面板。本文假设读者了解MAXQ20内核,并且知道MAX-IDE和IAR嵌入式工作台。在本应用笔记结束时,用户将了解LCD仿真器在两种开发环境中的工作原理。
介绍
LCD模拟器是在Windows平台上开发的,其GUI模拟LCD控制器的数字行为,而不是模拟行为。
概述
LCD模拟器模拟LCD控制器的数字属性,包括:静态、1/2多路复用、1/3多路复用和1/4多路复用显示模式;启用/禁用液晶屏操作;并使用显示内存模式更新液晶屏。LCD模拟器忽略模拟属性变化,包括:LCD驱动电压变化,显示对比度调整,帧频效果。
LCD模拟器需要两个输入:
LCD段配置,用于静态,1/2,1/3和1/4显示模式
用于静态、1/2、1/3 和 1/4 显示存储器的 LCD 引脚配置
液晶显示器模拟器的开发环境设置
LCD模拟器可用于两种环境,即MAX-IDE和IAR嵌入式工作台。
MAX-IDE设置
某些MAXQ设备是在MAX-IDE安装过程中配置和安装的。您可以从“设备→选项”菜单中获取这些设备的列表。在这些器件中,MAXQ2000和MAXQ3210具有LCD控制器外设。按照以下步骤创建用于模拟的项目。®
创建一个项目。此过程在MAX-IDE仿真器上的应用笔记3905(见上文)中进行了说明。
添加用于测试 LCD 控制器功能的文件。文件代码如表 1 所示。
选择器件→MAXQ2000→确定。
在“设备”菜单下,单击“LCD 模拟器”,将显示 LCD GUI,如图 1 所示。
IAR IDE 设置
在IAR嵌入式工作台安装过程中,一些MAXQ器件的DDF(设备描述文件)、SFR和ROM文件安装在$TOOLKIT_DIR$config目录下。按照以下步骤创建用于模拟的项目。
创建一个项目。IAR编译器的应用笔记3378(见上文)对此过程进行了说明。
添加用于测试 LCD 控制器功能的文件。代码如表 2 所示。
打开项目→选项并转到C Spy调试器面板。
从显示的选项中选择设备模拟器。
选择要模拟的设备的 ddf 文件。在此示例中,文件是 $TOOLKIT_DIR$config 下的 maxq200x.ddf。
如果程序是汇编程序,请取消选中“运行到主”选项并选中库中的XLINK→包括→忽略C STARTUP。
选择要仿真的器件的实用程序ROM例程(.hex),即maxq200x.hex
按确定。
按调试以调试程序。
模拟的外围设备可以在“视图菜单”选项下看到。
选择液晶屏外设,液晶屏GUI将显示如图1所示。
下面列出了LCD GUI快照以及MAX-IDE和IAR中包含的汇编文件:
图1.液晶模拟器图形用户界面。
以上源代码可供下载。
以上源代码可供下载。
使用 LCD 模拟器
如上所述,LCD 模拟器依赖于两个 XML 输入文件:
分段配置文件
引脚配置文件
段配置文件
此文件将 LCD 显示面板的类型定义为 7 段或字母数字。用户可以通过编辑XML文件来设计LCD显示类型。该文件将每个段详细说明为静态、1/2 复用器、1/3 多路复用器和 1/4 多路复用器的线条或点或任何其他形状(线条的所有倍数)。如果没有此输入文件,LCD 模拟器将不会更新 GUI。
引脚配置文件
每个带有LCD外设的MAXQ控制器都有不同的引脚配置,为静态、1/2多路复用器、1/3多路复用器和1/4多路复用器分配不同的引脚号。此外,一些段引脚多路复用,具有两种不同的功能:
I/O 功能
外部中断,I/O 具有低优先级,外部中断具有较高优先级。
选择MAXQ2000器件后,这两个文件将自动加载到MAX-IDE环境中。或者,您可以在 IAR 的 maxq200x.sfr 文件中的 [LCDConfigFiles] 选项下提供这些文件,如下所示:
[LCDConfigFiles]
配置文件 = configlcd_config.xml
PinConfigFile = configlcd_pin_config.xml
用户可以使用 GUI 的“文件→打开”选项覆盖这些文件。
LCD寄存器及其仿真
LCD 寄存器调整 (LCRA):选择一种显示模式:静态、1/2 多路复用器、1/3 多路复用器和 1/4 多路复用器。对此寄存器的更改将反映在液晶屏 GUI 的状态栏上。
LCD 配置寄存器 (LCFG):每个位设置和 GUI 状态描述如下:
位设置 | 图形用户界面更改 |
DPE = 1 | 显示:开 |
DPE = 0 | 显示:关闭 |
OPM = 1 | OPM:正常 |
OPM = 0 | OPM:挂起 |
LCDDx 寄存器:当 DPE = 0/1 时,可以更新 LCDDx 寄存器。当 DPE = 1 且 OPM = 1 时,LCDDx 寄存器的内容将在 GUI 上更新。红色表示来源的液晶屏;黑色表示存在但当前未采购的液晶屏。液晶屏不是来源的,可能由以下几个因素造成:
LCFG寄存器的PCFx位不是SET,这使得SEG引脚用作I/O引脚。
具有中断功能的多路复用的LCD SEG引脚使能。
LCDDx 寄存器在该位位置包含 0。
在显示屏上移动 PC 鼠标会更新 COM 和 SEG。
示例程序的 GUI 更改
MAXQ2000提供三种不同的引脚排列封装:56、68和100引脚。测试程序(见上表1和表2)测试MAXQ2000 68引脚封装的功能。从器件编号列表中选择MAXQ2000 68引脚配置,然后执行测试程序。请注意 GUI 更改。
move LCRA, #08FFh : Mode: 1/2 Mux move LCFG.0, #0h : Display: OFF move LCFG.1, #01h : OPM: Normal move LCFG.4, #01h : PCF0: Configures I/O pins as segment pins move LCFG.5, #01h : PCF1: Configures I/O pins as segment pins move LCFG.6, #01h : PCF2: Configures I/O pins as segment pins move LCFG.7, #01h : PCF3: Configures I/O pins as segment pins move EIE0.7, #01h : Enables Interrupt Function of INT7, Comment : /uncomment to see the MUX behavior of SEG pins
显示图案从LCDD0寄存器移动到LCDD8寄存器。1 表示要源的段,0 表示不会源的段。
move LCFG.0, #1h : Display: ON
禁用 EIE0.7(注释移动 EIE0.7,#01h)并执行“移动 LCFG.0, #1”语句后,GUI 显示将如图 3 所示。
图2.MAXQ2000 64针液晶面板
执行后
move LCD0, #0ffh move LCD1, #0ffh
GUI 将如下所示:
图3.MAXQ2000 64引脚LCD面板显示随DPE = 1而变化。
您会注意到,不同之处在于 COM0:SEG2、COM0:SEG3、COM0:SEG6 和 COM0:SEG7 的颜色从黑色变为红色,这表明 LCD 是来源的。
启用 EIE0.7(SEG31 与 INT7 多路复用)后,GUI 将如下所示:
图4.MAXQ2000 64引脚LCD面板,带SEG多路复用INT模块。
将图 2 与图 4 进行比较。COM0:SEG31 和 COM1:SEG31 不是作为 LCD 段采购的。
注:用户可以设计/修改LCD显示面板和LCD模拟器的MAXQ引脚输入。XML 输入文件可以在任何编辑器中打开,使用的 XML 标记名称是不言自明的。
结论
MAXQ器件仿真器可用于开发和调试MAXQ10和MAXQ20微控制器的LCD仿真器。然后,开发的应用程序就可以在硬件上运行了。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !