代碼:
#include "reg51.h"
#define uchar unsigned char
uchar code table_numberP[] = {0xfe,0xfd,0xfa,0xf7,0xef,0xdf,0xaf,0x7f};
uchar code table[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay_ms(int);
void init_P();
void main()
{
int num;
for (num=2;num>=0;num--)
{
init_P();
P1 = table_numberP[num];
P0 = table[num];
delay_ms(5);
}
}
void init_P()
{
P1 = 0xff;
P0 = 0x00;
}
void delay_ms(int num)
{
int i,j;
for (i=num;i>0;i--)
for(j=110;j>0;j--);
}
問題:
當num=1時,顯示0,1正常
當num=2時,顯示為8,1,2
為什么會出現這個問題
備注:原理圖及接線圖
|