欢迎访问云南网络营销网!
云南网络营销-网站搭建|seo优化|竞价sem|美团运营推广-左道网络

【51单片机】如何让数码管记住你的生日

导航

I 原理分析

II 实战操作


I 原理分析

01.jpg

1. 为什么叫8*8数码管呢?不是因为有8个数字为8的晶体管哦,看原理图是有8个被分为了a、b、c、d、e、f、g、dp八个led灯的数码管;

2. 这里采用的数码管的8个led灯为共阴极(见下图);

02.png

展开后    

03.png   

结合预补知识点1、2,我们引出并尝试解决第一个问题:

Q1:由原理图P0端控制数码管,P0端八位(P0.0—P0.7)是怎么操控64个LED的呢?

A1:这个问题从原理图一看便知:八个数码管的a阳极是并联,当P0的0位对a输出信号时,八个数码管都能得到信号且都是高电平,因此我们得到预补知识点:

3. 哪个数码管亮取决于哪个共阴极(LED1-8分别为8个共阴极)为低电平;

4. 数码管显示哪个数取决于P0口的输入信号。

下面我们来解决第二个问题:

Q2:如何让指定的数码管显示指定的数字?

A2:不难发现,要指定数码管我们只需控制指定数码管对应的共阴极为低电平即可;指定的数字我们只需让P0口输入信号做出改变即可,因此我们从两方面进行分析:

①. 如何让指定的数码管里8个LED共阴极为低电平:

我们注意到8个数码管的8个共阴极分别连接到138译码器上,因此不得不翻出它的一些详细信息:

04.png

不难发现38原来是3输入-8输出的意思;其中A0-A2为输入,Y0-Y7(即刚开始原理图中的LED1-LED8)为输出。那么现在目的很明确:控制A0-A2的输入使LED1-LED8中特定一个引脚输出低电平。于是俺翻出了它的真值表

05.jpg

我们发现了规律:A0-A2三位数组成的二进制数转化成十进制数,设这个数为n,那么代表输出端Yn就为低电平。Deal!

②:如何控制P0口输出信号使其转化为指定数:

原理我们已经理解:数字0就是a、b、c、d、e、f灯亮,g、dp灯灭,参见这篇文章中分析的对端口的操作,数字0对应的就是0011 1111,十六进制转化为

06.jpg

II 实战操作

懂了上面的原理,下面的事情就好办了。我们直接进行实战操作:

由上面的分析,我觉得让其中一个数码管显示特定数已经so easy了,不再演示。

效果演示:

07.jpg

我们知道:A0-A2的值必须固定,因此我们没有办法做到让8个数码管同时亮,那我是怎么让他们显示我的生辰八字的呢?

想的没错,我再一次用人类的视觉特性骗了大家:

我们先让一个数码管显示数,然后第二个,短短几毫秒一个循环,咱也反应不过来,可不就被骗了吗?

贴代码:

08.jpg

09.jpg

在线留言(留言后专人第一时间快速对接)

已有 926 名客户选择了我们

姓 名:

联系电话:

留言备注:

服务推荐

基础型网站建设
基础型网站建设
服务价格:¥3998
热度:
查看详情
营销型网站建设
营销型网站建设
服务价格:¥6980
热度:
查看详情
全网营销 (网站+公众号+B2B平台+论
全网营销 (网站+公众号+B2B平台+论
服务价格:¥16800
热度:
查看详情
网站首页 |公司简介 |法律声明 |正在咨询 |公司动态 |联系我们 |网站地图