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

📄 main.lst

📁 单片机开发列程
💻 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 + -