找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 575|回复: 2
打印 上一主题 下一主题
收起左侧

MCU程序没有报错,但是仿真时p1.0口和p1.1口没有反应,不能使继电器开闭.哪位大佬能...

[复制链接]
跳转到指定楼层
楼主
单片机源程序如下:
sbit key1=P3^5;
sbit relay1=P1^0;
sbit relay2=P1^1;
sbit key2=P3^6;
sbit key3=P3^7;
sbit beep=P3^2;

void timer0_init()        
{
        TMOD|=0x02;
                TH0=TL0=156;
            ET0=1;
                 TR0=1;
                EA=1;
}
void delay_ms(uint ms)      
{  
          uchar a,b,c;
    while(ms--)
                {

    for(c=1;c>0;c--)
        for(b=142;b>0;b--)
            for(a=2;a>0;a--);
    }
}

void main()
{         

         timer0_init();
     InitLcd1602(); //初始化LCD1602
         wendu=(int)readtemp();        
         wendu1=(int)readtemp1();        
         delay_ms(500);
         wendu=(int)readtemp();
         wendu1=(int)readtemp1();        
         while(1)
         {
                //TR0=0;
                wendu=(int)readtemp();        
                wendu1=(int)readtemp1();
           //TR0=1;
                if(wendu>-55 && wendu<125)
                {
                        
                   sprintf(dis,"Wendu=%03dC  P=%d",wendu,dangwei);
                         LcdShowStr(0, 0, dis);  

                        
                        sprintf(dis,"Set=%02dC  T=%03dC",set_L,wendu1);
                        LcdShowStr(0, 1, dis);  

                        if(wendu<set_L)
                        {
                           if((set_L-wendu)>10) {dangwei=3;}
                                 if((set_L-wendu)<=10 &&(set_L-wendu)>5 ) {dangwei=2;}
                                 if((set_L-wendu)<=5) {dangwei=1;}
                        }
       else
                         {
                            dangwei=0;
                           
                         }                                 
               
               
                }

                  if(dangwei==3)  {relay1==1 && relay2==1;}
                  if(dangwei==2)  {relay1==1 && relay2==0;}
          if(dangwei==1)  {relay1==0 && relay2==1;}
                  if(dangwei==0)  {relay1==0 && relay2==0;}

KO%RIC(1%`JOXEAQY({NM6N.png (24.13 KB, 下载次数: 26)

KO%RIC(1%`JOXEAQY({NM6N.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:161164 发表于 2022-3-12 21:27 | 只看该作者
if(dangwei==3)  {relay1=1 && relay2=1;}if(dangwei==2)  {relay1=1 && relay2=0;}
if(dangwei==1)  {relay1=0 && relay2=1;}
if(dangwei==0)  {relay1=0 && relay2=0;}

回复

使用道具 举报

板凳
ID:776619 发表于 2022-3-13 10:37 | 只看该作者
}

                  if(dangwei==3)  {relay1==1 && relay2==1;}
                  if(dangwei==2)  {relay1==1 && relay2==0;}
          if(dangwei==1)  {relay1==0 && relay2==1;}
                  if(dangwei==0)  {relay1==0 && relay2==0;}

最后四句写在大循环外了。甚至是Main外了,不会执行的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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