51单片机6位数码管位选
时间: 2023-11-27 14:55:02 浏览: 267
51单片机控制6位数码管的位选需要使用到外部的锁存器或者译码器。其中,锁存器可以使用74HC573或者74HC574等芯片实现,译码器可以使用74HC138或者74HC238等芯片实现。
具体实现步骤如下:
1. 将6位数码管的7个引脚(A、B、C、D、E、F、G)分别接到51单片机的7个IO口上;
2. 将6个位选引脚(COM1、COM2、COM3、COM4、COM5、COM6)连接到锁存器或者译码器的输入端;
3. 将锁存器或者译码器的输出端连接到51单片机的6个IO口上;
4. 在程序中通过IO口控制对应的位选引脚,从而实现数码管的位选操作。
示例代码如下:
```
#include <reg52.h>
//定义位选控制IO口
sbit COM1=P1^0;
sbit COM2=P1^1;
sbit COM3=P1^2;
sbit COM4=P1^3;
sbit COM5=P1^4;
sbit COM6=P1^5;
//定义数码管控制IO口
sbit A=P2^0;
sbit B=P2^1;
sbit C=P2^2;
sbit D=P2^3;
sbit E=P2^4;
sbit F=P2^5;
sbit G=P2^6;
//定义数码管显示数组
unsigned char code numTable[10]={
0x3F,0x06,0x5B,0x4F,0x66,
0x6D,0x7D,0x07,0x7F,0x6F
};
//数码管位选控制函数
void selectCom(unsigned char com){
switch(com){
case 0: COM1=0; COM2=1; COM3=1; COM4=1; COM5=1; COM6=1; break;
case 1: COM1=1; COM2=0; COM3=1; COM4=1; COM5=1; COM6=1; break;
case 2: COM1=1; COM2=1; COM3=0; COM4=1; COM5=1; COM6=1; break;
case 3: COM1=1; COM2=1; COM3=1; COM4=0; COM5=1; COM6=1; break;
case 4: COM1=1; COM2=1; COM3=1; COM4=1; COM5=0; COM6=1; break;
case 5: COM1=1; COM2=1; COM3=1; COM4=1; COM5=1; COM6=0; break;
default: break;
}
}
//主函数
void main(){
unsigned int i=0;
while(1){
for(i=0;i<1000;i++){ //延时
selectCom(0); P2=numTable[i%10]; //显示个位数
selectCom(1); P2=numTable[i/10]; //显示十位数
selectCom(2); P2=0x40; //显示小数点
selectCom(3); P2=numTable[i/100%10]; //显示百位数
selectCom(4); P2=numTable[i/1000%10]; //显示千位数
selectCom(5); P2=numTable[i/10000%10]; //显示万位数
}
}
}
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)