学习STC51单片机41(芯片为STC89C52RCRC)智能小车8(测速显示到OLED显示屏)

每日一言

把绊脚石踩成台阶,今天的每一步都在靠近山顶。

案例:OLED二次开发显示测速

这个功能的实现就是利用我们之前的代码进行搬砖

这一节还有一个重点:

就是其实我们之前写的OLED进行实现文字或者是字母的操作的话,实际上是让我们学会自己去实践去了解原理,但是实际上,开发厂商已经做好了相关的代码,很多的基本上的字符都有,我们可以直接借鉴利用厂商的代码,因为我们如果是实现一个不会动的字符ABCD那么可以自己去玩一玩,可以自己去用字模工具取出来,但是对于如果是动态的话,自己去做取字模那么工作量就很大了,我们就需要将厂商的代码拿来用,虽然厂商也是将字符用字模的方式取出来,但是他们呢提前做好了,我们只需要利用他们厂商的算法进行对他们取出来的字模进行使用即可。

代码展示

Main.c文件的代码

比如这边我们需要显示个小车的速度在OLED屏幕上面

  1. 初始化(都用厂商代码)
  2. 清屏函数
  3. 我们使用厂商的代码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上

相关推荐
芯岭2 分钟前
高性能系列微控制器XL32F001开发板
单片机·嵌入式硬件
XINVRY-FPGA40 分钟前
XCVU13P-2FLGA2577I Xilinx AMD VirtexUltraScale+ FPGA
嵌入式硬件·fpga开发·云计算·硬件工程·dsp开发·射频工程·fpga
HotCoffee-GPS1 小时前
Golang学习笔记:context的使用场景
笔记·学习·golang
知识分享小能手2 小时前
微信小程序入门学习教程,从入门到精通,微信小程序页面交互 —— 知识点详解与案例实现(3)
前端·javascript·学习·react.js·微信小程序·小程序·交互
charlie1145141912 小时前
精读C++20设计模式——结构型设计模式:代理模式
c++·学习·设计模式·代理模式·c++20·概论
武昌库里写JAVA2 小时前
Java 设计模式在 Spring 框架中的实践:工厂模式与单例模式
java·vue.js·spring boot·sql·学习
峥嵘life2 小时前
Android16 adb投屏工具Scrcpy介绍
android·开发语言·python·学习·web安全·adb
tiankongdeyige2 小时前
Unity学习之垃圾回收GC
学习
上园村蜻蜓队长2 小时前
ARM芯片架构之调试访问端口(DAP)
arm开发·单片机·fpga开发·架构
DKPT3 小时前
JVM如何管理直接内存?
java·笔记·学习