学习STC51单片机41(芯片为STC89C52RCRC)智能小车8(测速显示到OLED显示屏)
每日一言
把绊脚石踩成台阶,今天的每一步都在靠近山顶。
案例:OLED二次开发显示测速
这个功能的实现就是利用我们之前的代码进行搬砖
这一节还有一个重点:
就是其实我们之前写的OLED进行实现文字或者是字母的操作的话,实际上是让我们学会自己去实践去了解原理,但是实际上,开发厂商已经做好了相关的代码,很多的基本上的字符都有,我们可以直接借鉴利用厂商的代码,因为我们如果是实现一个不会动的字符ABCD那么可以自己去玩一玩,可以自己去用字模工具取出来,但是对于如果是动态的话,自己去做取字模那么工作量就很大了,我们就需要将厂商的代码拿来用,虽然厂商也是将字符用字模的方式取出来,但是他们呢提前做好了,我们只需要利用他们厂商的算法进行对他们取出来的字模进行使用即可。
代码展示
Main.c文件的代码
比如这边我们需要显示个小车的速度在OLED屏幕上面
- 初始化(都用厂商代码)
- 清屏函数
- 我们使用厂商的代码Oled_Show_Str(x,x,x)具体要继续往下看,显示一个字符串在OLED屏幕上面
Oled.c文件的代码
就是这边我们就不讲之前的分文件的操作了,直接将之前的Oled显示一个字符A的代码进行分文件就变成现在这个样子
这边这个两个代码就是厂商的一些算法,算法的作用是是调用他们的OledFont.h文件的字符,就是怎么去调用它们,然后这个写指令Oled_Write_Cmd和写内容Oled_Write_Data的这个函数是我们之前写的那个
Oled.h声明函数
OledFont.h文件,这个文件就是他们厂商的8x16的字符和数字和字母那些,也有16x16的那些汉字,但是我们这边先不用
调用后效果是这样的
案例:蓝牙显示速度和速度显示到OLED
程序员要开始搬砖了,就是将我们的功能上添加到我们的测速模块的代码,进行整合就可以实现了
展示代码:
没错就是这些,前提是讲oled.h和oled.c还有oledfont.h的文件都添加到这个工程,当然我们这个工程也是复制新建的,复制之前的测速小车模块的代码
主要改动就是mian函数里面要将初始化OLED,还有清屏函数 和while里面要添加一个Oled_show_Str(2,2,meg)
Meg是我们的发送的信息和会变动的速度,之前测速模块讲过这个springtf的作用
然后我们蓝牙模块连接上去就可以实现了,因为我们的串口助手在每隔1s接受到单片机传来的信息,只要串口会显示信息,那我们的蓝牙也是会显示信息
没错就这样我们的蓝牙小车带测速功能就实现了
测速显示在OLED上