07-数码管显示

数码管显示

1. 硬件基础

共阳4位数码管工作原理

image-20210826093555201

举例:第一位显示3

将第1位位选端接高电平,其余位选端接低电平;第1位数码管需要显示的段选端接低电平,不需要显示的段选端接高电平

所有数码管的相同段选端都接在一起,但因为二极管单向导电性,阳极流向阴极,故不需要显示的数码管不会显示。

2. 软件编程

框架式编程结构搭建

创建数码管服务.c并添加

image-20210818162749373

all.h包含

image-20210818163115082

打标签

image-20210818163159020

.c包含all.h

image-20210818163215915

数码管显示

  1. 创建数码管显示函数

image-20210818163804797

外部声明

image-20210818163822699

主函数调用

595数据分配函数改为数码管数据分配函数

image-20210818163908078

将原先HC595显示内容移入数码管显示函数内

此时实现在某位数码管上显示1位任意字符

  1. 创建数组保存显示字码

使用LED段位码取模软件,注意595输出管脚和数码管管脚相对应

image-20210818165317179

image-20210818165401932

采用数组形式在某位数码管上显示1位任意字符,保存空间为code

image-20210818165850816

测试:在两位数码管上显示两个数字,亮度一致

image-20210818170604498

image-20210818170625230

  1. 为显示在哪一位创建数组

image-20210818171139313

  1. 8位数码管轮流显示

image-20210818180239075

count++循环显示

亮度控制:取余操作

  1. 数码管显示缓存数组

8个数码管分别需要显示什么值直接给数组赋值即可

image-20210818183748624

  1. 计数变量降低显示间隔

image-20210827095220972

数码管显示轮流高速刷新,但数组不需要频繁赋值去修改数据

注:

image-20210827100445131

程序模拟超时等待

数码管8位轮流显示需要一定时间,在人眼反应之前主函数可以去执行其他服务

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值