Linux下C51入门教程06:一位数码管
系列文章索引:Linux下C51入门教程索引
上一篇:Linux下C51入门教程05:74hc138译码器
今天进行一位数码管的开发。
下面这张图片表示通用的一位数码管
电路中,电流由正极流向负极。箭头方向就是电流方向,那么A就是共阴极,B就是共阳极。
普中单片机中一位数码管的型号是CL5611BH,可以判断出此数码管是共阳极。
下图是数码管的引脚图
数码管有8个数值位:a,b,c,d,e,f,g,dp
分别对应着数字8和小数点。
我们一般的连接方法是:p0.0接A,以此类推。
以小数点为例:
如果只需要显示小数点,那么a~g都为0。那么abcdefgh=00000001
。那么P0.01234567=00000001
。
赋值的时候是P0.0的值在右侧。那么我们需要的值是P0.76543210=10000000=0x80
。
但是一般电流流向是正到负,而共阳极是负到正,那么数值需要取反即~0x80=~(10000000)=01111111=0x7f
。
测试一下:
1 |
|
效果如下:
如果赋值是0x80h呢?即上面的值没有取反。
0x80h取反为~(10000000)=01111111=P0.7654321。 那么P0.01234567=11111110=abcdefgh
。
也就是说除了小数点全亮就是数字8。
1 |
|
效果如下:
数码管的基础知识都介绍完了,接下来就是动态效果了。
1 |
|
实际运行效果:数码管动态效果
Linux下C51入门教程06:一位数码管
https://blog.jackeylea.com/c51/c51-one-nixie-tube/