当前位置: 首页 > news >正文

天津网站建设制作设计seo怎么推广

天津网站建设制作设计,seo怎么推广,企业网站建设方案书模板,公司做一个网站多少钱今日学习0.96寸单色OLED显示屏的自由取模显示: 宋体汉字比较复杂,常用字符可以直接复制存下来,毕竟只有那么几十个字母字符,但汉字实在太多了,基本不会全部放在单片机里存着,一般用到多少个字就取几个字的模&#xff…

今日学习0.96寸单色OLED显示屏的自由取模显示:

宋体汉字比较复杂,常用字符可以直接复制存下来,毕竟只有那么几十个字母字符,但汉字实在太多了,基本不会全部放在单片机里存着,一般用到多少个字就取几个字的模,因此汉字放在这里与自由取模一起讲。

文章提供源码、原理解释、测试工程下载,测试效果图展示。

阅读此文需要确定自己已经理解了OLED基本显示原理,并且会用OLED显示一个字符,不懂基础的可以看我之前的文章:

STM32 F103C8T6学习笔记8:0.96寸单色OLED显示屏显示字符_NULL指向我的博客-CSDN博客

目录

取模软件的使用:

汉字显示函数的编写:

字库取模与函数:

 显示程序测试:

 显示程序代码:

显示效果图:

 整体测试工程下载:

图像显示函数的编写:

图像的取模:

 图像打印函数的编写:

 程序设计:

 显示效果:

 测试工程下载:


取模软件的使用:

 OLED显示屏 以及 其他许多显示屏 的灵活使用,离不开取模软件,我们也需要学习一下这个取模软件的使用,十分简单,没有软件的可以下载我的测试工程,测试工程里面带有取模软件~~

 

打开取模软件,首先与我一样进行设置:

 现在要对汉字取模,首先新建图像,一般汉字选择16*16点阵区域:

 这样模板上就有一块16*16的取模区域了:

 但它太小了,不利于绘制,因此可以放大看(多按几下放大格点):

然后点文字输入区,鼠标在输入区空白处右键,选择字体:

一般16*16像素大小的字体要选择12:

 此处输入了“我”,然后Ctrl+Enter直接生成:

 同时,使用鼠标点击任意黑白色块可以自定义调整这个图像的细节,当然,字模方面系统直接生成的已经比较好了,无需调整,这个调整也是我提一嘴的~~:

 最后选择取模方式,C51,这个16*16的字模就在底部生成了,可以直接复制了用了~~:

 最后提一嘴,一般用二维数组操作、保存、使用字模~~

汉字显示函数的编写:

字库取模与函数:

char Hzk[][32]={
{0x10,0x10,0x10,0xFF,0x10,0x90,0x00,0x3F,0x48,0x48,0x44,0x44,0x44,0x42,0x70,0x00},
{0x04,0x44,0x82,0x7F,0x01,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00},/*"指",0*/{0x00,0xF8,0x08,0x08,0x0C,0xCA,0x49,0x48,0x48,0xC8,0x08,0x08,0x08,0xF8,0x00,0x00},
{0x00,0xFF,0x00,0x00,0x00,0x1F,0x08,0x08,0x08,0x1F,0x00,0x40,0x80,0x7F,0x00,0x00},/*"向",1*/{0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,0x20,0xFF,0x20,0x22,0x2C,0xA0,0x20,0x00},
{0x00,0x08,0x48,0x84,0x7F,0x02,0x41,0x40,0x20,0x13,0x0C,0x14,0x22,0x41,0xF8,0x00},/*"我",2*/};

//显示汉字
void OLED_ShowCHinese(u8 x,u8 y,u8 no)
{      			    u8 t,adder=0;OLED_Set_Pos(x,y);	for(t=0;t<16;t++){OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);adder+=1;}	OLED_Set_Pos(x,y+1);	for(t=0;t<16;t++){	OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA);adder+=1;}					
}

这要结合字库数组来看,一个16*16像素的字共有32个字符编码,一行16个,在二维数组分俩行存一个字,因此要连传2行二维数组才能将一个汉字的字模传给oled.

 显示程序测试:

 这里我已经取好了需要显示的字模,然后准备在OLED上显示 “NULL指向我”

 显示程序代码:

#include "main.h"int main(void)
{	init_ALL();     //初始化所有函数while(1){OLED_ShowChar(0,0,'N',16);OLED_ShowChar(12,0,'U',16);		OLED_ShowChar(24,0,'L',16);		OLED_ShowChar(36,0,'L',16);		OLED_ShowCHinese(48,0,0);OLED_ShowCHinese(64,0,1);		OLED_ShowCHinese(80,0,2);}
}//初始化所有函数:
void init_ALL(void)
{SysTick_Init(72);         //初始化滴答计时器
//	Timer2_Init();						//初始化定时器2i2c_GPIO_Config();	      //IIC初始化	OLED_Init();              //初始化OLED屏幕OLED_Clear();             //清空屏幕数据
}

