📄 main.lst
字号:
C51 COMPILER V8.05a MAIN 11/09/2008 23:18:20 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "SCH51.h"
2 #include "ExtDef.h"
3 #include "key.h"
4 #include "LCD.h"
5 #include "stdio.h"
6 #include "serial.h"
7 #include "string.h"
8
9 #define UART_Int_Enable() ES=1;
10 #define UART_Int_Disable() ES=0;
11
12 uchar xdata PORT _at_ 0x8002;
13 extern uchar xdata *inTxBuf,*outTxBuf,*inRxBuf,*outRxBuf; // buffer pointers,缓冲区指针
14 extern uchar TIflag;
15 extern uchar RIflag;
16
17
18 void OutputLED()
19 {
20 1 if(Key!=Nothing)
21 1 {
22 2 PORT = Key;
23 2 Key=Nothing; //信息已被处理,抛弃它
24 2 }
25 1 }
26
27 void OutputURAT()
28 {
29 1 // clrscr();
30 1 PrintStr("Hello World!");
31 1 }
32
33 void CMD_Process()
34 {
35 1 uchar *t;
36 1 if(RIflag)
37 1 {
38 2 // RIflag=0;
39 2 t=inRxBuf;
40 2 t--;
41 2 if(*t==0x08) // Backspace key
42 2 {
43 3 PrintStr("你按下了BackSpace键!You pressed key 'BackSpace'!");
44 3 PrintStr("\b");
45 3 }
46 2 else if(*t==0x1B)
47 2 {
48 3 PrintStr("你按下了Esc键!You pressed key 'Esc'!");
49 3 PrintStr("\x0c");
50 3 }
51 2 else if(*t==0x0D)
52 2 {
53 3 PrintStr("你按下了Enter键!You pressed key 'Enter'!");
54 3 PrintStr("\r\n");
55 3 PrintStr("\033[1;5;40;32m good!!! \033[0m Hello,NSFocus \n"); // "\033[0m " is the default setting(Wh
C51 COMPILER V8.05a MAIN 11/09/2008 23:18:20 PAGE 2
-ite background,Black font);
56 3 // "\033[1;40;32m" -->"40"indicates black background; "32"indicates green foreground.
57 3 /*
58 3 Foreground Background
59 3 ---------------------------------------
60 3 30 40 black
61 3 31 41 red
62 3 32 42 green
63 3 33 43 yellow
64 3 34 44 blue
65 3 35 45 purple-red
66 3 36 46 green-blue
67 3 37 47 white
68 3
69 3 -------------------------
70 3 0 终端默认设置(一般的默认为黑底白字)
71 3 1 高亮显示
72 3 4 使用下划线
73 3 5 闪烁
74 3 7 反白显示
75 3 8 不可见
76 3 */
77 3 }
78 2 else if(*t==0x09) // Tab key
79 2 {
80 3 PrintStr("你按下了Tab键! You pressed key 'Tab'!");
81 3 PrintStr("\t");
82 3 }
83 2
84 2 }
85 1 }
86
87 void OutputLCD()
88 {
89 1 uchar *t;
90 1 if(RIflag)
91 1 {
92 2 RIflag = 0;
93 2 t=inRxBuf;
94 2 t--;
95 2 if(*t==0x08) // Backspace key
96 2 {
97 3 cls();
98 3 Str_Write(0,0,"You pressed key 'BackSpce'!",1);
99 3 }
100 2 else if(*t==0x1B)
101 2 {
102 3 Str_Write(0,0,"You pressed key 'Esc'!",1);
103 3 cls();
104 3 }
105 2 else if(*t==0x0D)
106 2 {
107 3 cls();
108 3 Str_Write(0,0,"You pressed key 'Enter'!",1);
109 3 }
110 2 else if(*t==0x09) // Tab key
111 2 {
112 3 cls();
113 3 Str_Write(0,0,"You pressed key 'Tab'!",1);
114 3 }
115 2 }
116 1 }
C51 COMPILER V8.05a MAIN 11/09/2008 23:18:20 PAGE 3
117
118 void main(void)
119 {
120 1
121 1 SCH_Init_T2();
122 1 InitSerialBuffer();
123 1 InitSerial(5);
124 1 Init_LCD();
125 1
126 1 SCH_Add_Task(KEY_Update, 1, 2);
127 1 SCH_Add_Task(OutputLED, 1, 2);
128 1 SCH_Add_Task(OutputURAT, 1, 0);
129 1 SCH_Add_Task(CMD_Process, 2, 1);
130 1 SCH_Add_Task(OutputLCD, 2, 2);
131 1
132 1 SCH_Start();
133 1
134 1 while(1)
135 1 {
136 2
137 2 SCH_Dispatch_Tasks();
138 2
139 2 }
140 1
141 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 409 ----
CONSTANT SIZE = 332 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
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 + -