采用51单片机与4位共阴极LED,显示“1234”数字,画出电路图,阐述工作过程,并编写驱动程序
时间: 2024-01-13 08:03:36 浏览: 32
以下是采用51单片机和4位共阴极LED的数字显示电路图:
![image](https://cdn.luogu.com.cn/upload/image_hosting/ed3p3t5j.png)
工作过程如下:
1. P1口作为输出口,控制4个共阴极LED的显示;
2. K1-K4分别控制第1-4位LED的选通,当某一位为低电平时,该位对应的LED被选通;
3. 数字“1”、“2”、“3”、“4”在4位LED中的对应位置上,需要根据具体的接线情况进行调整。
以下是驱动程序的代码:
```c
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};
void delay(uint i){
while(i--);
}
void main(){
uchar i=0;
while(1){
P1=0x00;
P0=table[i%10];
K1=0,K2=1,K3=1,K4=1;
delay(1000);
P1=0x00;
P0=table[i/10];
K1=1,K2=0,K3=1,K4=1;
delay(1000);
P1=0x00;
P0=table[i%10];
K1=1,K2=1,K3=0,K4=1;
delay(1000);
P1=0x00;
P0=table[i/10];
K1=1,K2=1,K3=1,K4=0;
delay(1000);
i++;
}
}
```
注解:
1. `table`数组中存放数字0-9在4位LED中的编码;
2. `delay`函数用于延时,可根据需要自行调整;
3. `main`函数中,通过循环不断显示数字1、2、3、4,每个数字持续1秒钟,然后循环显示下一个数字。其中,通过控制K1-K4的值,实现4位LED的选通,通过P0口输出对应的数字编码,实现数字的显示。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.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)