请选择 进入手机版 | 继续访问电脑版
搜索
查看: 865|回复: 1

[原创] 【玩创意,爱动手】PIC32MM+MCC固件库建工程+OLED显示屏

[复制链接]
发表于 2017-12-18 21:11:46 | 显示全部楼层 |阅读模式
本帖最后由 liu553824989 于 2017-12-18 21:13 编辑

上个帖子学会了建立工程,点亮了LED灯。那也可以利用引脚来驱动OLED显示屏进行显示。
上一个帖子:【玩创意,爱动手】PIC32MM+MCC固件库建工程+LED点灯
PIC32MM+MCC固件库建工程+LED点灯
OLED显示屏准备篇:

OLED,即有机发光二极管( Organic Light-Emitting Diode),又称为有机电激光显示( OrganicElectroluminesence Display, OELD)。 OLED 由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。LCD 都需要背光,而 OLED 不需要,因为它是自发光的。这样同样的显示, OLED 效果要来得好一些。 以目前的技术, OLED 的尺寸还难以大型化,但是分辨率确可以做到很高。

论坛买的模块:
模块的通信接口是通过BS0,BS1,BS2三个管脚来配置的。模块默认是SPI接口;  
1. GND 电源地  
2. VCC 电源正(35.5V
3. D0 OLEDD0脚,在SPIIIC通信中为时钟管脚
4. D1 OLEDD1脚,在SPIIIC通信中为数据管脚
5. RES OLEDRES#脚,用来复位(低电平复位)
6. DC OLEDD/C#E脚,数据和命令控制管脚  
7. CS OLEDCS#脚,也就是片选管脚  
大家在使用的时候一定注意,如下图所示。在SPI接口中R1,R2,R8三个电阻是不焊接的,如果大家想用IIC接口的话需要将R3换到R1上,R8可以焊接也可不焊接。如图所示:

oled——pin对应

oled——pin对应
OLED引脚代码配置:
  1. #define LCD_SCL_L   SCL_RC0_SetLow()
  2. #define LCD_SCL_H   SCL_RC0_SetHigh()

  3. #define LCD_SDA_L   SDA_RC1_SetLow()
  4. #define LCD_SDA_H   SDA_RC1_SetHigh()

  5. #define LCD_RST_L   RST_RC2_SetLow()
  6. #define LCD_RST_H   RST_RC2_SetHigh()

  7. #define LCD_DC_L    DC_RA2_SetLow()
  8. #define LCD_DC_H    DC_RA2_SetHigh()
复制代码
OLED_SPI模式:写命令和写数据
  1. void LcdWriteCom(uint8_t com)
  2. {
  3.         uint8_t i;

  4.         LCD_DC_L;//选中,拉低
  5.         for(i=0;i<8;i++)
  6.     {
  7.                  LCD_SCL_L;
  8.                  if(com&0x80) LCD_SDA_H;//写高位
  9.                  else LCD_SDA_L;
  10.              LCD_SCL_H;            
  11.                  com<<=1;
  12.         }
  13.         Delay1us();
  14.         LCD_DC_H;//拉高
  15. }

  16. void LcdWriteData(uint8_t dat)
  17. {
  18.         uint8_t i;

  19.         LCD_DC_H;//选中,拉低
  20.         for(i=0;i<8;i++)
  21.     {
  22.                  LCD_SCL_L;
  23.                  if(dat&0x80) LCD_SDA_H;
  24.                  else LCD_SDA_L;
  25.              LCD_SCL_H;            
  26.                  dat<<=1;
  27.         }
  28.         Delay1us();
  29.         LCD_DC_H;//拉高
  30. }
复制代码


OLED初始化配置:
  1. LCD_DC_H;
  2.         LCD_SCL_H;
  3.     LCD_SDA_H;
  4.         LCD_RST_L;
  5.         Delay_ms(10);
  6.         LCD_RST_H;
  7.         
  8.         LcdWriteCom(0xae);        //关显示

  9.         LcdWriteCom(0xd5);        //
  10.         LcdWriteCom(0x80);

  11.         LcdWriteCom(0xa8);        //
  12.         LcdWriteCom(0x3f);        //duty=1/64

  13.         LcdWriteCom(0xd3);        //
  14.         LcdWriteCom(0x00);        

  15.         LcdWriteCom(0x40);        //

  16.         LcdWriteCom(0x8d);        //
  17.         LcdWriteCom(0x14);        

  18.         LcdWriteCom(0x20);        //page address mode
  19.         LcdWriteCom(0x02);

  20.         LcdWriteCom(0xc8); //
  21.         LcdWriteCom(0xa1); //

  22.         LcdWriteCom(0xda); //sequential configuration
  23.         LcdWriteCom(0x12);




  24.         LcdWriteCom(0x81);
  25.         LcdWriteCom(0xcf);


  26.         LcdWriteCom(0xd9); //Set Pre-Charge Period
  27.         LcdWriteCom(0xf1);

  28.         LcdWriteCom(0xdb); //Set VCOMH Deselect Level
  29.         LcdWriteCom(0x40);

  30.         LcdWriteCom(0xaf); //开显示
复制代码
写完OLED驱动,就添加字库,然后就添加显示,就可以了显示出来了。如图所示:
OLED显示图_看图王.jpg
附件是代码:
oled_example.X.zip (114.5 KB, 下载次数: 7)
回复

使用道具 举报

发表于 2017-12-19 09:23:03 | 显示全部楼层
  这个要顶~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /5 下一条

facebook google plus twitter linkedin youku weibo rss
©2019 Microchip Corporation

小黑屋|手机版|Archiver|Microchip技术社区

GMT+8, 2019-10-16 00:17 , Processed in 0.067869 second(s), 8 queries , MemCache On.

快速回复 返回顶部 返回列表