STC8硬件SPI驱动OLED模块

一、概述:

        STC8H系列单片机内部集成了一种告诉串行通信接口——SPI接口。SPI是一种全双工的高速同步通信总线。

        相比软件模拟SPI来说,硬件SPI的主要优点是高速传输和低CPU负载,适合处理高速数据传输和实时应用。

二、开发环境

        1.keil5 C51

        2.STC8H8K64U核心板

        3.7针脚 0.96寸 OLED屏幕

 三、0.96寸OLED屏幕

        7针的0.96寸OLED显示,采用SPI协议,速度比采用I2C协议快,但两者的显示驱动相同。

        屏幕整体分辨率为128*64,有黄蓝、白、蓝三种颜色可选,驱动芯片为SSD1306,下面是引脚功能介绍。

0.96寸OLED屏幕显示引脚定义
名称 定义
GND 电源地
VCC 电源正(3~5.5V)
D0 OLED的D0脚,在SPI和IIC通信中为时钟管脚
D1 OLED的D1脚,在SPI和IIC通信中为数据管脚
RES OLED的RES#脚,用来复位(低电平复位)
DC OLED的D/C#E脚,数据和命令控制管脚,1数据,0命令
CS OLED 的CS#脚,也就是片选管脚

硬件连接

0.96 OLED STC8H8K64U
CS P2.2
D1 P2.3
DC P2.4
D0 P2.5
RES P2.6

四、SPI相关寄存器

1.SPI功能脚切换

根据要连接的引脚选择P_SW1寄存器的值,这里以P2.2~P2.5引脚为例

P_SW1 |= 0x04; //SPI引脚改为SS->P2.2,MOSI->P2.3,MISO->P2.4,SCLK->P2.5

2.SPI控制寄存器(SPCTL)

要根据OLED屏幕的驱动芯片SSD1306的时序来选择配置

SPCTL SSIG SPEN DORD MSTR CPOL CPHA SPR
0xD0 1 1 0 1 0 0 0 0

SSIG = 1:忽略SS引脚功能

SPEN = 1:使能SPI

DORD = 0:MSB方式传输,高位优先

MSRT = 1:设置成主机模式

CPOL = 0    CPHA = 0 或 CPOL = 1    CPHA = 1:根据时序图,可使用为模式0与模式3

SPR = 00  SPI传输频率 = SYSclk/4

SPCTL = 0xD0;//SS启用,使能SPI,MSB高位先行,主机模式

3.SPI状态寄存器(SPSTAT)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值