单片机小白学习之路(六)---数码管显示个数字

目标: 数码管显示个数字


数码管是一种半导体发光器件,其基本单元是发光二极管。数码管也称为LED数码管,是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。

13367077-0cbec4296b0bf61e.png
数码管



LED数码管根据LED的不同接法可以分为2类:共阴数码管和共阳数码管。


13367077-4f1141923a140bb4.png

左边是共阴式,二极管阴极并联连接到地,想要二极管点亮就要给阳极高电平,低处是高字节

右边是共阳式,二极管阳极并联接到电源,想要二极管点亮就要给阴极低电平,低处是高字节

再来看看最左边的数码管,上面的“笔画”都标了字母,是顺时针标的,那个dp是个小数点。


共阴数码管码表:

0x3f,  0x06,  0x5b,  0x4f,  0x66,  0x6d, 0x7d,  0x07,  0x7f,  0x6f,  0x77,  0x7c,  0x39,  0x5e,  0x79,  0x71,  0x00,

0       1          2        3        4        5          6        7        8         9       A        B          C        D        E         F       无显示

0011 1111 , 0000 0110 , 0101 1010,.........--->二进制(高字节  低字节)


共阳数码管码表

0xC0,  0xF9,  0xA4,  0xB0,  0x99,  0x92 , 0x82, 0xF8, 0x80, 0x90,  0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E, 0xFF

0        1         2          3         4         5         6         7        8         9        A        B      C         D        E       F     无显示

1100 0000  ,  1111 1001 ,  1010 0101............. --->二进制(高字节  低字节)


数码管模块电路:

13367077-5af62b9921c3a670.png

我们用 74HC245和 74LS138分别来控制数码管的 段选和 位选,那什么是段选和位选?

段选: 是用来控制数码管那构成数字的一段一段的,来发送数字

位选: 是来选择哪个数码管亮的,如图有8个数码管可以任意选择


代码:

13367077-67d142549aa5a5b3.PNG
是共阴式

LSA, LSB, LSC是 74LS138的输入端下篇会讲到。现在只要知道000是让第一个亮就ok

code list是个数组,里面是数字,code可写可不写 ,code的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVC,因为C语言中没办法详细描述存入的是ROM还是RAM(数据存储器)所以在软件中添加了这一个语句起到代替汇编指令的作用对应的还有data是存入RAM 的意思。code区存储在什么介质上并不重要,像以前的计算机程序存储在卡片上,code区也可以放在ROM里面,也可以放在RAM里面,也 可以放在flash里面

P0控制数码管的段选,所以往P0口输送数据0x3f(数字0)



13367077-4482e188c21a9d74.jpg
状态
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值