89C52单片机的共阴数码管怎么显示数字(c语言) 10

我想在任意一位能够显示任意一个数,能实现吗??要怎么写,我把这个程序作为一个调用程序,向大神求救!!!#include<reg52.h>#defineDataPortP0... 我想在任意一位能够显示任意一个数,能实现吗??要怎么写,我把这个程序作为一个调用程序,向大神求救!!!
#include<reg52.h>
#define DataPort P0
#define SegPort P2

unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char table[]={0,1,2,3,4,5,6,7,8,9};

unsigned char dofly_DuanMa[8]={0};

unsigned char dofly_WeiMa[]={0,1,2,3,4,5,6,7};

void Delay(unsigned int t);

void Code(unsigned char dofly_DuanMa[])
{
unsigned char i=0;
while(1)
{

SegPort=dofly_WeiMa[i];

DataPort=dofly_DuanMa[i];

Delay(200);
i++;
if(8==i)
i=0;
}
}
void Delay(unsigned int t)
{
while(--t);
}

而main程序关于这部分的程序是这样的
uint temp=0;
unsigned char dofly_DuanMa[8]={0};
unsigned char i=0,j=0;
temp=t;
for(i=0;i<8;i++)
{
for(j=0;j<10;j++)
{
if(table[j]==temp%10)
dofly_DuanMa[i]=tab[j];
}
temp=temp/10;
}
为什么烧到单片机里数码管没有任何反应???求大神救命!!!
展开
 我来答
lycdl
高粉答主

2015-05-19 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2万
采纳率:94%
帮助的人:4745万
展开全部
你这是全部的程序吗?怎么不见主程序main()的具体程序?你这程序就这么写的,怎么能编译通过呢?不编译,你又怎么把程序烧到单片机里的,那怎么可能有反应呢?
你确定void Code(unsigned char dofly_DuanMa[])

这个是子函数吗?在子函数中怎么可能有while(1)呢?
这都是什么呀?
追问
谢谢批评呐,我其实那时候不知道while(1)一般只能在主程序中使用,这段程序说白了就是有两段程序功能可以,所以我拿来想连在一起用,毕竟只学了一点C的皮毛,这一块是从来都没有触碰到的。
非常感谢,我其实只是想问问我的逻辑有没有错误,就是我打算把一个任意数据放入一个数组,通过for循环一位一位输入,然后通过for再一位一位输出,这样可以让共阴数码管显示这个数据吗?
追答
就是用数码管显示几位数吗,很简单的事,书上,网上都有很多很多的例子,根本用不着什么
“通过for循环一位一位输入,然后通过for再一位一位输出”,又是什么呀?

真的是对这些不了解,还是先学习一下有关单片机的基础吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式