SAM4L Xplained Pro starter kit之库函数试用OLED

作者: 强仔00001
上传时间为: 2014-12-06 10:37 PM
2014-12-06
阅读:

今天搞到SAM4L Xplained Pro starter kit套件的OLED拓展模块。

OLED的英文全称是Organic Light-Emitting Diode,中文名叫有机发光二极管又称为有机电激光显示,由美籍华裔教授邓青云在实验室中发现,由此展开了对OLED的研究。OLED显示技术具有自发光的特性,采用非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光,而且OLED显示屏幕可视角度大,并且能够节省电能。

简单说说OLED的优缺点吧:

OLED的优点

1、厚度可以小于1毫米,仅为LCD屏幕的1/3,并且重量也更轻;

2、固态机构,没有液体物质,因此抗震性能更好,不怕摔;

3、几乎没有可视角度的问题,即使在很大的视角下观看,画面仍然不失真;

4、响应时间是LCD的千分之一,显示运动画面绝对不会有拖影的现象;

5、低温特性好,在零下40度时仍能正常显示,而LCD则无法做到;

6、制造工艺简单,成本更低;

7、发光效率更高,能耗比LCD要低;

8、能够在不同材质的基板上制造,可以做成能弯曲的柔软显示器。

OLED的缺点

1、寿命通常只有5000小时,要低于LCD至少1万小时的寿命;

2、不能实现大尺寸屏幕的量产,因此目前只适用于便携类的数码类产品;

3、存在色彩纯度不够的问题,不容易显示出鲜艳、浓郁的色彩。

下面我们就进入主题吧:

扩展板的OLED采用的是128 x 32 像素,采用4线SPI接口控制。例程是用SAM4L Xplained Pro starter kit主控板的硬件SPI实现与OLED通信。

我是调用了ASF函数库,在官方的例程上作了些修改。

下面分享一下我的代码

#include <board.h>
#include <sysclk.h>
#include <ssd1306.h>

int main(void)
{
	

	board_init();       //板级初始化
	sysclk_init();      //系统时钟初始化

	// Initialize SPI and SSD1306 controller
	ssd1306_init();     //OLED屏幕初始化

	ssd1306_clear();     //清OLED屏幕
	// set addresses at beginning of display
	ssd1306_set_page_address(0);   //行地址
	ssd1306_set_column_address(0);  //列地址
	
	ssd1306_write_text("My ID is : qianzgai00001 !");//要显示的内容

	ssd1306_set_page_address(2);  

	ssd1306_set_column_address(30);

	ssd1306_write_text("----Thanks EEboard !");   

}

效果如下图:


屏幕显示效果很不错

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示