以下是我的程序
#include<reg52.h>
#define DatePort P0
sbit DuanMa=P2^2;
sbit WeiMa=P2^3;
unsigned char code Date_Duan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char code Date_Wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char TempDate[8];
void Delay(unsigned int t);
void Display(unsigned char FirstBit,unsigned char Num);
main()
{
unsigned int j,i,k,s;
while(1)
{
j++;
if(j==20)
{
j=0;
if(k==0)
{
for(s=0;s<8;s++)
TempDate[s]=0;
}
TempDate[8-i]=Date_Duan[k];
TempDate[9-i]=0;
if(i==8-k)//变数
{
i=0;
k++;
if(k==8)
k=0;
}
i++;
}
Display(0,8);
}
}
void Delay(unsigned int t)
{
while(--t);
}
//数码管冬动态扫描
void Display(unsigned char FirstBit,unsigned char Num)
{
unsigned char i;
for(i=0;i<Num;i++)
{
DatePort=0;
DuanMa=1;
DuanMa=0;
DatePort=Date_Wei[i+FirstBit];
WeiMa=1;
WeiMa=0;
DatePort=TempDate[i];
DuanMa=1;
DuanMa=0;
Delay(200);
}
}
很想知道 为什么数码管莫有反应啊!!!!!! 求高手!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
加下注释
一周热门 更多>