📄 test.lst
字号:
C51 COMPILER V7.20 TEST 09/19/2004 03:28:34 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE TEST
OBJECT MODULE PLACED IN TEST.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TEST.C REGFILE(.\test.ORC) BROWSE DEBUG OBJECTEXTEND TABS(3)
line level source
1 //#pragma src
2 #include "reg51.h"
3 #include "IO.H" // 自定义头文件, 宏定义及I/O函数外部声明
4
5 void enter(void), del(void), review(void), quit(void); // 函数声明
6
7 code void (*option[])(void) = { // 作为code数据, 类似汇编里的函数地址标号
8 enter,
9 del,
10 review,
11 quit
12 };
13
14
15 unsigned char str_chr(unsigned char code * str, unsigned char ch); // 检测字符串str中是否含有字符ch
16
17 unsigned char menu(void); // 示出一个菜单, 返回用户选择的菜单号
18
19 unsigned char main(void)
20 {
21 1 unsigned char i;
22 1
23 1 SCON = 0xc0; // 设置串口为方式3, 11位UART(Universal Asynchronous Receiver/Transmitter), 波特率
-可变
24 1 PCON = 0;
25 1 TMOD = 0x20; // 设置定时器T1为方式2(自动再装入8位计数器),做为波特率发生器
26 1 TH1 = 0xf0;
27 1 TL1 = 0xf0;
28 1 TR1 = 1;
29 1
30 1 //EA = 1; // 所有中断开
31 1 //ES = 1; // 允许串行中断
32 1 REN = 1; // 允许串行接收, 把此行关闭,串口1就收不到数据了
33 1
34 1 do {
35 2 i = menu(); /* get user's choice */
36 2
37 2 (*option[i])(); /* execute */
38 2
39 2 if(i==3)break;
40 2
41 2 putcstring(" continue!\n\n");
42 2
43 2 } while(1);
44 1
45 1 return 0;
46 1 }
47
48
49 unsigned char menu(void)
50 {
51 1 unsigned char ch;
52 1
53 1 do {
54 2 /*
C51 COMPILER V7.20 TEST 09/19/2004 03:28:34 PAGE 2
55 2 putstring("1. Enter\n");
56 2 putstring("2. Delete\n");
57 2 putstring("3. Review\n");
58 2 putstring("4. Quit\n");
59 2 putstring("Select a number: ");
60 2 */
61 2 putcstring("1. Enter\n");
62 2 putcstring("2. Delete\n");
63 2 putcstring("3. Review\n");
64 2 putcstring("4. Quit\n");
65 2 putcstring("Select a number: ");
66 2
67 2 ch = getche();
68 2 putcstring("\n");
69 2
70 2 } while(!str_chr("1234", ch));
71 1
72 1 return ch - 0x31; /* convert to an integer equivalent */
73 1
74 1 }
75
76 unsigned char str_chr(unsigned char code * str, unsigned char ch)
77 {
78 1 unsigned char i=0,j;
79 1 do {
80 2 j= str[i];
81 2 if(j==ch)break;
82 2 ++i;
83 2 } while(j);
84 1 return j;
85 1 }
86
87 void enter(void)
88 {
89 1 //putstring("\nIn enter");
90 1 putcstring("\nIn enter");
91 1 }
92 void del(void)
93 {
94 1 //putstring("\nIn del");
95 1 putcstring("\nIn del");
96 1 }
97 void review(void)
98 {
99 1 //putstring("\nIn review");
100 1 putcstring("\nIn review");
101 1 }
102 void quit(void)
103 {
104 1 //putstring("\nIn quit");
105 1 putcstring("\nIn quit");
106 1 }
107
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 183 ----
CONSTANT SIZE = 130 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
IDATA SIZE = ---- ----
C51 COMPILER V7.20 TEST 09/19/2004 03:28:34 PAGE 3
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 + -