鉴于P09703与P09702具有相同的图形显示控制器SSD1303,而P09702硬件接口适合试验连接,下面以P09702与LPC2131为例进行说明,由于OLED显示屏P09702的逻辑电平为2.4V - 3.5V,我们选用PHILIPS公司生产的基于ARM7TDMI-S、单电源供电的微控制器LPC2131作为控制器,图一给出了包括电源、时钟、复位等一个嵌入式处理系统正常工作的最小电路外,电源电路提供模拟3.3V和数字3.3V,以提高系统工作稳定性。同时绘制了P09702与LPC2131的硬件连接方式。

超薄显示屏OLED在陀螺经纬仪中的应用

OLED显示屏在陀螺经纬仪中的应用设计

3 软件编程

在与计算机连接方面,SSD1303的接口,包括数据输入缓存器、数据输出锁存器,指令寄存器及译码器,忙状态触发器以及时序控制电路等,具有高性能的接口控制电路。计算机可以随时访问SSD1303而不需要判断其当前状态,与以前用的以T6963C控制器不同,SSD1303判断忙状态在操作上不是那么重要,因为SSD1303的接口部能够适时地接收计算机的访问。只是在计算机对显示存储器大量的数据传输时与控制部向驱动部传输显示数据相冲突,会在显示屏上出现“雪花”。但是由于这个间隙时间很短,加上人眼在视觉上的惰性而看不出“雪花”现象,有时判断忙标志再进行显示数据传输时,忙标志已经消失了。正是由于这些,计算机访问SSD1303的操作流程非常简单。但要注意的是SSD1303的接口控制电路内有几套时序电路以适配不同计算机操作时序的要求。时序适配电路的设置端为BS0,BS1,BS2。在P09703中选择BS1和BS2不同的连接,以确定选择Intel8080时序还是M6800时序。在P09702中由于没有BS1和BS2的选择,出厂时已经设置为Intel8080时序,所以下面的程序为Intel8080时序。

#define AD0_PIN_NUM 8 //8位数据总线

#define DC_PIN_NUM 5 //P0.5 数据/指令控制位,低电平—指令操作,高电平—数据操作

#define WR_PIN_NUM 6 //P0.6 写数据/指令控制位,高电平变低电平时写入

#define RD_PIN_NUM 7 //P0.7 读数据/指令控制位,低电平有效

#define CS_PIN_NUM 16 //P0.16 使能位,低电平有效

void ExBusInit(void) //初始化P09702OLED显示屏总线

{ uint32 temp;

// 设置引脚连接模块:DC_PIN_NUM、WR_PIN_NUM、RD_PIN_NUM、CS_PIN_NUM、 AD0_PIN_NUM为GPIO

PINSEL0 &= ~(3 《《 (2 * DC_PIN_NUM));

PINSEL0 &= ~(3 《《 (2 * WR_PIN_NUM));

PINSEL0 &= ~(3 《《 (2 * RD_PIN_NUM));

PINSEL0 &= ~(3 《《 (2 * (CS_PIN_NUM-16)));