⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display.c

📁 一整套电梯控制器源程序
💻 C
字号:
#include "public.h"

void insel_lamp(void)
{
	if(m_cInSelAllOffFlg==1){
			m_cInSelLamp[0]=0x00;
			m_cInSelLamp[1]=0x00;
			m_cInSelLamp[2]=0x00;
			m_cInSelAllOffFlg=0;
	}
    //!!!24层以上的内选灯应该适用灯数组后3个字节
//    XBYTE[((P2&0x60)|0x94)*256]=m_cInSelLamp[0];
//    XBYTE[((P2&0x60)|0x95)*256]=m_cInSelLamp[1];
//    XBYTE[((P2&0x60)|0x96)*256]=m_cInSelLamp[2];
    XBYTE[((P2&0x60)|0x94)*256]=m_cInSelLamp[3];
    XBYTE[((P2&0x60)|0x95)*256]=m_cInSelLamp[4];
    XBYTE[((P2&0x60)|0x96)*256]=m_cInSelLamp[5];
    P2=(P2&0x60)|0x9f;
}

void advancedoutput(void)
{
	uchar cTemp=0;
    //超载灯
    if(m_cOverLoadLampFlg==1){
        P2_6=1;
    }else if(m_cOverLoadLampFlg==0){
        P2_6=0;
    }
    //到站钟
    if(m_cArriveRingFlg==1){
        P2_5=1;
    }else if(m_cArriveRingFlg==0){ //(实际上,不可能执行到)

    }
    if(/*(m_cArriveRingFlg==1)&&*/(time_arrive2s_flg==1)){  //到站钟保持时间到
        P2_5=0;
        m_cArriveRingFlg=0;
        time_arrive2s_flg=0;
        time_arrive2s_count=TIMER_2s;
    }

    //蜂鸣器(间隔2秒,响一次)
	 cTemp=P1_1;
    if(m_cBingFlg==1){
		  P1_1=1;
    }else if(m_cBingFlg==0){        //确保停止响铃

    }
     if(time_bing2s_flg==1){
         time_bing2s_flg=0;
         time_bing2s_count=TIMER_2s;
			m_cBingFlg=0;
			P1_1=0;
     }
}


void chkcan(void)                                     //can总线正在通讯状态和通讯错误状态显示灯赋值片断。
{
if((XBYTE[((P2&0xe0)|0x0F)*256+2]&0x80)==0x80)     //总线状态为关闭时
   {P3_1=0;
/*
    P2_7=0;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();

    P2_7=1;
*/
    can_init();
  }
if((XBYTE[((P2&0xe0)|0x0F)*256]&0x01)!=0x00)     //总线状态为复位时
   {P3_1=0;
/*
    P2_7=0;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();

    P2_7=1;
*/
    can_init();
  }
 if((XBYTE[((P2&0xe0)|0x0F)*256+2]&0x40)==0x40)    //错误寄存器为1时
   {P3_1=0;
/*
    P2_7=0;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();

    P2_7=1;
*/
    can_init();
  }
 else
  {P3_1=1;
  }

 if((XBYTE[((P2&0xe0)|0x0F)*256+2]&0x02)==0x02){    //数据溢出
    P3_1=0;
/*
    P2_7=0;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();

    P2_7=1;
*/
    can_init();
 }

 if(((XBYTE[((P2&0xe0)|0x0F)*256+2]&0x20)==0x20)||((XBYTE[((P2&0xe0)|0x0F)*256+2]&0x10)==0x10))//正在发送或正在接收时
   {P3_0=0;}
 else
   {P3_0=1;}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -