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

📄 main.lst

📁 这是一篇关于嵌入式系统的LCD液晶驱动程序的资料及源程序
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  04/01/2006 14:00:20 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\KeilC51\C51\BIN\C51.EXE main.c BROWSE DEFINE(evalboard) DEBUG OBJECTEXTEND LISTINCLUDE SYMBOLS

line level    source

   1          #include <reg51.h>
   1      =1  /*--------------------------------------------------------------------------
   2      =1  REG51.H
   3      =1  
   4      =1  Header file for generic 80C51 and 80C31 microcontroller.
   5      =1  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =1  All rights reserved.
   7      =1  --------------------------------------------------------------------------*/
   8      =1  
   9      =1  #ifndef __REG51_H__
  10      =1  #define __REG51_H__
  11      =1  
  12      =1  /*  BYTE Register  */
  13      =1  sfr P0   = 0x80;
  14      =1  sfr P1   = 0x90;
  15      =1  sfr P2   = 0xA0;
  16      =1  sfr P3   = 0xB0;
  17      =1  sfr PSW  = 0xD0;
  18      =1  sfr ACC  = 0xE0;
  19      =1  sfr B    = 0xF0;
  20      =1  sfr SP   = 0x81;
  21      =1  sfr DPL  = 0x82;
  22      =1  sfr DPH  = 0x83;
  23      =1  sfr PCON = 0x87;
  24      =1  sfr TCON = 0x88;
  25      =1  sfr TMOD = 0x89;
  26      =1  sfr TL0  = 0x8A;
  27      =1  sfr TL1  = 0x8B;
  28      =1  sfr TH0  = 0x8C;
  29      =1  sfr TH1  = 0x8D;
  30      =1  sfr IE   = 0xA8;
  31      =1  sfr IP   = 0xB8;
  32      =1  sfr SCON = 0x98;
  33      =1  sfr SBUF = 0x99;
  34      =1  
  35      =1  
  36      =1  /*  BIT Register  */
  37      =1  /*  PSW   */
  38      =1  sbit CY   = 0xD7;
  39      =1  sbit AC   = 0xD6;
  40      =1  sbit F0   = 0xD5;
  41      =1  sbit RS1  = 0xD4;
  42      =1  sbit RS0  = 0xD3;
  43      =1  sbit OV   = 0xD2;
  44      =1  sbit P    = 0xD0;
  45      =1  
  46      =1  /*  TCON  */
  47      =1  sbit TF1  = 0x8F;
  48      =1  sbit TR1  = 0x8E;
  49      =1  sbit TF0  = 0x8D;
  50      =1  sbit TR0  = 0x8C;
  51      =1  sbit IE1  = 0x8B;
  52      =1  sbit IT1  = 0x8A;
  53      =1  sbit IE0  = 0x89;
  54      =1  sbit IT0  = 0x88;
