📄 main.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 919] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o..\obj\main.o --depend=..\obj\main.d --device=DARMSTM --apcs=interwork -O0 -I..\..\LAB5 -I..\..\library\inc -IC:\Keil\ARM\INC\ST\STM32F10x -DVECT_TAB_RAM --omf_browse=..\obj\main.crf main.c]
THUMB
AREA ||.text||, CODE, READONLY, ALIGN=2
Delay PROC
;;;242 {
;;;243 for(; nCount!= 0;nCount--);
000000 e000 B |L1.4|
|L1.2|
000002 1e40 SUBS r0,r0,#1
|L1.4|
000004 2800 CMP r0,#0
000006 d1fc BNE |L1.2|
;;;244 }
000008 4770 BX lr
;;;245
ENDP
EXTI_Configuration PROC
;;;211 void EXTI_Configuration(void)
;;;212 {
00000a b51c PUSH {r2-r4,lr}
;;;213 EXTI_InitTypeDef EXTI_InitStructure;
;;;214
;;;215 /* Connect EXTI Line0 to PA.00 */
;;;216 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);
00000c 2100 MOVS r1,#0
00000e 4608 MOV r0,r1
000010 f7fff7ff BL GPIO_EXTILineConfig
;;;217
;;;218 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
000014 2000 MOVS r0,#0
000016 f88df88d STRB r0,[sp,#4]
;;;219 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
00001a 200c MOVS r0,#0xc
00001c f88df88d STRB r0,[sp,#5]
;;;220 EXTI_InitStructure.EXTI_Line = EXTI_Line0;
000020 2001 MOVS r0,#1
000022 9000 STR r0,[sp,#0]
;;;221 EXTI_InitStructure.EXTI_LineCmd = ENABLE;
000024 f88df88d STRB r0,[sp,#6]
;;;222 EXTI_Init(&EXTI_InitStructure);
000028 4668 MOV r0,sp
00002a f7fff7ff BL EXTI_Init
;;;223
;;;224 /* Connect EXTI Line9 to PC.13 */
;;;225 GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource13);
00002e 210d MOVS r1,#0xd
000030 2002 MOVS r0,#2
000032 f7fff7ff BL GPIO_EXTILineConfig
;;;226
;;;227 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
000036 2000 MOVS r0,#0
000038 f88df88d STRB r0,[sp,#4]
;;;228 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
00003c 200c MOVS r0,#0xc
00003e f88df88d STRB r0,[sp,#5]
;;;229 EXTI_InitStructure.EXTI_Line = EXTI_Line9;
000042 f44ff44f MOV r0,#0x200
000046 9000 STR r0,[sp,#0]
;;;230 EXTI_InitStructure.EXTI_LineCmd = ENABLE;
000048 2001 MOVS r0,#1
00004a f88df88d STRB r0,[sp,#6]
;;;231 EXTI_Init(&EXTI_InitStructure);
00004e 4668 MOV r0,sp
000050 f7fff7ff BL EXTI_Init
;;;232 }
000054 bd1c POP {r2-r4,pc}
;;;233
ENDP
GPIO_Configuration PROC
;;;183 void GPIO_Configuration(void)
;;;184 {
000056 b508 PUSH {r3,lr}
;;;185 GPIO_InitTypeDef GPIO_InitStructure;
;;;186
;;;187 /* Configure PC6, PC7, PC8 and PC9 as output push-pull */
;;;188 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
000058 2010 MOVS r0,#0x10
00005a f88df88d STRB r0,[sp,#3]
;;;189 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
00005e 2003 MOVS r0,#3
000060 f88df88d STRB r0,[sp,#2]
;;;190 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
000064 f44ff44f MOV r0,#0xff00
000068 f8adf8ad STRH r0,[sp,#0]
;;;191 GPIO_Init(GPIOB, &GPIO_InitStructure);
00006c 4669 MOV r1,sp
00006e 487c LDR r0,|L1.608|
000070 f7fff7ff BL GPIO_Init
;;;192
;;;193 /* Configure GPIOA Pin0 as input floating */
;;;194 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
000074 2001 MOVS r0,#1
000076 f8adf8ad STRH r0,[sp,#0]
;;;195 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
00007a 2004 MOVS r0,#4
00007c f88df88d STRB r0,[sp,#3]
;;;196 GPIO_Init(GPIOA, &GPIO_InitStructure);
000080 4669 MOV r1,sp
000082 4878 LDR r0,|L1.612|
000084 f7fff7ff BL GPIO_Init
;;;197
;;;198 /* Configure GPIOB Pin9 as input floating */
;;;199 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
000088 f44ff44f MOV r0,#0x2000
00008c f8adf8ad STRH r0,[sp,#0]
;;;200 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
000090 2004 MOVS r0,#4
000092 f88df88d STRB r0,[sp,#3]
;;;201 GPIO_Init(GPIOC, &GPIO_InitStructure);
000096 4669 MOV r1,sp
000098 4873 LDR r0,|L1.616|
00009a f7fff7ff BL GPIO_Init
;;;202 }
00009e bd08 POP {r3,pc}
;;;203
ENDP
RCC_Configuration PROC
;;;118 void RCC_Configuration(void)
;;;119 {
0000a0 b510 PUSH {r4,lr}
;;;120 /* RCC system reset(for debug purpose) */
;;;121 RCC_DeInit();
0000a2 f7fff7ff BL RCC_DeInit
;;;122
;;;123 /* Enable HSE */
;;;124 RCC_HSEConfig(RCC_HSE_ON);
0000a6 f44ff44f MOV r0,#0x10000
0000aa f7fff7ff BL RCC_HSEConfig
;;;125
;;;126 /* Wait till HSE is ready */
;;;127 while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET)
0000ae bf00 NOP
|L1.176|
0000b0 2031 MOVS r0,#0x31
0000b2 f7fff7ff BL RCC_GetFlagStatus
0000b6 2800 CMP r0,#0
0000b8 d0fa BEQ |L1.176|
;;;128 {
;;;129 }
;;;130
;;;131 /* HCLK = SYSCLK */
;;;132 RCC_HCLKConfig(RCC_SYSCLK_Div1);
0000ba 2000 MOVS r0,#0
0000bc f7fff7ff BL RCC_HCLKConfig
;;;133
;;;134 /* PCLK2 = HCLK */
;;;135 RCC_PCLK2Config(RCC_HCLK_Div1);
0000c0 2000 MOVS r0,#0
0000c2 f7fff7ff BL RCC_PCLK2Config
;;;136
;;;137 /* PCLK1 = HCLK */
;;;138 RCC_PCLK1Config(RCC_HCLK_Div1);
0000c6 2000 MOVS r0,#0
0000c8 f7fff7ff BL RCC_PCLK1Config
;;;139
;;;140 /* Select HSE as system clock source */
;;;141 RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE);
0000cc 2001 MOVS r0,#1
0000ce f7fff7ff BL RCC_SYSCLKConfig
;;;142
;;;143 /* Wait till HSE is used as system clock source */
;;;144 while(RCC_GetSYSCLKSource() != 0x04)
0000d2 bf00 NOP
|L1.212|
0000d4 f7fff7ff BL RCC_GetSYSCLKSource
0000d8 2804 CMP r0,#4
0000da d1fb BNE |L1.212|
;;;145 {
;;;146 }
;;;147
;;;148 /* Enable GPIOA, GPIOB, GPIOC and AFIO clock */
;;;149 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB
0000dc 2101 MOVS r1,#1
0000de 201d MOVS r0,#0x1d
0000e0 f7fff7ff BL RCC_APB2PeriphClockCmd
;;;150 | RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);
;;;151 }
0000e4 bd10 POP {r4,pc}
;;;152
ENDP
main PROC
;;;43 int main(void)
;;;44 {
0000e6 b510 PUSH {r4,lr}
;;;45 #ifdef DEBUG
;;;46 debug();
;;;47 #endif
;;;48
;;;49 /* System Clocks Configuration */
;;;50 RCC_Configuration();
0000e8 f7fff7ff BL RCC_Configuration
;;;51
;;;52 /* Configure GPIOs */
;;;53 GPIO_Configuration();
0000ec f7fff7ff BL GPIO_Configuration
;;;54
;;;55 /* Configures the EXTI Lines */
;;;56 EXTI_Configuration();
0000f0 f7fff7ff BL EXTI_Configuration
;;;57
;;;58
;;;59 #ifdef VECT_TAB_RAM
;;;60 /* Set the Vector Table base location at 0x20000000 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -