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

📄 i2c_master.s43

📁 msp430板子红外驱动
💻 S43
📖 第 1 页 / 共 3 页
字号:
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 10, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, txByte
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, getIRVal
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, iicSend
        LOCFRAME CSTACK, 8, STACK
        FUNCALL sw2Options, iicSend
        LOCFRAME CSTACK, 10, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 10, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, txByte
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, getInputState
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, iicSend
        LOCFRAME CSTACK, 8, STACK
        FUNCALL sw2Options, iicSend
        LOCFRAME CSTACK, 10, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 10, STACK
        FUNCALL sw2Options, txStr
        LOCFRAME CSTACK, 6, STACK
        FUNCALL sw2Options, txByte
        LOCFRAME CSTACK, 6, STACK
        PUSH.W	R10
        CFI R10 Frame(CFA, -4)
        CFI CFA SP+4
        PUSH.W	R11
        CFI R11 Frame(CFA, -6)
        CFI CFA SP+6
        MOV.B	&0x1c, R12
        AND.B	#0xff, R12
        CALL	#?ShiftRight16u_4
        MOV.B	R12, R11
        MOV.B	R11, R14
        SUB.B	#0x0, R14
        JEQ	??sw2Options_4
        SUB.B	#0x1, R14
        JEQ	??sw2Options_5
        SUB.B	#0x1, R14
        JEQ	??sw2Options_6
        SUB.B	#0x1, R14
        JEQ	??sw2Options_7
        SUB.B	#0x1, R14
        JEQ	??sw2Options_8
        JMP	??sw2Options_9
??sw2Options_4:
        MOV.W	#`?<Constant "\\r\\nGet RTC Parameters">`, R12
        CALL	#txStr
        CALL	#getRTC
        PUSH.B	#0x0
        CFI CFA SP+8
        MOV.B	&TX_DATA, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        PUSH.B	#0x1
        CFI CFA SP+10
        MOV.B	#0x0, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        MOV.W	#`?<Constant "\\r\\nRTC Parameters:">`, R12
        CALL	#txStr
        MOV.B	#0x1, R10
        ADD.W	#0x4, SP
        CFI CFA SP+6
??sw2Options_0:
        CMP.B	&RX_DATA, R10
        JC	??sw2Options_9
        MOV.W	#`?<Constant " ">`, R12
        CALL	#txStr
        AND.W	#0xff, R10
        MOV.B	RX_DATA(R10), R12
        CALL	#txByte
        ADD.B	#0x1, R10
        JMP	??sw2Options_0
??sw2Options_5:
        MOV.W	#`?<Constant "\\r\\nSet RTC Parameters">`, R12
        CALL	#txStr
        CALL	#setRTC
        PUSH.B	#0x0
        CFI CFA SP+8
        MOV.B	&TX_DATA, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        MOV.W	#`?<Constant "...done.">`, R12
        CALL	#txStr
        ADD.W	#0x2, SP
        CFI CFA SP+6
        JMP	??sw2Options_9
??sw2Options_6:
        MOV.W	#`?<Constant "\\r\\nGet IR Data">`, R12
        CALL	#txStr
        CALL	#getIRData
        PUSH.B	#0x0
        CFI CFA SP+8
        MOV.B	&TX_DATA, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        PUSH.B	#0x1
        CFI CFA SP+10
        MOV.B	#0x0, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        MOV.W	#`?<Constant "\\r\\nIR Data:">`, R12
        CALL	#txStr
        MOV.B	#0x1, R10
        ADD.W	#0x4, SP
        CFI CFA SP+6
??sw2Options_1:
        CMP.B	&RX_DATA, R10
        JC	??sw2Options_9
        MOV.W	#`?<Constant " ">`, R12
        CALL	#txStr
        AND.W	#0xff, R10
        MOV.B	RX_DATA(R10), R12
        CALL	#txByte
        ADD.B	#0x1, R10
        JMP	??sw2Options_1
??sw2Options_7:
        MOV.W	#`?<Constant "\\r\\nGet Last IR Value">`, R12
        CALL	#txStr
        CALL	#getIRVal
        PUSH.B	#0x0
        CFI CFA SP+8
        MOV.B	&TX_DATA, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        PUSH.B	#0x1
        CFI CFA SP+10
        MOV.B	#0x0, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        MOV.W	#`?<Constant "\\r\\nIR Data:">`, R12
        CALL	#txStr
        MOV.B	#0x1, R10
        ADD.W	#0x4, SP
        CFI CFA SP+6
??sw2Options_2:
        CMP.B	&RX_DATA, R10
        JC	??sw2Options_9
        MOV.W	#`?<Constant " ">`, R12
        CALL	#txStr
        AND.W	#0xff, R10
        MOV.B	RX_DATA(R10), R12
        CALL	#txByte
        ADD.B	#0x1, R10
        JMP	??sw2Options_2