C51 COMPILER V7.50   MAIN                                                                  04/01/2006 14:00:20 PAGE 2   

  55      =1  
  56      =1  /*  IE   */
  57      =1  sbit EA   = 0xAF;
  58      =1  sbit ES   = 0xAC;
  59      =1  sbit ET1  = 0xAB;
  60      =1  sbit EX1  = 0xAA;
  61      =1  sbit ET0  = 0xA9;
  62      =1  sbit EX0  = 0xA8;
  63      =1  
  64      =1  /*  IP   */ 
  65      =1  sbit PS   = 0xBC;
  66      =1  sbit PT1  = 0xBB;
  67      =1  sbit PX1  = 0xBA;
  68      =1  sbit PT0  = 0xB9;
  69      =1  sbit PX0  = 0xB8;
  70      =1  
  71      =1  /*  P3  */
  72      =1  sbit RD   = 0xB7;
  73      =1  sbit WR   = 0xB6;
  74      =1  sbit T1   = 0xB5;
  75      =1  sbit T0   = 0xB4;
  76      =1  sbit INT1 = 0xB3;
  77      =1  sbit INT0 = 0xB2;
  78      =1  sbit TXD  = 0xB1;
  79      =1  sbit RXD  = 0xB0;
  80      =1  
  81      =1  /*  SCON  */
  82      =1  sbit SM0  = 0x9F;
  83      =1  sbit SM1  = 0x9E;
  84      =1  sbit SM2  = 0x9D;
  85      =1  sbit REN  = 0x9C;
  86      =1  sbit TB8  = 0x9B;
  87      =1  sbit RB8  = 0x9A;
  88      =1  sbit TI   = 0x99;
  89      =1  sbit RI   = 0x98;
  90      =1  
  91      =1  #endif
   2          #include <stdlib.h>
   1      =1  /*--------------------------------------------------------------------------
   2      =1  STDLIB.H
   3      =1  
   4      =1  Standard functions.
   5      =1  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =1  All rights reserved.
   7      =1  --------------------------------------------------------------------------*/
   8      =1  
   9      =1  #ifndef __STDLIB_H__
  10      =1  #define __STDLIB_H__
  11      =1  
  12      =1  #ifndef _SIZE_T
  13      =1   #define _SIZE_T
  14      =1   typedef unsigned int size_t;
  15      =1  #endif
  16      =1  
  17      =1  #ifndef NULL
  18      =1   #define NULL ((void *) 0L)
  19      =1  #endif
  20      =1  
  21      =1  #ifndef _WCHAR_T_DEFINED_
  22      =1  #define _WCHAR_T_DEFINED_
  23      =1  typedef char wchar_t;
  24      =1  #endif
C51 COMPILER V7.50   MAIN                                                                  04/01/2006 14:00:20 PAGE 3   

  25      =1  
  26      =1  
  27      =1  #pragma SAVE
  28      =1  #pragma REGPARMS
  29      =1  
  30      =1  extern int    abs  (int   val);
  31      =1  extern long  labs  (long  val);
  32      =1  
  33      =1  extern float atof (char *s1);
  34      =1  extern long  atol (char *s1);
  35      =1  extern int   atoi (char *s1);
  36      =1  extern int   rand ();
  37      =1  extern void  srand (int);
  38      =1  
  39      =1  extern float         strtod  (char *, char **);
  40      =1  extern long          strtol  (char *, char **, unsigned char);
  41      =1  extern unsigned long strtoul (char *, char **, unsigned char);
  42      =1  
  43      =1  #define _MALLOC_MEM_    xdata
  44      =1  
  45      =1  extern int  init_mempool          (void _MALLOC_MEM_ *p, unsigned int size);
  46      =1  extern void _MALLOC_MEM_ *malloc  (unsigned int size);
  47      =1  extern void free                  (void _MALLOC_MEM_ *p);
  48      =1  extern void _MALLOC_MEM_ *realloc (void _MALLOC_MEM_ *p, unsigned int size);
  49      =1  extern void _MALLOC_MEM_ *calloc  (unsigned int size, unsigned int len);
  50      =1  
  51      =1  #pragma RESTORE
  52      =1  
  53      =1  #endif
   3          #include "tdp.h"
   1      =1  /* 宏定义 */
   2      =1          #define INT_DISABLE     EA = 0
   3      =1  #define INT_ENABLE      EA = 1
   4      =1  #define TCLK            11059200        /* Clock speed in Hz */
   5      =1  
   6      =1  /* CLOCK.C 文件中的函数定义 */
   7      =1  void clock_init (void);
   8      =1  void clock_update (void);
   9      =1  void clock_set (unsigned long sethsec);
  10      =1  void clock_scan (unsigned char flag);
  11      =1  void clock_out_time (void);
  12      =1  char strtotm (unsigned long *t,char *s);
  13      =1  void alarm_set (unsigned setmins);
  14      =1  void alarm_clr (void);
  15      =1  void alarm_out_time (void);
  16      =1  
  17      =1  
  18      =1  /* CMDBUILD.C文件中的函数定义 */
  19      =1  #define MAX_CMD_LEN             40
  20      =1  void cmdb_init (void);
  21      =1  void cmdb_prompt (void);
  22      =1  const char *cmdb_scan (void);
  23      =1  
  24      =1  
  25      =1  /*  CMDPROC.C文件中的函数定义 */
  26      =1  char *strupr (char *src);
  27      =1  void cmd_proc (const char *cmd);
  28      =1  
  29      =1  
  30      =1  /* MAIN.C文件中的函数定义 */
  31      =1  void main (void);
  32      =1  
