打印

Protues仿真89C51求教

[复制链接]
2481|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
图:
程序:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code TAB1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(uint xms)
{
uint i,j;
for(i=0;i<xms;i++)
for(j=0;j<110;j++);
}
void main()//8只数码管滚动显示多个数字
{
uint i,j;
P2=0x00;
while(1)
{
for(i=0;i<8;i++)
{
P0=0XFF;
P0=TAB;
P2=TAB1;
delay(5);
}
}
}
问题:
如果我把程序中的红色部分P0=0XFF;去掉,仿真结果如下图:

为什么?
补充:如果我延迟函数值为:delay(500)的时候,P0=0XFF去和不去,都可以使仿真中的8个数码管滚动显示0-7.

相关帖子

沙发
w565466808|  楼主 | 2013-4-24 15:55 | 只看该作者
没人回答吗?

使用特权

评论回复
板凳
qx19921014| | 2013-4-24 21:36 | 只看该作者

使用特权

评论回复
地板
爱炫小王子| | 2013-4-24 22:03 | 只看该作者
你没用库函数,干嘛加#include<intrins.h>呢

使用特权

评论回复
5
zj28000| | 2013-4-25 14:10 | 只看该作者

使用特权

评论回复
6
yimankehao| | 2013-4-25 14:16 | 只看该作者
呵呵,数码管需要消影。你去掉就没消影的效果了。

使用特权

评论回复
7
w565466808|  楼主 | 2013-4-25 15:07 | 只看该作者
yimankehao 发表于 2013-4-25 14:16
呵呵,数码管需要消影。你去掉就没消影的效果了。

有点明白了:)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我为人人,人人为我!

8

主题

123

帖子

0

粉丝