以下程序是一个四位定时显示程序
a【9】是显示0-9是的代码,c【3】是1-4位数码管点亮代码,b【0】-b【3】用来记录各位的状态,b【4】用来扫描各个数码管
我用的是 stc89c52 要求是从低位开是0123456789......向高位进位是高位点亮,请教各位大侠下面这个程序有什么问题
#include<reg52.h> int a[9];
int c[3];
delay()//延时函数 { int i; for(i=0;i<3340;i++) ; } int jishu(int i)//数据显示表格 {
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]++)//定位计数函数 { P3=dingwei(b[4]); P0=jishu(b[b[4]]); delay(); } }
|