标题:
沁恒CH32V103单片机芯片的oled应用例程
[打印本页]
作者:
随缘57
时间:
2022-3-29 19:43
标题:
沁恒CH32V103单片机芯片的oled应用例程
使用沁恒定制的MounRiver Studio,编制了采用ssd1306主控芯片的0.96吋及0.91吋oled显示例程,可以显示16x16点阵汉字及8x16点阵ASCII字符。SSD1306主控oled实用例程
MCU型号: CH32V103c8t6;
IDE: MounRiver Studio V1.70;
oled模参数: 0.96吋12864 oled,或者0.91吋12832 oled。主控芯片SSD1306,i2C接口。
该例程所需的函数代码由oled_i2c.h、oled_i2c.c、codeTab.h、codeTab.c提供,使用时复制到工程项目的User子目录下即可。
编程时使用以下函数:
1、OLED_Init(void),初始化函数;
2、OLED_ON(void),oled唤醒函数;
3、OLED_OFF(void),oled休眠函数,休眠时oled电流为10微安;
4、OLED_CLS(void),清屏函数;
5、OLED_Fill(unsigned char fill_Data),全屏函数。fill_Data=0xff时全屏点亮,fill_Data=0x00时全屏熄灭;
6、OLED_ShowStr(unsigned char x, unsigned char y, unsigned char ch[], unsigned char TextSize),ASCII字符显示函数。x为横坐标点阵序列0~127,y为纵坐标列数0~7,ch[]为ASCII字符串,TextSize=1为6x8点阵字符,TxetSize=2为8x16点阵字符。
7、OLED_ShowCN(unsigned char x, unsigned char y, unsigned char N),16x16点阵汉字显示函数。x为横坐标点阵序列0~127,y为纵坐标列数0~7,N为汉字在点阵数据表中的序号。16x16汉字点阵数据由汉字取模程序获得,保持在codeTab.c文件中。
8、OLED_DrawBMP(unsigned char x0, unsigned char y0, unsigned char x1, unsigned y1, unsigned char BMP[]),点阵图像显示函数。x0图像左上角横坐标0~127,y0图像左上角纵坐标列数0~7,x1图像右下角横坐标1~128,y1图像右下角纵坐标列数0~7,BMP[] 图像点阵数据,保存在codeTab.c中。
使用汉字取模软件获得16x16汉字点阵时,字体大小选12号字,代码模式选择C51。
在oled_i2c.c文件的OLED_Init(void)函数中,可以选择支持12864 oled或是12832 oled。
用于下载烧录的SSD1306-oled.hex大小为1.6kB。
单片机源程序如下:
/************ 沁恒 RISC-V 架构 MCU 保留例程 *****************************************************
* MCU 型号 :CH32V103c8t6
* IDE :MounRiver Studio V1.70
* Author :随缘斋居士
* Created on :2022/03/29
* Description :i2C 接口 oled 显示例程,适用于SSD1306驱动的12864及12832 oled 液晶屏
*************************************************************************/
#include "debug.h"
#include "codeTab.h"
#include "oled_i2c.h"
int main(void)
{
while(1)
{
Delay_Init();
I2C_Configuration();
OLED_Init();
OLED_Fill(0xff);
Delay_Ms(1000);
OLED_Fill(0x00); //清屏,全屏熄灭。
Delay_Ms(500);
for(int i=0;i<5;i++)
{
OLED_ShowCN(i*16,0,i);//测试显示中文
}
Delay_Ms(1000);
OLED_ShowStr(32,2,"CH32V103c8t6",2); //测试显示ASCII字符
Delay_Ms(3000);
//OLED_Fill(0xff); //全屏点亮
//Delay_Ms(500);
//OLED_OFF();//测试OLED休眠
//Delay_Ms(2000);
//OLED_ON();//测试OLED休眠后唤醒
}
}
复制代码
51hei.png
(6.66 KB, 下载次数: 88)
下载附件
2022-3-30 02:42 上传
上图资料下载:
SSD1306-oled.rar
(711.75 KB, 下载次数: 35)
2022-3-29 19:43 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
zhangzi1314
时间:
2022-10-18 09:37
南京沁恒的处理器稳定
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1