写了几篇关于LPC54114的练习,这篇我们驱动OLED,OLED称为有机发光二极管,轻薄省电,用于显示的项目开发上还是可以考虑的。手头的模块是两线的IIC接口的0.96寸的小屏。这次驱动练习才了解这种屏不像1206,上电屏幕是不亮的,需要驱动才能亮起来。 关于驱动这块屏也是移植的程序,移植到LPC54114的开发板上,对相应的引脚配置和时序稍作改动,很有意思。 这里要说一点的是LPC54114的引脚定义要分开写,测试了一下,像“|或”是有问题的。 初始化程序如图1所示: - GPIO_PinInit(GPIO,1,8,&led_config);
- GPIO_PinInit(GPIO,1,9,&led_config);
- GPIO_PinInit(GPIO,1,10,&led_config);
- GPIO_PinInit(GPIO,1,11,&led_config);
- GPIO_SetPinsOutput(GPIO,1,1u<<8);
- GPIO_SetPinsOutput(GPIO,1,1u<<9);
- GPIO_SetPinsOutput(GPIO,1,1u<<10);
- GPIO_SetPinsOutput(GPIO,1,1u<<11);
-
- GPIO_SetPortMask(GPIO,1,1u<<8);
- GPIO_SetPortMask(GPIO,1,1u<<9);
- GPIO_SetPortMask(GPIO,1,1u<<10);
- GPIO_SetPortMask(GPIO,1,1u<<11);
- GPIO_WriteMPort(GPIO,1,1u<<8);
- GPIO_WriteMPort(GPIO,1,1u<<9);
- GPIO_WriteMPort(GPIO,1,1u<<10);
- GPIO_WriteMPort(GPIO,1,1u<<11);
- LCD_Init();
复制代码
引脚定义如图2所示: - /* LED pins */
- IOCON_PinMuxSet(IOCON, 1, 8,IOCON_FUNC0 | IOCON_GPIO_MODE | IOCON_DIGITAL_EN | IOCON_INPFILT_OFF);
- IOCON_PinMuxSet(IOCON, 1, 9,IOCON_FUNC0 | IOCON_GPIO_MODE | IOCON_DIGITAL_EN | IOCON_INPFILT_OFF);
- IOCON_PinMuxSet(IOCON, 1, 10,IOCON_FUNC0 | IOCON_GPIO_MODE | IOCON_DIGITAL_EN | IOCON_INPFILT_OFF);
- IOCON_PinMuxSet(IOCON, 1, 11,IOCON_FUNC0 | IOCON_GPIO_MODE | IOCON_DIGITAL_EN | IOCON_INPFILT_OFF);
复制代码
这次只是简单的驱动屏显示,所以显示也很简单,如图3所示:
总体来说,这种小屏用起来还是挺方便的。
|