📄 main.lst
字号:
C51 COMPILER V8.01 MAIN 09/30/2007 11:14:55 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Main.c LARGE BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS
line level source
1 /****************************************Copyright (c)**************************************************
2 ** 广州周立功单片机发展有限公司
3 ** http://www.zlgmcu.com
4 **--------------文件信息--------------------------------------------------------------------------------
5 **文 件 名: Main.c
6 **创 建 人: 牛利峰
7 **最后修改日期: 2007年9月29日
8 **描 述: RAMTRON_DEMO板的演示程序,仅供参考
9 程序开始先测试各个存储器模块,然后进入死循环,LED和按键的功能在Timer2
10 中断中实现,按下某一键后,从UART0打印出相关信息,同时LED的闪烁方式发生变化
11 **--------------历史版本信息----------------------------------------------------------------------------
12 ** 创建人: 牛利峰
13 ** 版 本: 1.0
14 ** 日 期: 2007年9月19日
15 ** 描 述: 原始版本
16 ********************************************************************************************************/
17
18 #include "Config.h"
19 /********************************************************************************************************
20 **函数名称:SysInit
21 **函数功能:根据需要初始化相关的外设,可通过"Config.h"中的宏定义控制
22 **输 入:无
23 **输 出:无
24 **全局变量:
25 **调用模块:
26 **作 者:牛利峰
27 **日 期:2007年9月29日
28 ********************************************************************************************************/
29
30 //********************************************************************************************************
-/
31 //由于变量较多,用户使用紧凑模式或大模式编译即可
32 //另外,若I2C部分在使用中出现问题,可降低C51的优化程度
33 //********************************************************************************************************
-/
34 void SysInit(void)
35 {
36 1 SysClockInit(); //系统时钟设置
37 1 //FRAMInit(); //开放FRAM
38 1 //---------------------------------------------------
39 1 //各种外设的初始化操作
40 1 //---------------------------------------------------
41 1 #ifdef I2CTEST
42 1 I2CMasterInit(); //I2C主方式初始化
43 1 #endif
44 1
45 1 #ifdef UART0TEST
46 1 UART0Config(); //配置串口0
47 1 #endif
48 1
49 1 #ifdef UART1TEST
50 1 UART1Config(); //配置串口1
51 1 #endif
52 1
53 1 #ifdef FM25L04TEST
C51 COMPILER V8.01 MAIN 09/30/2007 11:14:55 PAGE 2
54 1 SPIInit(); //SPI初始化
55 1 #endif
56 1
57 1 #ifdef FM18L08TEST
58 1 MemInit(); //内存初始化
59 1 #endif
60 1
61 1 #ifdef IOTEST
62 1 IOInit(); //端口设置
63 1 #endif
64 1
65 1 #ifdef T2INIT
66 1 T2Init(); //初始化定时器2
67 1 #endif
68 1 //---------------------------------------------------
69 1 }
70
71 /********************************************************************************************************
72 **函数名称:BoardTest
73 **函数功能:母板上的功能模块测试
74 **输 入:
75 **输 出:
76 ********************************************************************************************************/
77 void BoardTest(void)
78 {
79 1 //---------------------------------------------------
80 1 //四个LED闪烁,延时
81 1 //---------------------------------------------------
82 1 #ifdef LEDTEST
83 1 LEDON();
84 1 #endif
85 1
86 1 //---------------------------------------------------
87 1 //测试开始,打印相关信息
88 1 //---------------------------------------------------
89 1 UART0_Printf("\n\n >>****************************** Test Begin ******************************<< \n");
90 1
91 1 //---------------------------------------------------
92 1 //UART1测试,向串口1打印信息
93 1 //---------------------------------------------------
94 1 #ifdef UART1TEST
95 1 UART1Test();
96 1 #endif
97 1
98 1 //---------------------------------------------------
99 1 //外部并行存储器FM18L08访问测试,每次读写256个字节
100 1 //每次读写256字节数据,32K共需读写128次,每完成一次
101 1 //输出一个点
102 1 //---------------------------------------------------
103 1 #ifdef FM18L08TEST
104 1 FM18L08Test();
105 1 #endif
106 1
107 1 //---------------------------------------------------
108 1 //SPI接口器件25L04读写测试
109 1 //先产生512个随机数,然后将其写入FM25L04,再读回来
110 1 //与写入的比较
111 1 //---------------------------------------------------
112 1 #ifdef FM25L04TEST
113 1 FM25L04Test();
114 1 #endif
115 1
C51 COMPILER V8.01 MAIN 09/30/2007 11:14:55 PAGE 3
116 1 //---------------------------------------------------
117 1 //I2C接口器件24CL04读写测试
118 1 //先产生512个随机数,然后将其写入FM25L04,再读回来
119 1 //与写入的比较
120 1 //---------------------------------------------------
121 1 #ifdef FM24CL04TEST
122 1 FM24CL04Test();
123 1 #endif
124 1
125 1 //---------------------------------------------------
126 1 //I2C接口器件FM3104的内部存储器读写测试
127 1 //---------------------------------------------------
128 1 #ifdef FM3104MEMTEST
129 1 FM3104MemTest();
130 1 #endif
131 1 //---------------------------------------------------
132 1 //测试完成,打印相关信息
133 1 //---------------------------------------------------
134 1 UART0_Printf("\n >>****************************** Test Over *******************************<< \n\n");
135 1 }
136
137 //***************************************************************************************
138 //系统主函数
139 //***************************************************************************************
140 void main (void)
141 {
142 1 SysInit(); //系统初始化,必不可少
143 1 BoardTest(); //测试外围器件
144 1
145 1 #ifdef INTTEST
146 1 INTInit(); //初始化中断,注意:需要等到测试完成才能开中断
147 1 #endif
148 1
149 1 while(1)
150 1 {;} //LED和按键的处理都放在Timer2的定时中断里
151 1 }
152
C51 COMPILER V8.01 MAIN 09/30/2007 11:14:55 PAGE 4
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION SysInit (BEGIN)
; SOURCE LINE # 34
; SOURCE LINE # 35
; SOURCE LINE # 36
0000 120000 E LCALL SysClockInit
; SOURCE LINE # 42
0003 120000 E LCALL I2CMasterInit
; SOURCE LINE # 46
0006 120000 E LCALL UART0Config
; SOURCE LINE # 50
0009 120000 E LCALL UART1Config
; SOURCE LINE # 54
000C 120000 E LCALL SPIInit
; SOURCE LINE # 58
000F 120000 E LCALL MemInit
; SOURCE LINE # 62
0012 120000 E LCALL IOInit
; SOURCE LINE # 66
0015 020000 E LJMP T2Init
; FUNCTION SysInit (END)
; FUNCTION BoardTest (BEGIN)
; SOURCE LINE # 77
; SOURCE LINE # 78
; SOURCE LINE # 83
0000 120000 E LCALL LEDON
; SOURCE LINE # 89
0003 7BFF MOV R3,#0FFH
0005 7A00 R MOV R2,#HIGH ?SC_0
0007 7900 R MOV R1,#LOW ?SC_0
0009 120000 E LCALL _UART0_Printf
; SOURCE LINE # 95
000C 120000 E LCALL UART1Test
; SOURCE LINE # 104
000F 120000 E LCALL FM18L08Test
; SOURCE LINE # 113
0012 120000 E LCALL FM25L04Test
; SOURCE LINE # 122
0015 120000 E LCALL FM24CL04Test
; SOURCE LINE # 129
0018 120000 E LCALL FM3104MemTest
; SOURCE LINE # 134
001B 7BFF MOV R3,#0FFH
001D 7A00 R MOV R2,#HIGH ?SC_82
001F 7900 R MOV R1,#LOW ?SC_82
0021 020000 E LJMP _UART0_Printf
; FUNCTION BoardTest (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 140
; SOURCE LINE # 141
; SOURCE LINE # 142
0000 120000 R LCALL SysInit
; SOURCE LINE # 143
0003 120000 R LCALL BoardTest
; SOURCE LINE # 146
0006 120000 E LCALL INTInit
0009 ?C0003:
; SOURCE LINE # 149
C51 COMPILER V8.01 MAIN 09/30/2007 11:14:55 PAGE 5
; SOURCE LINE # 150
0009 80FE SJMP ?C0003
; FUNCTION main (END)
C51 COMPILER V8.01 MAIN 09/30/2007 11:14:55 PAGE 6
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
INTInit. . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
SPIInit. . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
BoardTest. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
FM24CL04Test . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
UART1Test. . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
T2Init . . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
FM3104MemTest. . . . . . . . . . . . . EXTERN CODE PROC ----- -----
_UART0_Printf. . . . . . . . . . . . . EXTERN CODE PROC ----- -----
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
IOInit . . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
MemInit. . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
I2CMasterInit. . . . . . . . . . . . . EXTERN CODE PROC ----- -----
SysClockInit . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
UART0Config. . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
UART1Config. . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
FM25L04Test. . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
FM18L08Test. . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
SysInit. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
wchar_t. . . . . . . . . . . . . . . . TYPEDEF ----- CHAR ----- 1
LEDON. . . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
va_list. . . . . . . . . . . . . . . . TYPEDEF ----- PTR ----- 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 71 ----
CONSTANT SIZE = 164 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -