📄 main.lst
字号:
ARM COMPILER V2.53, main 29/01/08 11:33:05 PAGE 1
ARM COMPILER V2.53, COMPILATION OF MODULE main
OBJECT MODULE PLACED IN .\main.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe ..\Source\main.c THUMB BROWSE DEBUG PRINT(.\MAIN.LST) TABS(4) OBJECT(.\main.
-obj)
stmt level source
1 /****************************************Copyright (c)**************************************************
2 ** www.sanxinwork.net
3 ** 2007.5.30
4 **
5 ** 功能:使用UART0与计算机进行串口通信。
6 **
7 ** 说明:将RXD,TXD短接。
8 **
9 ********************************************************************************************************/
10
11 #include <LPC213x.h>
12 #include "config.h"
13 #include "uart.h"
14 #include "music.h"
15 #include "flash.h"
16
17
18
19
20
21
22 /* 定义IAP返回状态字 */
23 #define CMD_SUCCESS 0
24 #define INVALID_COMMAND 1
25 #define SRC_ADDR_ERROR 2
26 #define DST_ADDR_ERROR 3
27 #define SRC_ADDR_NOT_MAPPED 4
28 #define DST_ADDR_NOT_MAPPED 5
29 #define COUNT_ERROR 6
30 #define INVALID_SECTOR 7
31 #define SECTOR_NOT_BLANK 8
32 #define SECTOR_NOT_PREPARED_FOR_WRITE_OPERATION 9
33 #define COMPARE_ERROR 10
34 #define BUSY 11
35
36
37
38
39 /* 定义函数指针 */
40
41 uint8 tian[256];
42 /****************************************************************************
43 * 名称:DelayNS()
44 * 功能:长软件延时
45 * 入口参数:dly 延时参数,值越大,延时越久
46 * 出口参数:无
47 ****************************************************************************/
48
49 void DelayNS(uint32 dly)
50 {
51 1 uint32 i;
52 1
53 1 for(; dly>0; dly--)
54 1 for(i=0; i<5000; i++);
55 1 }
56
57
58 /****************************************************************************
ARM COMPILER V2.53, main 29/01/08 11:33:05 PAGE 2
59 * 名称:main()
60 * 功能:主函数
61 * 入口参数:
62 * 出口参数:
63 ****************************************************************************/
64
65 void main ()
66 { uint8 err,i;
67 1 uint8 sand[48];
68 1
69 1 UART0_Init(9600,8,1,0); // 串口初始化
70 1 //flash_int(); // 初始化函数指针IAP_Entry
71 1 PWM_init(); //PWM初始化
72 1
73 1 UART0_SendStr("欢迎使用sanxinwork-ARM开发板!\n");
74 1 UART0_SendStr("UART实验成功——田飞锋");
75 1 while(1)
76 1 {
77 2 //========================================================uart 实验
78 2 //UART0_GetStr(sand,16); // 从串口接收字符串
79 2 // DelayNS(10);
80 2 // UART0_SendStr(sand); // 向串口发送字符串
81 2 // DelayNS(10);
82 2 //========================================================
83 2
84 2 /*
85 2 //========================================================flash-iap 实验
86 2 i=ReadParID(); // 读器件ID
87 2 zhuanhuan_uart(sand,i);
88 2 UART0_SendStr(sand);
89 2
90 2 i=BootCodeID(); // 读Boot版本号
91 2 zhuanhuan_uart(sand,i);
92 2 UART0_SendStr(sand);
93 2
94 2 SelSector(1,1); // 选择扇区1
95 2 EraseSector(1,1); // 擦除扇区1
96 2 BlankCHK(1,1) ; // 查空扇区1
97 2
98 2 SelSector(1,1); // 选择扇区1
99 2 RamToFlash(0x00001000, *tian, 256); // 写数据到扇区1
100 2 err = Compare(0x00001000, 0x40001000, 256); // 比较数据
101 2
102 2 if(err == CMD_SUCCESS)
103 2 {
104 2 UART0_SendStr("flash实验成功——田飞锋");
105 2 }
106 2 else
107 2 {
108 2 UART0_SendStr("flash实验失败——田飞锋");
109 2 }
110 2 //==============================================================PWM_music 实验
111 2 */
112 2 //zhuanhuan(Music_Girl);
113 2 //zhuanhuan(Music_Two);
114 2 zhuanhuan_music(Music_Two);
115 2 for(i = 0; i <SoundLength/2; i++)
116 2 {
117 3 PWMMR0 = Fpclk /yinpin[music_table[i][0]][music_table[i][1]]; // 设置输出频率
118 3 PWMLER = 0x05; // 更新匹配值后,必须锁存
119 3 Delay(yinfu[music_shijian[i]]); // 延时,控制播放速度
120 3 }
121 2 }
122 1
123 1 }
*** WARNING C47 IN LINE 66 OF ..\SOURCE\MAIN.C: 'err': unreferenced local variable
ARM COMPILER V2.53, main 29/01/08 11:33:05 PAGE 3
*** WARNING C47 IN LINE 67 OF ..\SOURCE\MAIN.C: 'sand': unreferenced local variable
124
125
126
127
128
129
130
131 /********************************************************************************************************
-*
132 ** End Of File
133 ********************************************************************************************************/
ARM COMPILER V2.53, main 29/01/08 11:33:05 PAGE 4
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN CODE16 (UART0_Init?T)
EXTERN CODE16 (UART0_SendStr?T)
EXTERN CODE16 (?C?SDIV?T)
EXTERN NUMBER (__startup)
EXTERN CODE16 (?C?UDIV?T)
*** PUBLICS:
PUBLIC lz
PUBLIC HCMM_L
PUBLIC zhuanhuan_music?T
PUBLIC PWM_init?T
PUBLIC Delay?T
PUBLIC DelayNS?T
PUBLIC main
PUBLIC music_table
PUBLIC music_shijian
PUBLIC SoundLength
PUBLIC HCMM
PUBLIC yinpin
PUBLIC yinfu
PUBLIC Music_Girl
PUBLIC Music_Two
PUBLIC Music_Same
PUBLIC tian
*** DATA SEGMENT '?CON?main':
00000000 lz:
00000000 BEGIN_INIT
00000000 00000008 DD 0x8
00000004 00000008 DD 0x8
00000008 00000008 DD 0x8
0000000C 00000008 DD 0x8
00000010 00000008 DD 0x8
00000014 00000008 DD 0x8
00000018 00000008 DD 0x8
0000001C 00000008 DD 0x8
00000020 00000008 DD 0x8
00000024 00000008 DD 0x8
00000028 00000008 DD 0x8
0000002C 00000010 DD 0x10
00000030 00000010 DD 0x10
00000034 00000010 DD 0x10
00000038 END_INIT
00000038 HCMM_L:
00000038 BEGIN_INIT
00000038 00000008 DD 0x8
0000003C 00000004 DD 0x4
00000040 00000004 DD 0x4
00000044 00000008 DD 0x8
00000048 00000004 DD 0x4
0000004C 00000004 DD 0x4
00000050 00000004 DD 0x4
00000054 00000008 DD 0x8
00000058 00000004 DD 0x4
0000005C 00000010 DD 0x10
00000060 00000008 DD 0x8
00000064 00000004 DD 0x4
00000068 00000004 DD 0x4
0000006C 00000008 DD 0x8
00000070 00000004 DD 0x4
00000074 00000004 DD 0x4
00000078 00000004 DD 0x4
ARM COMPILER V2.53, main 29/01/08 11:33:05 PAGE 5
0000007C 00000008 DD 0x8
00000080 00000004 DD 0x4
00000084 00000010 DD 0x10
00000088 00000008 DD 0x8
0000008C 00000004 DD 0x4
00000090 00000004 DD 0x4
00000094 00000004 DD 0x4
00000098 00000004 DD 0x4
0000009C 00000004 DD 0x4
000000A0 00000004 DD 0x4
000000A4 00000004 DD 0x4
000000A8 00000008 DD 0x8
000000AC 00000004 DD 0x4
000000B0 00000010 DD 0x10
000000B4 00000008 DD 0x8
000000B8 00000008 DD 0x8
000000BC 00000008 DD 0x8
000000C0 00000004 DD 0x4
000000C4 00000004 DD 0x4
000000C8 00000004 DD 0x4
000000CC 00000008 DD 0x8
000000D0 00000004 DD 0x4
000000D4 00000010 DD 0x10
000000D8 END_INIT
000000D8 ??S_2:
000000D8 DB 'UART
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -