基于CC2530的OLED显示屏模块实验
实验内容
- 编写程序,实现在OLED屏幕上显示文字和图案。
实验目的
- 了解OLED屏的概念;
- 了解OLED屏的特点;
- 了解OLED模块的使用。
实验环境
实验所需硬件
序号 | 名称 | 数量 | 备注 |
---|---|---|---|
1 | 电脑 | 1台 | 系统Windows7及以上 |
2 | CC2530底座模块 | 1个 | · |
3 | OLED模块 | 1个 | · |
4 | CC Debugger 仿真器和连接线 | 1套 | · |
5 | USB线 | 1根 | · |
6 | OLED模块实验代码 | 1份 | · |
实验所需软件
- IAR 驱动安装步骤
- CC Debugger 驱动安装步骤
- Git 软件下载(可选)
CC2530底座:HIVE ZigBee Pro(简称CC2530底座)是一种基于CC2530F256芯片的蜂巢底座。
CC Debugger 仿真器和连接线
USB线
实验要求
- 理解OLED的工作方式;
- 熟悉IIC总线的工作方式;
- 能够编程。
实验原理
OLED介绍
OLED屏:
OLED显示屏是利用有机电自发光二极管制成的显示屏。由于同时具备自发光有机电激发光二极管,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。
OLED技术功能:
有机发光二极管 (OLED)显示器越来越普遍,在手机、媒体播放器及小型入门级电视等产品中最为显著。不同于标准的液晶显示器,OLED像素是由电流源所驱动。若要了解 OLED电源供应如何及为何会影响显示器画质,必须先了解 OLED显示器技术及电源供应需求。本文将说明最新的OLED显示器技术,并探讨主要的电源供应需求及解决方案,另外也介绍专为 OLED电源供应需求而提出的创新性电源供应架构。
背板技术造就软性显示器,高分辨率彩色主动式矩阵有机发光二极管 (AMOLED) 显示器需要采用主动式矩阵背板,此背板使用主动式开关进行各像素的开关。液晶 (LC) 显示器非晶硅制程已臻成熟,可供应低成本的主动式矩阵背板,并且可用于OLED。许多公司正针对软性显示器开发有机薄膜晶体管 (OTFT) 背板制程,此一制程也可用于OLED显示器,以实现全彩软性显示器的推出。不论是标准或软性OLED,都需要运用相同的电源供应及驱动技术。若要了解OLED技术、功能及其与电源供应之间的互动,必须深入剖析这项技术本身。OLED显示器是一种自体发光显示器技术,完全不需要任何背光。OLED采用的材质属于化学结构适用的有机材质。OLED技术需要电流控制驱动方法,OLED具有与标准发光二极管 (LED)相当类似的电气特性,亮度均取决于LED电流。若要开启和关闭OLED并控制OLED电流,需要使用薄膜晶体管(TFT)的控制电路。
硬件设计
OLED屏与底座模块通过四线SPI总线接口通信。
实验步骤
① CC2530底座模块安装OLED模块,用CC Debugger连接底座与电脑,如下图所示:
② 轻按CCDebugger复位按键,指示灯变绿,表示连接正常。如下图:
③ 访问github,进入github界面后点击Code,Clone HTTPS安全链接,如下图所示:
④ 打开电脑终端,进入工作目录workspace (workspace 为工程文件夹所在目录):
$ cd workspace
⑤ 运行clone
命令:
$ git clone https://github.com/aiotcom/eps.git
下载目录至指定文件夹下。
如果提示“command not found”表示电脑没有安装Git,请至Git官网下载。
如果电脑没有安装 Git 软件,也可以进入Github,点击 Code
-> DownLoad ZIP
下载所有工程代码。如下图所示:
如果电脑没有公网,可以进:D盘\实验教程与代码选择相应的代码。
⑥ 打开 IAR Embedded Workbench
工程软件,点击工具栏: File
-> Open
-> Workspace
,选择工程文件:基于CC2530的模块实验\2.OLED模块\OLED模块程序\OLED.eww
并打开。
⑦ 点击Make
按钮,重新编译文件,显示没有错误。
⑧ 点击Download and Debug
按钮,将程序下载到模块中。
⑨ 点击X
退出仿真模式。
⑩ 移除CC Debugger
仿真器,采用USB线供电。
⑪ 程序运行后OLED屏上显示如下图所示:
代码讲解
① 程序目录结构,如下图。源代码文件是delay.c、OLEDIIC.c、OLED.C、main.c。
② main.c代码,对OLED IIC 接口IO、OLED屏初始化,初始化完成后显示“重庆八城科技”,“www.stepiot.com”。
void main(void)
{
Hal_Init_32M();//初始化32M时钟
OLED_IIC_Init();//初始化OLED屏IIC接口
OLED_Init();//初始化OLED屏
OLED_P16x16Ch(7,2,1);//重
OLED_P16x16Ch(27,2,2);//庆
OLED_P16x16Ch(47,2,3);//八
OLED_P16x16Ch(67,2,4);//城
OLED_P16x16Ch(87,2,5);//科
OLED_P16x16Ch(107,2,6);//技
OLED_P8x16Str(3,4,"www.stepiot.com");
while(1);
}
常见问题
-
弹出警告窗口,不能下载程序。
- 请确认CCDebugger驱动否安装。
- 轻按CCDebugger仿真器的按键,指示灯不是绿色连接有问题。
- CCDebugger仿真器是否正常接入到底座,参考实验步骤第一步。
-
下载代码后程序没观察到实验现象。
- 请重新上电,或者按下底座上的复位按键。
- 模块没有安装稳妥。
实验思考
- “重庆八城科技”,
www.stepiot.com
分别置顶、置底显示。