基于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份 ·

实验所需软件

CC2530底座:HIVE ZigBee Pro(简称CC2530底座)是一种基于CC2530F256芯片的蜂巢底座。 实验硬件

CC Debugger 仿真器和连接线

实验硬件

OLED模块

OLED模块

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总线接口通信。

OLED模块电路

实验步骤

① 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屏上显示如下图所示:
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);
    }

常见问题

  1. 弹出警告窗口,不能下载程序。

    • 请确认CCDebugger驱动否安装。
    • 轻按CCDebugger仿真器的按键,指示灯不是绿色连接有问题。
    • CCDebugger仿真器是否正常接入到底座,参考实验步骤第一步。
  2. 下载代码后程序没观察到实验现象。

    • 请重新上电,或者按下底座上的复位按键。
    • 模块没有安装稳妥。

实验思考

  1. “重庆八城科技”,www.stepiot.com分别置顶、置底显示。