📄 main.lst
字号:
C51 COMPILER V7.02b MAIN 11/29/2006 14:48:11 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\obj\main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\main.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\main.lst) OBJECT(
-.\obj\main.obj)
stmt level source
1 /*
2
3 www.mcu123.net/bbs
4 学习论坛
5
6 本例程ucOS-II 版本为2.51
7
8 注:
9 此例程运行于内RAM > 1024 Byte的51内核的单片机即可。
10 比 如 : SST89E564RD ,STC89C516RD 等
11
12
S
13 */
14
15
16 #include "includes.h"
17 #include "serial.h"
18
19 sbit LED1=P1^5;
20 sbit LED2=P1^6;
21 unsigned char xdata strbuf[8];
22
23 OS_STK TaskStartStk1[MaxStkSize],TaskStartStk2[MaxStkSize],TaskStartStk3[MaxStkSize];
24
25 void Task1(void *nouse) reentrant;
26 void Task2(void *nouse) reentrant;
27 void Task3(void *nouse) reentrant;
28
29 void DecTochar(unsigned int n,unsigned char *buf)
30 { unsigned char i;
31 1 unsigned char buffer[8];
32 1 for(i=0;i<5;i++)
33 1 {
34 2 buffer[i]=n%10+0x30;
35 2 n=n/10;
36 2 if(n==0)break;
37 2 }
38 1
39 1 for(;i>0;i--)*buf++=buffer[i];
40 1
41 1 *buf++=buffer[i];
42 1 *buf='\r';
43 1 buf++;
44 1 *buf='\n';
45 1 }
46
47 void main(void)
48 {
49 1 OSInit();
50 1 InitHardware();
51 1 OSTaskCreate(Task1, (void *)0, &TaskStartStk1[0],2);
52 1 OSTaskCreate(Task2, (void *)0, &TaskStartStk2[0],3);
53 1 OSTaskCreate(Task3, (void *)0, &TaskStartStk3[0],4);
54 1 OSStart();
C51 COMPILER V7.02b MAIN 11/29/2006 14:48:11 PAGE 2
55 1 }
56
57 void Task1(void *nouse) reentrant
58 {
59 1 unsigned char const Str0[]="Welcome to MCU123.COM \r\n";
60 1 unsigned char const Str1[]="Task1 is running! LED1=ON \r\n";
61 1 unsigned char const Strv[]="uCosII_Ver";
62 1 nouse=nouse;
63 1
64 1 SendStr(Str0, sizeof(Str0));
65 1 DecTochar(OSVersion(),strbuf);
66 1 SendStr(Strv,sizeof(Strv));
67 1 SendStr(strbuf, sizeof(strbuf));
68 1 for(;;)
69 1 {
70 2 LED1 = 0;
71 2 SendStr(Str1, sizeof(Str1));
72 2
73 2 OSTimeDly(OS_TICKS_PER_SEC*2);
74 2 }
75 1 }
76
77 void Task2(void *nouse) reentrant
78 { unsigned char const Str2[]="Task2 is running! LED2=ON \r\n";
79 1 nouse=nouse;
80 1 for(;;)
81 1 {
82 2 LED2 = 0;
83 2 SendStr(Str2, sizeof(Str2));
84 2 OSTimeDly(OS_TICKS_PER_SEC*2);
85 2 }
86 1 }
87
88 void Task3(void *nouse) reentrant
89 { unsigned char const Str3[]="Task3 is running! LED1=OFF LED2=OFF \r\n";
90 1 nouse=nouse;
91 1 for(;;)
92 1 {
93 2 LED1 = 1;
94 2 LED2 = 1;
95 2 SendStr(Str3, sizeof(Str3));
96 2 OSTimeDly(OS_TICKS_PER_SEC);
97 2 }
98 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 847 ----
CONSTANT SIZE = 133 ----
XDATA SIZE = 308 14
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -