stc89c52rc数码管显示1234
时间: 2023-07-03 14:28:00 浏览: 121
数码管显示1234
5星 · 资源好评率100%
好的,这里是一个简单的 C 语言代码,可以在 STC89C52RC 单片机上控制数码管显示 1234。
```
#include<reg52.h>
sbit dula = P2^6; // 数码管段选控制端
sbit wela = P2^7; // 数码管位选控制端
unsigned char code table[] = { // 数码管显示 0-9 的编码表
0x3f, 0x06, 0x5b, 0x4f, 0x66,
0x6d, 0x7d, 0x07, 0x7f, 0x6f
};
void delay(unsigned int i) { // 延时函数,用于控制数码管的显示速度
while(i--);
}
void main() {
unsigned int i = 0;
wela = 1; // 选中第一个数码管
dula = 1; // 选择显示数码管的第一段
P0 = table[1]; // 显示数字 1
delay(1000); // 延时
dula = 0; // 选择显示数码管的第二段
P0 = table[2]; // 显示数字 2
delay(1000); // 延时
wela = 0; // 选中第二个数码管
dula = 1; // 选择显示数码管的第一段
P0 = table[3]; // 显示数字 3
delay(1000); // 延时
dula = 0; // 选择显示数码管的第二段
P0 = table[4]; // 显示数字 4
delay(1000); // 延时
}
```
上述代码中,我们利用了 P0 口来控制数码管的显示,利用了 P2.6 和 P2.7 来控制数码管的段选和位选。在每次切换数码管时,我们需要先把之前的数码管的位选关闭,再打开新的数码管的位选。在显示每个数字时,我们需要先选择该数字对应的编码表中的数码管段码,再将其输出到 P0 口。为了让数码管的显示速度不要太快,我们在每次显示完一个数字后都加了一个延时函数。
阅读全文