LCDWIKI 1.3inch SPI OLED Module MSP130X 用户手册 CR2018-MI inch SPI OLED Module MSP130X 用户手册 1 / 18 Rev1.0

Similar documents
LCDWIKI 1.44inch SPI Module MSP1443 用户手册 CR2018-MI inch SPI Module MSP1443 用户手册 1 / 15 Rev1.0

LCDWIKI 1.3inch IIC OLED Module MC130GX&MC130VX 用户手册 CR2019-MI inch IIC OLED Module MC130GX&MC130VX 用户手册 1 / 31 Rev1.0

1.5inch IIC OLED Module 用户手册 1 / 12

e-paper Driver HAT 用户手册 e-paper Driver HAT 用户手册 产品概述 本品是电子墨水屏驱动板, 可驱动微雪推出的多款 SPI 接口电子墨水屏裸屏 特点 基于树莓派标准接口设计, 兼容并可直接插入 Raspberry Pi 2 代 B/3 代 B/Zero/Zero

接口说明 功能引脚 树莓派接口 (BCM) 描述 3V3 3V3 3.3V 电源正 GND GND 电源地 CLK P11/P_SCK SPI 时钟输入 DIN P10/P_MOSI SPI 数据输入 CS P8/P_CE0 片选, 低电平有效 DC P25 数据 / 命令选择 RST P27 复位

DC 数据 / 命令控制引脚 ( 高电平表示数据, 低电 平表示命令 ) RST 外部复位引脚 ( 低电平复位 ) BUSY 忙状态输出引脚 ( 高电平表示忙 ) 2

Arduino 1-1 Arduino 1-2 Arduino 1-3 Arduino IDE

4.2inch e-paper Module 用户手册 4.2inch e-paper Module 用户手册 版本日期内容 V 初版 V 增加注意事项, 程序更新 说明 使用产品之前, 请阅读本册, 非正常使用造成的产品损坏, 不在保修范围内

IOT-MSP432_硬件手册

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax)

手册 doc

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

F515_CS_Book.book

<4D F736F F D20C7B6C8EBCABDCAB5D1E9CAD2B7BDB0B82E646F63>

HMI COM1 RS SIEMENSE S7-200 RS485

!"#!$ %!$"" %%$&&''!(!)!*+,,!%*& -./ *##)' * %$" ',!*+/!*+ / - 0,1 #$*#2 #$*#2'' *($#3 *($#3'' -. 45,67!&$#6)*$ , ' 189

Photoshop CS6 艺术设计案例教程 ( 第二版 ) 1.1 Photoshop 的应用领域 Photoshop,,, Photoshop Photoshop 的用途 Photoshop CIS ( ) ( ) 案例展现 ~ 1

Infrared Temperature Sensor 用户手册 Infrared Temperature Sensor 用户手册 产品特点 本模块是一款非接触式红外温度传感器, 能根据被测物体的红外辐射能量大小和波长分布来检测物体的表面温度 通讯接口是 SMBus, 支持 PWM 输出 传感器具体

xilinx FPGA 串口设计笔记 在设计中, 需要用 FPGA 读取 GPS 内部的信息,GPS 的通信方式为串口, 所以在 FPGA 中移植了串口程序 本次移植的程序源代码是特权的串口程序, 本以为移植应该很快就能完成, 但其中还是出了一写小问题, 耽误了不少的时间, 下面将问题进行一个总结!

103 USB C#.NET VB6 100 USB USB (Open Source) LibUsbDotNet USB Library.NET LibUsbDotNet Visual Basic.NET 2010 Express VB.NET 劉政鑫 王嘉鴻 i


stm32_mini_v2

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi

中文手册

bingdian001.com

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

MCU DSP MSO MCU DSP MSO MSO MSO MCU/DSP I/O MSO 16 Microchip IC18 turn-on MSO chirp MCU I/O I 2 C

文档 1

说明书库

untitled

ETA104 数据采集模块数据手册

GW2A 系列 FPGA 产品 GW2A-18 器件 Pinout Version History 日期 版本 2016/8/ /9/ /11/ /2/ /6/ /6/ /8

<4D F736F F D20D4D3D6BECEC4B8E5C4A3B0E52E646F63>

