stm32如何实现1~10数字滚屏

stm32如何实现1~10数字滚屏,第1张

stm32实现1~10数字滚屏把想要滚动的文字进行模提取。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。SPI是一个环形总线结构,时序主要是在sck的控制下,两个双向移位寄存器进行数据交换。把想要滚动的文字进行字模提取,打开程序,打开oledfont.h加入所滚动的文字提取的编码。

1.keil5

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

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

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

1.中文数据显示

文本内容为中文在点阵中为16*16,故都为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在0.96寸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)

}

在Excel中制作年会抽奖器自动滚动数字颜色,可以通过以下步骤实现:

打开Excel,在一个空白的工作表中,选中一个单元格,输入第一个数字。

选中这个单元格,点击“开始”选项卡中的“条件格式”,选择“数据条”,根据需要设置数据条的颜色和样式,并设置数值范围。

在这个单元格中,右键选择“格式单元格”,进入“数字”选项卡,在“自定义”分类下输入以下公式:

[$-F400]0.00[$-F400]-0.00

这将使单元格中的数字自动滚动,并且数字的颜色会根据设定的数据条颜色自动变化。

4.在这个单元格后面连续输入需要滚动的数字。

5.如果需要增加抽奖效果,可以在单元格中插入其他特殊符号或图片,例如彩票、礼物等。

6.如果需要停止数字的滚动,只需要在单元格中输入一个新的数字即可。

通过以上步骤,就可以在Excel中制作一个简单的年会抽奖器自动滚动数字颜色的效果了。


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

原文地址: http://outofmemory.cn/yw/8136338.html

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

发表评论

登录后才能评论

评论列表(0条)

保存