2829|7

1455

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【CH579M-R1】+彩色OLED屏显示 [复制链接]

  本帖最后由 jinglixixi 于 2020-10-18 10:47 编辑

原打算是在U盘读写的功能上添加彩色OLED屏的以实现数码相框的功效,无奈在U盘读写方面消耗的时间较多也没有太大的进展,现在就只能让彩色OLED屏唱独角戏了,汉字能显、图标能显,就是大写的图片不能显,因为MCU的容量不允许,只能借助外部的否则存储器件。

汉字及图标的显示效果如图1和图2所示。

1 显示汉字

 

2 显示 图标

由于该彩色OLED屏是采用SPI接口的,故比I2C接口的OLED屏要多消耗些I/O资源。

OLED屏与MCU的连接关系为:

CLK---PB0

DIN---PB1

RES---PB2

DC---PB3

CS ---PB6

相关引脚为驱动OLED屏输出高低电平的语句定义如下:

#define OLED_SCLK_Clr() GPIOB_ResetBits( GPIO_Pin_0 )//CLK

#define OLED_SCLK_Set() GPIOB_SetBits( GPIO_Pin_0 )

#define OLED_SDIN_Clr() GPIOB_ResetBits( GPIO_Pin_1 )//DIN

#define OLED_SDIN_Set() GPIOB_SetBits( GPIO_Pin_1 )

#define OLED_RST_Clr()  GPIOB_ResetBits( GPIO_Pin_2 ) //RES

#define OLED_RST_Set()  GPIOB_SetBits( GPIO_Pin_2 )

#define OLED_DC_Clr()   GPIOB_ResetBits( GPIO_Pin_3 ) //DC

#define OLED_DC_Set()   GPIOB_SetBits( GPIO_Pin_3 )

#define OLED_CS_Clr()   GPIOB_ResetBits( GPIO_Pin_6 ) //CS

#define OLED_CS_Set()   GPIOB_SetBits( GPIO_Pin_6 )

OLED屏的初始化函数为:

void OLED_Init(void)
{
  GPIOB_ModeCfg( GPIO_Pin_0, GPIO_ModeOut_PP_5mA ); 
  GPIOB_ModeCfg( GPIO_Pin_1, GPIO_ModeOut_PP_5mA ); 
  GPIOB_ModeCfg( GPIO_Pin_2, GPIO_ModeOut_PP_5mA ); 
  GPIOB_ModeCfg( GPIO_Pin_3, GPIO_ModeOut_PP_5mA ); 
  GPIOB_ModeCfg( GPIO_Pin_4, GPIO_ModeOut_PP_5mA ); 
  GPIOB_ModeCfg( GPIO_Pin_5, GPIO_ModeOut_PP_5mA ); 
  OLED_RST_Clr();
  mDelaymS(200);
  OLED_RST_Set();
  mDelaymS(200);
  LCD_WR_REG(0x11); 
  mDelaymS(100);
  LCD_WR_REG(0x21); 
  LCD_WR_REG(0xB1); 
  LCD_WR_DATA8(0x05);
  LCD_WR_DATA8(0x3A);
  LCD_WR_DATA8(0x3A);
  LCD_WR_REG(0xB2);
  LCD_WR_DATA8(0x05);
  LCD_WR_DATA8(0x3A);
  LCD_WR_DATA8(0x3A);
  LCD_WR_REG(0xB3); 
  LCD_WR_DATA8(0x05);  
  LCD_WR_DATA8(0x3A);
  LCD_WR_DATA8(0x3A);
  LCD_WR_DATA8(0x05);
  LCD_WR_DATA8(0x3A);
  LCD_WR_DATA8(0x3A);
  LCD_WR_REG(0xB4);
  LCD_WR_DATA8(0x03);
  LCD_WR_REG(0xC0);
  LCD_WR_DATA8(0x62);
  LCD_WR_DATA8(0x02);
  LCD_WR_DATA8(0x04);
  LCD_WR_REG(0xC1);
  LCD_WR_DATA8(0xC0);
  LCD_WR_REG(0xC2);
  LCD_WR_DATA8(0x0D);
  LCD_WR_DATA8(0x00);
  LCD_WR_REG(0xC3);
  LCD_WR_DATA8(0x8D);
  LCD_WR_DATA8(0x6A);
  LCD_WR_REG(0xC4);
  LCD_WR_DATA8(0x8D); 
  LCD_WR_DATA8(0xEE); 
  LCD_WR_REG(0xC5);  /*VCOM*/
  LCD_WR_DATA8(0x0E);    
  LCD_WR_REG(0xE0);
  LCD_WR_DATA8(0x10);
  LCD_WR_DATA8(0x0E);
  LCD_WR_DATA8(0x02);
  LCD_WR_DATA8(0x03);
  LCD_WR_DATA8(0x0E);
  LCD_WR_DATA8(0x07);
  LCD_WR_DATA8(0x02);
  LCD_WR_DATA8(0x07);
  LCD_WR_DATA8(0x0A);
  LCD_WR_DATA8(0x12);
  LCD_WR_DATA8(0x27);
  LCD_WR_DATA8(0x37);
  LCD_WR_DATA8(0x00);
  LCD_WR_DATA8(0x0D);
  LCD_WR_DATA8(0x0E);
  LCD_WR_DATA8(0x10);
  LCD_WR_REG(0xE1);
  LCD_WR_DATA8(0x10);
  LCD_WR_DATA8(0x0E);
  LCD_WR_DATA8(0x03);
  LCD_WR_DATA8(0x03);
  LCD_WR_DATA8(0x0F);
  LCD_WR_DATA8(0x06);
  LCD_WR_DATA8(0x02);
  LCD_WR_DATA8(0x08);
  LCD_WR_DATA8(0x0A);
  LCD_WR_DATA8(0x13);
  LCD_WR_DATA8(0x26);
  LCD_WR_DATA8(0x36);
  LCD_WR_DATA8(0x00);
  LCD_WR_DATA8(0x0D);
  LCD_WR_DATA8(0x0E);
  LCD_WR_DATA8(0x10);
  LCD_WR_REG(0x3A); 
  LCD_WR_DATA8(0x05);
  LCD_WR_REG(0x36);
  if(USE_HORIZONTAL==0)LCD_WR_DATA8(0x08);
  else if(USE_HORIZONTAL==1)LCD_WR_DATA8(0xC8);
  else if(USE_HORIZONTAL==2)LCD_WR_DATA8(0x78);
  else LCD_WR_DATA8(0xA8);
  LCD_WR_REG(0x29); 
}

