跪求~四位数码管计数显示程序~~急用~~!!!

来源:百度知道 编辑:UC知道 时间:2024/05/28 11:07:01
我用的是80c51芯片,P1端口驱动数码管,就是想给测转速的传感器记速度值,有四位就够了,从0000r/min到9999r/min就行了,谢谢各位大侠!

我这里有个上学时候的51程序,选了几行有用的你回去改一下。

int i[10]={0x3f,0x06,0x05b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/*数码字模*/
void display(int k)
{int b,d[4]={0,0,0,0}; 四个位拆开 暂存缓冲
d[3]=k%10;
d[2]=k/10%10;
d[1]=k/100%10;
d[0]=k/1000; 提取四个位的数
for(b=0;b<4;b++) 疯狂扫描
{P1=0xff;
P2=~i[d[b]];
P1=~(1<<b);
delaya(); 这个延时可能要改,它决定显示的对比度
P1=0xff; 关显示
}
}

void delaya(void) 延时函数,没啥说的。
{int i,j;
for(i=0;i<20;i++)
{for(j=0;j<10;j++);
}
}

int main(void) 主程序,你往里面加点你自己的东西就行了。
{
display(k);
}

这个就是从0000-9999的。