关于一个数码管的问题,希望得到帮助

2019-07-16 00:55发布

这里我用 的是单片机的P2^4~P2^7,控制四位的数码管,有P1^0~P1^7控制段选;如代码我需要显示一个2013,有动态表示静态显示,数码管是共阳极的,我下载之后他显示的是四个相同的数字,还出现重影,求帮助,求指点
#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int
uchar code table[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit s0=P2^5;
sbit s1=P2^4;
sbit s2=P2^7;
sbit s3=P2^6;
delay(uchar del)
{
uint i,j;
for(i=0;i<del;i++)
for(j=0;j<148;j++);
}
  
void main()
{      
while(1)
{
P0=0xff;
s0=0;
P0=table[2];
delay(3);

P0=0xff;
s1=0;
P0=table[0];
delay(3);
P0=0xff;
s2=0;
P0=table[1];
delay(3);
P0=0xff;
s3=0;
P0=table[3];
delay(3);
}

}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
dongyumin
1楼-- · 2019-07-16 16:28
等你学到能独立写大工程了,就会发现真心不愿意看别人的代码,如果你要实现思路,大家肯定都会提供参考意见。你见到坛里哪个人贴代码出来找错误的贴有多少人去评么。加油,当初大家都是这么过来的。
LOVE单身
2楼-- · 2019-07-16 21:55
我要上自习 发表于 2013-5-3 22:02
我新注册的,其实刚才就在帮你照这个错误,没想到这边解决后,你已经搞定了。就是你的S0~S3位选标志位的设 ...

因为硬件限制,只能一位一位 的弄,原来做的都是有38译码器的,直接赋值就可以,现在变成原始的就一下没弄出来啊,我也是刚学不久的,学校有电子设计竞赛,就凑热闹来了,还是不好做啊 ,总之还是谢谢你啊
LOVE单身
3楼-- · 2019-07-17 00:14
dongyumin 发表于 2013-5-3 22:14
等你学到能独立写大工程了,就会发现真心不愿意看别人的代码,如果你要实现思路,大家肯定都会提供参 ...

这样啊,我懂了,努力
寂寒
4楼-- · 2019-07-17 03:36
 精彩回答 2  元偷偷看……
dongyumin
5楼-- · 2019-07-17 08:36
LOVE单身 发表于 2013-5-3 22:20
这样啊,我懂了,努力

加油咯~呵呵。期待看到你分享作品上来,不是问代码了,其实坛里很多大家的分享可以看看,对学习事半功倍的。

一周热门 更多>