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);
}
} |