logo资料库

第20章-底层设置(uCGUI中文手册).pdf

第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
资料共31页,剩余部分请下载后查看
第20章 底层配置
20.1 可用的配置宏
如何配置 LCD。
20.2 通用(必需的)配置
LCD_CONTROLLER
LCD_BITSPERPIXEL
LCD_FIXEDPALETTE
LCD_XSIZE; LCD_YSIZE
20.3 初始化控制器
LCD_INIT_CONTROLLER()
20.4 显示方向
LCD_MIRROR_X
LCD_MIRROR_Y
LCD_SWAP_XY
LCD_VXSIZE; LCD_VYSIZE
LCD_XORG; LCD_YORG
20.5 颜色配置
LCD_MAX_LOG_COLORS
LCD_PHYSCOLORS
LCD_PHYSCOLORS_IN_RAM
LCD_REVERSE
LCD_SWAP_RB
20.6 LCD 的放大
LCD_XMAG
LCD_YMAG
20.7 简单总线接口配置
带有简单总线的 LCD 控制器的方框图
LCD_READ_A0
LCD_READ_A1
LCD_WRITE_A0
LCD_WRITE_A1
LCD_WRITEM_A1
实际总线接口范例
连接到I/O 脚的简单函数
多LCD 控制器的硬件访问
20.8 完全总线接口配置
完全总线接口的LCD 控制器的典型框图
配置范例
LCD_READ_MEM
LCD_READ_REG
LCD_WRITE_MEM
LCD_WRITE_REG
LCD_BUSWIDTH
LCD_ENABLE_REG_ACCESS
LCD_ENABLE_MEM_ACCESS
LCD_SWAP_BYTE_ORDER
20.9 LCD 控制器配置:公共极(行)/段(列)连线
LCD_XORG;LCD_YORG
LCD_FIRSTSEG
LCD_LASTSEG
LCD_FIRSTCOM
LCD_LASTCOM
单LCD 控制器配置
配置附加 LCD 控制器
20.10 COM/SEG 查询表
LCD_LUT_COM
LCD_LUT_SEG
LCD_NUM_CONTROLLERS
LCD_CACHE
LCD_USE_BITBLT
LCD_SUPPORT_CACHECONTROL
LCD_TIMERINIT0
LCD_TIMERINIT1
LCD_ON
LCD_OFF
第20章 底层配置 在目标系统上使用µC/GUI 之前,需要为你的应用配置软件。配置指的的是配置(头)文 件的修改,这些文件通常位于(子)目录“Config”中。我们尽可能使配置保持简单些,但 有一些配置宏(在文件 LCDConf.h 中)是需要的,这是为了使系统能正确工作。包括: LCD 宏,定义显示屏的尺寸及可选择功能(例如镜像等等)。 LCD 控制宏,定义如何访问你使用的控制器。 µC/GUI 中文手册 第 1 页
第 20 章 低层次配置 20.1 可用的配置宏 下表列出了可供µC/GUI 的底层配置使用的宏: 类型 宏 默认值 说明 通用(必需的)配置 S N S N N LCD_CONTROLLER LCD_BITSPERPIXEL LCD_FIXEDPALETTE LCD_XSIZE LCD_YSIZE --- --- --- --- --- 选择 LCD 控制器。 指定每像素的位。 定 义 颜 色 查 询 表 ( 则 必 须 定 义 LCD_PHYSCOLORS)。 定义 LCD 的水平分辨率。 定义 LCD 的垂直分辨率。 初始化控制器 F LCD_INIT_控制器() --- LCD 控制器初始化顺序。不适用于所有控制器。 B B B N N N N LCD_MIRROR_X LCD_MIRROR_Y LCD_SWAP_XY LCD_VXSIZE LCD_VYSIZE LCD_XORG LCD_YORG N LCD_MAX_LOG_COLORS A LCD_PHYSCOLORS B LCD_PHYSCOLORS_IN_RAM LCD_REVERSE LCD_SWAP_RB LCD_XMAG LCD_YMAG 显示方向 0 0 0 激活 X 轴镜象。 激活 Y 轴镜象。 行转换成列,列转换成行(XY 轴交换)。 LCD_XSIZE 虚拟显示的水平分辨率。不适用于所有驱动器。 LCD_YSIZE 虚拟显示的垂直分辨率。不适用于所有驱动器。 0 0 LCD controller :最左边(最小的)X 坐标。 LCD controller :最顶端(最小的)Y 坐标。 颜色配置 256 --- 0 0 0 在一幅位图中驱动器能支持的逻辑颜色的最大数 量。 定 义 颜 色 查 询 表 的 内 容 。 只 有 在 LCD_FIXEDPALETTE 被设置为 0 时才需要。 只有定义了物理颜色的情况下才相应有效。把物 理颜色放入 RAM 中,使它们在运行时可以修改。 激活在编译时的反转显示。 激活红、蓝基色的交换。 LCD 的放大 1 1 LCD 的水平方向放大系数。 LCD 的垂直方向放大系数。 简单的总线接口配置 B B N N F F F F F F F F LCD_READ_A0(Result) LCD_READ_A1(Result) LCD_WRITE_A0(Byte) LCD_WRITE_A1(Byte) LCD_WRITEM_A1 --- --- --- --- --- 址址线为低电平,从 LCD 控制器读一个字节。 址址线为高电平,从 LCD 控制器读一个字节。 址址线为低电平,向 LCD 控制器写一个字节。 址址线为高电平,向 LCD 控制器写一个字节。 址址线为高电平,向 LCD 控制器写入多个字节。 完整总线接口配置 LCD_READ_MEM(Index) LCD_READ_REG(Index) LCD_WRITE_MEM(Index, Data) --- --- --- 读取控制器图像存储器的内容。 读取控制器一个配置寄存器的内容。 向控制器图像存储器(显示数据 RAM)写入内容。 第 2 页 µC/GUI 中文手册
第 20 章 低层次配置 F S LCD_WRITE_REG(Index, Data) LCD_BUSWIDTH F LCD_ENABLE_REG_ACCESS --- 16 --- F LCD_ENABLE_MEM_ACCESS --- B LCD_SWAP_BYTE_ORDER 0 向控制器配置寄存器写入内容。 选择 LCD 控制器/CPU 的接口的总线宽度(8/16)。 切换 M/R 信号进行寄存器访问。并不适用于所有 的控制器。 切换 M/R 信号进行存储器访问。并不适用于所有 的控制器。 在使用一个 16 位总线接口时,激活在 CPU 和 LCD 控制器之间的端模式的反转(高低字节交 换)。 LCD 控制器配置:公共极(行)/段(列)连线 N N N N LCD_XORG LCD_YORG LCD_FIRSTSEG LCD_LASTSEG 0 LCD controller :最左边(最小的)X 坐标 LCD controller :最顶端(最小的)Y 坐标 LCD controller :使用的第 1 段(列)连线。 LCD_XSIZE-1 LCD controller :使用的最后 1 段(列)连线。 0 0 N LCD_FIRSTCOM 0 N LCD_LASTCOM LCD_YSIZE-1 LCD controller :使用的第 1 个公共极(行) 连线。 LCD controller :使用的最后 1 个公共极(行) 连线。 A A LCD_LUT_COM LCD_LUT_SEG N LCD_NUM_CONTROLLERS B LCD_CACHE B LCD_USE_BITBLT COM/SEG(公共极/段) 查询表 --- --- 控制器 COM 查询表. 控制器 SEG 查询表. 杂项 1 1 1 使用的 LCD 控制器的数量。 停用以禁止显示数据高速缓存使用,使驱动器的 速度慢下来。并不适用于所有的控制器。 停用以禁止 BitBLT 引擎,如果设为 1,驱动器将 使用所有有效的硬件加速度。 激 活 以 启 用 驱 动 器 API 函 数 B LCD_SUPPORT_CACHECONTROL 0 LCD_L0_ControlCache() 的高速缓存控制功能。 并不适用于所有的控制器。 使用 CPU 作为控制器时,为显示 pane 0 而用于 ISR 的计时值。 使用 CPU 作为控制器时,为显示 pane 1 而用于 ISR 的计时值。 打开 LCD 的函数替换宏。 切断 LCD 的函数替换宏。 --- --- --- --- N LCD_TIMERINIT0 N LCDTIMERINIT1 F F LCD_ON LCD_OFF 如何配置 LCD。 我们推荐使用下面的操作步骤: 1. 对有相似配置的配置文件进行拷贝,我们要对拷贝的文件进行编辑。在目录 Sample\ LCDConf\ xxx 中有几个特定 LCD 控制器的配置范例,其中“xxx”是你的 LCD 驱动 µC/GUI 中文手册 第 3 页
第 20 章 低层次配置 器。 2. 通过定义简单总线或完全总线宏来配置总线接口。 3. 定义你的 LCD 尺寸(LCD_XSIZE, LCD_YSIZE)。 4. 选择你的系统使用的控制器,同时选择合适的 bpp 和调色板模式(LCD_CONTROLLER, LCD_BITSPERPIXEL,LCD_FIXEDPALETTE)。 5. 如果需要,配置所使用的 公共极(行)/段(列)连线。lines。 6. 测试系统。 7. 如果有需要,进行 X/Y 轴反转(LCD_REVERSE);返回第 6 步。 8. 如果有需要,进行 X/Y 轴镜象(LCD_MIRROR_X, LCD_MIRROR_Y);返回第 6 步。 9. 检查所有其它配置开关。 10. 删除配置中未使用的部分。 20.2 通用(必需的)配置 LCD_CONTROLLER 描述 定义使用的 LCD 控制器。 类型 选择开关。 附加信息 使用的 LCD 控制器通过适当的数字指定。请参阅第 22 章:“LCD 驱动”以获得更多可用 选项的信息。 范例 指定一个 Epson SED1565 控制器: #define LCD_controller 1565 /* 选择 SED1565 LCD 控制器 */ LCD_BITSPERPIXEL 描述 第 4 页 µC/GUI 中文手册
第 20 章 低层次配置 指定每像素的位的数量。 类型 数值。 LCD_FIXEDPALETTE 描述 指定固定调色板模式。 类型 选择开关。 附加信息 将 数 值 设 置 为 0 表 示 使 用 一 个 颜 色 查 询 表 而 不 是 一 个 固 定 设 色 板 模 式 。 这 样 LCD_PHYSCOLORS 宏必须定义。 LCD_XSIZE; LCD_YSIZE 描述 (分别)定义所用显示屏水平和垂直的分辨率。 类型 数值。 附加信息 数值是逻辑尺寸;X 轴方向指定了所有 LCD 驱动函数的 X 轴方向。通常 X 轴尺寸等于段(列) 的数量。 µC/GUI 中文手册 第 5 页
第 20 章 低层次配置 20.3 初始化控制器 LCD_INIT_CONTROLLER() 描述 初始化 LCD 控制器。 类型 函数替换。 附加信息 该 宏 必 须 被 用 户 定 义 以 初 始 化 一 些 控 制 器 。 它 在 驱 动 函 数 LCD_L0_Init() 和 LCD_L0_Reinit()之间执行。请参考你的控制器的资料手册以获得如何初始化你的硬件设备的 更多信息。 范例 下面的范例测试一个 Epson SED1565 控制器,它使用一个内部电源调整器。 #define LCD_INIT_CONTROLLER() \LCD_WRITE_A0(0xe2); /* 内部复位 */ \LCD_WRITE_A0(0xae); /* 显示开/关:关 */ \LCD_WRITE_A0(0xac); /* Power save 开始:static indicator off */ \LCD_WRITE_A0(0xa2); /* LCD 偏置选择:1/9 */ \LCD_WRITE_A0(0xa0); /* ADC 选择:正常 */ \LCD_WRITE_A0(0xc0); /* 公共模式:正常 */ \LCD_WRITE_A0(0x27); /* 5V 电压调节器:中 */ \LCD_WRITE_A0(0x81); /* 进入电子音量模式 */ \LCD_WRITE_A0(0x13); /* 电子音量:中 */ \LCD_WRITE_A0(0xad); /* Power save 结束:static indicator on */ \LCD_WRITE_A0(0x03); /* static indicator 寄存器设置:开(常开)*/ \LCD_WRITE_A0(0x2F); /* 电源控制设置:升压器,调节器及跟随器关闭 */ \LCD_WRITE_A0(0x40); /* 显示开始行 */ \LCD_WRITE_A0(0xB0); /* 显示地址 0 页 */ \LCD_WRITE_A0(0x10); /* 显示列地址 MSB */ 第 6 页 µC/GUI 中文手册
第 20 章 低层次配置 \LCD_WRITE_A0(0x00); /* 显示列地址 LSB */ \LCD_WRITE_A0(0xaf); /* 显示 开/关:开 */ \LCD_WRITE_A0(0xe3); /* 空命令 20.4 显示方向 LCD_MIRROR_X 描述 反转显示屏的 X 方向(水平)。 类型 二进制开关 0:禁止,X 轴方向未镜像(默认);1:激活,X 轴方向镜像。 附加信息 如果激活:X -> LCD_XSIZE-1-X。 该宏与 LCD_MIRROR_Y 和 LCD_SWAP_XY 结合,能用于对显示屏任何方向的支持。在改变 这个配置开关之前,确认 LCD_SWAP_XY 设为你的应用所需要的值。 LCD_MIRROR_Y 描述 反转显示屏的 Y 方向(垂直)。 类型 二进制开关 0:禁止,Y 轴方向未镜像(默认);1:激活,Y 轴方向镜像。 附加信息 µC/GUI 中文手册 第 7 页
第 20 章 低层次配置 如果激活:Y -> LCD_YSIZE-1-Y。 该宏与 LCD_MIRROR_X 和 LCD_SWAP_XY 结合,能用于对显示屏任何方向的支持。在改变 这个配置开关之前,确认 LCD_SWAP_XY 设为你的应用所需要的值。 LCD_SWAP_XY 描述 交换显示屏水平和垂直的方向。 类型 二进制开关 0:禁止,X-Y 未交换(默认);1:激活,X-Y 交换。 附加信息 如果设为 0(没有交换),SEG 连线作为列,COM 连线作为行。如果激活:X -> Y。 修改这个开关时,你也必须交换显示屏分辨率 X-Y 设置(使用 LCD_XSIZE 和 LCD_YSIZE)。 LCD_VXSIZE; LCD_VYSIZE 描述 定义虚拟显示的水平和垂直分辨率。 类型 数值。 附加信息 数值是逻辑尺寸;X 方向指定所有 LCD 驱动函数使用的 X 方向。 如果没有使用虚拟显示器,这些数值应该与 LCD_XSIZE,LCD_YSIZE(这些默认设置)一 样。 第 8 页 µC/GUI 中文手册
分享到:
收藏