??sw2Options_8:
        MOV.W	#`?<Constant "\\r\\nGet Port Pin State">`, R12
        CALL	#txStr
        CALL	#getInputState
        PUSH.B	#0x0
        CFI CFA SP+8
        MOV.B	&TX_DATA, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        PUSH.B	#0x1
        CFI CFA SP+10
        MOV.B	#0x0, R14
        MOV.B	#0x23, R12
        CALL	#iicSend
        MOV.W	#`?<Constant "\\r\\nPort Pin:">`, R12
        CALL	#txStr
        MOV.B	#0x1, R10
        ADD.W	#0x4, SP
        CFI CFA SP+6
??sw2Options_3:
        CMP.B	&RX_DATA, R10
        JC	??sw2Options_9
        MOV.W	#`?<Constant " ">`, R12
        CALL	#txStr
        AND.W	#0xff, R10
        MOV.B	RX_DATA(R10), R12
        CALL	#txByte
        ADD.B	#0x1, R10
        JMP	??sw2Options_3
??sw2Options_9:
        POP.W	R11
        CFI R11 SameValue
        CFI CFA SP+4
        POP.W	R10
        CFI R10 SameValue
        CFI CFA SP+2
        RET
        CFI EndBlock cfiBlock13

        RSEG CODE:CODE:REORDER:NOROOT(1)
usart1_Rx_ISR:
        CFI Block cfiBlock14 Using cfiCommon1
        CFI Function usart1_Rx_ISR
        PUSH.W	R14
        CFI R14 Frame(CFA, -6)
        CFI CFA SP+6
??usart1_Rx_ISR_0:
        BIT.B	#0x20, &0x3
        JNC	??usart1_Rx_ISR_0
        MOV.B	&0x7e, R14
        ADD.B	#0x1, R14
        MOV.B	R14, &0x7f
        POP.W	R14
        CFI R14 SameValue
        CFI CFA SP+4
        RETI
        CFI EndBlock cfiBlock14

        RSEG CODE:CODE:REORDER:NOROOT(1)
txStr:
        CFI Block cfiBlock15 Using cfiCommon0
        CFI Function txStr
        MOV.W	#0x0, R15
??txStr_1:
        CMP.B	#0x0, 0(R12)
        JEQ	??txStr_2
??txStr_0:
        BIT.B	#0x20, &0x3
        JC	??txStr_3
        ADD.W	#0x1, R15
        CMP.W	#0x2710, R15
        JNE	??txStr_0
        RET
??txStr_3:
        MOV.B	@R12, &0x7f
        ADD.W	#0x1, R12
        JMP	??txStr_1
??txStr_2:
        RET
        CFI EndBlock cfiBlock15

        RSEG CODE:CODE:REORDER:NOROOT(1)
txByte:
        CFI Block cfiBlock16 Using cfiCommon0
        CFI Function txByte
        FUNCALL txByte, txStr
        LOCFRAME CSTACK, 6, STACK
        SUB.W	#0x4, SP
        CFI CFA SP+6
        MOV.B	R12, R14
        MOV.B	R14, R12
        AND.B	#0xff, R12
        CALL	#?ShiftRight16u_4
        MOV.B	R12, 0x0(SP)
        MOV.B	R14, R15
        AND.B	#0xf, R15
        MOV.B	R15, 0x1(SP)
        MOV.B	#0x0, 0x2(SP)
        MOV.B	#0x0, R13
??txByte_0:
        CMP.B	#0x2, R13
        JC	??txByte_1
        MOV.B	R13, R15
        AND.W	#0xff, R15
        ADD.W	SP, R15
        CMP.B	#0xa, 0x0(R15)
        JNC	??txByte_2
        MOV.B	R13, R15
        AND.W	#0xff, R15
        ADD.W	SP, R15
        ADD.B	#0x37, 0x0(R15)
        JMP	??txByte_3
??txByte_2:
        MOV.B	R13, R15
        AND.W	#0xff, R15
        ADD.W	SP, R15
        ADD.B	#0x30, 0x0(R15)
??txByte_3:
        ADD.B	#0x1, R13
        JMP	??txByte_0
??txByte_1:
        MOV.W	SP, R12
        CALL	#txStr
        ADD.W	#0x4, SP
        CFI CFA SP+2
        RET
        CFI EndBlock cfiBlock16

        RSEG CODE:CODE:REORDER:NOROOT(1)
txWord:
        CFI Block cfiBlock17 Using cfiCommon0
        CFI Function txWord
        FUNCALL txWord, txByte
        LOCFRAME CSTACK, 4, STACK
        FUNCALL txWord, txByte
        LOCFRAME CSTACK, 4, STACK
        PUSH.W	R10
        CFI R10 Frame(CFA, -4)
        CFI CFA SP+4
        MOV.W	R12, R10
        MOV.W	R10, R12
        SWPB	R12
        AND.W	#0xff, R12
        CALL	#txByte
        MOV.B	R10, R12
        CALL	#txByte
        POP.W	R10
        CFI R10 SameValue
        CFI CFA SP+2
        RET
        CFI EndBlock cfiBlock17

        RSEG CODE:CODE:REORDER:NOROOT(1)
getRTC:
        CFI Block cfiBlock18 Using cfiCommon0
        CFI Function getRTC
        MOV.B	#0x2, &TX_DATA
        MOV.B	#0x1, &TX_DATA + 1
        RET
        CFI EndBlock cfiBlock18

        RSEG CODE:CODE:REORDER:NOROOT(1)
