一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 3124|回复: 7
收起左侧

[其他综合] Keil_uvision_4问题请教

[复制链接]
发表于 2011-8-25 11:59 | 显示全部楼层 |阅读模式
编了个简单的左移程序用 Keil_uvision_4调试时发现P1口的话是正常的,如果程序中换成P0口却只能左移一次,不知是为什么?
#include<reg51.h>
#define uint unsigned int
void ys1s();
main()
{
     uint i;
     i=8;
     P1=0x01;
  while(1)
  {
   ys1s();
  P1=P1<<1;
  i--;
        if(0==i)
   {
      i=8;
      P1=0x01;
  }
   }
}
void ys1s()
{
  uint j,k;
  for(j=1000;j>0;j--)
   for(k=110;k>0;k--);
}
发表于 2011-8-25 12:49 | 显示全部楼层
怎么会呢?
发表于 2011-8-25 13:47 | 显示全部楼层
"调试时发现P1正常,P0只能左移一次."

如何调试的,如何发现的.
发表于 2011-8-25 14:33 | 显示全部楼层
改掉了几个P1?
 楼主| 发表于 2011-8-25 20:23 | 显示全部楼层
刚开始就是用的P0,怎么调都不行。想想觉得逻辑上没问题才改用P1口。就是KEIL的DEBUG调的,看P0口的状态。刚学C很多问题都搞不懂,也不能很清楚的描述。谢谢大家!
发表于 2011-8-25 20:35 | 显示全部楼层
本帖最后由 chjj0 于 2011-8-25 20:37 编辑

回复 5# WOSS1001


   看到这句话,if(0==i),老手才会这样写的啊。
我也同意1990的说法,再查查
 楼主| 发表于 2011-8-25 20:53 | 显示全部楼层
回复 6# chjj0 我确实是菜鸟,因为教程上说这样写如果不小心少写一个=编译就会报错。应该不是这个问题,因为我开是用的是P0,不正常后才换的P1
发表于 2011-8-25 21:01 | 显示全部楼层
回复 7# WOSS1001


   哦,当然不是那里问题喇。   你如果确认已经把所有的P0都换成P1的话,
   你可以用调试,
   跟着程序一步一步走,看哪里有问题。

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-4-29 02:16 , Processed in 0.048934 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表