C51 COMPILER V7.50   MAIN                                                                  04/01/2006 14:00:20 PAGE 4   

  33      =1  
  34      =1  /* SERIAL.C文件中的函数定义 */
  35      =1  void com_initialize (void);
  36      =1  void com_baudrate (unsigned baudrate);
  37      =1  char com_putchar (unsigned char c);
  38      =1  char com_puts (char *s);
  39      =1  int com_getchar (void);
  40      =1  unsigned char com_rbuflen (void);
  41      =1  unsigned char com_tbuflen (void);
  42      =1  
  43      =1  
  44      =1  /* TIMER.C文件中的函数定义 */
  45      =1  #define TIMER0_TICKS_PER_SEC    100
  46      =1  void timer0_initialize (void);
  47      =1  unsigned timer0_count (void);
  48      =1  unsigned timer0_elapsed_count (unsigned count);
  49      =1  void timer0_wait (unsigned count);
   4          #ifdef evalboard       /* 采用硬件目标板时需要使用以下外部函数 */
   5          extern void DINPUT(unsigned char aa, unsigned char bb);
   6          extern void DISPLY(unsigned char data *cc);
   7          static unsigned char data dg[]={0,0,10,0,0,10,0,0};
   8          #endif
   9          
  10          void main (void) {
  11   1              unsigned i;
  12   1              for (i = 0; i < 1000; i++);        /*  延时,等待系统上电稳定 */
  13   1              timer0_initialize ();        /* 定时器0初始化 */
  14   1              com_initialize ();          /*串行口初始化 */
  15   1      #ifdef evalboard              /* 采用硬件目标板时 */
  16   1              DINPUT(0X0A,0X07);    /* 需要对板上MAX7219初始化 */
  17   1              DINPUT(0X0B,0X07);
  18   1              DINPUT(0X09,0X0FF);
  19   1              DINPUT(0X0c,0X01);
  20   1              DISPLY(dg);            /* 板上LED 显示 00-00-00 */
  21   1      #endif
  22   1              timer0_wait (TIMER0_TICKS_PER_SEC / 10);
  23   1              clock_init ();
  24   1              com_puts ("TDP V1.0\r\n");
  25   1              while (1) {
  26   2                const char *cmd;      
  27   2                cmdb_init ();
  28   2                cmdb_prompt ();       
  29   2                for (cmd = NULL; cmd == NULL; cmd = cmdb_scan ()) {
  30   3                  clock_update ();
  31   3                }
  32   2                cmd_proc (cmd);
  33   2              }
  34   1      }
C51 COMPILER V7.50   MAIN                                                                  04/01/2006 14:00:20 PAGE 5   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
cmdb_prompt. . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
cmdb_scan. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
clock_init . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  cmd. . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  3
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
_cmd_proc. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
cmdb_init. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_DINPUT. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_DISPLY. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
dg . . . . . . . . . . . . . . . . . .  STATIC   DATA   ARRAY    0000H  8
_timer0_wait . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_com_puts. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
com_initialize . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
wchar_t. . . . . . . . . . . . . . . .  TYPEDEF  -----  CHAR     -----  1
timer0_initialize. . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
clock_update . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    120    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8       3
   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 + -