打印

新手上路,仿真器为什么看不到这个变量的变化呢?

[复制链接]
1497|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
doublers|  楼主 | 2008-4-3 11:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


在用仿真器调试程序时,每执行一条语句就可以看到之后相关变量的值的变化。如在本程序中当PC指针执行过
“P10=0;”后指到“P0=0xFA;”时,我就可以看到P10的值就变为0了。但是为什么在PC指针执行过“P0=0xFA;”后
指到“delay(60000);”时,却看不到P0变为FA呢?只有执行过“delay(60000);”语句后才能看到P0变为FA。*/
 
 
/******************************************************
程序功能:用数码管依次显示0-9
备注:P0口为数据输出来控制数码管8个阳极
      P10接数码管的阴极
      P0输出高电平P10输出低电平时数码管亮
      0-9对应为:FA,82,B9,AB,C3,6B,7B,A2,FB,EB
      
******************************************************/
#include <reg52.h>
sbit        P10=P1^0;
sbit        P11=P1^1;
sbit        P12=P1^2;
sbit        P13=P1^3;
sbit        P14=P1^4;
sbit        P15=P1^5;
sbit        P16=P1^6;
sbit        P17=P1^7;

/************延时************/
void delay(unsigned int i)
{
    while(i>1)
       i--;
}
/****************************/

void main(void)
{
   while(1)
    {
      P10=0;
      P0=0xFA;          //显示0
      delay(60000);
      P0=0x82;          //显示1
      delay(60000);
      P0=0xB9;          //显示2
      delay(60000);
      P0=0xAB;          //显示3
      delay(60000);
      P0=0xC3;          //显示4
      delay(60000);
      P0=0x6B;          //显示5
      delay(60000);
      P0=0x7B;          //显示6
      delay(60000);
      P0=0xA2;          //显示7
      delay(60000);
      P0=0xFB;          //显示8
      delay(60000);
      P0=0xEB;          //显示9
      delay(60000); 
    }
}

相关帖子

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

本版积分规则

13

主题

37

帖子

0

粉丝