请选择 进入手机版 | 继续访问电脑版

基于stm32的OLED屏显的基本尝试以及关于汉字点阵编码的基本操作

[复制链接]
欣然自乐 发表于 2021-1-1 09:57:30 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
基于stm32的OLED屏显的根本实验以及关于汉字点阵编码的根本操纵



汉字点阵编码

1、这里使用软件PCtoLCD自动生成16*16的汉字字模

2、设置生成字模方式

3、生成字模
比方:

实验工程

1、这里的显示工程是引用 OLED淘宝商店提供的工程

2、工程功能展示

此次试验只需用自己需要使用的功能,其他的可以注释掉
显示自己的名字和学号

工程改写

1、这里下载的SPI工程,在工程中找到变量,以对自己的显示需求举行改写
2、文字修改:
在函数下一 一寻找,找到自己需要改变的参数

右键函数名称,前往函数定义处
一路寻找,找到参数修改处,将自己想要显示文字的字模写入即可

3、学号显示:
0-9数字定义已经在工程中写入,只需修改函数参数即可

4、编译烧录步调即可检察实验效果

实验效果



显示AHT20的温度和湿度

工程改写

1、到场AHT20温湿度读取函数

2、AHT20部门代码:
[code]#include "delay.h"#include "sys.h"#include "oled.h"#include "bmp.h"#include "stdlib.h"#include "bsp_i2c.h"#include "ATH20.h"#include "stm32f10x.h"#include "stm32f10x_usart.h"#include "misc.h"void GPIO_Configuration(void);void RCC_Configuration(void);GPIO_InitTypeDef GPIO_InitStructure;int main(void)  {        int hcr=1;int i1=6,i2=26,i3=46,i4=66,i5=86,i6=106,        i7=126,i8=146,i9=166;                uint8_t ret = 0;                uint8_t LED_Stat = 0;    float P,T,ALT;    uint32_t CT_data[2];        int  c1,t1;                delay_init();                     //延时函数初始化                          NVIC_Configuration();          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级         LED_Init();                             //LED端口初始化                OLED_Init();                        //初始化OLED                  OLED_Clear(0) ;                 RCC_Configuration();                                                   //设置系统时钟    GPIO_Configuration();                                            //IO口设I2C_Bus_Init();    ret = ATH20_Init();    if(ret == 0)                while(1)    {   OLED_Clear(0);         OLED_ShowString(0,11,"631807030616",16);                    delay_ms(2500);       printf("ATH20传感器初始化错误\n");    } while(1)         {                for(hcr=0;hcr=0)        OLED_ShowCHinese(6-hcr,0,9);//全              if((i2-hcr)>=0)        OLED_ShowCHinese(26-hcr,0,10);//欢              if((i3-hcr)>=0)              OLED_ShowCHinese(46-hcr,0,11);        if((i4-hcr)>=0)              OLED_ShowCHinese(66-hcr,0,12);//子              if((i5-hcr)>=0)        OLED_ShowCHinese(86-hcr,0,13);//技              if((i6-hcr)>=0)               OLED_ShowCHinese(106-hcr,0,14);//术              if((i7-hcr)>=0&&(i7-hcr)=0&&(i8-hcr)=0&&(i9-hcr)
回复

使用道具 举报

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

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )