stm32如何才能在液晶屏上让数字左右移动

stm32如何才能在液晶屏上让数字左右移动,第1张

1keil5

2(2)PC,STM32开发板(这里使用野火stm32mini)、096存OLED显示屏、烧录装置(下载器)

参考厂家的用户手册完成引脚连接:

二、基于SPI修改程序实现数据显示

1中文数据显示

文本内容为中文在点阵中为1616,故都为16进制,我们通过软件进行生成

使用该软件生成十六进制字模

选择模式中的字符模式,在选择中调整字体大小为16及16进制

2代码

云(0) 开(1) 处(2)

DB 40H 40H 42H 42H 42H 42H C2H 42H 42H 42H 42H 42H 42H 40H 40H 00H;

DB 00H 20H 70H 28H 24H 23H 20H 20H 20H 24H 28H 30H E0H 00H 00H 00H;"云",0

DB 80H 82H 82H 82H FEH 82H 82H 82H 82H 82H FEH 82H 82H 82H 80H 00H;

DB 00H 80H 40H 30H 0FH 00H 00H 00H 00H 00H FFH 00H 00H 00H 00H 00H;"开",1

DB 00H 80H 60H 9FH 08H 08H F8H 00H 00H FFH 10H 20H 40H 80H 00H 00H;

DB 81H 40H 20H 13H 0CH 13H 20H 20H 40H 5FH 40H 40H 40H 41H 40H 00H;"处",2

2 代码显示部分:

void TEST_MainPage(void)

{

GUI_ShowString(28,0,"MR liao",16,1);

GUI_ShowCHinese(28,20,16,"云开处",1);

GUI_ShowString(4,48,"631807060611",16,1);

delay_ms(1500);

delay_ms(1500);

}

main函数:

int main(void)

{

delay_init(); //延时函数初始化

NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级

OLED_Init(); //初始化OLED

OLED_Clear(0); //清屏(全黑)

while(1)

{

TEST_MainPage(); //主界面显示测试

}

}

三、使用STM32在096寸OLED显示屏上实现字符滚动

1初识OLED屏滚动命令

本OLED屏的芯片类型为:SSD1306

设置水平左右移步骤:

OLED_WR_Byte(0x2E,OLED_CMD); //关闭滚动

OLED_WR_Byte(0x26,OLED_CMD); //水平向左或者右滚动 26/27

OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节

OLED_WR_Byte(0x00,OLED_CMD); //起始页 0

OLED_WR_Byte(0x07,OLED_CMD); //滚动时间间隔

OLED_WR_Byte(0x07,OLED_CMD); //终止页 7

OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节

OLED_WR_Byte(0xFF,OLED_CMD); //虚拟字节

OLED_WR_Byte(0x2F,OLED_CMD); //开启滚动

设置垂直和水平滚动的(没有可用连续垂直滚动)步骤:

OLED_WR_Byte(0x2e,OLED_CMD); //关闭滚动

OLED_WR_Byte(0x29,OLED_CMD); //水平垂直和水平滚动左右 29/2a

OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节

OLED_WR_Byte(0x00,OLED_CMD); //起始页 0

OLED_WR_Byte(0x07,OLED_CMD); //滚动时间间隔

OLED_WR_Byte(0x07,OLED_CMD); //终止页 1

OLED_WR_Byte(0x01,OLED_CMD); //垂直滚动偏移量

OLED_WR_Byte(0x2F,OLED_CMD); //开启滚动

2文本取模

参考上面取模

3代码

main函数:

int main(void)

{

delay_init(); //延时函数初始化

NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级

OLED_Init(); //初始化OLED

OLED_Clear(0); //清屏(全黑)

OLED_WR_Byte(0x2E,OLED_CMD); //关闭滚动

OLED_WR_Byte(0x26,OLED_CMD); //水平向左或者右滚动 26/27

OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节

OLED_WR_Byte(0x00,OLED_CMD); //起始页 0

OLED_WR_Byte(0x07,OLED_CMD); //滚动时间间隔

OLED_WR_Byte(0x07,OLED_CMD); //终止页 7

OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节

OLED_WR_Byte(0xFF,OLED_CMD); //虚拟字节

TEST_MainPage(); //主界面显示测试

OLED_WR_Byte(0x2F,OLED_CMD); //开启滚动

}

显示部分代码

void TEST_MainPage(void)

{

GUI_ShowString(28,0,"HELLO",16,1);

GUI_ShowCHinese(12,16,16,"欢迎来到重庆交通大学",1);

delay_ms(1500);

delay_ms(1500);

}

字模3增强版是液晶产品开发中必不可少的工具之一,在开发过程中可以大大的节约了开发成本及提高开发效率。

字模3增强版字库批量生成流程

工具/原料

字模3增强版

方法/步骤

安装好字模软件III,一定要记得注册,否则生成的字符不正确。安装好软件之后,双击打开字模软件III,字库生成,先选择字体,字形,大小。

字模3增强版字库批量生成流程

字体选择完成后,接下来进行字模格式设置。

字模3增强版字库批量生成流程

点击上图的参数设置,即d出下图窗口,然后点击“字模格式”,设置字模格式和文本格式,字模格式即最终生成后的字模格式。文本格式则有C语言格式和汇编格式,根据自己的设计要求选择。常规设置和图形设置则默认。

字模3增强版字库批量生成流程

点击下方的“批量导出字模”,然后在“输入批量字符”下方输入要导出的批量字符。输入完成后,在其右侧点击“字库智能生成”,将进入字库批量参数确认。

字模3增强版字库批量生成流程

字库批量参数确认:先查看字模生成后的字库文件存放路径,再选择字模的对齐方式,最后设置字模的高度及宽度。设置完成后,点击“开始转换进程”,进入字库转换。

字模3增强版字库批量生成流程

如果字符较多的情况下,转换的过程可能有点长,等到下方的转换进度条100%(满)后,才算是转换完成。从点阵出也可以看出转换完成后会显示最后一个字符。

字模3增强版字库批量生成流程

7

转换完成后,将会自动生成一个字库文件,如果已经有了,则会覆盖掉之前的文件。

你好:

如果你的12864是带字库的话,只要写好了驱动,直接在写数据函数里用双引号写一个汉字就能直接显示。

如果不是带字库的液晶,就是通过绘图的方式,用字模软件画出图形,用液晶显示就行了。

这两种液晶的程序我也有,如果你需要回复我。

希望我的回答能帮助到你。

以上就是关于stm32如何才能在液晶屏上让数字左右移动全部的内容,包括:stm32如何才能在液晶屏上让数字左右移动、字模3增强版怎么生成不了bin文件、12864液晶显示,这么样实现写入汉字,显示出来。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9868803.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存