以下程序是一個四位定時顯示程序
a【9】是顯示0-9是的代碼,c【3】是1-4位數(shù)碼管點(diǎn)亮代碼,b【0】-b【3】用來記錄各位的狀態(tài),b【4】用來掃描各個數(shù)碼管
我用的是 stc89c52 要求是從低位開是0123456789......向高位進(jìn)位是高位點(diǎn)亮,請教各位大俠下面這個程序有什么問題
#include<reg52.h> int a[9];
int c[3];
delay()//延時函數(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(); } }
|