打印
[51单片机]

P0端口的仿真问题

[复制链接]
1140|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口的仿真并不是这样的?

使用特权

评论回复
5
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所指示的灯亮 ,不知道为什么?

使用特权

评论回复
6
dirtwillfly| | 2015-11-5 21:34 | 只看该作者
仿真工具和实物验证有差异是正常的。
从来没有仿真工具说能完全代替实物验证

使用特权

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

本版积分规则

4

主题

7

帖子

0

粉丝