📄 led.asm
字号:
LAC *
BZ L7
.line 5
;>>>> ledVlu = ledVlu | 0x10; /* led5 = 1 */
LACK 16
LDPK _ledVlu
OR _ledVlu
SACL _ledVlu
.line 6
;>>>> LedOptOut();
;>>>> else
CALL _LedOptOut,AR1
B L8
L7:
.line 10
;>>>> ledVlu = ledVlu & 0xef; /* led5 = 0 */
LACK 239
LDPK _ledVlu
AND _ledVlu
SACL _ledVlu
.line 11
;>>>> LedOptOut();
CALL _LedOptOut,AR1
L8:
EPI0_7:
.line 13
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 116,000000000H,1
.sym _LedOutput5flash,_LedOutput5flash,32,2,0
.globl _LedOutput5flash
.func 117
;>>>> void LedOutput5flash()
******************************************************
* FUNCTION DEF : _LedOutput5flash
******************************************************
_LedOutput5flash:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> ledVlu = ledVlu ^ 0x10; /* led5 = !led5 */
LACK 16
LDPK _ledVlu
XOR _ledVlu
SACL _ledVlu
.line 4
;>>>> LedOptOut();
CALL _LedOptOut
EPI0_8:
.line 5
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 121,000000000H,1
.sym _OpticInput3,_OpticInput3,44,2,0
.globl _OpticInput3
.func 127
;>>>> uchar OpticInput3()
******************************************************
* FUNCTION DEF : _OpticInput3
******************************************************
_OpticInput3:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,2
LAR AR0,*0+,AR2
.sym _state,1,12,1,16
.line 3
;>>>> uchar state = 0;
LACK 0
LARK AR2,1
MAR *0+
SACL *
.line 5
;>>>> MCRA &= 0xcfff;
LACK 53247
LDPK _MCRA
AND _MCRA
SACL _MCRA
.line 6
;>>>> PBDATDIR &= 0xcfcf; // iopb4,iopb5 as io;optin_1,optin_2
LACK 53199
LDPK _PBDATDIR
AND _PBDATDIR
SACL _PBDATDIR
.line 8
;>>>> MCRB &= 0xfff7;
LACK 65527
LDPK _MCRB
AND _MCRB
SACL _MCRB
.line 9
;>>>> PCDATDIR &= 0xf7f7; //iopc3 as io;optin_3
LACK 63479
LDPK _PCDATDIR
AND _PCDATDIR
SACL _PCDATDIR
.line 11
;>>>> if(PBDATDIR&0x10)state |= 0x01; // the first '1'
LDPK _PBDATDIR
BIT _PBDATDIR,11
BBZ L9
LACK 1
OR *
SACL *
L9:
.line 12
;>>>> if(PBDATDIR&0x20)state |= 0x02; // the second '1'
BIT _PBDATDIR,10
BBZ L10
LACK 2
OR *
SACL *
L10:
.line 13
;>>>> if(PCDATDIR&0x80)state |= 0x04; // the third '1'
LDPK _PCDATDIR
BIT _PCDATDIR,8
BBZ L11
LACK 4
OR *
SACL *
L11:
.line 14
;>>>> return (state);
ZALS *
EPI0_9:
.line 15
MAR * ,AR1
SBRK 3
LAR AR0,*-
PSHD *
RET
.endfunc 141,000000000H,2
.sym _OptOutput1,_OptOutput1,32,2,0
.globl _OptOutput1
.func 145
;>>>> void OptOutput1(uchar data)
******************************************************
* FUNCTION DEF : _OptOutput1
******************************************************
_OptOutput1:
LF10 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR2
.sym _data,-3+LF10,12,9,16
.line 2
.line 3
;>>>> if(data)
LARK AR2,-3+LF10
MAR *0+
LAC *
BZ L12
.line 5
;>>>> ledVlu = ledVlu | 0x80; /* opt1 = 1 */
LACK 128
LDPK _ledVlu
OR _ledVlu
SACL _ledVlu
.line 6
;>>>> LedOptOut();
;>>>> else
CALL _LedOptOut,AR1
B L13
L12:
.line 10
;>>>> ledVlu = ledVlu & 0x7f; /* opt1 = 0 */
LACK 127
LDPK _ledVlu
AND _ledVlu
SACL _ledVlu
.line 11
;>>>> LedOptOut();
CALL _LedOptOut,AR1
L13:
EPI0_10:
.line 13
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 157,000000000H,1
.sym _OptOutput2,_OptOutput2,32,2,0
.globl _OptOutput2
.func 161
;>>>> void OptOutput2(uchar data)
******************************************************
* FUNCTION DEF : _OptOutput2
******************************************************
_OptOutput2:
LF11 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR2
.sym _data,-3+LF11,12,9,16
.line 2
.line 3
;>>>> if(data)
LARK AR2,-3+LF11
MAR *0+
LAC *
BZ L14
.line 5
;>>>> ledVlu = ledVlu | 0x40; /* opt2 = 1 */
LACK 64
LDPK _ledVlu
OR _ledVlu
SACL _ledVlu
.line 6
;>>>> LedOptOut();
;>>>> else
CALL _LedOptOut,AR1
B L15
L14:
.line 10
;>>>> ledVlu = ledVlu & 0xbf; /* opt2 = 0 */
LACK 191
LDPK _ledVlu
AND _ledVlu
SACL _ledVlu
.line 11
;>>>> LedOptOut();
CALL _LedOptOut,AR1
L15:
EPI0_11:
.line 13
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 173,000000000H,1
.sym _OptOutput3,_OptOutput3,32,2,0
.globl _OptOutput3
.func 177
;>>>> void OptOutput3(uchar data)
******************************************************
* FUNCTION DEF : _OptOutput3
******************************************************
_OptOutput3:
LF12 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR2
.sym _data,-3+LF12,12,9,16
.line 2
.line 3
;>>>> if(data)
LARK AR2,-3+LF12
MAR *0+
LAC *
BZ L16
.line 5
;>>>> ledVlu = ledVlu | 0x20; /* opt3 = 1 */
LACK 32
LDPK _ledVlu
OR _ledVlu
SACL _ledVlu
.line 6
;>>>> LedOptOut();
;>>>> else
CALL _LedOptOut,AR1
B L17
L16:
.line 10
;>>>> ledVlu = ledVlu & 0xdf; /* opt3 = 0 */
LACK 223
LDPK _ledVlu
AND _ledVlu
SACL _ledVlu
.line 11
;>>>> LedOptOut();
CALL _LedOptOut,AR1
L17:
EPI0_12:
.line 13
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 189,000000000H,1
.sym _ledDrive,_ledDrive,32,2,0
.globl _ledDrive
.func 193
;>>>> void ledDrive(void)
******************************************************
* FUNCTION DEF : _ledDrive
******************************************************
_ledDrive:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> feedWatchDog();
CALL _feedWatchDog
.line 4
;>>>> if(counterTime>=10) //程序运行灯,f=1Hz
LDPK _counterTime
ZALS _counterTime
SUBK 10
BLZ L18
.line 6
;>>>> counterTime = 0;
LACK 0
SACL _counterTime
.line 7
;>>>> LedOutput1();
CALL _LedOutput1
L18:
.line 9
;>>>> if(bFlashError) // flash 错误指示灯,500ms
LDPK _bFlashError
LAC _bFlashError
BZ L19
.line 11
;>>>> if(flashErrorCounter>=5) //500ms
LDPK _flashErrorCounter
ZALS _flashErrorCounter
SUBK 5
BLZ L19
.line 13
;>>>> flashErrorCounter = 0;
LACK 0
SACL _flashErrorCounter
.line 14
;>>>> LedOutput12(); // led2 = 0 ,led1 = 0
CALL _LedOutput12
L19:
.line 17
;>>>> if(bReadyReadTag == 1)
LDPK _bReadyReadTag
LAC _bReadyReadTag
SUBK 1
BNZ L21
.line 19
;>>>> LedOutput2(1); // led2 = 1
LACK 1
SACL *+
CALL _LedOutput2
MAR *-
.line 20
;>>>> if(readyReadCounter>=2) //亮200ms
LDPK _readyReadCounter
ZALS _readyReadCounter
SUBK 2
BLZ L21
.line 22
;>>>> bReadyReadTag = 0;
LACK 0
LDPK _bReadyReadTag
SACL _bReadyReadTag
.line 23
;>>>> readyReadCounter = 0;
LDPK _readyReadCounter
SACL _readyReadCounter
.line 24
;>>>> LedOutput2(0); // led2 = 0
SACL *+
CALL _LedOutput2
MAR *-
L21:
.line 27
;>>>> if(b_com_success) //串口通讯灯计数器
LDPK _b_com_success
LAC _b_com_success
BZ L23
.line 29
;>>>> LedOutput3(1); // led3 = 1
LACK 1
SACL *+
CALL _LedOutput3
MAR *-
.line 30
;>>>> if(b_com_counter>=2) //亮200ms
LDPK _b_com_counter
ZALS _b_com_counter
SUBK 2
BLZ L23
.line 32
;>>>> b_com_success = 0;
LACK 0
LDPK _b_com_success
SACL _b_com_success
.line 33
;>>>> b_com_counter = 0;
LDPK _b_com_counter
SACL _b_com_counter
.line 34
;>>>> LedOutput3(0); // led3 = 0
SACL *+
CALL _LedOutput3
MAR *-
L23:
.line 37
;>>>> if(bReadTag == 0x01) //read tag
LDPK _bReadTag
LAC _bReadTag
SUBK 1
BNZ L25
.line 39
;>>>> LedOutput4(1);
LACK 1
SACL *+
CALL _LedOutput4
MAR *-
.line 40
;>>>> if(readTagCounter>=2) //200ms
LDPK _readTagCounter
ZALS _readTagCounter
SUBK 2
BLZ L25
.line 42
;>>>> bReadTag = 0;
LACK 0
LDPK _bReadTag
SACL _bReadTag
.line 43
;>>>> readTagCounter = 0;
LDPK _readTagCounter
SACL _readTagCounter
.line 44
;>>>> LedOutput4(0);
SACL *+
CALL _LedOutput4
MAR *-
L25:
.line 47
;>>>> if(bPowerUp == 0x01) //read tag
LDPK _bPowerUp
LAC _bPowerUp
SUBK 1
BNZ L27
.line 49
;>>>> LedOutput5(1);
LACK 1
SACL *+
CALL _LedOutput5
MAR *-
.line 50
;>>>> if(PowerUpCounter>=10) //1s
LDPK _PowerUpCounter
ZALS _PowerUpCounter
SUBK 10
BLZ L27
.line 52
;>>>> bPowerUp = 0;
LACK 0
LDPK _bPowerUp
SACL _bPowerUp
.line 53
;>>>> PowerUpCounter = 0;
LDPK _PowerUpCounter
SACL _PowerUpCounter
.line 54
;>>>> LedOutput5(0);
SACL *+
CALL _LedOutput5
MAR *-
L27:
.line 57
;>>>> if(bAlarm == 0x01) //各种告警指示灯
LDPK _bAlarm
LAC _bAlarm
SUBK 1
BNZ L29
.line 59
;>>>> if(alarmCounter>=2) //200ms
LDPK _alarmCounter
ZALS _alarmCounter
SUBK 2
BLZ L29
.line 61
;>>>> alarmCounter = 0;
LACK 0
SACL _alarmCounter
.line 62
;>>>> LedOutput5flash();
CALL _LedOutput5flash
L29:
EPI0_13:
.line 65
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 257,000000000H,1
*****************************************************
* UNDEFINED REFERENCES *
*****************************************************
.global _feedWatchDog
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -