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

📄 yt_temep.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000000AE   0121               MOVS     R1,#+1
   \   000000B0   227B               LDRB     R2,[R4, #+12]
   \   000000B2   9140               LSLS     R1,R1,R2
   \   000000B4   0143               ORRS     R1,R1,R0
   \   000000B6   A068               LDR      R0,[R4, #+8]
   \   000000B8   C160               STR      R1,[R0, #+12]
     99             	delay(20);
   \   000000BA   1420               MOVS     R0,#+20
   \   000000BC   ........           BL       delay
    100             	Clr_bit((IO_Tem->IOC)->ODR,IO_Tem->IO_C);
   \   000000C0   A068               LDR      R0,[R4, #+8]
   \   000000C2   C068               LDR      R0,[R0, #+12]
   \   000000C4   0121               MOVS     R1,#+1
   \   000000C6   227B               LDRB     R2,[R4, #+12]
   \   000000C8   9140               LSLS     R1,R1,R2
   \   000000CA   8843               BICS     R0,R0,R1
   \   000000CC   A168               LDR      R1,[R4, #+8]
   \   000000CE   C860               STR      R0,[R1, #+12]
    101             	delay(20);
   \   000000D0   1420               MOVS     R0,#+20
   \   000000D2   ........           BL       delay
    102          	}
   \   000000D6   6D1C               ADDS     R5,R5,#+1
   \   000000D8   9AE7               B.N      ??Read_SHT_0
    103          		GPIO_InOut(IO_Tem->IOD,1<<IO_Tem->IO_D,1,GPIO_Mode_Out_PP);
   \                     ??Read_SHT_1:
   \   000000DA   1023               MOVS     R3,#+16
   \   000000DC   0122               MOVS     R2,#+1
   \   000000DE   0121               MOVS     R1,#+1
   \   000000E0   2079               LDRB     R0,[R4, #+4]
   \   000000E2   8140               LSLS     R1,R1,R0
   \   000000E4   89B2               UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
   \   000000E6   2068               LDR      R0,[R4, #+0]
   \   000000E8   ........           BL       GPIO_InOut
    104          	  delay(20);
   \   000000EC   1420               MOVS     R0,#+20
   \   000000EE   ........           BL       delay
    105          	  Set_bit((IO_Tem->IOD)->ODR,IO_Tem->IO_D);
   \   000000F2   2068               LDR      R0,[R4, #+0]
   \   000000F4   C068               LDR      R0,[R0, #+12]
   \   000000F6   0121               MOVS     R1,#+1
   \   000000F8   2279               LDRB     R2,[R4, #+4]
   \   000000FA   9140               LSLS     R1,R1,R2
   \   000000FC   0143               ORRS     R1,R1,R0
   \   000000FE   2068               LDR      R0,[R4, #+0]
   \   00000100   C160               STR      R1,[R0, #+12]
    106          	  delay(20);
   \   00000102   1420               MOVS     R0,#+20
   \   00000104   ........           BL       delay
    107          	  Set_bit((IO_Tem->IOC)->ODR,IO_Tem->IO_C);
   \   00000108   A068               LDR      R0,[R4, #+8]
   \   0000010A   C068               LDR      R0,[R0, #+12]
   \   0000010C   0121               MOVS     R1,#+1
   \   0000010E   227B               LDRB     R2,[R4, #+12]
   \   00000110   9140               LSLS     R1,R1,R2
   \   00000112   0143               ORRS     R1,R1,R0
   \   00000114   A068               LDR      R0,[R4, #+8]
   \   00000116   C160               STR      R1,[R0, #+12]
    108             	delay(20);
   \   00000118   1420               MOVS     R0,#+20
   \   0000011A   ........           BL       delay
    109             	Clr_bit((IO_Tem->IOC)->ODR,IO_Tem->IO_C);
   \   0000011E   A068               LDR      R0,[R4, #+8]
   \   00000120   C068               LDR      R0,[R0, #+12]
   \   00000122   0121               MOVS     R1,#+1
   \   00000124   227B               LDRB     R2,[R4, #+12]
   \   00000126   9140               LSLS     R1,R1,R2
   \   00000128   8843               BICS     R0,R0,R1
   \   0000012A   A168               LDR      R1,[R4, #+8]
   \   0000012C   C860               STR      R0,[R1, #+12]
    110             	x=0x80;                   //如是8位x=0x80,12位则x=0
   \   0000012E   8020               MOVS     R0,#+128
   \   00000130   0700               MOVS     R7,R0
    111             	if(xyz==0)x=crc8(3,x);  //Tempertion
   \   00000132   4046               MOV      R0,R8
   \   00000134   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
   \   00000136   0028               CMP      R0,#+0
   \   00000138   06D1               BNE.N    ??Read_SHT_5
   \   0000013A   3900               MOVS     R1,R7
   \   0000013C   C9B2               UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
   \   0000013E   0320               MOVS     R0,#+3
   \   00000140   ........           BL       crc8
   \   00000144   0700               MOVS     R7,R0
   \   00000146   05E0               B.N      ??Read_SHT_6
    112             	else			x=crc8(5,x);  //RH
   \                     ??Read_SHT_5:
   \   00000148   3900               MOVS     R1,R7
   \   0000014A   C9B2               UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
   \   0000014C   0520               MOVS     R0,#+5
   \   0000014E   ........           BL       crc8
   \   00000152   0700               MOVS     R7,R0
    113             	y=(Int8U)(x1_data>>16);
   \                     ??Read_SHT_6:
   \   00000154   300C               LSRS     R0,R6,#+16
   \   00000156   8DF80000           STRB     R0,[SP, #+0]
    114             	x=crc8(y,x);//第一字节,命令字节
   \   0000015A   3900               MOVS     R1,R7
   \   0000015C   C9B2               UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
   \   0000015E   9DF80000           LDRB     R0,[SP, #+0]
   \   00000162   ........           BL       crc8
   \   00000166   0700               MOVS     R7,R0
    115             	y=(Int8U)(x1_data>>8);//
   \   00000168   300A               LSRS     R0,R6,#+8
   \   0000016A   8DF80000           STRB     R0,[SP, #+0]
    116             	x=crc8(y,x);
   \   0000016E   3900               MOVS     R1,R7
   \   00000170   C9B2               UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
   \   00000172   9DF80000           LDRB     R0,[SP, #+0]
   \   00000176   ........           BL       crc8
   \   0000017A   0700               MOVS     R7,R0
    117             	x=swapcrc(x); 
   \   0000017C   3800               MOVS     R0,R7
   \   0000017E   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
   \   00000180   ........           BL       swapcrc
   \   00000184   0700               MOVS     R7,R0
    118             	y=(Int8U)(x1_data&0xff);	
   \   00000186   3000               MOVS     R0,R6
   \   00000188   8DF80000           STRB     R0,[SP, #+0]
    119             	if(x==y)
   \   0000018C   9DF80000           LDRB     R0,[SP, #+0]
   \   00000190   FFB2               UXTB     R7,R7            ;; ZeroExtS R7,R7,#+24,#+24
   \   00000192   8742               CMP      R7,R0
   \   00000194   13D1               BNE.N    ??Read_SHT_7
    120             	{
    121             		x1_data=x1_data>>8;
   \   00000196   360A               LSRS     R6,R6,#+8
    122             		if(xyz==0)IO_Tem->Temperature=account_Temp((Int16U)x1_data,0);
   \   00000198   4046               MOV      R0,R8
   \   0000019A   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
   \   0000019C   0028               CMP      R0,#+0
   \   0000019E   06D1               BNE.N    ??Read_SHT_8
   \   000001A0   0021               MOVS     R1,#+0
   \   000001A2   3000               MOVS     R0,R6
   \   000001A4   80B2               UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
   \   000001A6   ........           BL       account_Temp
   \   000001AA   6073               STRB     R0,[R4, #+13]
   \   000001AC   05E0               B.N      ??Read_SHT_9
    123          	  	else      IO_Tem->Humidity=account_RH((Int16U)x1_data,0);
   \                     ??Read_SHT_8:
   \   000001AE   0021               MOVS     R1,#+0
   \   000001B0   3000               MOVS     R0,R6
   \   000001B2   80B2               UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
   \   000001B4   ........           BL       account_RH
   \   000001B8   A073               STRB     R0,[R4, #+14]
    124          	  	return 0;
   \                     ??Read_SHT_9:
   \   000001BA   0020               MOVS     R0,#+0
   \   000001BC   00E0               B.N      ??Read_SHT_10
    125             	}else
    126             	 return  0XFF;
   \                     ??Read_SHT_7:
   \   000001BE   FF20               MOVS     R0,#+255
   \                     ??Read_SHT_10:
   \   000001C0   02B0               ADD      SP,SP,#+8
   \   000001C2   BDE8F081           POP      {R4-R8,PC}       ;; return
    127          }
    128          /////////////////////////////////
    129          //-----------------------------------------------
    130          // crc caculate
    131          //-----------------------------------------------

   \                                 In section .XML, align 4, keep-with-next
    132          Int8U crc8(Int8U byte,Int8U crc8)
    133          {
   \                     crc8:
   \   00000000   82B0               SUB      SP,SP,#+8
   \   00000002   0200               MOVS     R2,R0
   \   00000004   0800               MOVS     R0,R1
    134           Int8U i;
    135           volatile Int8U temp;
    136           crc8^=byte;
   \   00000006   5040               EORS     R0,R0,R2
    137           for(i=0;i<8;i++)
   \   00000008   0023               MOVS     R3,#+0
   \   0000000A   1900               MOVS     R1,R3
   \                     ??crc8_0:
   \   0000000C   C9B2               UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
   \   0000000E   0829               CMP      R1,#+8
   \   00000010   0BD2               BCS.N    ??crc8_1
    138           {
    139            temp=crc8;
   \   00000012   8DF80000           STRB     R0,[SP, #+0]
    140            crc8<<=1;
   \   00000016   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
   \   00000018   4000               LSLS     R0,R0,#+1
    141            if((temp&0x80)!=0)
   \   0000001A   9DF80030           LDRB     R3,[SP, #+0]
   \   0000001E   1B06               LSLS     R3,R3,#+24
   \   00000020   01D5               BPL.N    ??crc8_2
    142             crc8^=0x31;
   \   00000022   90F03100           EORS     R0,R0,#0x31
    143           }
   \                     ??crc8_2:
   \   00000026   491C               ADDS     R1,R1,#+1
   \   00000028   F0E7               B.N      ??crc8_0
    144           return crc8;
   \                     ??crc8_1:
   \   0000002A   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
   \   0000002C   02B0               ADD      SP,SP,#+8
   \   0000002E   7047               BX       LR               ;; return
    145          }
    146          //-----------------------------------------------
    147          // swap crc byte
    148          //-----------------------------------------------

   \                                 In section .XML, align 4, keep-with-next
    149          Int8U swapcrc(Int8U byte)
    150          {
   \                     swapcrc:
   \   00000000   01B5               PUSH     {R0,LR}
   \   00000002   0100               MOVS     R1,R0
    151           Int8U i;
    152           Int8U temp=0;
   \   00000004   0023               MOVS     R3,#+0
   \   00000006   1800               MOVS     R0,R3
    153           
    154           for (i=0x80;i>0;i/=2)
   \   00000008   8023               MOVS     R3,#+128
   \   0000000A   1A00               MOVS     R2,R3
   \                     ??swapcrc_0:
   \   0000000C   D2B2               UXTB     R2,R2            ;; ZeroExtS R2,R2,#+24,#+24
   \   0000000E   012A               CMP      R2,#+1
   \   00000010   0FD3               BCC.N    ??swapcrc_1
    155           {
    156            if((byte&i)!=0)
   \   00000012   1142               TST      R1,R2
   \   00000014   01D0               BEQ.N    ??swapcrc_2
    157             temp|=0x80;
   \   00000016   50F08000           ORRS     R0,R0,#0x80
    158            if(i==0x01)
   \                     ??swapcrc_2:
   \   0000001A   D2B2               UXTB     R2,R2            ;; ZeroExtS R2,R2,#+24,#+24
   \   0000001C   012A               CMP      R2,#+1
   \   0000001E   08D0               BEQ.N    ??swapcrc_1
    159             break;
    160            temp>>=1;
   \   00000020   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24

⌨️ 快捷键说明

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