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

📄 yt_temep.s

📁 完成数据的采集
💻 S
📖 第 1 页 / 共 4 页
字号:
///////////////////////////////////////////////////////////////////////////////
//                                                                            /
//                                                      06/Dec/2008  17:12:53 /
// IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION                   /
// Copyright 1999-2007 IAR Systems. All rights reserved.                      /
//                                                                            /
//    Cpu mode     =  thumb                                                   /
//    Endian       =  little                                                  /
//    Source file  =  E:\ELE\yten\pro\app\yt_TemEp.c                          /
//    Command line =  E:\ELE\yten\pro\app\yt_TemEp.c -D EMB_FLASH -lCN        /
//                    E:\ELE\yten\pro\Debug\List\ -lb                         /
//                    E:\ELE\yten\pro\Debug\List\ -o                          /
//                    E:\ELE\yten\pro\Debug\Obj\ --no_cse --no_unroll         /
//                    --no_inline --no_code_motion --no_tbaa --no_clustering  /
//                    --no_scheduling --debug --endian little --cpu           /
//                    Cortex-M3 -e --fpu None --dlib_config "C:\Program       /
//                    Files\IAR Systems\Embedded Workbench 5.0                /
//                    Evaluation\ARM\INC\DLib_Config_Normal.h" -I             /
//                    E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I  /
//                    "C:\Program Files\IAR Systems\Embedded Workbench 5.0    /
//                    Evaluation\ARM\INC\" --section .text=.XML -On           /
//    List file    =  E:\ELE\yten\pro\Debug\List\yt_TemEp.s                   /
//                                                                            /
//                                                                            /
///////////////////////////////////////////////////////////////////////////////

        NAME yt_TemEp

        EXTERN GPIO_Init
        EXTERN GPIO_ReadInputDataBit
        EXTERN TemRHA
        EXTERN _YT
        EXTERN delay
        EXTERN delay_nop

        PUBLIC FM_TAB
        PUBLIC GPIO_InOut
        PUBLIC InitYear
        PUBLIC RDBYT
        PUBLIC RDNBYT
        PUBLIC ReadFM24C04
        PUBLIC ReadYear
        PUBLIC Read_SHT
        PUBLIC SHTA_ack
        PUBLIC START_SHT
        PUBLIC Test_error
        PUBLIC WRBYT
        PUBLIC WRNBYT
        PUBLIC WriteFM24C04
        PUBLIC WriteYear
        PUBLIC Write_SHT
        PUBLIC account_RH
        PUBLIC account_Temp
        PUBLIC cack
        PUBLIC crc8
        PUBLIC mack
        PUBLIC mnack
        PUBLIC read_SHT_data
        PUBLIC sta
        PUBLIC stop
        PUBLIC swapcrc


        SECTION `.data`:DATA:NOROOT(2)