STEP-MXO2 V2硬件手册

Pan-Tilt HAT 用户手册 Pan-Tilt HAT 用户手册 产品概述本产品是基于树莓派的云台扩展板, 板载 PCA9685 芯片, 输出 PWM 控制云台转动 板载 TSL2581 环境光传感器, 通过检测光强辅助摄像头工作 通过 I2C 接口控制, 无需占用额外的引脚 提供完善的配套树

Microsoft Word - xiuxinduanyu-2-doc.doc

X713_CS_Book.book

信 息 披 露 义 务 人 声 明 1 信 息 披 露 义 务 人 依 据 中 华 人 民 共 和 国 公 司 法 中 华 人 民 共 和 国 证 券 法 上 市 公 司 收 购 管 理 办 法 公 开 发 行 证 券 公 司 信 息 披 露 内 容 与 格 式 准 则 第 15 号 权 益 变 动

, (, ),,,,,, : : ( ), :,,,,,,, ( ), ( ),,,,,, ( ) ( ),, :!,,,,,,,,,,,,,,,,,,,,,,, [1 ] :,,,, :, ;, ( ),, :,,,,,,,,,,, 66

第 卷 第 期 年 月 半 导 体 学 报! " # $%&'%' $!&' #% #$1 /#1 $'! / ?/ ?/ / 3 0,?/ ) * +!!! '!,!! -. & ' $! '! 4% %&1)/1(7%&)03 (% )

2

投影片 1

外围器件-new.cdr


<4D F736F F D B0EABB79A4E5B8D5C344BBBCB065AAA9>


康體藝術

SPMC75F2413A_EVM_使用说明_V1.2.doc

Microsoft Word - DV-BD4053S305AD  UMC-PBB5 规格书.doc

<4D F736F F D20B9F0D5FEB0ECB7A2A3A A3A93532BAC52E646F63>

<313032A655A874B2D5B3CCA743BFFDA8FABCD0B7C7AAED2E786C73>

柳州历史上的今天内文改版式.FIT)

生 產 準 備 您 接 近 生 產 之 注 意 事 項 : 備 妥 住 院 用 物, 勿 遠 行 ( 生 產 用 物 包 ) 最 好 有 人 在 家 陪 伴, 或 和 陪 產 者 保 持 連 繫, 有 任 何 狀 況 可 立 即 趕 到 可 做 家 事 散 步 蹲 下 等 運 動, 以 不 太 累

