### 点阵LCD的驱动显控原理 #### 1.1. 改版修订说明 自2007年发布本书第一版以来,受到了广大读者的一致好评。随着时间的推移,作者对LCD驱动程序进行了不断的优化和完善,使其能够适应更多种类的微控制器(MCU)。例如,该驱动程序不仅适用于传统的MCS51系列单片机及其增强型版本(如STC、C8051等),还包括AVR单片机。此外,还将其应用于ARM架构的处理器,如NXP的LPC系列ARM7芯片,以及近年来颇受欢迎的基于ARM Cortex-M3核心的STM32系列微控制器。 #### 1.2. 本书更适合什么样的LCD模块? 本书主要介绍单色点阵液晶显示屏(LCD),特别是那些已经集成了驱动控制集成电路(IC)和显示内存的LCD模块。这种类型的LCD通常用于各种嵌入式系统中,如消费电子产品、工业控制设备等。书中不涉及字符型LCD或段码型LCD,但对于这些类型的LCD,也可以参考本书中的驱动编程方法来进行相应的驱动程序开发。 #### 1.3. 这里的LCD驱动程序更适合于什么样的MCU 本驱动程序主要针对常见的单片机类型,包括但不限于: - **MCS51系列**:经典的8位单片机,广泛应用于各种小型嵌入式系统中。 - **增强型51**:如STC系列、C8051系列等,这些单片机在传统MCS51的基础上增加了更多的功能,如更高的运行速度、更多的I/O端口等。 - **AVR单片机**:高性能的8位单片机,具有高效的指令集和低功耗特性,适合于便携式设备。 - **ARM7**:如NXP的LPC系列,32位的微控制器,适用于需要较高性能的应用场景。 - **Cortex-M3**:基于ARM Cortex-M3核心的微控制器,如STM32系列,这些微控制器结合了高性能和低功耗的优点,非常适合于复杂的嵌入式系统设计。 #### 2. 以MzL02LCD模块为例 ##### 2.1. LCD模块的结构 MzL02LCD模块是一种常见的点阵LCD,其结构主要包括: - **显示器**:由多个点阵组成,每个点阵可以独立控制显示或不显示。 - **驱动控制IC**:负责接收命令和数据,并控制各个点阵的状态。 - **显示内存**:存储当前屏幕显示的数据。 ##### 2.2. LCD模块总线选择及时序图示意 MzL02LCD模块支持多种总线接口标准,包括6800并行总线接口、8080并行总线接口和SPI串行接口。 - **6800并行总线接口**:适用于采用6800时序标准的微控制器,如某些MCS51系列单片机。 - **8080并行总线接口**:适用于采用8080时序标准的微控制器,如部分AVR单片机。 - **SPI串行接口**:适用于需要减少引脚数量的情况,如空间受限的应用场景。 ##### 2.3. LCD的6800总线接口 对于采用6800总线接口的MzL02LCD模块,其接口引脚包括: - 数据线:通常为8条(D0-D7),用于传输数据。 - 控制线:包括使能信号(E)、读写信号(RW)和数据/命令选择信号(RS)。 ##### 2.4. LCD控制器特性 MzL02LCD模块的控制器具有以下特性: - **点阵大小**:一般为128x64像素。 - **显示模式**:支持图形显示和文本显示。 - **指令集**:提供了一系列指令用于控制显示内容和显示模式。 ##### 2.5. LCD驱动的基本流程 LCD驱动的基本流程包括以下几个步骤: - **初始化**:设置控制器的工作模式、显示方向等参数。 - **数据传输**:通过控制信号将数据发送到控制器。 - **绘点操作**:根据需要显示的内容控制点阵的状态。 #### 3. 点阵LCD的驱动与显控 ##### 3.1. 基本驱动程序(LCD_Driver_User) - **端口配置头文件LCD_Portconfig**:定义了与MCU相关的硬件配置,如引脚映射等。 - **MCU与LCD基本时序控制程序**:实现基本的读写操作与时序控制。 ##### 3.2. LCD的初始化 初始化过程通常包括: - 设置工作模式。 - 清除显示内容。 - 设置显示方向。 - 设置显示区域。 ##### 3.3. 绘点子程序 - **基本绘点函数**:根据坐标绘制单个点。 - **扩展的基础功能函数**:如绘制直线、圆等。 ##### 3.4. 驱动配置头文件LCD_Config 该文件包含了一些重要的配置项,如显示分辨率、色彩深度等。 ##### 3.5. LCD驱动功能接口程序(LCD_Dis) - **基本绘图功能函数**:提供绘制点、线、圆等功能。 - **字符显示功能函数**:实现字符的显示。 ##### 3.6. 字符显示原理 - **字符与字模**:每个字符都有对应的字模数据。 - **字模与字库**:字模数据存储在字库中。 - **用绘点来绘制字符**:根据字模数据绘制字符。 #### 4. Mz_MenuGUI菜单应用 Mz_MenuGUI是一种基于MzL02LCD模块的图形用户界面,可以实现菜单导航、按钮点击等功能。 - **源码分析**:包括菜单资源定义、配置头文件、接口函数等。 - **定制自己的Menu菜单界面**:可以根据实际需求调整菜单样式和布局。 #### 5. 移植通用版LCD驱动程序到LPC的ARM7 移植过程主要包括: - 修改驱动中的底层代码。 - 调整与编译器相关的配置。 #### 6. 移植通用版LCD驱动程序到另一块LCD 如果需要将LCD驱动程序移植到不同的LCD模块上,需要关注以下几个方面: - 检查新的LCD模块的技术规格。 - 修改LCD_PortConfig.h中的端口配置。 - 调整底层驱动功能函数以适应新的LCD模块。 点阵LCD的驱动显控原理涉及到硬件接口、驱动程序的设计等多个方面,本书通过对MzL02LCD模块的详细介绍,旨在帮助读者理解点阵LCD的工作原理及如何编写相应的驱动程序。无论是初学者还是有一定经验的开发者,都可以从本书中获得宝贵的指导。
剩余86页未读,继续阅读
- 粉丝: 0
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助