nixietable(3,5);要约束在main函数内运行,否则程序跑飞。
#include <REGX52.H>
unsigned char nixie[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//数组内的每一个数据都用逗号隔开,(数组)数据依旧用中括号括起来
//为什么用的函数名和下面不一样?
void nixietable ( unsigned int LO,num)
{
switch(LO) //所有函数名的括号后都不用加符号
{
case 0: P2_4=0; P2_3=0; P2_2=0;break;
case 1: P2_4=0; P2_3=0; P2_2=1;break;
case 2: P2_4=0; P2_3=1; P2_2=0;break;
case 3: P2_4=0; P2_3=1; P2_2=1;break;
case 4: P2_4=1; P2_3=0; P2_2=1;break;
case 5: P2_4=1; P2_3=0; P2_2=1;break;
case 6: P2_4=1; P2_3=1; P2_2=0;break;
case 7: P2_4=1; P2_3=1; P2_2=1;break;
}
P0=nixie[num]; //switch是选数码第几个管来点量(用的P2) P0是提供想点亮的数
}
void main ()
{
while(1)
{
nixietable(3,5);
}
} |