实现图1和图2的主要程序为:

Lcd_Init();	
LCD_Clear(BLACK);
BACK_COLOR=BLACK;
LCD_ShowChinese(28,0,0,32,YELLOW); 
LCD_ShowChinese(60,0,1,32,YELLOW); 
LCD_ShowChinese(92,0,2,32,YELLOW);
LCD_ShowChinese(20,40,0,16,YELLOW);
LCD_ShowChinese(36,40,1,16,YELLOW);
LCD_ShowChinese(52,40,2,16,YELLOW);
LCD_ShowChinese(68,40,3,16,YELLOW);
LCD_ShowChinese(84,40,4,16,YELLOW);
LCD_ShowChinese(100,40,5,16,YELLOW);
LCD_ShowChinese(116,40,6,16,YELLOW); 
LCD_ShowString(0,60,"0.96 TFT SPI",YELLOW);
LCD_Clear(BLACK);
LCD_ShowString(10,0,"LCD_W:",RED);	 
LCD_ShowNum(70,0,LCD_W,3,RED);
LCD_ShowString(10,20,"LCD_H:",RED);  
LCD_ShowNum(70,20,LCD_H,2,RED);
for(i=0;i<4;i++)
{
LCD_ShowPicture(i*40,40,39+i*40,79);
}

 

虽然测评的时间已近尾声,但对CH579M的调试之路还会在继续,其实它的无线通讯、网络通讯功能等也都有非常不错的用途,只是CH579MU盘读写功能应为大家提供一个便于参考进而能扩展自己应用的例程。

 

最新回复

读写U盘数据咋样了?期待呀   详情 回复 发表于 2020-11-3 20:45
点赞 关注
 
 

回复
举报

1942

帖子

3

TA的资源

版主

沙发
 

感谢分享,非常不错!继续加油,会观看你的每一篇测评的!!!

点评

感谢厚爱和支持!!!  详情 回复 发表于 2020-10-16 19:50
 
 
 

回复

1455

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 
w494143467 发表于 2020-10-16 17:41 感谢分享,非常不错!继续加油,会观看你的每一篇测评的!!!

感谢厚爱和支持!!!

 
 
 

回复

1万

帖子

2854

TA的资源

管理员

4
 

沁恒CH579M-R1开发板测评

汇总贴:https://bbs.eeworld.com.cn/thread-1140005-1-1.html

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

玩板看这里:

https://bbs.eeworld.com.cn/elecplay.html

EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 

支持哦

 
 
 

回复

1455

帖子

1

TA的资源

五彩晶圆(初级)

6
 
 
 

回复

1942

帖子

3

TA的资源

版主

7
 

读写U盘数据咋样了?期待呀

点评

参见【CH579M-R1】+致CH579M之爱(绝非爱情篇) https://bbs.eeworld.com.cn/thread-1145025-1-1.html    详情 回复 发表于 2020-11-3 21:04
 
 
 

回复

1455

帖子

1

TA的资源

五彩晶圆(初级)

8
 
w494143467 发表于 2020-11-3 20:45 读写U盘数据咋样了?期待呀

参见【CH579M-R1】+致CH579M之爱(绝非爱情篇)

https://bbs.eeworld.com.cn/thread-1145025-1-1.html

 

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表