12864液晶显示驱动与单片机应用实例

需积分: 9 0 下载量 126 浏览量 更新于2024-09-20 收藏 93KB DOC 举报
本文档主要介绍了单片机在12864液晶显示的应用,特别关注于如何编写驱动程序来控制这种常见的16x24点阵液晶模块。12864液晶显示是一种8位接口的LCD,通常用于嵌入式系统和小型电子产品中,因为它具有较大的存储空间和相对简单的控制方法。 首先,文档提到了几个关键的硬件接口引脚定义,包括: 1. **CSBIT_3**:命令/数据选择信号,用于控制是发送LCD命令(CS=0)还是数据(CS=1)。 2. **SIDBIT_2**:读/写选择信号,决定数据是否从单片机到LCD(SID=0,写操作)或从LCD到单片机(SID=1,读操作)。 3. **SCLKBIT_1**:时钟信号,用于同步数据传输,下降沿读取数据,上升沿发送数据。 4. **PSBBIT_0**:数据位宽度选择,H表示8位并口方式,L表示4位或串口方式。 在程序部分,作者使用了C语言编写,并定义了一些全局变量,如`LCD_DispBuff1`至`LCD_DispBuff4`,用于存储要显示的文本字符串,如转速、电流和频率等。此外,还定义了一个`shu`数组,用于数字字符的存储。 接下来,有几个重要的函数被声明: - `Port_init()`:用于初始化与LCD通信相关的输入输出端口。 - `LCD_Init()`:进行LCD的基本设置,如时序配置,准备进行数据传输。 - `Write_Com(unsigned char LCD_Com)`:写入LCD控制命令。 - `Write_Data(unsigned char LCD_Data)`:写入LCD的数据。 - `SPIWR(unsigned char Wdata, unsigned char RS)`:可能是通过SPI接口发送数据,`Wdata`是要写入的数据,`RS`可能用于选择是数据还是命令。 - `SendByteLCD(unsigned char WLCDData)`:发送一个字节到LCD。 - `Display_zh()`:显示正常模式下的文本。 - `Displayp(unsigned char ad, unsigned char* pcString)`:用于显示包含地址和字符串的特定区域。 - `delay(int i)`:延迟函数,用于调整数据传输和显示之间的适当时间间隔。 在`main()`函数中,程序首先调用`Port_init()`和`LCD_Init()`初始化所有必要的硬件和软件设置,然后通过调用不同的显示函数来更新液晶显示的内容,包括显示字符串、数字和模式切换等。 这篇文档提供了关于如何使用单片机驱动12864液晶显示的实用指南,展示了基础的硬件连接和编程逻辑,对于初学者理解和实践单片机与LCD交互非常有帮助。