发布网友
共5个回答
热心网友
dula = table[i];错误;上面的sbit dula =P0;是有问题的,sbit是特殊位定义,P0是特殊功能寄存器,你的数码管段码引脚是在P0上吧,把sbit dula =P0去掉,下面的dula = table[i];改成P0=table[i];再把dula=0;改成P0=0
热心网友
正常的程序,应该是个循环结构。
楼主的程序,没有循环,执行了 void main(),接着就执行 void delay(uint z),然后把 uchar code table[]= ~0x3F,~0x06,~……~0x71}; 都当程序执行!
出现什么结果,都是可能的。
前面几位的答案,只有做而论道回答的对,其它人,净是瞎忽悠。
热心网友
照理说是有显示 只是只显示了一次.请确认P0口接了数码管了没? dula接了位选没? 然后把for(i=0;i<10;i++)改成for(;;) 在单片机中 我们常常需要一个大的死循环 已达到重复运行程序,重复探测某端口等目的.
热心网友
dula = table[i];错误;上面的sbit dula =P0;是有问题的,把sbit dula =P0去掉,下面的dula = table[i];改成P0=table[i];再把dula=0;改成P0=0.应该就对啦,哈哈哈
热心网友
dula = table[i];错误;上面的sbit dula =P0;是有问题的,sbit是特殊位定义,P0是特殊功能寄存器,你的数码管段码引脚是在P0上吧,把sbit dula =P0去掉,下面的dula = table[i];改成P0=table[i];再把dula=0;改成P0=0;试试看,祝成功~
没可能,程序没错了,只是你那个Table定义的好别扭。。不显示是你P0口没接上拉电阻吧,要接上10K的上拉,因为P0是OC门,没有驱动能力的。试试看