FM_TAB:
        DATA
        DC8 0, 0, 0, 0, 55, 3, 10, 10, 65, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0
        DC8 146, 0, 0

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
GPIO_InOut:
        PUSH     {R0,R4-R7,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R6,R2
        MOVS     R7,R3
        STRH     R5,[SP, #+0]
        STRB     R6,[SP, #+2]
        MOVS     R0,R7
        STRB     R0,[SP, #+3]
        MOV      R1,SP
        MOVS     R0,R4
        BL       GPIO_Init
        ADD      SP,SP,#+4
        POP      {R4-R7,PC}       ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
START_SHT:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R3,#+16
        MOVS     R2,#+1
        MOVS     R1,#+1
        LDRB     R0,[R4, #+4]
        LSLS     R1,R1,R0
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        LDR      R0,[R4, #+0]
        BL       GPIO_InOut
        MOVS     R3,#+16
        MOVS     R2,#+1
        MOVS     R1,#+1
        LDRB     R0,[R4, #+12]
        LSLS     R1,R1,R0
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        LDR      R0,[R4, #+8]
        BL       GPIO_InOut
        LDR      R0,[R4, #+0]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+4]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+0]
        STR      R1,[R0, #+12]
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+8]
        STR      R1,[R0, #+12]
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+0]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+4]
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        LDR      R1,[R4, #+0]
        STR      R0,[R1, #+12]
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        LDR      R1,[R4, #+8]
        STR      R0,[R1, #+12]
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+8]
        STR      R1,[R0, #+12]
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+0]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+4]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+0]
        STR      R1,[R0, #+12]
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        LDR      R1,[R4, #+8]
        STR      R0,[R1, #+12]
        MOVS     R0,#+20
        BL       delay
        POP      {R4,PC}          ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
SHTA_ack:
        PUSH     {R0,R4,R5,LR}
        MOVS     R4,R0
        MOVS     R0,#+0
        MOVS     R5,R0
        MOVS     R3,#+4
        MOVS     R2,#+0
        MOVS     R1,#+1
        LDRB     R0,[R4, #+4]
        LSLS     R1,R1,R0
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        LDR      R0,[R4, #+0]
        BL       GPIO_InOut
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+8]
        STR      R1,[R0, #+12]
        MOVS     R0,#+20
        BL       delay
        MOVS     R1,#+1
        LDRB     R0,[R4, #+4]
        LSLS     R1,R1,R0
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        LDR      R0,[R4, #+0]
        BL       GPIO_ReadInputDataBit
        MOVS     R5,R0
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        LDR      R1,[R4, #+8]
        STR      R0,[R1, #+12]
        MOVS     R3,#+16
        MOVS     R2,#+1
        MOVS     R1,#+1
        LDRB     R0,[R4, #+4]
        LSLS     R1,R1,R0
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        LDR      R0,[R4, #+0]
        BL       GPIO_InOut
        LDR      R0,[R4, #+0]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+4]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+0]
        STR      R1,[R0, #+12]
        MOVS     R0,R5
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        ADD      SP,SP,#+4
        POP      {R4,R5,PC}       ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
Write_SHT:
        PUSH     {R4-R8,LR}
        MOV      R8,R0
        MOVS     R4,R1
        MOV      R0,R8
        MOVS     R6,R0
        MOVS     R0,#+0
        MOVS     R7,R0
??Write_SHT_0:
        UXTB     R7,R7            ;; ZeroExtS R7,R7,#+24,#+24
        CMP      R7,#+3
        BCS.N    ??Write_SHT_1
        MOVS     R0,#+0
        MOVS     R5,R0
??Write_SHT_2:
        UXTB     R5,R5            ;; ZeroExtS R5,R5,#+24,#+24
        CMP      R5,#+8
        BCS.N    ??Write_SHT_3
        LSLS     R0,R6,#+24
        BPL.N    ??Write_SHT_4
        LDR      R0,[R4, #+0]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+4]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+0]
        STR      R1,[R0, #+12]
        B.N      ??Write_SHT_5
??Write_SHT_4:
        LDR      R0,[R4, #+0]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+4]
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        LDR      R1,[R4, #+0]
        STR      R0,[R1, #+12]
??Write_SHT_5:
        UXTB     R6,R6            ;; ZeroExtS R6,R6,#+24,#+24
        LSLS     R6,R6,#+1
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+8]
        STR      R1,[R0, #+12]
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        LDR      R1,[R4, #+8]
        STR      R0,[R1, #+12]
        MOVS     R0,#+20
        BL       delay
        ADDS     R5,R5,#+1
        B.N      ??Write_SHT_2
??Write_SHT_3:
        MOVS     R0,R4
        BL       SHTA_ack
        MOVS     R6,R0
        UXTB     R6,R6            ;; ZeroExtS R6,R6,#+24,#+24
        CMP      R6,#+0
        BNE.N    ??Write_SHT_6
        MOVS     R0,#+0
        B.N      ??Write_SHT_7
??Write_SHT_6:
        MOV      R0,R8
        MOVS     R6,R0
        MOVS     R0,R4
        BL       START_SHT
        ADDS     R7,R7,#+1
        B.N      ??Write_SHT_0
??Write_SHT_1:
        MOVS     R0,#+1
??Write_SHT_7:
        POP      {R4-R8,PC}       ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
Read_SHT:
        PUSH     {R0,R1,R4-R8,LR}
        MOV      R8,R1
        MOVS     R4,R0
        MOVS     R0,#+0
        MOVS     R6,R0
        MOVS     R0,#+0
        MOVS     R5,R0
??Read_SHT_0:
        UXTB     R5,R5            ;; ZeroExtS R5,R5,#+24,#+24
        CMP      R5,#+3
        BCS.N    ??Read_SHT_1
        MOVS     R3,#+4
        MOVS     R2,#+0
        MOVS     R1,#+1
        LDRB     R0,[R4, #+4]
        LSLS     R1,R1,R0
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        LDR      R0,[R4, #+0]
        BL       GPIO_InOut
        MOVS     R0,#+0
        MOVS     R7,R0
??Read_SHT_2:
        UXTB     R7,R7            ;; ZeroExtS R7,R7,#+24,#+24
        CMP      R7,#+8
        BCS.N    ??Read_SHT_3
        LSLS     R6,R6,#+1
        MOVS     R0,#+20
        BL       delay
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2
        ORRS     R1,R1,R0
        LDR      R0,[R4, #+8]
        STR      R1,[R0, #+12]
        MOVS     R0,#+20
        BL       delay
        MOVS     R1,#+1
        LDRB     R0,[R4, #+4]
        LSLS     R1,R1,R0
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        LDR      R0,[R4, #+0]
        BL       GPIO_ReadInputDataBit
        STRB     R0,[SP, #+0]
        LDRB     R0,[SP, #+0]
        CMP      R0,#+0
        BEQ.N    ??Read_SHT_4
        ORRS     R6,R6,#0x1
??Read_SHT_4:
        LDR      R0,[R4, #+8]
        LDR      R0,[R0, #+12]
        MOVS     R1,#+1
        LDRB     R2,[R4, #+12]
        LSLS     R1,R1,R2

⌨️ 快捷键说明

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