📄 tinter.c
字号:
data++;
if(data>=60)
{
data=0;
pVar->Can_hour++;
if(pVar->Can_hour>=24) pVar->Can_hour=0;
}
}
portid=DS_SECOND;
asm estb value, [portid];
portid=DS_MINUTE;
asm estb data, [portid];
portid=DS_HOUR;
value=pVar->Can_hour;
asm estb value, [portid];
portid=DS_DATE;
value=pVar->Can_date;
asm estb value, [portid];
portid=DS_MONTH;
value=pVar->Can_month;
asm estb value, [portid];
portid=DS_YEAR;
value=pVar->Can_year;
asm estb value, [portid];
portid=DS_CENTURY;
value=pVar->Can_century;
asm estb value, [portid];
portid=DS_REGB;
value=0x1E;
asm estb value, [portid];
portid=DS_REGC;
asm eldb value, [portid];
portid=DS_REGD;
asm eldb value, [portid];
pVar->Can_clock_fg=0;
}
}
switch(XMFlag)
{
case 0x00:if(XM0FullFlag!=0)
{
XMFlag=1;
asm ld YS_addr, #lsw YXBUF1;
asm ld YS_addr+2, #msw YXBUF1;
XMCount=0;//处理任务到
// Task[XmScanTaskNo].WaitStatus |=0x08;
}else
{
portioa=PIO_A_CMD;
value=0;
asm stb value, [portioa];/* PIO_A_CMD=0 inpout */
portioa=PIO_B_CMD;
value=0xff;
asm stb value, [portioa];/* PIO_B_CMD=1 outpout */
portioa=PIO_A_DAT; /* 数据 */
portiob=PIO_B_DAT; /* 地址 */
switch(yxnum) //遥信板个数
{
case 0x01:/* 1 遥信板 */
value=YX_BOARD_1_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
YS_addr=YS_addr+15;
break;
case 0x02:/* 2 遥信板 */
value=YX_BOARD_1_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
YS_addr=YS_addr+12;
break;
case 0x03:/* 3 遥信板 */
value=YX_BOARD_1_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
YS_addr=YS_addr+9;
break;
case 0x04:/* 4 遥信板 */
value=YX_BOARD_1_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_4_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_4_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_4_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
YS_addr=YS_addr+6;
break;
case 0x05:/* 5 遥信板 */
value=YX_BOARD_1_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_4_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_4_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_4_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_5_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_5_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_5_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
YS_addr=YS_addr+3;
break;
case 0x06:/* 6 遥信板 */
value=YX_BOARD_1_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_1_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_2_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_3_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_4_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_4_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_4_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_5_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_5_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_5_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_6_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_6_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YX_BOARD_6_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
break;
default:/* 无 */
value=0;
YS_addr=YS_addr+18;
break;
}
switch(ymnum)
{
case 0x01:/* 1 遥脉板 */
value=YM_BOARD_1_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_1_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_1_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
YS_addr=YS_addr+9;
break;
case 0x02:/* 2 遥脉板 */
value=YM_BOARD_1_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_1_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_1_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_2_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_2_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_2_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
YS_addr=YS_addr+6;
break;
case 0x03:/* 3 遥脉板 */
value=YM_BOARD_1_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_1_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_1_KRH;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_2_KRL;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_2_KRM;
asm stb value, [portiob];
asm ldb value, [portioa];
asm estb value, [YS_addr]+;
value=YM_BOARD_2_KRH;
asm stb value, [portiob];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -