一位数码管驱动
*******************************过程**********************************
先认识下数码管管脚图
共阳/共阴数码管脚管图:
共阳数码管: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
如图:
**************************************************************************************
点亮数码管只需"P1"调用字形码数组"tab"P1包括了:P1.0、P1.1、P1.2、P1.3、P1.4、P1.5、P1.6、P1.7
"b"代表"tab"数组的元素,元素就是下面的字形码
程序因为"while (1)"的作用下不断循环,每循环一次,"b"的值自动"+1",循环10次
后"b"的值自动归"0"
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)设置为强推挽模式输出
数码管驱 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)