Q8. 公 營 事 業 機 構 之 公 務 員 兼 具 勞 工 身 分 者, 於 97 年 3 月 19 日 以 前, 原 選 擇 參 加 勞 保, 調 任 其 他 公 營 事 業 機 構 時, 應 改 參 加 公 保 所 謂 調 任 其 他 公 營 事 業 機 構 之 判 別 依 據 ( 或 標

天人炁功行入與感應經驗分享

YYW1.nps

untitled

Microsoft Word - BL5372_UMAN_V1.1.doc

2 12

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6BFBCCAD4B4F3B8D92E646F63>

图 片 展 示 : 资 源 简 介 : FPGA Altera CycloneII EP2C5T144C8 (4608 个 LE) 2 路 有 源 晶 振 (50M,25M) AS & JTAG 标 准 接 口 VGA 接 口 UART 接 口 蜂 鸣 器 8bit 并 行 DAC 8 路 按 键


Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15 LM361 LM361 Zlg

有 机 产 品 认 证 管 理 办 法 第 一 章 总 则 第 一 条 为 了 维 护 消 费 者 生 产 者 和 销 售 者 合 法 权 益, 进 一 步 提 高 有 机 产 品 质 量, 加 强 有 机 产 品 认 证 管 理, 促 进 生 态 环 境 保 护 和 可 持 续 发 展, 根 据

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

菩提道次第廣論

Transcription:

1.3inch SPI OLED Module MSP130X 用户手册 www.lcdwiki.com 1 / 18 Rev1.0

OLED 简介 OLED 即有机发光二级管 (Organic Light-Emitting Diode, OLED) OLED 显示技术具有自发光 广视角 几乎无穷高的对比度 较低耗电 极高反应速度 可用于挠曲性面板 使用温度范围广 构造及制程较简单等优点, 被认为是下一代的平面显示器新兴应用技术 OLED 显示和传统的 LCD 显示不同, 其可以自发光, 所以不需要背光灯, 这使得 OLED 显示屏相对于 LCD 显示屏尺寸更薄, 同时显示效果更优 产品概述 该款 OLED 模块显示尺寸为 1.3 寸, 配有 7 个引脚, 采用 4 线制 SPI 通信方式, 驱动 IC 为 SH1106, 分辨率为 128x64, 显示颜色为黑白或者黑蓝双色 产品特点 黑白或黑蓝双色显示, 显示效果清晰, 对比度高 超大可视角度 : 大于 160 ( 显示屏中可视角度最大的一种屏幕 ) 宽电压供电 (3V~5V), 兼容 3.3V 和 5V 逻辑电平, 无需电平转换芯片 采用 SPI 串行总线, 只需几个 IO 即可点亮显示 超低功耗 : 正常显示仅为 0.06W( 远低于 TFT 显示屏 ) 工作温度范围为工业级 (-40 ~70 ) 军工级工艺标准, 长期稳定工作 提供丰富的示例程序 提供底层驱动技术支持 www.lcdwiki.com 2 / 18 Rev1.0

产品参数 名称显示颜色 SKU 尺寸类型驱动芯片分辨率模块接口有效显示区域模块尺寸 描述白色 / 蓝色 MSP130W/MSP130B 1.3(inch) OLED SH1106 128*64 (Pixel) 4-wire SPI interface 29.42x14.7(mm) 33.50x35.40(mm) 视角 >160 工作温度 -40 ~70 存储温度 -40 ~85 工作电压 3.3V / 5V 功耗全亮约为 25mA, 全灭约为 1.5mA 产品重量 15(g) 接口说明 标号 PIN 引脚说明 1 GND OLED 显示模块电源地 2 VCC OLED 显示模块电源正 (3.3V/5V) 3 CLK OLED 显示模块 SPI 总线时钟信号 4 MOSI OLED 显示模块 SPI 总线写数据信号 5 RES OLED 显示模块复位控制信号 6 DC OLED 显示模块命令 / 数据选择控制信号 7 CS OLED 显示模块片选控制信号 www.lcdwiki.com 3 / 18 Rev1.0

硬件配置 由于 OLED 可以自发光, 所以该 OLED 模块没有背光控制电路, 只有 OLED 显示控制电路 OLED 显示控制电路主要用于控制 OLED 显示, 包括片选 复位以及数据 命令传输控制 该 OLED 模块采用 4 线制 SPI 通信方式, 硬件配置 4 个引脚 :CS( 片选 ) DC( 命令 / 数据选择 ) MOSI(SPI 写数据 ) CLK(SPI 时钟 ) 按照 SPI 工作时序来控制此四个引脚就可以完成 SPI 数据传输 工作原理 1 SH1106 控制器简介 SH1106 为一款 OLED/PLED 控制器, 支持的最大分辨率为 132*64, 拥有一个 1056 字节大小的 GRAM 支持 8 位 6800 和 8 位 8080 并口数据总线, 还支持 3 线制和 4 线制 SPI 串口总线以及 I2C 总线 由于并行控制需要大量的 IO 口, 所以最常用的还是 SPI 串口总线和 I2C 总线 其支持垂直滚动显示, 可用于小型便携式设备, 如手机 MP3 播放器等 SH1106 控制器使用 1bit 来控制一个像素点显示, 所以每个像素点只能显示黑白双色 其显示的 RAM 总共分为 8 页, 每页有 8 行, 每行 128 个像素点 设置像素点数据时, 需要先指定页地址, 再分别指定列低地址和列高地址, 所以每次同时设置垂直方向的 8 个像素点 为了能够灵活控制任意位置的像素点, 软件上先设置一个和显示 RAM 一样大小的全局一维数组, 先将像素点数据设置到全局数组中, 此过程采用或 与操作保证之前写入全局数组的数据不受破坏, 然后将全局数组的数据写入到显示 RAM 中, 这样就可以通过 OLED 显示出来了 2 SPI 通信协议简介 4 线制 SPI 总线写模式时序如下图所示 : www.lcdwiki.com 4 / 18 Rev1.0

CSX 为从机片选, 仅当 CSX 为低电平时, 芯片才会被使能 D/CX 为芯片的数据 / 命令控制引脚, 当 DCX 为低电平时写命令, 为高电平时写数据 SCL 为 SPI 总线时钟, 每个上升沿传输 1bit 数据 ; SDA 为 SPI 传输的数据, 一次传输 8bit 数据, 数据格式如下图所示 : 高位在前, 先传输 对于 SPI 通信而言, 数据是有传输时序的, 即时钟相位 (CPHA) 与时钟极性 (CPOL) 的组合 : CPOL 的高低决定串行同步时钟的空闲状态电平,CPOL = 0, 为低电平 CPOL 对传输协议没有很多的影响 ; CPHA 的高低决定串行同步时钟是在第一时钟跳变沿还是第二个时钟跳变沿数据被采集, 当 CPHL = 0, 在第一个跳变沿进行数据采集 ; 这两者组合就成为四种 SPI 通信方式, 国内通常使用 SPI0, 即 CPHL = 0,CPOL = 0 www.lcdwiki.com 5 / 18 Rev1.0

使用说明 1 Arduino 使用说明接线说明 : Arduino UNO 和 MEGA2560 单片机测试程序接线说明 序号 引脚丝印 对应 UNO/MEGA2560 开发板接线引脚 1 GND GND 2 VCC 5V/3.3V A1( 软件模拟 SPI) 3 CLK 13(UNO 硬件 SPI) 52(MEGA2560 硬件 SPI) A2( 软件模拟 SPI) 4 MOSI 11(UNO 硬件 SPI) 51(MEGA2560 硬件 SPI) 5 RES A4 6 DC A3 7 CS A5 注意 :CLK 和 MOSI 需要根据开发板和使用的 SPI 功能来对应接线 操作步骤 : A 按照上述接线说明将 OLED 模块和 Arduino 单片机连接起来, 并上电 ; B 打开 Arduino 测试程序目录, 选择需要测试的示例, 如下图所示 : www.lcdwiki.com 6 / 18 Rev1.0

C 打开所选的示例工程, 进行编译和下载 关于 Arduino 测试程序编译和下载的具体操作方法见如下文档 : http://www.lcdwiki.com/res/publicfile/arduino_ide_use_illustration_cn.pdf D OLED 模块如果正常显示字符和图形, 则说明程序运行成功 ; 2 RaspberryPi 使用说明接线说明 : GPIO Map: www.lcdwiki.com 7 / 18 Rev1.0

Raspberry Pi 3 Model B 和 3 Model B+ 测试程序接线说明 序号引脚丝印对应 3 Model B/ B+ 开发板接线引脚 1 GND 2 VCC 3 CLK 4 MOSI 5 RES 6 DC 7 CS GND ( 物理引脚 :6,9,14,20,25,30,34,39) 5V/3.3V ( 物理引脚 :1,2,4) 物理引脚 :23 BCM 编码 :11 wiringpi 编码 :14 物理引脚 :19 BCM 编码 :10 wiringpi 编码 :12 物理引脚 :5 BCM 编码 :3 wiringpi 编码 :9 物理引脚 :3 BCM 编码 :2 wiringpi 编码 :8 物理引脚 :24 BCM 编码 :8 wiringpi 编码 :10 注意 : 物理引脚是指 RaspBerry Pi 开发板的 GPIO 引脚编码 BCM 编码是指使用 BCM2835 GPIO 库时的 GPIO 引脚编码 wiringpi 编码是指使用 wiringpi GPIO 库时的 GPIO 引脚编码在代码里面使用哪个 GPIO 库, 引脚定义就需要使用相应的 GPIO 库编码, 详情见 GPIO map 表操作步骤 : A 开启 RaspberryPi 的 SPI 功能使用串口终端工具 ( 如 putty) 登录 RaspberryPi, 输入如下命令 : sudo raspi-config 选择 Interfacing Options->SPI->YES 启动 RaspberryPi 的 SPI 内核驱动 www.lcdwiki.com 8 / 18 Rev1.0

B 安装函数库关于 RaspberryPi 的 bcm2835 wiringpi python 函数库的详细安装方法见如下文档 : http://www.lcdwiki.com/res/publicfile/raspberrypi_use_illustration_cn.pdf C bcm2835 使用说明 a) 先将 OLED 模块按照上述接线和 RaspberryPi 开发板连接起来 b) 将测试程序目录 Demo_OLED_bcm2835_SPI 拷贝到 RaspberryPi 里 ( 可以通过 SD 卡拷贝, 也可以通过 FTP 工具 ( 如 FileZilla) 传输 ) c) 执行如下命令运行 bcm2835 测试程序 : cd Demo_OLED_bcm2835_SPI make sudo./1.3_spi_oled 如下图所示 : D wiringpi 使用说明 a) 先将 OLED 模块按照上述接线和 RaspberryPi 开发板连接起来 b) 将测试程序目录 Demo_OLED_wiringPi_SPI 拷贝到 RaspberryPi 里 ( 可以通过 SD 卡拷贝, 也可以通过 FTP 工具 ( 如 FileZilla) 传输 ) c) 执行如下命令运行 wiringpi 测试程序 : cd Demo_OLED_wiringPi_SPI make sudo./1.3_spi_oled 如下图所示 : www.lcdwiki.com 9 / 18 Rev1.0

E python 使用说明 a) 运行 python 测试程序之前还需要安装图像处理库 PIL, 具体安装方法见如下文档 : http://www.lcdwiki.com/res/publicfile/python_image_library_install_illustration_cn.pdf b) 将 OLED 模块按照上述接线和 RaspberryPi 开发板连接起来 c) 将测试程序目录 Demo_OLED_wiringPi_SPI 拷贝到 RaspberryPi 里 ( 可以通过 SD 卡拷贝, 也可以通过 FTP 工具 ( 如 FileZilla) 传输 ) d) 执行如下命令分别运行 3 个 python 测试程序 : cd Demo_OLED_python_SPI_source sudo python show_graph.py sudo python show_char.py sudo python show_bmp.py 如下图所示 : 3 STM32 使用说明接线说明 : 由于不同的开发板引脚位置不一样, 而且预留外接的引脚也不一样 ( 有些开发板没有将需要的引脚外接 ), 为了方便接线, 所以每种开发板的接线引脚不一致 STM32F103RCT6 单片机测试程序接线说明 序号 引脚丝印 对应 MiniSTM32 开发板接线引脚 1 GND GND www.lcdwiki.com 10 / 18 Rev1.0

