📄 display.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 + -