STM32的8*8点阵屏开发(小项目)
基础认识
实现效果
项目实现STM32点阵屏的操作,自动更改显示内容和串口控制显示内容
STM32上电后:
1) 程序将进行行和列的刷新
2) 自动递增显示0-9变化
3) 进行矩形由内向外动画
4) 等等串口输出控制,输出范围为0x00-0x09,点阵屏将显示输入的数字
代码为精简的最小系统,方便后续的扩展和移植
视频展示
https://www.bilibili.com/video/BV1Pi4y1x7Fo
环境配置
STM32固件版本:V3.5.0
单片机:STM32 F103C8T6
LED点阵管数码管:共阳1588BS
编程工具:Keil uVision5
LED点阵管数码管认识
1.5英寸LED点阵管数码管8*8红色16pin
有如下两种型号:
l 共阳1588BS
l 共阴1588AS
这里使用的是:共阳1588BS

开始使用
环境准备
l STM32固件版本:V3.5.0
l 单片机:STM32 F103C8T6
l LED点阵管数码管:共阳1588BS
l 编程工具:Keil uVision5
点阵屏与STM32接线说明
接线编号:
点阵屏1-8:A0、A1、A2、A3、A4、A5、A6、A7
点阵屏9-16:B0、B1、B10、B11、B12、B13、B14、B15
打开/编译/烧写



项目测试
打开串口助手

连接USB串口模块

上电后自动进行行列刷新

数字自动显示



小动画显示


串口控制:


编码说明


分析得到编码序列:
因为列是固定为低电平,也就是只要行输出高电平,对应的点就点亮,确定行的高低位,设置从上到下为0-7行,所以第0行是十六进制的最低位而7是16进制的最高位。
得到结果分析:
第0列编码:0000 0000 = 0x00
第1列编码:0111 1110 = 0x7E
第2列编码:1010 0001 = 0xA1
第3列编码:1001 0001 = 0x91
第4列编码:1000 1001 = 0x89
第5列编码:1000 0101 = 0x85
第6列编码:0111 1110 = 0x7E
第7列编码:0000 0000 = 0x00
所以得到数字0的编码数组为:
{0x00,0x7E,0xA1,0x91,0x89,0x85,0x7E,0x00}

视频展示
https://www.bilibili.com/video/BV1Pi4y1x7Fo
以下内容不完全展示.......
STM32的8*8点阵屏开发(小项目)的更多相关文章
- IOS开发小项目—找色块游戏
1.项目代码: @interface NextViewController () { int r ;//色块层数的全局变量 int m;//后面用于tag值的变化 UIView *view;//色块 ...
- Java开发小技巧(三):Maven多工程依赖项目
前言 本篇文章基于Java开发小技巧(二):自定义Maven依赖中创建的父工程project-monitor实现,运用我们自定义的依赖包进行多工程依赖项目的开发. 下面以多可执行Jar包项目的开发为例 ...
- 详解微信小程序开发(项目从零开始)
一.序 微信小程序,估计大家都不陌生,现在应用场景特别多.今天就系统的介绍一下小程序开发.注意,这里只从项目代码上做解析,不涉及小程序如何申请.打包.发布的东西.(这些跟着微信官方文档的流程走就好). ...
- 分享vs低版本开发的项目到VS高版本时遇到的4个小问题解决之记录
分享vs低版本开发的项目到VS高版本时遇到的4个小问题解决之记录 原文首发: http://anforen.com/wp/2017/08/extensionattribute_compilerserv ...
- 第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现
第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现 开发环境搭建 使用自己的AppID新建小程序项目,后端服务选择小程序·云开发,点击新建,完成项目新建. 新建成功后跳转到开发者工具界面 ...
- spring+springmvc+hibernate架构、maven分模块开发样例小项目案例
maven分模块开发样例小项目案例 spring+springmvc+hibernate架构 以用户管理做測试,分dao,sevices,web层,分模块开发測试!因时间关系.仅仅測查询成功.其它的准 ...
- 微信小程序入门与实战 常用组件API开发技巧项目实战*全
第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...
- 【源码项目+解析】C语言/C++开发,打造一个小项目扫雷小游戏!
一直说写个几百行的小项目,于是我写了一个控制台的扫雷,没有想到精简完了代码才200行左右,不过考虑到这是我精简过后的,浓缩才是精华嘛,我就发出来大家一起学习啦,看到程序跑起来能玩,感觉还是蛮有成就感的 ...
- 微信小程序-云开发-实战项目
微信小程序-云开发-实战项目 微信小程序 微信小程序平台服务条款 https://developers.weixin.qq.com/miniprogram/product/service.html h ...
随机推荐
- 减少 zabbix 频繁报警
一直以来困扰的我问题是,触发器一旦触发,便会猛报警,如果你设置了email ,你的邮箱绝对会爆掉. 今天终于找到了方案,很简单,就是增加action 的steps ,从一个增加到default dur ...
- git init 后关联github仓库是发生错误:
: failed to push some refs to 'git@github.com:AlanKnightly/reactC.git'hint: Updates were rejected be ...
- 对CSS3中的transform:Matrix()矩阵的一些理解
只要有CSS基础的人肯定都知道,我们可以通过transform中的translate,scale,rotate,skew这些方法来控制元素的平移,缩放,旋转,斜切,其实这些方法呢都是为了便于开发者使用 ...
- hdu6470 Count 矩阵快速幂
hdu6470 Count #include <bits/stdc++.h> using namespace std; typedef long long ll; , mod = ; st ...
- linux常用命令---PATH与防火墙
linux的路径PATH 防火墙
- mysql操作之二:fetchone与获取lastrowid
import mySQLdb conn = mySQLdb.connect(host='127.0.0.1',user='root',passwd='123456')cur = conn.cursor ...
- RAID0、RAID1及RAID5的区别详解
目前已有的RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)技术有很多种,但是RAID0.RAID1.RAID5是最常见的几种方案. 1 RAID0 ...
- php连接数据库 需要下载adodb
<?include('adodb/ADOdb.inc.php'); # 加载ADODB$conn = &ADONewConnection('odbc_mssql'); # 建立一个连结$ ...
- let面试题
两次输出结构都是2 0 1
- 使用EditPlus根据指定字符批量换行,快速填充Postman请求参数键值对
1.当某个.ext格式的文件中的重复格式内容太多时,而又想要根据某个字符进行批量换行时,那么可以使用EditPlus进行批量换行. 在开发过程中就会经常遇到这种问题,比如把Url的请求参数,快速的填写 ...