C语言编程:SPI驱动LCD12864详细注释
4星 · 超过85%的资源 需积分: 9 136 浏览量
更新于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的初始化序列、数据/指令的发送函数等。
173 浏览量
138 浏览量
103 浏览量
2084 浏览量
1446 浏览量
cjy1119295968qq
- 粉丝: 0
- 资源: 1
最新资源
- jdk-7u80-windows-x64.exe
- CRM成功的十大秘诀DOC
- InsectDefense
- ProClub:2015-2016年霍姆斯特德高中编程俱乐部工作坊资料
- cryptmount:Linux加密文件系统管理工具-开源
- Zadania-Informatyka
- cards_test_task
- 三菱PLC通过三菱控件与PC交互
- 留住客户还不够
- tv-remote-control:在浏览器上运行的电视遥控模拟器
- python-utils:在Keboola Connection环境中运行的Python应用程序的实用程序库
- 数据库世界:CS340网站数据库
- cpu环境下可运行的骨骼序列行为识别的代码
- IFCX-开源
- st-tutorial.github.io
- DeliveryTracker:大韩民国的快递服务跟踪器写在Rust中