#include <reg51.H>
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char count=0;
unsigned char temp;
void delay1ms(void)
{
unsigned char k;
for(k=0;k<121;k++);
}
void main(void)
{
while(1)
temp=count;
P0=table[count%10];P2=0xfe;
delay1ms();
P0=table[count/10];P2=0xfd;
delay1ms();
P3=0xff;
if(P3==0xfb)
{
count++;
if(count==100);
{
count=0;
}
}
}
這段程序編譯沒有錯誤,只有2個警告
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?DELAY1MS?COUNT
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?CO?COUNT
不懂是什么意思,也不能調試運行
改成這樣就好了
#include <reg51.H>
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char count=0;
unsigned char temp;
void delay1ms(void)
{
unsigned char k;
for(k=0;k<121;k++);
}
void main(void)
{
while(1)
{
P0=table[count%10];P2=0xfe;
delay1ms();
P0=table[count/10];P2=0xfd;
delay1ms();
P3=0xff;
if(P3==0xfb)
{
count++;
if(count==100);
{
count=0;
}
}
}
}
參考資料:http://sjcxlab.5d6d.com
你這個程序 循環(huán) while(1)
后面必須要有個大括號 才能實現你要的目的
很感謝兩位老兄,程序可以調試了,也可以顯示。但還有個問題就是不能遞加,一直顯示兩個0
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |