為什么我控制不了數碼管的顯示,開和關只是位置的改變,而且點陣那邊也會亮,請各位前輩解釋一下
開前的
關后的
#include<reg52.h>
typedef unsigned u8;
typedef unsigned int u16;
sbit LSA=P2^2;
sbit k1=P3^1;
#define LSA P2
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(u16 i)
{
while(i--);
}
void keypros()
{
if(k1==0)
{
delay(1000);
if(k1==0)
{
LSA=~LSA;
}
while(!k1);
}
}
void main()
{ P0=smgduan[6];
while(1)
{
keypros();
}
}
|