打印
[PIC®/AVR®/dsPIC®产品]

ATMega4809 Curiosity Nano 开发板驱动OLED屏显示

[复制链接]
2144|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 jinglixixi 于 2020-8-30 00:58 编辑

Mega4809Curiosity Nao 开发板是一款近于最小系统的核心板,因此其资源基本可以完全供用户使用。
为使该开发板有一个可供直接观查的窗口,故为它配置了一个OLED显示屏。此外,值得指出的是在程序下载时是不可带着显示屏的,否则无法进行下载。
要在该开发板上驱动OLED屏显示,要完成的主要有3件事:
1)指定驱动OLED屏的I/O口
2)设置延时程序
3)配置OLED屏的显示函数
1. 驱动引脚的配置
为驱动OLED屏,所使用的2个I/O口是PF3和PF4,对应的连接关系为:
SDA---PF3
SCL---PF4
引脚配置如图1所示

图1 引脚配置
2.设置延时
按图2 所示,使用系统的资源可生成延时函数,所得到的毫秒级的延时函数为:
void DELAY_milliseconds(uint16_t milliseconds) 
{
  while(milliseconds--){
  _delay_ms(1);
  }
}
图2 生成延时函数

3. 配置显示函数
由于本次所使用的OLED屏是I2C接口的,使用只需I/O口即可模拟产生。
其中的IIC_Start()函数和IIC_Stop()函数的内容如下:
void IIC_Start()
{
   SCL_SetHigh();           
   SDA_SetHigh();
   SDA_SetLow();
   SCL_SetLow();
}

void IIC_Stop()
{
   SCL_SetLow();
   SDA_SetLow();
   SCL_SetHigh();
   SDA_SetHigh();
}

OLED屏的初始化函数为:
void OLED_Init(void)
{
         DELAY_milliseconds(500);
         OLED_WrCmd(0xae);
         OLED_WrCmd(0x00);
         OLED_WrCmd(0x10);
         OLED_WrCmd(0x40);
         OLED_WrCmd(0x81);
         OLED_WrCmd(Brightness);
         OLED_WrCmd(0xa1);
         OLED_WrCmd(0xc8);
         OLED_WrCmd(0xa6);
         OLED_WrCmd(0xa8);
         OLED_WrCmd(0x3f);
         OLED_WrCmd(0xd3);
         OLED_WrCmd(0x00);
         OLED_WrCmd(0xd5);
         OLED_WrCmd(0x80);
         OLED_WrCmd(0xd9);
         OLED_WrCmd(0xf1);
         OLED_WrCmd(0xda);
         OLED_WrCmd(0x12);
         OLED_WrCmd(0xdb);
         OLED_WrCmd(0x40);
         OLED_WrCmd(0x20);
         OLED_WrCmd(0x02);
         OLED_WrCmd(0x8d);
         OLED_WrCmd(0x14);
         OLED_WrCmd(0xa4);
         OLED_WrCmd(0xa6);
         OLED_WrCmd(0xaf);
         OLED_Fill(0x00);
         OLED_Set_Pos(0,0);
}

显示图3所示效果的主程序为:
int main(void)
{
    /* Initializes MCU, drivers and middleware */
    SYSTEM_Initialize();
    OLED_Init();
    OLED_CLS();
    OLED_P8x16Str(0,0,"ATmega4809");
    OLED_P8x16Str(0,2,"OLED Display");
    /* Replace with your application code */
    while (1){
        LED_Toggle();
        DELAY_milliseconds(500);
    }
}
3 显示效果

使用特权

评论回复
沙发
lcczg| | 2020-8-24 09:51 | 只看该作者
赞一个!

使用特权

评论回复
板凳
jinglixixi|  楼主 | 2020-8-24 13:26 | 只看该作者

感谢支持!

使用特权

评论回复
地板
CoolSilicon| | 2020-8-24 13:50 | 只看该作者
跑起来了,效果看起来不错啊.

使用特权

评论回复
5
jinglixixi|  楼主 | 2020-8-24 14:02 | 只看该作者
CoolSilicon 发表于 2020-8-24 13:50
跑起来了,效果看起来不错啊.

是的,刷新速度也较快,拍照时需连拍,否则难获得好的效果。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

446

主题

2675

帖子

37

粉丝