📄 main.ls1
字号:
0002 00 F 166 DB LogoStr
0003 20202020 167 DB ' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' '
0007 20202020
000B 2020
000D 20202020 168 DB ' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,'T' ,'h' ,'i' ,'s'
0011 20205468
0015 6973
0017 20697320 169 DB ' ' ,'i' ,'s' ,' ' ,'a' ,' ' ,'T' ,'e' ,'s' ,'t'
001B 61205465
001F 7374
0021 2050726F 170 DB ' ' ,'P' ,'r' ,'o' ,'g' ,'r' ,'a' ,'m' ,' ' ,'D'
0025 6772616D
0029 2044
002B 65736967 171 DB 'e' ,'s' ,'i' ,'g' ,'n' ,'e' ,'d' ,' ' ,'b' ,'y'
002F 6E656420
0033 6279
0035 20487561 172 DB ' ' ,'H' ,'u' ,'a' ,'x' ,'i' ,'n' ,'.' ,000H
A51 MACRO ASSEMBLER MAIN 07/05/2005 11:17:07 PAGE 4
0039 78696E2E
003D 00
173
174
175 ; /*
176 ; *****************************************************************************************
****************
177 ; * uC/OS-II
178 ; * The Real-Time Kernel
179 ; *
180 ; * (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
181 ; * All Rights Reserved
182 ; *
183 ; * AT89C/S5x Specific Code
184 ; * LARGE MEMORY MODEL
185 ; *
186 ; * Keil C/C++ V7.09
187 ; *
188 ; * 文件名 : Main.C
189 ; * 作者 : 华歆 Huaxin@wxzte.com 中兴光电子 研发一部 2005-07-04 22:22
190 ; ; 功能 : uC/OS-II在MCS51微控制器上的移植试验
191 ; *****************************************************************************************
****************
192 ; */
193 ;
194 ; #ifndef OS_MASTER_FILE
195 ; #include "includes.h"
196 ; #endif
197 ;
198 ; void TestTask1(void *os_pdata) reentrant;
199 ; void TestTask2(void *os_pdata) reentrant;
200 ; void TestTask3(void *os_pdata) reentrant;
201 ; void TestTask4(void *os_pdata) reentrant;
202 ;
203 ; OS_STK TestTask1Stk[MaxStkSize];
204 ; OS_STK TestTask2Stk[MaxStkSize];
205 ; OS_STK TestTask3Stk[MaxStkSize];
206 ; OS_STK TestTask4Stk[MaxStkSize];
207 ;
208 ; void InitS0 ( INT16U baud_rate ) reentrant
209
---- 210 RSEG ?PR?_?InitS0?MAIN
0000 211 _?InitS0:
212 USING 0
213 ; SOURCE LINE # 34
0000 90FFFE 214 MOV DPTR,#0FFFEH
0003 120000 F 215 LCALL ?C?ADDXBP
0006 EE 216 MOV A,R6
0007 F0 217 MOVX @DPTR,A
0008 A3 218 INC DPTR
0009 EF 219 MOV A,R7
000A F0 220 MOVX @DPTR,A
221 ; {
222 ; ES = 0;
223 ; SOURCE LINE # 36
000B C2AC 224 CLR ES
225 ; SCON = 0x50;
226 ; SOURCE LINE # 37
000D 759850 227 MOV SCON,#050H
228 ; TMOD |= 0x20;
229 ; SOURCE LINE # 38
0010 438920 230 ORL TMOD,#020H
231 ; TR1 = 1;
232 ; SOURCE LINE # 39
0013 D28E 233 SETB TR1
234 ; PCON = PCON&0x7f;
A51 MACRO ASSEMBLER MAIN 07/05/2005 11:17:07 PAGE 5
235 ; SOURCE LINE # 40
0015 53877F 236 ANL PCON,#07FH
237 ; switch( baud_rate ){
238 ; SOURCE LINE # 41
0018 850083 F 239 MOV DPH,?C_XBP
001B 850082 F 240 MOV DPL,?C_XBP+01H
001E E0 241 MOVX A,@DPTR
001F FE 242 MOV R6,A
0020 A3 243 INC DPTR
0021 E0 244 MOVX A,@DPTR
0022 8EF0 245 MOV B,R6
0024 120000 F 246 LCALL ?C?ICASE
0027 0000 F 247 DW ?C0002
0029 04B0 248 DW 04B0H
002B 0000 F 249 DW ?C0003
002D 0960 250 DW 0960H
002F 0000 F 251 DW ?C0004
0031 12C0 252 DW 012C0H
0033 0000 F 253 DW ?C0005
0035 2580 254 DW 02580H
0037 0000 F 255 DW ?C0006
0039 4B00 256 DW 04B00H
003B 0000 F 257 DW ?C0007
003D 9600 258 DW 09600H
003F 0000 259 DW 00H
0041 0000 F 260 DW ?C0005
261 ; case 1200:
262 ; SOURCE LINE # 42
0043 263 ?C0002:
264 ; TL1 = 0xe8; TH1 = 0xe8; break;
265 ; SOURCE LINE # 43
0043 758BE8 266 MOV TL1,#0E8H
0046 758DE8 267 MOV TH1,#0E8H
0049 8028 268 SJMP ?C0009
269 ; case 2400:
270 ; SOURCE LINE # 44
004B 271 ?C0003:
272 ; TL1 = 0xf4; TH1 = 0xf4; break;
273 ; SOURCE LINE # 45
004B 758BF4 274 MOV TL1,#0F4H
004E 758DF4 275 MOV TH1,#0F4H
0051 8020 276 SJMP ?C0009
277 ; case 4800:
278 ; SOURCE LINE # 46
0053 279 ?C0004:
280 ; TL1 = 0xfa; TH1 = 0xfa; break;
281 ; SOURCE LINE # 47
0053 758BFA 282 MOV TL1,#0FAH
0056 758DFA 283 MOV TH1,#0FAH
0059 8018 284 SJMP ?C0009
285 ; case 9600:
286 ; SOURCE LINE # 48
005B 287 ?C0005:
288 ; TL1 = 0xfd; TH1 = 0xfd; break;
289 ; SOURCE LINE # 49
005B 8010 290 SJMP ?C0025
291 ; case 19200:
292 ; SOURCE LINE # 50
005D 293 ?C0006:
294 ; PCON = PCON|0x80; TL1 = 0xfd; TH1 = 0xfd; break;
295 ; SOURCE LINE # 51
005D 438780 296 ORL PCON,#080H
0060 800B 297 SJMP ?C0026
298 ; case 38400:
299 ; SOURCE LINE # 52
0062 300 ?C0007:
A51 MACRO ASSEMBLER MAIN 07/05/2005 11:17:07 PAGE 6
301 ; PCON = PCON|0x80; TL1 = 0xfe; TH1 = 0xfe; break;
302 ; SOURCE LINE # 53
0062 438780 303 ORL PCON,#080H
0065 758BFE 304 MOV TL1,#0FEH
0068 758DFE 305 MOV TH1,#0FEH
006B 8006 306 SJMP ?C0009
307 ; default:
308 ; SOURCE LINE # 54
006D 309 ?C0025:
006D 310 ?C0026:
006D 758BFD 311 MOV TL1,#0FDH
0070 758DFD 312 MOV TH1,#0FDH
313 ; TL1 = 0xfd; TH1 = 0xfd; break;
314 ; }
315 ; SOURCE LINE # 56
316 ; }
317 ; SOURCE LINE # 57
0073 318 ?C0009:
0073 900002 319 MOV DPTR,#02H
0076 020000 F 320 LJMP ?C?ADDXBP
321 ; END OF _?InitS0
322
323 ; //***************************************************************************************
*****************
324 ; //
325 ; // 设置时钟节拍中断函数_?OSTickISR的tick率
326 ; // NOTE: 1: 一般tick率为10-100次/秒;
327 ; // 2: 特别注意不要在这里启动时钟节拍!!!
328 ; // 3: 最好在第一个任务(优先级最高的任务)里启动tick时钟节拍
329 ; // 4: 尽量不要更改中断优先级寄存器IP的低2位,当INT0与T0同级时就会影响
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -