一位数码管驱动
先认识下数码管管脚图
本文引用地址://m.amcfsurvey.com/article/201611/323032.htm共阳/共阴数码管脚管图:
共阳数码管:VCC(位选)连接在一起,外部(段选)低电平点亮
这种7段数码管其实其实里面有7个LED,共阳管就把7个LED的“+”级接在一起上图中的公共脚就是他们的“+”级,剩下的8个脚就是7个LED的“-”级,“-”级就等于脚管:a、b、c、d、e、f、g、h 他们是分开的,没接在一起。
共阴数码管:GND(位选)连接在一起,外部(段选)高电平点亮
共阴管就跟上面的反过来,“-”级接在一起,“+”级等于a、b、c、d、e、f、g、h
将a、b、c、d、e、f、g、h八个引脚接到单片机
P1口:P1.0←a、P1.1←b、P1.2←c、P1.3←d、P1.4←e、P1.5←f、P1.6←g、P1.7←h
如图:
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/323032_1_2.jpg)
"b"代表"tab"数组的元素,元素就是下面的字形码
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/323032_1_3.jpg)
0x3F对应的元素是0、0x06对应元素是1、..........................0x71对应的元素是15
**************************************************************************************
h |
g |
f |
e |
d |
c |
b |
a |
|
共阳 | 1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
共阴 | 0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
字形码“9”编码示例:
共阴极:0x6F
共阳极:0x90
**************************************************************************************
因为单片机I/O口输出电流很小,所以同时驱动一个七段的数码管则需要加强端口的输出能力
方法:(1)使用三极管(2)接上拉电阻(3)设置端口推挽输出
下面只介绍推挽输出:
推挽输出:一般用于需要更大驱动电流的情况
I/O口各种不同工作模式及配置
举例:
P1M1 |
|||
所以,主函数的这两句代码的作用就是把单片机所有P1的I/O口(包括:P1.0、P1.1、P1.2、P1.3、P1.4、P1.5、P1.6、P1.7)设置为强推挽模式输出
评论