2 VCC 5V/3.3V 3 CLK PB13 4 MOSI PB15 5 RES PB12 6 DC PB10 7 CS PB11 STM32F103ZET6 单片机测试程序接线说明 序号 引脚丝印 对应 Elite STM32 开发板接线引脚 1 GND GND 2 VCC 5V/3.3V 3 CLK PB13 4 MOSI PB15 5 RES PB12 6 DC PB10 7 CS PB11 STM32F407ZGT6 单片机测试程序接线说明 序号 引脚丝印 对应 Explorer STM32F4 开发板接线引脚 1 GND GND 2 VCC 5V/3.3V 3 CLK PB3 4 MOSI PB5 5 RES PB12 6 DC PB14 7 CS PB15 www.lcdwiki.com 11 / 18 Rev1.0

STM32F429IGT6 单片机测试程序接线说明 序号 引脚丝印 对应 Apollo STM32F4/F7 开发板接线引脚 1 GND GND 2 VCC 5V/3.3V 3 CLK PF7 4 MOSI PF9 5 RES PD12 6 DC PD5 7 CS PD11 操作步骤 : A 按照上述接线说明将 OLED 模块和 STM32 单片机连接起来, 并上电 ; B 选择需要测试的 STM32 测试程序, 如下图所示 : C 打开所选的测试程序工程, 进行编译和下载 ; 关于 STM32 测试程序编译和下载的详细说明见如下文档 : http://www.lcdwiki.com/res/publicfile/stm32_keil_use_illustration_cn.pdf D OLED 模块如果正常显示字符和图形, 则说明程序运行成功 ; 4 C51 使用说明接线说明 : www.lcdwiki.com 12 / 18 Rev1.0

