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

📄 yt_key.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 5 页
字号:
###############################################################################
#                                                                             #
#                                                       06/Dec/2008  17:12:54 #
# 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_key.c                             #
#    Command line =  E:\ELE\yten\pro\app\yt_key.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_key.lst                    #
#    Object file  =  E:\ELE\yten\pro\Debug\Obj\yt_key.o                       #
#                                                                             #
#                                                                             #
###############################################################################

E:\ELE\yten\pro\app\yt_key.c
      1          #include"includes.h"
      2          #include"ytep.h"
      3          #include"ytepfunction.h"
      4          #define  yt_Key_file
      5          #define		C_keyID1			4
      6          #define		C_keyID2			2
      7          #define		C_keyID3			1
      8          #define		C_keyID4			8
      9          #define		C_keyID5			0x10
     10          #define		C_keyID6			0x11

   \                                 In section .rodata, align 4
     11          const	Int16U	Year_TAB[]={0,0x31,0x28,0x31,0x30,0x31,0x30,0x31,0x31,0x30,0x31,0x30,0x31};
   \                     Year_TAB:
   \   00000000   000031002800       DC16 0, 49, 40, 49, 48, 49, 48, 49, 49, 48, 49, 48, 49
   \              310030003100
   \              300031003100
   \              300031003000
   \              3100        
   \   0000001A   0000               DC8 0, 0

   \                                 In section .rodata, align 4
     12          const			Int16U	BAUD_TAB1[]={19500-50,9600,4800-50};
   \                     BAUD_TAB1:
   \   00000000   FA4B80258E12       DC16 19450, 9600, 4750
   \   00000006   0000               DC8 0, 0
     13          //--------------------------------------
     14          //keyword  scan
     15          //--------------------------------------

   \                                 In section .XML, align 4, keep-with-next
     16          void		Set_UART()
     17          {
   \                     Set_UART:
   \   00000000   00B5               PUSH     {LR}
   \   00000002   87B0               SUB      SP,SP,#+28
     18          	
     19          	USART_InitTypeDef  UART_InitStructure;
     20            UART_InitStructure.USART_BaudRate = BAUD_TAB1[_YT._Rate&7];//[_YT._Rate]; 
   \   00000004   1548               LDR.N    R0,??Set_UART_0  ;; _YT + 2
   \   00000006   0088               LDRH     R0,[R0, #+0]
   \   00000008   4007               LSLS     R0,R0,#+29       ;; ZeroExtS R0,R0,#+29,#+29
   \   0000000A   400F               LSRS     R0,R0,#+29
   \   0000000C   0221               MOVS     R1,#+2
   \   0000000E   4843               MULS     R0,R1,R0
   \   00000010   1349               LDR.N    R1,??Set_UART_0+0x4  ;; BAUD_TAB1
   \   00000012   085A               LDRH     R0,[R1, R0]
   \   00000014   0090               STR      R0,[SP, #+0]
     21            UART_InitStructure.USART_WordLength = USART_WordLength_8b;
   \   00000016   0020               MOVS     R0,#+0
   \   00000018   ADF80400           STRH     R0,[SP, #+4]
     22            UART_InitStructure.USART_StopBits = USART_StopBits_1;
   \   0000001C   0020               MOVS     R0,#+0
   \   0000001E   ADF80600           STRH     R0,[SP, #+6]
     23            UART_InitStructure.USART_Parity = USART_Parity_No ;
   \   00000022   0020               MOVS     R0,#+0
   \   00000024   ADF80800           STRH     R0,[SP, #+8]
     24            UART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
   \   00000028   0020               MOVS     R0,#+0
   \   0000002A   ADF80A00           STRH     R0,[SP, #+10]
     25            UART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
   \   0000002E   0C20               MOVS     R0,#+12
   \   00000030   ADF80C00           STRH     R0,[SP, #+12]
     26            UART_InitStructure.USART_Clock = USART_Clock_Disable;
   \   00000034   0020               MOVS     R0,#+0
   \   00000036   ADF80E00           STRH     R0,[SP, #+14]
     27            UART_InitStructure.USART_CPOL = USART_CPOL_Low;
   \   0000003A   0020               MOVS     R0,#+0
   \   0000003C   ADF81000           STRH     R0,[SP, #+16]
     28            UART_InitStructure.USART_CPHA = USART_CPHA_1Edge;
   \   00000040   0020               MOVS     R0,#+0
   \   00000042   ADF81200           STRH     R0,[SP, #+18]
     29            UART_InitStructure.USART_LastBit = USART_LastBit_Disable;
   \   00000046   0020               MOVS     R0,#+0
   \   00000048   ADF81400           STRH     R0,[SP, #+20]
     30            
     31             UART_InitStructure.USART_Parity = USART_Parity_No;  
   \   0000004C   0020               MOVS     R0,#+0
   \   0000004E   ADF80800           STRH     R0,[SP, #+8]
     32              USART_DeInit(USART1);
   \   00000052   0448               LDR.N    R0,??Set_UART_0+0x8  ;; 0x40013800
   \   00000054   ........           BL       USART_DeInit
     33          }
   \   00000058   07B0               ADD      SP,SP,#+28
   \   0000005A   00BD               POP      {PC}             ;; return
   \                     ??Set_UART_0:
   \   0000005C   ........           DC32     _YT + 2
   \   00000060   ........           DC32     BAUD_TAB1
   \   00000064   00380140           DC32     0x40013800

   \                                 In section .XML, align 4, keep-with-next
     34          Int8U	scankey(KEY *KEYA)
     35          {
   \                     scankey:
   \   00000000   70B5               PUSH     {R4-R6,LR}
   \   00000002   0400               MOVS     R4,R0
     36          	Int8U i,k;
     37                  k=0;
   \   00000004   0020               MOVS     R0,#+0
   \   00000006   0600               MOVS     R6,R0
     38          	i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4);
   \   00000008   1021               MOVS     R1,#+16
   \   0000000A   3148               LDR.N    R0,??scankey_0   ;; 0x40010800
   \   0000000C   ........           BL       GPIO_ReadInputDataBit
   \   00000010   0500               MOVS     R5,R0
     39          	if(i!=0)k|=1;
   \   00000012   EDB2               UXTB     R5,R5            ;; ZeroExtS R5,R5,#+24,#+24
   \   00000014   002D               CMP      R5,#+0
   \   00000016   01D0               BEQ.N    ??scankey_1
   \   00000018   56F00106           ORRS     R6,R6,#0x1
     40          	i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5);
   \                     ??scankey_1:
   \   0000001C   2021               MOVS     R1,#+32
   \   0000001E   2C48               LDR.N    R0,??scankey_0   ;; 0x40010800
   \   00000020   ........           BL       GPIO_ReadInputDataBit
   \   00000024   0500               MOVS     R5,R0
     41          	if(i!=0)k|=2;
   \   00000026   EDB2               UXTB     R5,R5            ;; ZeroExtS R5,R5,#+24,#+24
   \   00000028   002D               CMP      R5,#+0
   \   0000002A   01D0               BEQ.N    ??scankey_2
   \   0000002C   56F00206           ORRS     R6,R6,#0x2
     42          	i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6);
   \                     ??scankey_2:
   \   00000030   4021               MOVS     R1,#+64
   \   00000032   2748               LDR.N    R0,??scankey_0   ;; 0x40010800
   \   00000034   ........           BL       GPIO_ReadInputDataBit
   \   00000038   0500               MOVS     R5,R0
     43          	if(i!=0)k|=4;
   \   0000003A   EDB2               UXTB     R5,R5            ;; ZeroExtS R5,R5,#+24,#+24
   \   0000003C   002D               CMP      R5,#+0
   \   0000003E   01D0               BEQ.N    ??scankey_3
   \   00000040   56F00406           ORRS     R6,R6,#0x4
     44          	i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_7);
   \                     ??scankey_3:
   \   00000044   8021               MOVS     R1,#+128
   \   00000046   2248               LDR.N    R0,??scankey_0   ;; 0x40010800
   \   00000048   ........           BL       GPIO_ReadInputDataBit
   \   0000004C   0500               MOVS     R5,R0
     45          	if(i!=0)k|=8;
   \   0000004E   EDB2               UXTB     R5,R5            ;; ZeroExtS R5,R5,#+24,#+24
   \   00000050   002D               CMP      R5,#+0
   \   00000052   01D0               BEQ.N    ??scankey_4
   \   00000054   56F00806           ORRS     R6,R6,#0x8
     46          	i=GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_4);
   \                     ??scankey_4:
   \   00000058   1021               MOVS     R1,#+16
   \   0000005A   1E48               LDR.N    R0,??scankey_0+0x4  ;; 0x40011000
   \   0000005C   ........           BL       GPIO_ReadInputDataBit
   \   00000060   0500               MOVS     R5,R0
     47          	if(i!=0)k|=0x10;
   \   00000062   EDB2               UXTB     R5,R5            ;; ZeroExtS R5,R5,#+24,#+24
   \   00000064   002D               CMP      R5,#+0
   \   00000066   01D0               BEQ.N    ??scankey_5
   \   00000068   56F01006           ORRS     R6,R6,#0x10
     48          		
     49          	if(k==0x1F)
   \                     ??scankey_5:
   \   0000006C   F6B2               UXTB     R6,R6            ;; ZeroExtS R6,R6,#+24,#+24
   \   0000006E   1F2E               CMP      R6,#+31
   \   00000070   05D1               BNE.N    ??scankey_6
     50          	{
     51          		KEYA->counter=0;
   \   00000072   0020               MOVS     R0,#+0
   \   00000074   2080               STRH     R0,[R4, #+0]
     52          		KEYA->execute=0;
   \   00000076   0020               MOVS     R0,#+0
   \   00000078   E070               STRB     R0,[R4, #+3]
     53          		return     0;
   \   0000007A   0020               MOVS     R0,#+0
   \   0000007C   27E0               B.N      ??scankey_7
     54          	}	
     55          	if(k!=0x1F)
   \                     ??scankey_6:
   \   0000007E   F6B2               UXTB     R6,R6            ;; ZeroExtS R6,R6,#+24,#+24
   \   00000080   1F2E               CMP      R6,#+31
   \   00000082   23D0               BEQ.N    ??scankey_8
     56          	{	 
     57          		if(((++KEYA->counter)>=10)&&(KEYA->execute==0))
   \   00000084   2088               LDRH     R0,[R4, #+0]
   \   00000086   401C               ADDS     R0,R0,#+1
   \   00000088   2080               STRH     R0,[R4, #+0]
   \   0000008A   80B2               UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
   \   0000008C   0A28               CMP      R0,#+10
   \   0000008E   08D3               BCC.N    ??scankey_9
   \   00000090   E078               LDRB     R0,[R4, #+3]
   \   00000092   0028               CMP      R0,#+0
   \   00000094   05D1               BNE.N    ??scankey_9
     58          		{
     59          			KEYA->execute=1;
   \   00000096   0120               MOVS     R0,#+1
   \   00000098   E070               STRB     R0,[R4, #+3]
     60          			KEYA->ID=k^0x1F;
   \   0000009A   96F01F00           EORS     R0,R6,#0x1F
   \   0000009E   A070               STRB     R0,[R4, #+2]
   \   000000A0   14E0               B.N      ??scankey_8
     61          		}else
     62                          if((KEYA->counter>=10)&&(KEYA->execute!=0)&&(k==0xe))
   \                     ??scankey_9:
   \   000000A2   2088               LDRH     R0,[R4, #+0]
   \   000000A4   0A28               CMP      R0,#+10
   \   000000A6   11D3               BCC.N    ??scankey_8
   \   000000A8   E078               LDRB     R0,[R4, #+3]
   \   000000AA   0028               CMP      R0,#+0
   \   000000AC   0ED0               BEQ.N    ??scankey_8
   \   000000AE   F6B2               UXTB     R6,R6            ;; ZeroExtS R6,R6,#+24,#+24
   \   000000B0   0E2E               CMP      R6,#+14
   \   000000B2   0BD1               BNE.N    ??scankey_8
     63                          {

⌨️ 快捷键说明

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