C语言编程:SPI驱动LCD12864详细注释
4星 · 超过85%的资源 需积分: 9 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的初始化序列、数据/指令的发送函数等。
2022-07-15 上传
2021-09-29 上传
2022-07-14 上传
163 浏览量
2021-09-11 上传
cjy1119295968qq
- 粉丝: 0
- 资源: 1
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