Protues仿真89C51求教

[复制链接]
2883|6
 楼主| w565466808 发表于 2013-4-23 15:03 | 显示全部楼层 |阅读模式
图:
程序:
#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>呢
zj28000 发表于 2013-4-25 14:10 | 显示全部楼层
yimankehao 发表于 2013-4-25 14:16 | 显示全部楼层
呵呵,数码管需要消影。你去掉就没消影的效果了。
 楼主| w565466808 发表于 2013-4-25 15:07 | 显示全部楼层
yimankehao 发表于 2013-4-25 14:16
呵呵,数码管需要消影。你去掉就没消影的效果了。

有点明白了:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

8

主题

123

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部