用proteus做单片机的仿真实验时,数码管怎么一部分亮一部分不亮?

 我来答
水知余心
2019-01-24 · TA获得超过106个赞
知道答主
回答量:28
采纳率:100%
帮助的人:6万
展开全部

遇到相同的问题,我是这样解决的:

1、在位选和段选打开之前先赋值

2、添加延时

以下是我的程序(显示数字19930309),仅供参考,先截图修改的部分,贴上来的代码排版不行,不知道为啥:

#include <reg52.h>
#define uint  unsigned int
#define uchar unsigned char
sbit we = P2^7;
sbit du = P2^6;
void delay(uint z)
{
uint x,y;
for(x = z; x > 0; x--)
for(y = 120; y > 0; y--);
}

uchar code leddata[]={

0x3F,  //"0"
0x06,  //"1"
0x5B,  //"2"
0x4F,  //"3"
0x66,  //"4"
0x6D,  //"5"
0x7D,  //"6"
0x07,  //"7"
0x7F,  //"8"
0x6F,  //"9"
0x77,  //"A"
0x7C,  //"B"
0x39,  //"C"
0x5E,  //"D"
0x79,  //"E"
0x71,  //"F"
0x76,  //"H"
0x38,  //"L"
0x37,  //"n"
0x3E,  //"u"
0x73,  //"P"
0x5C,  //"o"
0x40,  //"-"
0x00,  //熄灭
0x00  //自定义
};


void main()
{

P0 = 0xfe;//先赋值
we = 1;//再打开位选
we = 0;

P0 = leddata[1];//先赋值
du = 1;//再打开段选
du = 0;
delay(1);//设置一个较短的延时,我的是设置接近1ms

P0 = 0xfd;
we = 1;
we = 0;

P0 = leddata[9];
du = 1;
du = 0;
delay(1);

P0 = 0xfb;
we = 1;
we = 0;

P0 = leddata[9];
du = 1;
du = 0;
delay(1);

P0 = 0xf7;
we = 1;
we = 0;

P0 = leddata[3];
du = 1;
du = 0;
delay(1);

P0 = 0xef;
we = 1;
we = 0;

P0 = leddata[0];
du = 1;
du = 0;
delay(1);

P0 = 0xdf;
we = 1;
we = 0;

P0 = leddata[3];
du = 1;
du = 0;
delay(1);

P0 = 0xbf;
we = 1;
we = 0;

P0 = leddata[0];
du = 1;
du = 0;
delay(1);

P0 = 0x7f;
we = 1;
we = 0;

P0 = leddata[9];
du = 1;
du = 0;
delay(1);
}

下面是效果图:

47okey
2011-07-11 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5900
采纳率:75%
帮助的人:2386万
展开全部
动态扫描吧,延时不对或没消隐。 还有就是不知有没三极管驱动,proteus有三极管的很不好弄。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lq349218775
2011-07-11 · TA获得超过109个赞
知道答主
回答量:109
采纳率:0%
帮助的人:59.7万
展开全部
仔细检查。这个没办法问。怎么再仔细。可能是硬件连错了。也有可能程序有误。都有可能。程序有问题的可能性很大。
更多追问追答
追问
硬件不会吧,直接在电脑上仿真的。有些实验的时候二极管也不亮。
追答
为什么不会呢?我说的硬件是指你在PROTUES中不小心导致连线有误。这是有可能的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aolaice
2011-07-11
知道答主
回答量:26
采纳率:0%
帮助的人:14.4万
展开全部
我建议先查下程序是不是有出错!有需要可以把程序发上来我看下!!
更多追问追答
追问
怎么发给你?这里面太长了,发布了。
追答
你编译的时候能生成(.HEX)文件么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式