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

📄 yt_temep.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00000058   0122               MOVS     R2,#+1
   \   0000005A   0121               MOVS     R1,#+1
   \   0000005C   2079               LDRB     R0,[R4, #+4]
   \   0000005E   8140               LSLS     R1,R1,R0
   \   00000060   89B2               UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
   \   00000062   2068               LDR      R0,[R4, #+0]
   \   00000064   ........           BL       GPIO_InOut
     50          	Set_bit((IO_Tem->IOD)->ODR,IO_Tem->IO_D);
   \   00000068   2068               LDR      R0,[R4, #+0]
   \   0000006A   C068               LDR      R0,[R0, #+12]
   \   0000006C   0121               MOVS     R1,#+1
   \   0000006E   2279               LDRB     R2,[R4, #+4]
   \   00000070   9140               LSLS     R1,R1,R2
   \   00000072   0143               ORRS     R1,R1,R0
   \   00000074   2068               LDR      R0,[R4, #+0]
   \   00000076   C160               STR      R1,[R0, #+12]
     51            return z;
   \   00000078   2800               MOVS     R0,R5
   \   0000007A   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
   \   0000007C   01B0               ADD      SP,SP,#+4
   \   0000007E   30BD               POP      {R4,R5,PC}       ;; return
     52          }
     53          ////////////////////////////////

   \                                 In section .XML, align 4, keep-with-next
     54          Int8U Write_SHT(const Int8U	data,Tem *IO_Tem)
     55          {
   \                     Write_SHT:
   \   00000000   2DE9F041           PUSH     {R4-R8,LR}
   \   00000004   8046               MOV      R8,R0
   \   00000006   0C00               MOVS     R4,R1
     56          	Int8U x,y,x1;
     57          	y=data;
   \   00000008   4046               MOV      R0,R8
   \   0000000A   0600               MOVS     R6,R0
     58          	for(x1=0;x1<3;x1++)
   \   0000000C   0020               MOVS     R0,#+0
   \   0000000E   0700               MOVS     R7,R0
   \                     ??Write_SHT_0:
   \   00000010   FFB2               UXTB     R7,R7            ;; ZeroExtS R7,R7,#+24,#+24
   \   00000012   032F               CMP      R7,#+3
   \   00000014   41D2               BCS.N    ??Write_SHT_1
     59          	{
     60          	 	for(x=0;x<8;x++)
   \   00000016   0020               MOVS     R0,#+0
   \   00000018   0500               MOVS     R5,R0
   \                     ??Write_SHT_2:
   \   0000001A   EDB2               UXTB     R5,R5            ;; ZeroExtS R5,R5,#+24,#+24
   \   0000001C   082D               CMP      R5,#+8
   \   0000001E   2CD2               BCS.N    ??Write_SHT_3
     61          	 	{
     62          			if(y&0x80)Set_bit((IO_Tem->IOD)->ODR,IO_Tem->IO_D);
   \   00000020   3006               LSLS     R0,R6,#+24
   \   00000022   08D5               BPL.N    ??Write_SHT_4
   \   00000024   2068               LDR      R0,[R4, #+0]
   \   00000026   C068               LDR      R0,[R0, #+12]
   \   00000028   0121               MOVS     R1,#+1
   \   0000002A   2279               LDRB     R2,[R4, #+4]
   \   0000002C   9140               LSLS     R1,R1,R2
   \   0000002E   0143               ORRS     R1,R1,R0
   \   00000030   2068               LDR      R0,[R4, #+0]
   \   00000032   C160               STR      R1,[R0, #+12]
   \   00000034   07E0               B.N      ??Write_SHT_5
     63          			else      Clr_bit((IO_Tem->IOD)->ODR,IO_Tem->IO_D);
   \                     ??Write_SHT_4:
   \   00000036   2068               LDR      R0,[R4, #+0]
   \   00000038   C068               LDR      R0,[R0, #+12]
   \   0000003A   0121               MOVS     R1,#+1
   \   0000003C   2279               LDRB     R2,[R4, #+4]
   \   0000003E   9140               LSLS     R1,R1,R2
   \   00000040   8843               BICS     R0,R0,R1
   \   00000042   2168               LDR      R1,[R4, #+0]
   \   00000044   C860               STR      R0,[R1, #+12]
     64          			y<<=1;
   \                     ??Write_SHT_5:
   \   00000046   F6B2               UXTB     R6,R6            ;; ZeroExtS R6,R6,#+24,#+24
   \   00000048   7600               LSLS     R6,R6,#+1
     65          			Set_bit((IO_Tem->IOC)->ODR,IO_Tem->IO_C);
   \   0000004A   A068               LDR      R0,[R4, #+8]
   \   0000004C   C068               LDR      R0,[R0, #+12]
   \   0000004E   0121               MOVS     R1,#+1
   \   00000050   227B               LDRB     R2,[R4, #+12]
   \   00000052   9140               LSLS     R1,R1,R2
   \   00000054   0143               ORRS     R1,R1,R0
   \   00000056   A068               LDR      R0,[R4, #+8]
   \   00000058   C160               STR      R1,[R0, #+12]
     66          			delay(20);
   \   0000005A   1420               MOVS     R0,#+20
   \   0000005C   ........           BL       delay
     67          			Clr_bit((IO_Tem->IOC)->ODR,IO_Tem->IO_C);
   \   00000060   A068               LDR      R0,[R4, #+8]
   \   00000062   C068               LDR      R0,[R0, #+12]
   \   00000064   0121               MOVS     R1,#+1
   \   00000066   227B               LDRB     R2,[R4, #+12]
   \   00000068   9140               LSLS     R1,R1,R2
   \   0000006A   8843               BICS     R0,R0,R1
   \   0000006C   A168               LDR      R1,[R4, #+8]
   \   0000006E   C860               STR      R0,[R1, #+12]
     68          			delay(20);
   \   00000070   1420               MOVS     R0,#+20
   \   00000072   ........           BL       delay
     69          	 	}
   \   00000076   6D1C               ADDS     R5,R5,#+1
   \   00000078   CFE7               B.N      ??Write_SHT_2
     70          	  	y=SHTA_ack(IO_Tem);
   \                     ??Write_SHT_3:
   \   0000007A   2000               MOVS     R0,R4
   \   0000007C   ........           BL       SHTA_ack
   \   00000080   0600               MOVS     R6,R0
     71          	  	if(y==0)return 0;
   \   00000082   F6B2               UXTB     R6,R6            ;; ZeroExtS R6,R6,#+24,#+24
   \   00000084   002E               CMP      R6,#+0
   \   00000086   01D1               BNE.N    ??Write_SHT_6
   \   00000088   0020               MOVS     R0,#+0
   \   0000008A   07E0               B.N      ??Write_SHT_7
     72          	  	y=data;
   \                     ??Write_SHT_6:
   \   0000008C   4046               MOV      R0,R8
   \   0000008E   0600               MOVS     R6,R0
     73          	  	START_SHT(IO_Tem);
   \   00000090   2000               MOVS     R0,R4
   \   00000092   ........           BL       START_SHT
     74          	 }
   \   00000096   7F1C               ADDS     R7,R7,#+1
   \   00000098   BAE7               B.N      ??Write_SHT_0
     75          	 return 1;	
   \                     ??Write_SHT_1:
   \   0000009A   0120               MOVS     R0,#+1
   \                     ??Write_SHT_7:
   \   0000009C   BDE8F081           POP      {R4-R8,PC}       ;; return
     76          }

   \                                 In section .XML, align 4, keep-with-next
     77          Int8U	Read_SHT(Tem *IO_Tem,Int8U xyz)//xyz=0 is temperature,xyz=1 is humidity
     78          {
   \                     Read_SHT:
   \   00000000   2DE9F341           PUSH     {R0,R1,R4-R8,LR}
   \   00000004   8846               MOV      R8,R1
   \   00000006   0400               MOVS     R4,R0
     79          	Int8U x,x1,y;
     80          	Int32U x1_data=0;
   \   00000008   0020               MOVS     R0,#+0
   \   0000000A   0600               MOVS     R6,R0
     81          	
     82          	for(x1=0;x1<3;x1++)
   \   0000000C   0020               MOVS     R0,#+0
   \   0000000E   0500               MOVS     R5,R0
   \                     ??Read_SHT_0:
   \   00000010   EDB2               UXTB     R5,R5            ;; ZeroExtS R5,R5,#+24,#+24
   \   00000012   032D               CMP      R5,#+3
   \   00000014   61D2               BCS.N    ??Read_SHT_1
     83          	{
     84             	GPIO_InOut(IO_Tem->IOD,1<<IO_Tem->IO_D,0,GPIO_Mode_IN_FLOATING);
   \   00000016   0423               MOVS     R3,#+4
   \   00000018   0022               MOVS     R2,#+0
   \   0000001A   0121               MOVS     R1,#+1
   \   0000001C   2079               LDRB     R0,[R4, #+4]
   \   0000001E   8140               LSLS     R1,R1,R0
   \   00000020   89B2               UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
   \   00000022   2068               LDR      R0,[R4, #+0]
   \   00000024   ........           BL       GPIO_InOut
     85             	for(x=0;x<8;x++)
   \   00000028   0020               MOVS     R0,#+0
   \   0000002A   0700               MOVS     R7,R0
   \                     ??Read_SHT_2:
   \   0000002C   FFB2               UXTB     R7,R7            ;; ZeroExtS R7,R7,#+24,#+24
   \   0000002E   082F               CMP      R7,#+8
   \   00000030   27D2               BCS.N    ??Read_SHT_3
     86             	{
     87             		x1_data<<=1;
   \   00000032   7600               LSLS     R6,R6,#+1
     88             		delay(20);
   \   00000034   1420               MOVS     R0,#+20
   \   00000036   ........           BL       delay
     89             		Set_bit((IO_Tem->IOC)->ODR,IO_Tem->IO_C);
   \   0000003A   A068               LDR      R0,[R4, #+8]
   \   0000003C   C068               LDR      R0,[R0, #+12]
   \   0000003E   0121               MOVS     R1,#+1
   \   00000040   227B               LDRB     R2,[R4, #+12]
   \   00000042   9140               LSLS     R1,R1,R2
   \   00000044   0143               ORRS     R1,R1,R0
   \   00000046   A068               LDR      R0,[R4, #+8]
   \   00000048   C160               STR      R1,[R0, #+12]
     90             		delay(20);
   \   0000004A   1420               MOVS     R0,#+20
   \   0000004C   ........           BL       delay
     91             		y=GPIO_ReadInputDataBit(IO_Tem->IOD,1<<IO_Tem->IO_D);
   \   00000050   0121               MOVS     R1,#+1
   \   00000052   2079               LDRB     R0,[R4, #+4]
   \   00000054   8140               LSLS     R1,R1,R0
   \   00000056   89B2               UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
   \   00000058   2068               LDR      R0,[R4, #+0]
   \   0000005A   ........           BL       GPIO_ReadInputDataBit
   \   0000005E   8DF80000           STRB     R0,[SP, #+0]
     92             		if(y!=0)x1_data|=1;
   \   00000062   9DF80000           LDRB     R0,[SP, #+0]
   \   00000066   0028               CMP      R0,#+0
   \   00000068   01D0               BEQ.N    ??Read_SHT_4
   \   0000006A   56F00106           ORRS     R6,R6,#0x1
     93             		Clr_bit((IO_Tem->IOC)->ODR,IO_Tem->IO_C);
   \                     ??Read_SHT_4:
   \   0000006E   A068               LDR      R0,[R4, #+8]
   \   00000070   C068               LDR      R0,[R0, #+12]
   \   00000072   0121               MOVS     R1,#+1
   \   00000074   227B               LDRB     R2,[R4, #+12]
   \   00000076   9140               LSLS     R1,R1,R2
   \   00000078   8843               BICS     R0,R0,R1
   \   0000007A   A168               LDR      R1,[R4, #+8]
   \   0000007C   C860               STR      R0,[R1, #+12]
     94             	}
   \   0000007E   7F1C               ADDS     R7,R7,#+1
   \   00000080   D4E7               B.N      ??Read_SHT_2
     95             	GPIO_InOut(IO_Tem->IOD,1<<IO_Tem->IO_D,1,GPIO_Mode_Out_PP);
   \                     ??Read_SHT_3:
   \   00000082   1023               MOVS     R3,#+16
   \   00000084   0122               MOVS     R2,#+1
   \   00000086   0121               MOVS     R1,#+1
   \   00000088   2079               LDRB     R0,[R4, #+4]
   \   0000008A   8140               LSLS     R1,R1,R0
   \   0000008C   89B2               UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
   \   0000008E   2068               LDR      R0,[R4, #+0]
   \   00000090   ........           BL       GPIO_InOut
     96             	Clr_bit((IO_Tem->IOD)->ODR,IO_Tem->IO_D);
   \   00000094   2068               LDR      R0,[R4, #+0]
   \   00000096   C068               LDR      R0,[R0, #+12]
   \   00000098   0121               MOVS     R1,#+1
   \   0000009A   2279               LDRB     R2,[R4, #+4]
   \   0000009C   9140               LSLS     R1,R1,R2
   \   0000009E   8843               BICS     R0,R0,R1
   \   000000A0   2168               LDR      R1,[R4, #+0]
   \   000000A2   C860               STR      R0,[R1, #+12]
     97             	delay(20);
   \   000000A4   1420               MOVS     R0,#+20
   \   000000A6   ........           BL       delay
     98             	Set_bit((IO_Tem->IOC)->ODR,IO_Tem->IO_C);
   \   000000AA   A068               LDR      R0,[R4, #+8]
   \   000000AC   C068               LDR      R0,[R0, #+12]

⌨️ 快捷键说明

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