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

📄 main.txt

📁 使用STR710的IIC接口对PCF8563时钟芯片的测试程序.采用KEIL UV3编译.使用了MDK3.05操作系统.
💻 TXT
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.0 [Build 951] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\output\main.o --device=DARMST --apcs=interwork -O0 -Id:\Keil\ARM\INC\ST\71x src\app\main.c]

                          ARM

                          AREA ||.text.7||, CODE, READONLY, ALIGN=2

                  LED_A_flash PROC
;;;26     void LED_A_flash (void) __task		   //for test
;;;27     {
                  |L1.0|
000000  e92d4010          PUSH     {r4,lr}
;;;28     	for(;;)
000004  e1a00000          MOV      r0,r0
;;;29     	{
;;;30     		 Read_PCF8563_Time();
                  |L1.8|
000008  ebfffffe          BL       Read_PCF8563_Time
;;;31     		 os_dly_wait (100);
00000c  e3a00064          MOV      r0,#0x64
000010  ebfffffe          BL       os_dly_wait
000014  eafffffb          B        |L1.8|
;;;32     	}
;;;33     }
                          ENDP

                  init PROC
;;;37     void init (void) __task 
;;;38     {
                  |L1.24|
000018  e92d4010          PUSH     {r4,lr}
;;;39     	RCCU_MCLKConfig(RCCU_DEFAULT);                    // MCLK = RCLK
00001c  e1a00000          MOV      r0,r0
000020  e3a0020a          MOV      r0,#0xa0000000
000024  e1d004b0          LDRH     r0,[r0,#0x40]
000028  e3c00003          BIC      r0,r0,#3
00002c  e3a0120a          MOV      r1,#0xa0000000
000030  e1c104b0          STRH     r0,[r1,#0x40]
000034  e1a00000          MOV      r0,r0
;;;40     	RCCU_FCLKConfig(RCCU_RCLK_2);                     // FCLK = RCLK/2
000038  e1a00000          MOV      r0,r0
00003c  e3a0020a          MOV      r0,#0xa0000000
000040  e1d004b4          LDRH     r0,[r0,#0x44]
000044  e3c00003          BIC      r0,r0,#3
000048  e3800001          ORR      r0,r0,#1
00004c  e1c104b4          STRH     r0,[r1,#0x44]
000050  e1a00000          MOV      r0,r0
;;;41     	RCCU_PCLKConfig(RCCU_RCLK_4);                     // PCLK = RCLK/4
000054  e1a00000          MOV      r0,r0
000058  e3a0020a          MOV      r0,#0xa0000000
00005c  e1d004b4          LDRH     r0,[r0,#0x44]
000060  e3c00c03          BIC      r0,r0,#0x300
000064  e3a01002          MOV      r1,#2
000068  e1800401          ORR      r0,r0,r1,LSL #8
00006c  e3a0120a          MOV      r1,#0xa0000000
000070  e1c104b4          STRH     r0,[r1,#0x44]
000074  e1a00000          MOV      r0,r0
;;;42     	RCCU_PLL1Config(RCCU_PLL1_Mul_12, RCCU_Div_2);    // 48MHz PLL @ 16MHz XTAL
000078  e3a01001          MOV      r1,#1
00007c  e1a00001          MOV      r0,r1
000080  ebfffffe          BL       RCCU_PLL1Config
;;;43     
;;;44     	while (RCCU_FlagStatus(RCCU_PLL1_LOCK) == RESET); // Wait for PLL to Lock
000084  e1a00000          MOV      r0,r0
                  |L1.136|
000088  e1a00000          MOV      r0,r0
00008c  e3a0020a          MOV      r0,#0xa0000000
000090  e5900008          LDR      r0,[r0,#8]
000094  e3100002          TST      r0,#2
000098  0a000001          BEQ      |L1.164|
00009c  e3a00001          MOV      r0,#1
0000a0  ea000000          B        |L1.168|
                  |L1.164|
0000a4  e3a00000          MOV      r0,#0
                  |L1.168|
0000a8  e20000ff          AND      r0,r0,#0xff
0000ac  e3500000          CMP      r0,#0
0000b0  0afffff4          BEQ      |L1.136|
;;;45     	RCCU_RCLKSourceConfig(RCCU_PLL1_Output);          // Select PLL for RCLK
0000b4  e3a00000          MOV      r0,#0
0000b8  ebfffffe          BL       RCCU_RCLKSourceConfig
;;;46     
;;;47     	Start_PCF8563();
0000bc  ebfffffe          BL       Start_PCF8563
;;;48     								  //
;;;49      	t_LED_A_flash =  os_tsk_create(LED_A_flash,0);//
0000c0  e3a03000          MOV      r3,#0
0000c4  e1a02003          MOV      r2,r3
0000c8  e1a01003          MOV      r1,r3
0000cc  e24f00d4          ADR      r0,|L1.0|
0000d0  ebfffffe          BL       os_tsk_create_user
0000d4  e59f1034          LDR      r1,|L1.272|
0000d8  e5810000          STR      r0,[r1,#0]  ; t_LED_A_flash
;;;50     
;;;51     	os_tsk_delete_self ();							  //
0000dc  e3a00000          MOV      r0,#0
0000e0  ebfffffe          BL       os_tsk_delete
;;;52     }
0000e4  e8bd4010          POP      {r4,lr}
0000e8  e12fff1e          BX       lr
                          ENDP

                  main PROC
;;;57     int main (void) 
;;;58     {
0000ec  e92d4010          PUSH     {r4,lr}
;;;59     	os_sys_init (init);                    /* Initialize RTX and start init    */
0000f0  e3a03000          MOV      r3,#0
0000f4  e1a02003          MOV      r2,r3
0000f8  e1a01003          MOV      r1,r3
0000fc  e24f00ec          ADR      r0,|L1.24|
000100  ebfffffe          BL       os_sys_init_user
;;;60     }
000104  e3a00000          MOV      r0,#0
000108  e8bd4010          POP      {r4,lr}
00010c  e12fff1e          BX       lr
                  |L1.272|
000110  00000000          DCD      t_LED_A_flash
                          ENDP



                          AREA ||.data||, DATA, ALIGN=2

                  RTC_clock_bcd
                          DCD      0x00000000
                          DCB      0x00,0x00,0x00
                          DCB      0x00
                  t_LED_A_flash
                          DCD      0x00000000

⌨️ 快捷键说明

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