STC89C52RC 和 STC12C5A60S2 单片机测试程序接线说明 序号 引脚丝印 对应 STC89/STC12 开发板接线引脚 1 GND GND 2 VCC 5V/3.3V 3 CLK P17 4 MOSI P15 5 RES P33 6 DC P12 7 CS P13 操作步骤 : A 按照上述接线说明将 OLED 模块和 C51 单片机连接起来, 并上电 ; B 选择需要测试的 C51 测试程序, 如下图所示 : C 打开所选的测试程序工程, 进行编译和下载 ; 关于 C51 测试程序编译和下载的详细说明见如下文档 : http://www.lcdwiki.com/res/publicfile/c51_keil%26stc-isp_use_illustration_cn.pdf D OLED 模块如果正常显示字符和图形, 则说明程序运行成功 ; 软件说明 1 代码架构 A Arduino 代码架构说明代码架构如下图所示 : www.lcdwiki.com 13 / 18 Rev1.0

示例代码 LCDWIKI 库 应用程序 LCDWIKI_SPI 库 LCDWIKI_GUI 库 Example1 Example2 Arduino 的测试程序代码由两部分组成 :LCDWIKI 库和应用代码 LCDWIKI 库包含两部分内容 :LCDWIKI_SPI 库和 LCD_GUI 库 应用程序包含几个测试示例, 每个测试示例包含不同的测试内容 LCDWIKI_SPI 为底层库, 和硬件有关联, 主要负责操作寄存器, 包括硬件模块初始化, 数据和命令传输, 像素点坐标和颜色设置, 显示方式配置等 LCDWIKI_GUI 为中间层库, 主要负责使用底层库提供的 API 实现图形的绘制, 字符显示等操作 应用程序是利用 LCDWIKI 库提供的 API, 编写一些测试示例, 实现某方面的测试功能 B RaspberryPi 代码架构说明 : python 测试程序代码架构如下图所示 : 示例代码 图像处理库 PIL OLED 初始化代码 测试示例 python 测试程序由但部分组成 :PIL 图像处理库,OLED 初始化代码, 测试示例代码 PIL 图像处理库负责图像绘制, 字符和文字显示等操作 OLDE 初始化代码负责操作寄存器, 包括硬件模块初始化, 数据和命令传输, 像素点坐标和颜色设置, 显示方式配置等测试示例则是利用上述两部分代码提供的 API, 实现一些测试功能 www.lcdwiki.com 14 / 18 Rev1.0

Bcm2835 和 wiringpi 测试程序代码架构如下 : 示例代码 test 代码 GUI 代码 OLED 代码主函数平台代码 SPI 代码 GPIO 库 主程序运行时的 Demo API 代码包含在 test 代码中 ; OLED 初始化以及相关的操作都包含在 OLED 代码中 ; 画点 线 图形以及中英文字符显示相关的操作都包含在 GUI 代码中 ; GPIO 库提供 GPIO 操作 ; 主函数实现应用程序运行 ; 平台代码因平台而异 ; SPI 初始化及配置相关的操作包含在 SPI 代码中 ; C STM32 和 C51 代码架构说明 STM32 和 C51 测试程序代码架构如下图所示 : 示例代码 test 代码 GUI 代码 OLED 代码主函数平台代码 SPI 代码 主程序运行时的 Demo API 代码包含在 test 代码中 ; OLED 初始化以及相关的操作都包含在 OLED 代码中 ; 画点 线 图形以及中英文字符显示相关的操作都包含在 GUI 代码中 ; 主函数实现应用程序运行 ; 平台代码因平台而异 ; SPI 初始化及配置相关的操作包含在 SPI 代码中 ; www.lcdwiki.com 15 / 18 Rev1.0

2 软件 SPI 和硬件 SPI 说明软件 SPI 和硬件 SPI 示例代码在测试内容上没任何区别, 但是如下方面有区别 : A 显示速度硬件 SPI 明显比软件 SPI 要快, 这是由硬件决定的 B GPIO 定软件软件 SPI 全部控制引脚都要定义, 可以使用任何空闲引脚, 硬件 SPI 数据和时钟信号引脚是固定的 ( 因平台而异 ), 其他控制引脚要自己定义, 也可以使用任何空闲引脚 C 初始化软件 SPI 初始化时, 只需要对用于引脚定义的 GPIO 进行初始化 (C51 平台不需要 ), 硬件 SPI 初始化时, 需要对相关的控制寄存器以及数据寄存器进行初始化 3 GPIO 定义说明 A Arduino 测试程序 GPIO 定义说明 Arduino 测试程序 GPIO 定义放在应用示例里, 每个应用示例都可以定义 GPIO 如下图所示 : 如果使用软件 SPI, 所有引脚定义都可以修改成其他任何空闲的 GPIO 如果使用硬件 SPI, 则 MOSI 和 CLK 不可修改, 也不需要定义, 其他 GPIO 都可修改 B RaspberryPi 测试程序 GPIO 定义说明 RaspberryPi 测试程序都是使用硬件 SPI, 所以只需定义 3 个 GPIO 口 bcm2835 和 WiringPi 测试程序将 GPIO 定义放在 oled.h 文件里面, 如下图所示 : 此三个 GPIO 可以根据相应的 GPIO 库编码来修改 C STM32 测试程序 GPIO 定义说明 STM32 测试程序 GPIO 定义分为两部分 : 控制 GPIO 定义和 SPI GPIO 定义 www.lcdwiki.com 16 / 18 Rev1.0

