以下程序是一個(gè)四位定時(shí)顯示程序
a【9】是顯示0-9是的代碼,c【3】是1-4位數(shù)碼管點(diǎn)亮代碼,b【0】-b【3】用來記錄各位的狀態(tài),b【4】用來掃描各個(gè)數(shù)碼管
我用的是 stc89c52 要求是從低位開是0123456789......向高位進(jìn)位是高位點(diǎn)亮,請教各位大俠下面這個(gè)程序有什么問題
#include<reg52.h>
int a[9];
int c[3];
delay()//延時(shí)函數(shù)
{
int i;
for(i=0;i<3340;i++)
;
}
int jishu(int i)//數(shù)據(jù)顯示表格
{
return a;
}
int dingwei(int i)//位置表格
{
return c;
}
main()
{
int b[4];
c[0]=0xfe;
c[1]=0xfd;
c[2]=0xfb;
c[3]=0xf7;
a[0]=0xff;
a[1]=0xf9;
a[2]=0xa4;
a[3]=0xb0;
a[4]=0x99;
a[5]=0x92;
a[6]=0x82;
a[7]=0xf8;
a[8]=0x80;
a[9]=0x90;
for(b[0]=0;b[0]<=9;b[0]++)//最高位
for(b[1]=0;b[1]<=9;b[1]++)//次高位
for(b[2]=0;b[2]<=9;b[2]++)//次低位
for(b[3]=0;b[3]<=9;b[3]++)//低位
for(b[4]=0;b[4]<=3;b[4]++)//定位計(jì)數(shù)函數(shù)
{
P3=dingwei(b[4]);
P0=jishu(b[b[4]]);
delay();
}
}
b[b[4]]
這里有問題
如果這么寫4以上的數(shù)字能顯示出來嗎
b[0],b[1],b[2],b[3]對應(yīng)的是0-3號(hào)數(shù)碼管顯示的數(shù)字,b[b[4]]是在選擇點(diǎn)亮的數(shù)碼管,在0-3里選擇。
程序的問題是b數(shù)組設(shè)成b【4】時(shí)PC亂飛,改成b【5】其他什么都不變,就能按預(yù)想執(zhí)行,困惑至今了
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |