[51单片机] P0端口的仿真问题

[复制链接]
1310|5
 楼主| jinpf1974 发表于 2015-11-5 10:38 | 显示全部楼层 |阅读模式
void main()
{               
//uchar i;
          P0=0xfe;          
        while(1)
                        {
                        //        for        (i=0;i<8;i++)
                        //        {
           
                  P0=P0<<1;
                         
                         P0=P0|0x01;
                         
                              yanshi();
                        
                }
        }
        void yanshi()
        {
            uint i;
                for        (i=0;i<35000;i++) ;
       
        }
下载到板子的效果和P0端口仿真的不一样? 不知道为什么?如果用P1口结果就一致了,为什么呢/
ayb_ice 发表于 2015-11-5 10:41 来自手机 | 显示全部楼层
P0需要外接上拉电阻
changmiao 发表于 2015-11-5 11:33 | 显示全部楼层
同楼上,P0口没有输出高电平的能力,所以需要外接上拉电阻。
 楼主| jinpf1974 发表于 2015-11-5 11:41 | 显示全部楼层
为什么用KEIL 进行P0口仿真的结果和我程序也是不一致,软件设计的是LED等依次点亮,看P0口的仿真并不是这样的?
 楼主| jinpf1974 发表于 2015-11-5 16:56 | 显示全部楼层
#include"reg52.h"
#define uint unsigned int;       
#define uchar unsigned char;       
uint i;       
uchar j;       
void yanshi();
void main()
{               
while(1)
{                                                  
        P0=0xfe;
        yashi();
for(j=0;j<8;j++)          
{                 P0=P0<<1;
                P0=P0|0x01;
                yanshi();
                 }
                }
        }                                                  
        void yanshi()
                {

                for        (i=0;i<35000;i++);
               
                        }
我写了这个程序 但是仿真总是不进入FOR循环  结果只是P0=0xfe所指示的灯亮 ,不知道为什么?
dirtwillfly 发表于 2015-11-5 21:34 | 显示全部楼层
仿真工具和实物验证有差异是正常的。
从来没有仿真工具说能完全代替实物验证
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

7

帖子

0

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