📄 hyperterminal.lst
字号:
C51 COMPILER V7.50 HYPERTERMINAL 01/02/2009 14:29:36 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE HYPERTERMINAL
OBJECT MODULE PLACED IN HyperTerminal.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE HyperTerminal.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "HyperTerminal.h"
2 #include <stdio.h>
3 #include <stdlib.h>
4 void Set_RTC(void);//set RTC
5
6 /*****************************************************************************/
7 char idata SerialBuffer[MAX_SERIAL_BUFFER_SIZE];
8 char idata PromptBuffer[MAX_PROMPT_BUFFER_SIZE];
9 char idata CursorPosion;
10 char idata ExecCommandFlag;
11
12 unsigned char gLedFlag=0xff;
13 unsigned char gDig[6];
14 unsigned char gBeep;
15 #define XBYTE ((char *) 0x20000L)
16 #define LAMPADDR 0xd000
17 #define LEDADDR 0xc000
18 #define LEDDATAADDR 0x9000
19 #define BEEPADDR 0xa000
20 void DisplayDomain();
21 void DisplayTel();
22 void Read_RTC(void);
23 extern unsigned char read_rtc_code[7];
24 extern unsigned char set_rtc_code[7];
25 extern unsigned char gIrArr[6];
26 void InitADC0831();
27 unsigned char ReadADC0831() ;
28 unsigned char rtemp();
29 void Write2402(unsigned char add,unsigned char dat) ;
30 unsigned char Read2402(unsigned char add) ;
31
32
33 COMMAND CommandList[MAX_COMMAND_NUM] = {
34 {"help",Help," help -- Command help"},
35 {"prompt",Prompt," prompt <string> -- Change a prompt"},
36 {"clear",Clear," clear -- Clear screen"},
37 {"lamp",Lamp," lamp <no on/off> -- Change a prompt"},
38 {"led",Led," led <no number>-- display data"},
39 {"beep",Beep," beep <on/off>-- Change a prompt"},
40 {"lcd",Lcd," lcd -- display screen"},
41 {"reboot",Reboot," reboot -- Reboot the MCU"},
42 {"relay",Relay," relay <on/off> -- operate relay"},
43 {"temp",Temp," temp -- read temperature"},
44 {"writetime",WriteTime," writetime <string> -- set time"},
45 {"readtime",ReadTime," readtime-- read time"},
46 {"ad",AD," ad-- display ad data"},
47 {"ir",IR," ir-- display ir data"},
48 {"writee2prom",WriteE2prom," writee2prom <addr data> -- write e2prom"},
49 {"reade2prom",ReadE2prom," reade2prom <addr>-- read e2prom"}
50 };
51 void Lamp(char argc, const char **argv)
52 {
53 1 char i,j;
54 1 argv = argv;
55 1 switch(argc)
C51 COMPILER V7.50 HYPERTERMINAL 01/02/2009 14:29:36 PAGE 2
56 1 {
57 2 case 3:
58 2 i=0xff;
59 2 if (strcmp(argv[1],"1")==0) i=0x00;
60 2 if (strcmp(argv[1],"2")==0) i=0x01;
61 2 if (strcmp(argv[1],"3")==0) i=0x02;
62 2 if (strcmp(argv[1],"4")==0) i=0x03;
63 2 j=0xff;
64 2 if (strcmp(argv[2],"on")==0) j=0x00;
65 2 if (strcmp(argv[2],"off")==0) j=0x01;
66 2 if ((i==0xff) || (j==0xff))
67 2 {
68 3 ;
69 3 }
70 2 else
71 2 {
72 3 if (j==0)
73 3 {
74 4 j=1;
75 4 j=j<<i;
76 4 j=j ^ 0xff;
77 4 gLedFlag=(gLedFlag & j);
78 4 }
79 3 else
80 3 {
81 4 j=1;
82 4 j=j<<i;
83 4 gLedFlag=(gLedFlag | j);
84 4 }
85 3 XBYTE[LAMPADDR]=gLedFlag;
86 3 }
87 2 SerialSendStr("\n");
88 2 break;
89 2 default:
90 2 SerialSendStr(" Invalid 'lamp' command\n");
91 2 break;
92 2 }
93 1 }
94 void Led(char argc, const char **argv)
95 {
96 1 char i,j;
97 1 argv = argv;
98 1 switch(argc)
99 1 {
100 2 case 3:
101 2 i=atoi(argv[1]);
102 2 j=atoi(argv[2]);
103 2 XBYTE[LEDADDR]=0xff;
104 2 XBYTE[LEDDATAADDR]=0x30;
105 2 XBYTE[LEDADDR]=0xff^ 0x01;
106 2
107 2 gDig[0]=0xff;
108 2 for(i=0;i<6;i++)
109 2 gDig[i]=0xff;
110 2 i=strlen(argv);
*** WARNING C182 IN LINE 110 OF HYPERTERMINAL.C: pointer to different objects
111 2 for(j=0;j<i;j++)
112 2 {
113 3 gDig[j]=argv[1][j];
114 3 }
115 2 SerialSendStr("\n");
116 2 break;
C51 COMPILER V7.50 HYPERTERMINAL 01/02/2009 14:29:36 PAGE 3
117 2 default:
118 2 SerialSendStr(" Invalid 'led' command\n");
119 2 break;
120 2 }
121 1 }
122 void Beep(char argc, const char **argv)
123 {
124 1 char j;
125 1 argv = argv;
126 1 switch(argc)
127 1 {
128 2 case 2:
129 2 j=0xff;
130 2 if (strcmp(argv[1],"off")==0)
131 2 {
132 3 j=0xfe;
133 3 gBeep=(gBeep & j);
134 3 XBYTE[BEEPADDR]=gBeep;
135 3 }
136 2 if (strcmp(argv[1],"on")==0)
137 2 {
138 3 j=0x01;
139 3 gBeep=gBeep | j;
140 3 XBYTE[BEEPADDR]=gBeep;
141 3 }
142 2 SerialSendStr("\n");
143 2 break;
144 2 default:
145 2 SerialSendStr(" Invalid 'beep' command\n");
146 2 break;
147 2 }
148 1 }
149 void Lcd(char argc, const char **argv)
150 {
151 1 char j;
152 1 argv = argv;
153 1 switch(argc)
154 1 {
155 2 case 2:
156 2 j=0xff;
157 2 if (strcmp(argv[1],"domain")==0)
158 2 {
159 3 DisplayDomain();
160 3 }
161 2 if (strcmp(argv[1],"tel")==0)
162 2 {
163 3 DisplayTel();
164 3 }
165 2 SerialSendStr("\n");
166 2 break;
167 2 default:
168 2 SerialSendStr(" Invalid 'lcd' command\n");
169 2 break;
170 2 }
171 1 }
172 void Relay(char argc, const char **argv)
173 {
174 1 char j;
175 1 argv = argv;
176 1 switch(argc)
177 1 {
178 2 case 2:
C51 COMPILER V7.50 HYPERTERMINAL 01/02/2009 14:29:36 PAGE 4
179 2 j=0xff;
180 2 if (strcmp(argv[1],"off")==0)
181 2 {
182 3 j=0xbf;
183 3 gBeep=(gBeep & j);
184 3 XBYTE[BEEPADDR]=gBeep;
185 3 }
186 2 if (strcmp(argv[1],"on")==0)
187 2 {
188 3 j=0x40;
189 3 gBeep=gBeep | j;
190 3 XBYTE[BEEPADDR]=gBeep;
191 3 }
192 2 SerialSendStr("\n");
193 2 break;
194 2 default:
195 2 SerialSendStr(" Invalid 'relay' command\n");
196 2 break;
197 2 }
198 1 }
199 void Temp(char argc, const char **argv)
200 {
201 1 unsigned char j;
202 1 char str[20];
203 1 argv = argv;
204 1 switch(argc)
205 1 {
206 2 case 1:
207 2 j=rtemp();
208 2 str[0]=(j/100) +0x30;
209 2 j=(j % 100);
210 2 str[1]=(j/10) +0x30;
211 2 j=(j % 10);
212 2 str[2]=j +0x30;
213 2 str[3]='\n';
214 2 SerialSendStr(str);
215 2 SerialSendStr("\r\n");
216 2 break;
217 2 default:
218 2 SerialSendStr(" Invalid 'temp' command: too many arguments\r\n");
219 2 break;
220 2 }
221 1 }
222 void ReadTime(char argc, const char **argv)
223 {
224 1 char str[20];
225 1 argv = argv;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -