如图所示,代码下载到51板子(AT89C52)后数码管只显示了左边一位。(我想显示学号后8位。)是哪里写错了呢?
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
sbit A=P2^2;
sbit B1=P2^3;
sbit C=P2^4;
sbit beep=P2^5;
unsigned char sno[]={0x3F,0x3F,0x4F,0x3F,0x3F,0x07,0x4F,0x3F};
void printsno(unsigned char location)
{
switch(location)
{
case 0:C=1;B1=1;A=1;break;
case 1:C=1;B1=1;A=0;break;
case 2:C=1;B1=0;A=1;break;
case 3:C=1;B1=0;A=0;break;
case 4:C=0;B1=1;A=1;break;
case 5:C=0;B1=1;A=0;break;
case 6:C=0;B1=0;A=1;break;
case 7:C=0;B1=0;A=0;break;
}
P0=sno[location];
Delay1ms();
}
void main()
{
unsigned char i;
beep=0;
for(i=0;i<8;i++)
{
printsno(i);
}
while(1)
{
}
}