单片机7seg-mpx4-ca如何显示不同的数字?

如题,不管如何做4个数码管都会显示同一个数字。最好给出0001~0060循环变化的C语言使用的是AT89C51单片机... 如题,不管如何做4个数码管都会显示同一个数字。

最好给出0001~0060循环变化的C语言
使用的是AT89C51单片机
展开
 我来答
liuzhou_huang
2014-10-21 · TA获得超过980个赞
知道小有建树答主
回答量:795
采纳率:93%
帮助的人:264万
展开全部
以下程序实现是0-59的显示,段码接是的P0,位选接P2
#include "reg51.h"
#define uchar unsigned char
uchar display_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar display_data[8]={0,0,0,0,0,0,0,0};
void delay(void)
{
uchar i;
for(i=250;i>0;i--);
}
void display()
{
uchar i,k;
k=0x80;
for(i=0;i<8;i++)
{
P2=0;
P0=display_code[display_data[i]];
P0=~P0;
P2=k;
k=k>>1;
delay();
}
P2=0;
}
void calc()
{
display_data[7]++;
if(display_data[7]>9)
{
display_data[7]=0;
display_data[6]++;
if(display_data[6]>5)
{
display_data[6]=0;
}
}
}
void main(void)
{
uchar i;
while(1)
{
for(i=0;i<250;i++)
{
display();
}
calc();
}
}
追问
能否提问下关于display_code[] display_data这两个的含义,难道是字形码和字形数据?
追答
display_data[i] 是计数的数组,保存0-59的数值,display_data[7]保存0-9,display_data[6]保存0-5。。display_code[]是数码管的显示0-9的段码数组。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式