C51数组:把相同类型的一系列数据统一编制到某一组别中,可以通过数组名+索引号简单快捷的操作大量数据
C51子函数:子函数将完成某一功能的程序代码单独抽取出来形成一个模块,在其它函数中可随时调用此模块,以达到代码的复用和优化程序结构的目的
#include <REGX52.H>
void main()
{
P2_4=1;
P2_3=0;
P2_2=1;
P0=0x7D;
while(1)
{
}
}
该代码为第三个显示数字6
显示效果:
通过改变P2_2,P2_3,P2_4来改变所要亮的数码管
#include <REGX52.H>
void main()
{
P2_4=1;
P2_3=0;
P2_2=0;
P0=0x7D;
while(1)
{
}
}
效果如下
LED亮是因为引脚冲突导致
P2_4=1;P2_3=1;P2_2=1;第一个静态数码管
P2_=1;P2_3=1;P2_2=40;第二个静态数码管
P2_4=1;P2_3=0;P2_2=1;第三个静态数码管
P2_4=1;P2_3=0;P2_2=0;第四个静态数码管
P2_4=0;P2_3=1;P2_2=1;第五个静态数码管
P2_4=0;P2_3=1;P2_2=0;第六个静态数码管
P2_4=0;P2_3=0;P2_2=1;第七个静态数码管
P2_4=0;P2_3=0;P2_2=0;第八个静态数码管
使用switch语句进行编写,将第七个静态数码管显示数字6
#include <REGX52.H>
void Nixie(unsigned char Location,Number)
{
switch(Location)
{
case 1:P2_4=1;P2_3=1;P2_2=1;break;
case 2:P2_4=1;P2_3=1;P2_2=0;break;
case 3:P2_4=1;P2_3=0;P2_2=1;break;
case 4:P2_4=1;P2_3=0;P2_2=0;break;
case 5:P2_4=0;P2_3=1;P2_2=1;break;
case 6:P2_4=0;P2_3=1;P2_2=0;break;
case 7:P2_4=0;P2_3=0;P2_2=1;break;
case 8:P2_4=0;P2_3=0;P2_2=0;break;
}
P0=0x7D;
}
void main()
{
Nixie(7,2);
while(1)
{
}
}
结果如下