控制 GPIO 定义放在 oled.h 里,SPI GPIO 定义放在 spi.h 里, 分别如下图所示 : 如果使用软件 SPI, 所有引脚定义都可以修改成其他任何空闲的 GPIO 如果使用硬件 SPI, 则 OLED_MOSI 和 OLED_CLK 不可修改, 也不需要定义, 其他 GPIO 都可修改 修改完 GPIO 定义后, 需要到 oled.c 文件的 OLED_Init_GPIO 函数里将 GPIO 初始化做相应的修改 D C51 测试程序 GPIO 定义说明 C51 测试程序 GPIO 定义分为两部分 : 控制 GPIO 定义和 SPI GPIO 定义控制 GPIO 定义放在 oled.h 里,SPI GPIO 定义放在 spi.h 里, 分别如下图所示 : 如果使用软件 SPI, 所有引脚定义都可以修改成其他任何空闲的 GPIO 如果使用硬件 SPI, 则 OLED_MOSI 和 OLED_CLK 不可修改, 也不需要定义, 其他 GPIO 都可修改 ( 只有 STC12C5A60S2 单片机才有硬件 SPI 功能 ) 4 SPI 通信代码实现 A 硬件 SPI 通信都是由系统实现好的, 我们只需要初始化寄存器, 调用数据发送函数就可以进行 SPI 操作了, 具体说明请查阅相关 MCU 的数据手册 B 软件 SPI 通信则需要我们根据 SPI 的工作时序来自己实现 Arduino 的软件 SPI 通信代码放在 LCDWIKI_SPI 库里面 ; www.lcdwiki.com 17 / 18 Rev1.0

STM32 和 C51 的软件 SPI 通信代码放在 spi.c 里面 ; 尽管平台不一样, 但是实现的方法是一样的, 如下图所示 : 传输的数据位为 1, 则将 SPI 数据引脚拉高 ; 为 0 时, 则将 SPI 数据引脚拉低, 每次传 输一个字节数据, 高位在前, 每个时钟上升沿传输 1 位数据 常用软件 本套测试示例需要显示中英文 符号以及图片, 所以要用到 PCtoLCD2002 取模软件 这里只针对该套测试程序说明一下取模软件的设置 本套测试程序 PCtoLCD2002 取模软件设置如下 : 点阵格式选择阴码取模方式选择逐行式 (C51 测试程序需要选择行列式 ) 取模走向选择顺向 ( 高位在前 )(C51 测试程序需要选择逆向 ( 低位在前 )) 输出数制选择十六进制数自定义格式选择 C51 格式具体设置方法见如下网页 : http://www.lcdwiki.com/zh/%e3%80%90%e6%95%99%e7%a8%8b%e3%80%91%e4%b8%ad%e8 %8B%B1%E6%96%87%E6%98%BE%E7%A4%BA%E5%8F%96%E6%A8%A1%E8%AE%BE%E7%BD% AE www.lcdwiki.com 18 / 18 Rev1.0