打印

51单片机仿真

[复制链接]
1317|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chen3bing|  楼主 | 2007-5-15 17:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我编了一个51单片机程序,仿真出现错误.
#include<reg51.h>
sbit P1_0=P1^0;
sbit P1_1=P1^1;
void main()
{char i,j;
 j=0;
 TMOD=0x00;
 TH0=0x06;TL0=0x06;
 TR0=1;
 while(1)
 {
   do{}while(!TF0);
    j++;
    if(j==150)
    
     {P1_0=!P1_0;             //位置1
      j=0;
     }
   i++;
   if(i==100)
   {
    P1_1=!P1_1;
    i=0;
   }
 }
}
我在位置1处设断点,如果前面的语句是
       if(j==150)
则执行不到断点处.
如果前面的语句是
       if(j==120)
则可以执行到断点处.
我百思不得其解,请高手指教.

相关帖子

沙发
寒雨飞扬| | 2007-5-15 17:39 | 只看该作者

unsigned char

应该将J定义为unsigned char,

数据类型 长 度 值 域
unsigned char 单字节 0~255
signed char 单字节 -128~+127


char 类型的长度是一个字节,通常用于定义处理字符数据的变量或常量。分无符号字
符类型unsigned char 和有符号字符类型signed char,默认值为signed char 类型。
unsigned char 类型用字节中所有的位来表示数值,所可以表达的数值范围是0~255。
signed char 类型用字节中最高位字节表示数据的符号,“0”表示正数,“1”表示负数,
负数用补码表示。所能表示的数值范围是-128~+127。unsigned char 常用于处理ASCII
字符或用于处理小于或等于255 的整型数。

使用特权

评论回复
板凳
chen3bing|  楼主 | 2007-5-15 19:46 | 只看该作者

多谢

谢谢你的回复

使用特权

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

本版积分规则

438

主题

2520

帖子

2

粉丝