setRTC:
        CFI Block cfiBlock19 Using cfiCommon0
        CFI Function setRTC
        MOV.B	#0x9, &TX_DATA
        MOV.B	#0x0, &TX_DATA + 1
        MOV.B	#0x5, &TX_DATA + 2
        MOV.B	#0x20, &TX_DATA + 3
        MOV.B	#0x6, &TX_DATA + 4
        MOV.B	#0x1, &TX_DATA + 5
        MOV.B	#0x12, &TX_DATA + 6
        MOV.B	#0x0, &TX_DATA + 7
        MOV.B	#0x0, &TX_DATA + 8
        RET
        CFI EndBlock cfiBlock19

        RSEG CODE:CODE:REORDER:NOROOT(1)
getIRData:
        CFI Block cfiBlock20 Using cfiCommon0
        CFI Function getIRData
        MOV.B	#0x2, &TX_DATA
        MOV.B	#0x2, &TX_DATA + 1
        RET
        CFI EndBlock cfiBlock20

        RSEG CODE:CODE:REORDER:NOROOT(1)
getIRVal:
        CFI Block cfiBlock21 Using cfiCommon0
        CFI Function getIRVal
        MOV.B	#0x2, &TX_DATA
        MOV.B	#0x3, &TX_DATA + 1
        RET
        CFI EndBlock cfiBlock21

        RSEG CODE:CODE:REORDER:NOROOT(1)
getInputState:
        CFI Block cfiBlock22 Using cfiCommon0
        CFI Function getInputState
        MOV.B	#0x2, &TX_DATA
        MOV.B	#0x4, &TX_DATA + 1
        RET
        CFI EndBlock cfiBlock22

        RSEG CODE:CODE:REORDER:NOROOT(1)
getEvent:
        CFI Block cfiBlock23 Using cfiCommon0
        CFI Function getEvent
        MOV.B	#0x2, &TX_DATA
        MOV.B	#0x5, &TX_DATA + 1
        RET
        CFI EndBlock cfiBlock23

        COMMON INTVEC:CONST:ROOT(1)
        ORG 2
`??INTVEC 2`:
        DC16	port2_ISR

        COMMON INTVEC:CONST:ROOT(1)
        ORG 6
`??INTVEC 6`:
        DC16	usart1_Rx_ISR

        COMMON INTVEC:CONST:ROOT(1)
        ORG 8
`??INTVEC 8`:
        DC16	port1_ISR

        COMMON INTVEC:CONST:ROOT(1)
        ORG 16
`??INTVEC 16`:
        DC16	I2C_IV

        COMMON INTVEC:CONST:ROOT(1)
        ORG 20
`??INTVEC 20`:
        DC16	wdt_ISR

        RSEG CODE:CODE:REORDER:NOROOT(1)
?setjmp_save_r4:
        REQUIRE ?setjmp_r4
        REQUIRE ?longjmp_r4

        RSEG CODE:CODE:REORDER:NOROOT(1)
?setjmp_save_r5:
        REQUIRE ?setjmp_r5
        REQUIRE ?longjmp_r5

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nPort Pin:">`:
        DC8 "\015\012Port Pin:"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nPin State:">`:
        DC8 "\015\012Pin State:"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nInt - Get Input Pin...">`:
        DC8 "\015\012Int - Get Input Pin State"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant " ">`:
        DC8 " "

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nInterrupt Event:">`:
        DC8 "\015\012Interrupt Event:"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\n\\nInt - Get Interrup...">`:
        DC8 "\015\012\012Int - Get Interrupt Event"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\033[2JI2C Master\\r\\n\\n">`:
        DC8 "\033[2JI2C Master\015\012\012"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nIR Data:">`:
        DC8 "\015\012IR Data:"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nGet Port Pin State">`:
        DC8 "\015\012Get Port Pin State"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nGet Last IR Value">`:
        DC8 "\015\012Get Last IR Value"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nGet IR Data">`:
        DC8 "\015\012Get IR Data"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "...done.">`:
        DC8 "...done."

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nSet RTC Parameters">`:
        DC8 "\015\012Set RTC Parameters"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nRTC Parameters:">`:
        DC8 "\015\012RTC Parameters:"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nGet RTC Parameters">`:
        DC8 "\015\012Get RTC Parameters"

        RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "\\r\\nInt - Get IR Data">`:
        DC8 "\015\012Int - Get IR Data"

        ASEGN DATA16_AN:DATA:NOROOT,076H
// union <unnamed> __data16 _A_U0RXBUF
_A_U0RXBUF:
        DS8 2

        END
// 
// 1 736 bytes in segment CODE
//    49 bytes in segment DATA16_AN
//   276 bytes in segment DATA16_C
//    71 bytes in segment DATA16_Z
//    10 bytes in segment INTVEC
// 
// 1 736 bytes of CODE  memory
//   276 bytes of CONST memory (+ 10 bytes shared)
//    71 bytes of DATA  memory (+ 49 bytes shared)
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

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