📄 main.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 + -