C语言编程:SPI驱动LCD12864详细注释

4星 · 超过85%的资源 需积分: 9 50 下载量 93 浏览量 更新于2024-09-14 收藏 6KB TXT 举报
液晶显示屏LCD12864是一种常见的图形点阵式显示器,常用于嵌入式系统、电子仪表盘等设备中,显示文本、简单图形等信息。SPI(Serial Peripheral Interface)是串行外设接口,是一种全双工、同步的通信协议,广泛应用于微控制器与外部设备之间的通信。 该代码片段是C语言实现的SPI驱动LCD12864的程序,首先通过定义宏来设置LCD12864的相关控制引脚。例如,`RE_LCD`代表使能引脚,`CS_LCD`是片选信号,`SDI_LCD`是数据输入引脚,而`SCK_LCD`是时钟信号。这些引脚在LPC17xx系列微控制器的GPIO1端口上。 代码中还定义了宏来控制这些引脚的电平状态,如`SET_RE_LCD`和`CLR_RE_LCD`分别用于设置使能引脚为高和低电平,以此类推。这些宏方便了对LCD的控制操作。 接下来的`INI_SSP0`函数是初始化SPI0的函数。这里配置了SPI0的相关寄存器以满足LCD12864的需求: - `PINSEL3`寄存器用于设置P1.24(SDI_LCD)和P1.20(SCK_LCD)为SPI数据和时钟输出。 - `CR1`寄存器配置了SPI的工作模式,设置为非连续传输(LBM=0),关闭SPI(SSE=0),主模式(MS=0),以及下降沿数据有效(SOD=0)。 - `CR0`寄存器则设置了数据宽度为8位(8个时钟周期传输一个字节),选择了SPI帧格式(FRF="00",即 Motorola SPI 格式),时钟极性(CPOL=0,空闲时钟低电平)和时钟相位(CPHA=0,数据在时钟的前沿采样)。 在实际使用时,还需要进行LCD12864的初始化序列,包括设置指令和数据模式、清屏、设置光标位置等,然后才能通过SPI接口发送数据到LCD进行显示。此外,还需要编写发送命令和数据的函数,以正确地将指令或数据通过SPI总线传输给LCD。 这段代码展示了如何使用LPC17xx微控制器的SPI接口驱动LCD12864显示屏,包括了引脚配置、SPI初始化以及可能的控制信号操作。为了完整地实现LCD12864的驱动,还需要补充其他必要的功能,如LCD的初始化序列、数据/指令的发送函数等。