显示效果图:

 整体测试工程下载:

https://download.csdn.net/download/qq_64257614/88232357?spm=1001.2014.3001.5503

图像显示函数的编写:

图像的取模:

现在大部分图像的清晰度像素很高,因此需要一些软件处理一下,降低像素才能取模,这里我使用Photoshop将其像素降为 68*64(至少要比OLED的128*64像素小):

 清晰度下降了,但能凑合着看:

 然后调整为二阶色:

 保存时后缀一定要选.bmp    否则直接改后缀保存位式不会变,取模软件使用时 会直接报错!:

 取模软件打开刚才修改好的图:

发现不太理想,尝试人工补足一波 再 生成字模::

 像这样存在一纬数组就行:

 图像打印函数的编写:

这个图像是68*64的,因此在显示时,Y坐标只能是0开始~

这是一个一个点位传过去显示:

/***********功能描述:显示显示BMP图片128×64起始点坐标(x,y),x的范围0~127,y为页的范围0~7*****************/
//x0 传入图像显示起始点x坐标
//y0 传入图像显示起始点y坐标
//x1 传入图像x横向像素个数 + x0
//y1 传入图像y纵向像素个数  占用的页数 
//BMP[] 传入图像数组        
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[])
{ 	unsigned int j=0;unsigned char x,y;if(y1%8==0) y=y1/8;      else y=y1/8+1;for(y=y0;y<y1;y++){OLED_Set_Pos(x0,y);for(x=x0;x<x1;x++){      OLED_WR_Byte(BMP[j++],OLED_DATA);	}}
}

 程序设计:

目标:OLED上显示该图片,且从左往右逐渐平移,起始点从(0,0)平移到(60,0)

#include "main.h"uint16_t i;int main(void)
{	init_ALL();     //初始化所有函数while(1){for(i=0;i<60;i++){delay_ms(50);OLED_DrawBMP(i,0,68+i,8,BMP);if(i==59){OLED_Clear();             //清空屏幕数据}}}
}//初始化所有函数:
void init_ALL(void)
{SysTick_Init(72);         //初始化滴答计时器
//	Timer2_Init();						//初始化定时器2i2c_GPIO_Config();	      //IIC初始化	OLED_Init();              //初始化OLED屏幕OLED_Clear();             //清空屏幕数据
}

 显示效果:

 程序设计的注意点就是要在合适的时机清屏,适当的延时,正确的X,Y坐标等等~~~

 测试工程下载:

https://download.csdn.net/download/qq_64257614/88232357?spm=1001.2014.3001.5503

http://www.hengruixuexiao.com/news/22552.html

相关文章:

  • 济宁做网站比较好的公司有哪些蚌埠seo外包
  • 网站建设受众百度搜索
  • 创意网站建设话术免费推广网址
  • 济南高新区网站建设公司网络推广渠道和方法
  • dz网站收款即时到账怎么做的长沙seo免费诊断
  • 在哪个网站做视频赚钱的竹子建站官网
  • 济南突然宣布淘宝seo搜索优化
  • 用html表格做的网站专业网站推广优化
  • wordpress怎么写网站关键词和描述seo快速优化
  • 东莞网站优化流程百度大数据查询
  • 算命 网站开发怎么免费给自己建网站
  • 行业网站策划方案爱站之家
  • 二手车网站制作贵吗中国突然宣布一重磅消息
  • 购物网站建设的可行性宣传营销方式有哪些
  • app开发网站建设公司税收大数据
  • 折800网站模板搜索指数
  • 给女友做的网站 源码今日国内新闻
  • 广东微信网站制作哪家好产品推广方式都有哪些
  • 上海手机端建站模板网络推广岗位职责和任职要求
  • 上海有名的做网站的公司有哪些百度指数关键词
  • 国外免费网站域名服务器入口最新新闻热点事件2024
  • 做三年网站需要多少钱定制网站开发
  • 家庭厨房做外卖网站百度推广的五大优势
  • 做商城网站怎么做2345浏览器主页网址
  • 网站备案 每年windows优化大师有毒吗
  • 公装网站怎么做中国十大电商平台
  • 网站seo优化加推广2022年可以打开的网址
  • 如何选择镇江网站建设谷歌浏览器下载手机版app
  • 下载微信找回微信seo搜索引擎优化入门
  • 做淘宝客网站要多少钱关键词优化平台有哪些