数码管显示
1. 硬件基础
共阳4位数码管工作原理
举例:第一位显示3
将第1位位选端接高电平,其余位选端接低电平;第1位数码管需要显示的段选端接低电平,不需要显示的段选端接高电平
所有数码管的相同段选端都接在一起,但因为二极管单向导电性,阳极流向阴极,故不需要显示的数码管不会显示。
2. 软件编程
框架式编程结构搭建
创建数码管服务.c并添加
all.h包含
打标签
.c包含all.h
数码管显示
- 创建数码管显示函数
外部声明
主函数调用
595数据分配函数改为数码管数据分配函数
将原先HC595显示内容移入数码管显示函数内
此时实现在某位数码管上显示1位任意字符
- 创建数组保存显示字码
使用LED段位码取模软件,注意595输出管脚和数码管管脚相对应
采用数组形式在某位数码管上显示1位任意字符,保存空间为code
测试:在两位数码管上显示两个数字,亮度一致
- 为显示在哪一位创建数组
- 8位数码管轮流显示
count++循环显示
亮度控制:取余操作
- 数码管显示缓存数组
8个数码管分别需要显示什么值直接给数组赋值即可
- 计数变量降低显示间隔
数码管显示轮流高速刷新,但数组不需要频繁赋值去修改数据
注:
程序模拟超时等待
数码管8位轮流显示需要一定时间,在人眼反应之前主函数可以去执行其他服务