我在做51数码管动态显示的实验,出了问题,怎么也没找出来<br />硬件连接如下,8个数码管的位选接P2口,段选接P0口,<br />现要让8个数码管显示12345678,程序如下,看看那里出了问题<br />#include<reg52.h><br />#define uchar unsigned char <br />uchar aa,numd,numw;<br />uchar code table[]={<br />0xc0,0xf9,0xa4,0xb0,<br />0x99,0x92,0x82,0xf8,<br />0x80,0x90,0x88,0x83,<br />0xc6,0xa1,0x86,0x8e};<br />uchar code tablew[]={<br />0xfe,0xfd,0xfb,0xf7,<br />0xef,0xdf,0xbf,0x7f};<br />void mian()<br />{ <br /> numw=0;<br /> numd=0;<br /> aa=0;<br /> TMOD=0x01;<br /> TH0=(65536-50000)/256;<br /> TL0=(65536-50000)%256;<br /> EA=1;<br /> ET0=1;<br /> TR0=1;<br /> while(1)<br /> {<br /> if(aa==20)<br /> {<br /> aa=0;<br /> numd++;<br /> if(numd==9)<br /> numd=1;<br /> P0=table[numd];<br /> numw++;<br /> if(numw==8)<br /> numw=0;<br /> P2=tablew[numw]; <br /> }<br /> }<br />}<br />void timer0() interrupt 1<br />{<br /> TH0=(65536-50000)/256;<br /> TL0=(65536-50000)%256;<br /> aa++;<br />} |