本文主要是介绍8051单片机(STC89C52)八段数码管静态点亮,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在STC89C52的左上角, 有八个八段数码管. 在控制数码管点亮的过程中, 某一时刻只能根据P24 P23 P22三个引脚的高低电平情况(3-8译码器的三个输入)点亮一个数字. 这里(P24, P23, P22) = (0, 1, 1), 则从右数第四个数字亮. 再令P0 = 0x5b;//0101 1011, 则该位置显示数字"2". 补充说明一下P0给定数值与数码管引脚的对应情况: (0, 1, 0, 1, 1, 0, 1, 1) -> (h, g, f, e, d, c, b, a).
P24 | P23 | P22 | 右数第几个数码管亮 |
0 | 0 | 0 | 1 |
0 | 0 | 1 | 2 |
0 | 1 | 0 | 3 |
0 | 1 | 1 | 4 |
1 | 0 | 0 | 5 |
1 | 0 | 1 | 6 |
1 | 1 | 0 | 7 |
1 | 1 | 1 | 8 |
#include <STC89C5xRC.H>
void light_single()
{P24 = 0;P23 = 1;P22 = 1;//P22 P23 P24为译码器的输入, 决定8个数码管哪一个亮P0 = 0x5b;//从右数第四个数码管亮并显示数字"2"//数码管上的显示内容决定于P0引脚的赋值
}
int main()
{light_single(); return 0;
}
这篇关于8051单片机(STC89C52)八段数码管静态点亮的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!