STC51 单片机+1.3“ IIC SH1106基本图形功能显示示例

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STC51 单片机+1.3“ IIC SH1106基本图形功能显示示例相关的知识,希望对你有一定的参考价值。

STC51单片机 +1.3“ IIC SH1106基本图形功能显示示例


  • ✨显示界面

🌿基于51单片机,在OLED原厂家提供的驱动程序中添加上基本的画点和画线的绘图函数,方便工程可移植性和扩展性。其他复杂图形的开发可以在此基础上完成。由于51单片机容量的局限,让工程尽可能多的兼容能在小容量单片机当中运行,没有往工程里面补充更多的绘图函数,如有需求在硬件资源允许的条件下,可以自行在里面根据基本的点、线进行构建。

📌1.3寸OLEDSH1106驱动资料包

链接:https://pan.baidu.com/s/1FNGHM0u5MQ2li3QOrTkTuA   
提取码:8888 

📝图形功能显示相关函数

void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 sizey);//单字符显示
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 sizey);//u32整型数字显示
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 sizey);//英文字符串显示
void OLED_ShowChinese(u8 x,u8 y,u8 no,u8 sizey);//汉字取模显示
void OLED_DrawBMP(u8 x,u8 y,u8 sizex, u8 sizey,u8 BMP[]);//图片显示
void DrawPixel(unsigned char x0,unsigned char y0);//描点
void Draw_Hline(u8 x0,u8 x,u8 y0);//绘制水平线
void Draw_Vline(u8 y0,u8 y,u8 x0);//绘制垂直线
void Drawline(int x1,int y1,int x2,int y2);//画任意线

📍工程编译后的容量信息

不包含图片取模内容

  • 汉字取模方式和软件pctolcd2002

📑主程序代码

//	 
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//中景园电子
//店铺地址:http://shop73023976.taobao.com/?spm=2013.1.0.0.M4PqC2
//
//  文 件 名   : main.c
//  版 本 号   : v2.0
//  作    者   : HuangKai
//  生成日期   : 2014-0101
//  最近修改   : 
//  功能描述   : OLED 4接口演示例程(51系列)
//              说明: 
//              ----------------------------------------------------------------
//              GND  电源地
//              VCC  接5V或3.3v电源
//              SCL  P10(SCL)
//              SDA  P11(SDA)
//              RES  P12 注:SPI接口显示屏改成IIC接口时需要接RES引脚
//                           IIC接口显示屏用户请忽略
//              ----------------------------------------------------------------
// 修改历史   :
// 日    期   : 
// 作    者   : HuangKai
// 修改内容   : 创建文件
//版权所有,盗版必究。
//Copyright(C) 中景园电子2014/3/16
//All rights reserved
//******************************************************************************/
#include "REG51.h"
#include "oled.h"
#include "bmp.h"

int main(void)
	
//	u8 t=' ';
	OLED_Init();//初始化OLED
	OLED_ColorTurn(0);//0正常显示,1 反色显示
  OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示
		DrawPixel(15,32);//画点
		DrawPixel(22,45);
//	Draw_Hline(0,128,63);//水平线
		Draw_Hline(0,128,60);//水平线
//	Draw_Hline(0,127,55);//水平线
		Draw_Vline(20,63,5);//垂直线
		Drawline(36,30,85,45);//任意线
			OLED_ShowChinese(0,0,0,16);//单
		OLED_ShowChinese(18,0,1,16);//片
		OLED_ShowChinese(36,0,2,16);//机
		OLED_ShowChinese(54,0,3,16);//嵌
		OLED_ShowChinese(72,0,4,16);//入
		OLED_ShowChinese(90,0,5,16);//式
	while(1) 
			
//		OLED_DrawBMP(0,0,128,64,BMP1);
//		delay_ms(500);
//		OLED_Clear();


//		OLED_ShowString(8,2,"ZHONGJINGYUAN",16);
//		OLED_ShowString(20,4,"2014/05/01",16);
//		OLED_ShowString(0,6,"ASCII:",16);  
//		OLED_ShowString(63,6,"CODE:",16);
//		OLED_ShowChar(48,6,t,16);
//		t++;
//		if(t>'~')t=' ';
//		OLED_ShowNum(103,6,t,3,16);
//		delay_ms(500);
//		OLED_Clear();

		  
	


	

🎯代码工程

链接:[百度网盘](https://pan.baidu.com/s/1ie0PxbBoVZtqOIes-ekPlw)
提取码:v1y9

以上是关于STC51 单片机+1.3“ IIC SH1106基本图形功能显示示例的主要内容,如果未能解决你的问题,请参考以下文章

教程如何优雅地使用vs code代替keil开发51单片机/STC单片机

教程如何优雅地使用vs code代替keil开发51单片机/STC单片机

stc12c5a60s2 51单片机区别

STC开源项目STC51单片机LRC万用表表制作程序+PCB文件

STC89C51单片机相比于其他单片机具有那些优点?

51单片机学习笔记2 仿真器的使用及STC89Cxx简介