[51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY

时间:2022-09-22 10:29:59

目录

1)问题产生

2)失败尝试

3)最终方案

4)使用方法

5)知识共享


1)问题产生

在上一篇“以PWM控制直流电机为例建一个简单的51工程框架”中已向大家介绍了一个封装好的8位8段数码管的驱动(如下图中FUNC文件夹下led8.c文件)。

[51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY

但是该驱动电路是要有一定的硬件基础的(如下图):如2片74HC573。而我这里只有几个4位8段共阴数码管又没有74HC573,所以就得寻求用51直接驱动的方案了!

[51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY


2)失败尝试

失败操作:直接在相应的引脚间加5伏电压来测试该数码管是否正常

结果:烧坏了2个3461AS

分析:被第二张图骗了,以为3461AS可以承受01电平产生的压差,而真实情况如下图:在P0口有10K的排阻,然后测量一下电压终于恍然大悟!

[51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY


3)最终方案

在第二步到第三步之间还找到一个例子:他采用3-8译码器然后串联电阻进行保护。

[51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY

因为有3-8译码器的例子我的直驱的想法得到进一步的验证,于是综合上面的分析给出了下面的方案:

[51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY


4)使用方法

同样的我把关于3461AS封装起来(如下)

[51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY

在要使用该功能的文件中首先包含头文件,然后引用DuanMa数组、TempData数组以及用于显示的Display函数。

[51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY

然后在想要显示数据前把数据存储在TempData中(TempData[0]表示要显示的第一个数字,这里把共阴8段数码管显示从0~F的值存储在DuanMa数组中。因此要让第一个数字显示2则只要TempData[0]=DuanMa[2])。当在TempData中设置好要显示的信息后就可以调用Display函数进行刷新数码管显示(Display的第一个参数表示从第几个数码管开始显示,例如FirstBit=0表示从第一个数码管开始显示num位数据)

[51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY

注:要保证Display有比较快的刷新频率


5)知识共享

https://github.com/beautifulzzzz/stc89c51-or-stc89c52

[51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY

[51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY的更多相关文章

  1. 数码管显示“0~F”的共阳共阴数码管编码表

    嵌入式设备中数码管显示“0~F”的方式是:定义了一个数组,里面含有16个元素,分别代表0~F,这样可以方便以后的调用.共阳极数码管编码表:unsigned char table[]={0xc0,0xf ...

  2. [Beautifulzzzz的博客目录] 快速索引点这儿O(∩_∩)O~~,红色标记的是不错的(⊙o⊙)哦~

    3D相关开发 [direct-X] 1.direct-X最小框架 [OpenGL] 1.环境搭建及最小系统 [OpenGL] 2.企业版VC6.0自带的Win32-OpenGL工程浅析 51单片机 [ ...

  3. 51单片机外部中断INT0实例(汇编程序)

    ;普中51开发板 ;单片机的P3.2(INT0)引脚与按键K3脚连接 ;用汇编语言实现:按一次K1外部中断INT0响应一次,LED显示值加1(十进制), ;前提是共阴数码LED第一位,需要设定,由P0 ...

  4. [新概念51单片机C语言教程·郭天祥] 1、 基础知识必备

    目录: 单片机的大致介绍         1-1.通俗定义         1-2.51系列产品         1-3.标号意思         1-4.引脚介绍         1-5.用C语言开 ...

  5. 51单片机 Keil C 延时程序的简单研究

    应用单片机的时候,经常会遇到需要短时间延时的情况.需要的延时时间很短,一般都是几十到几百微妙(us).有时候还需要很高的精度,比如用单片机驱动DS18B20的时候,误差容许的范围在十几us以内,不然很 ...

  6. ET 与RETI 基于51单片机中断跳出指令“RETI”浅议

    最近在基于51单片机编程的过程中出现了个很奇怪的问题“程序执行中在寄存器EA=1,ET0=1,TR0=1条件下,单TF0=1时并没有执行中断”.在有过单片机中断编程经历者都知道当EA=1,ET0=1的 ...

  7. STM32GPIO口8种模式细致分析(类比51单片机)

    关于STM32GPIO口的8种工作模式,我们先引出一些问题? STM32GPIO口如果既要输入又要输出怎么办? 1.浮空输入模式 上图红色的表示便是浮空输入的过程,外部输入时0读出的就是0,外部输入时 ...

  8. [学习笔记]15个QA让你快速入门51单片机开发

    一.C语言相关 Q1:sbit与sfr代表是什么?有什么作用? Q2:#define OSC_FREQ  22118400L这句宏命令里的“L”是什么意思? Q3:我粘贴了别人的代码,怎么发现没有un ...

  9. 2017.11.18 手把手教你学51单片机-点亮LED

    In Doing We Learning 在操作中学习.如果只是光看教程,没有实际的操作,对编程语言的理解很空泛,所以决定从单片机中学习C语言. #include<reg52.h>     ...

随机推荐

  1. 2016 - 1 - 27 javaScrip初步&lpar;一&rpar;

    <head> </head> <body> <!-- The onclick attribute is the code that happens when ...

  2. NServiceBus教程-持久化

    NServiceBus的各种特性需要持久性.其中有超时.传奇和订阅存储. 四个持久化技术在NServiceBus在使用: RavenDB nHibernate 内存中 MSMQ 读到安装Raven D ...

  3. Micro 消息

    上周,微软与计算机历史博物馆合作,发布了MS-DOS 1.1/2.0和Word for Windows 1.1a版本的源码,这是微软首次将其核心产品开源. MS-DOS MS-DOS是微软于1981年 ...

  4. WIA Property Constant Definitions

    (@http://msdn.microsoft.com/en-us/library/windows/desktop/ms630202(v=vs.85).aspx): const DeviceID = ...

  5. 解决Failed to connect session for conifg 故障

    服务器升级openssh之后jenkins构建报错了,报错信息如下: Failed to connet or change directory jenkins.plugins.publish_over ...

  6. TestNG监听器实现用例运行失败自动截图、重运行功能

    注: 以下内容引自 http://blog.csdn.net/sunnyyou2011/article/details/45894089 (此非原出处,亦为转载,但博主未注明原出处) 使用Testng ...

  7. exBSGS&&num;183&semi;BSGS-Senior&sol;扩展的BSGS

    \(\rm{0x01\quad Preface}\) \(emmm\)严格来讲,不应该被算到一个模板里面.因为在我看来模板是人构造出来的,但是这个算法应该是一个解决问题的\(process\)-更像是 ...

  8. redhat7&period;0配置网卡

    1.切换到网卡配置目录: cd /etc/sysconfig/network-scripts 2.编辑网卡信息 如 vim ifcfg-enpos3 TYPE=Ethernet #设备类型 BOOTP ...

  9. GitHub如何下载clone指定的tag

    如上图,我想下载Tags标签为solution-4 的代码,如何处理呢? 命令如下: git clone --branch solution-4 git@github.com:zspo/learngi ...

  10. CentOS-6&period;4 安装 PHP Memcached 扩展

    1.获取安装文件包 [root@phpdragon home]# wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmem ...