- 本次数码管控制仿真实验中,使用了共阳极的数码管7SEG-MPX1-CA,数码管组件一共有十个引脚,其中八个阴极引脚代表每个数的七个led灯和小数点选择,即0有效1无效;有一个阳极引脚,即1有效0无效(共阴极的话也一样,只是阳极和阴极的个数和含义互换)。
- 本次实验使用P0^0连接一个botton组件控制数码管是否加一显示数字,P0^7也连接一个button组件控制数码管复位显示;同时通过P3^0控制数码管的阳极,i控制显示数字是否大于9,各个值初始定义如下:
P3=0X01; //控制阳极 P0=0X00; //控制按键选择 P2=digit[0]; //数码管初始显示为0 Int i; I=0;
- 创建数组保存每个数字显示需要分配的16进制数,具体代码如下:
int digit[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
-
通过变量i控制数码管显示的数字是否大于9,是则回到0显示,具体代码如下:
if(i>9){ i=0; P2=digit[i]; delay(200); }
- 实现第一个按键
51单片机数码管控制,类似抢答器
![](https://img-home.csdnimg.cn/images/20240711042549.png)