📄 ucos_ii.lst
字号:
=2 #endif
461 =2
462 =2 #if OS_MEM_EN && (OS_MAX_MEM_PART >= 2)
=2 void OSMemInit(void) reentrant;
=2 #endif
465 =2
466 =2 #if OS_Q_EN
=2 void OSQInit(void) reentrant;
=2 #endif
469 =2
470 =2 void OSSched(void) reentrant;
471 =2
472 =2 void OSTaskIdle(void *ddata) reentrant;
473 =2
474 =2 #if OS_TASK_STAT_EN
=2 void OSTaskStat(void *ddata) reentrant;
=2 #endif
477 =2
478 =2 INT8U OSTCBInit(INT8U prio, OS_STK *ptos, OS_STK *pbos, INT16U id, INT16U stk_size, void *pext, INT1
-6U opt) reentrant;
479 =2
480 =2 /*$PAGE*/
481 =2 /*
482 =2 *********************************************************************************************************
483 =2 * FUNCTION PROTOTYPES
484 =2 * (Target Specific Functions)
C51 COMPILER V8.02 UCOS_II 03/10/2008 11:50:50 PAGE 12
485 =2 *********************************************************************************************************
486 =2 */
487 =2
488 =2 void OSCtxSw(void);
489 =2
490 =2 void OSIntCtxSw(void);
491 =2
492 =2 void OSStartHighRdy(void);
493 =2
494 =2 void OSTaskCreateHook(OS_TCB *ptcb) reentrant;
495 =2 void OSTaskDelHook(OS_TCB *ptcb) reentrant;
496 =2 void OSTaskStatHook(void) reentrant;
497 =2 void *OSTaskStkInit(void (*task)(void *pd), void *ppdata, void *ptos, INT16U opt) reentrant;
498 =2 void OSTaskSwHook(void) reentrant;
499 =2
500 =2 void OSTickISR(void);
501 =2
502 =2 void OSTimeTickHook(void) reentrant;
503 =2
504 =2 //Hard timer
505 =2 void InitTimer0(void) reentrant;
22 =1
23 =1 //系统显示
24 =1 #include <serial.h>
1 =2 /*
2 =2 *********************************************************************************************************
3 =2 * uC/OS-II
4 =2 * 实时内核
5 =2 *
6 =2 * (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
7 =2 * 版权所有
8 =2 *
9 =2 * MCU-51 专用代码
10 =2 * KEIL C51大模式编译
11 =2 *
12 =2 * 文件名 : SERIAL.H
13 =2 * 作者 : Jean J. Labrosse
14 =2 * 改编 : 杨屹 gdtyy@ri.gdt.com.cn 巨龙公司系统集成开发部 2002.09.27
15 =2 *********************************************************************************************************
16 =2 */
17 =2
18 =2 //**********************************************************************************
19 =2 //杨屹 2002/08/20 第一版
20 =2 //基于中断的串口驱动及显示程序
21 =2 //联系方法:gdtyy@ri.gdt.com.cn(2003/07/31以前有效)
22 =2 //**********************************************************************************
23 =2 //使用方法:(此范例自包含,独立于其他程序。)
24 =2 // 1.开头加入#include <reg51.h>语句,一定要有。
25 =2 // 2.初始化串口 InitSerial();//本例中为20MHz晶体,300波特率,模式2初始化
26 =2 // 3.初始化串口缓冲区 InitSerialBuffer();
27 =2 // 4.使用显示字节,字,长字,字符,字符串,清屏函数。
28 =2 //**********************************************************************************
29 =2 //波特率计算公式:
30 =2 // TH1=256-(2^SMOD/32*Fosc/12*1/Bound)
31 =2 // 其中:SMOD=0,1;Fosc=晶体或晶振频率;Bound=波特率
32 =2 // 本例中,SMOD=0;Fosc=20*10E6;Bound=300,所以TH1=0x52。
33 =2 //**********************************************************************************
34 =2 //书写风格:
35 =2 // 1.带yy前缀标志的函数为杨屹改写的等效C库函数。
36 =2 // 2.单个单词用小写,yy定义为前缀,不算一个单词。
37 =2 // 3.多个单词(2个及以上),每个单词首字母大写。(有时变量名第一个单词首字母小写)
38 =2 // 4.采用内缩风格,每次缩进8个空格。
C51 COMPILER V8.02 UCOS_II 03/10/2008 11:50:50 PAGE 13
39 =2 //**********************************************************************************
40 =2
41 =2 void InitSerial() reentrant;//串口初始化
42 =2 void InitSerialBuffer(void) reentrant;//串口缓冲区初始化
43 =2 bit yygetch(unsigned char *ch) reentrant;//从串口缓冲区读1字节数据
44 =2 void PrintChar(unsigned char ch) reentrant;//显示字符
45 =2 void PrintCh(unsigned char ch) reentrant;//内部使用,不建议用户使用。
46 =2 void PrintByte(unsigned char Byte) reentrant;//以十六进制格式显示1个字节数据
47 =2 void PrintWord(unsigned int Word) reentrant;//以十六进制格式显示1个字数据
48 =2 void PrintLong(unsigned long LongWord) reentrant;//以十六进制格式显示1个长字数据
49 =2 void PrintStr(unsigned char *str) reentrant;//显示字符串
50 =2 void clrscr() reentrant;//清屏
51 =2
52 =2 void serial(void) reentrant;//串口中断服务子程序
53 =2
54 =2 //收发缓冲区长度
55 =2 #define LenTxBuf 2000 //Don't too small,because it will cause display abnormal.
56 =2 #define LenRxBuf 50
57 =2
58 =2 #define MaxLenStr 100 /*buf[MaxLenStr+1] for '\0'*/
59 =2
60 =2 #define TABNum 4 //TAB键移动长度
61 =2
25 =1 #include <reg51.h>
1 =2 /*--------------------------------------------------------------------------
2 =2 REG51.H
3 =2
4 =2 Header file for generic 80C51 and 80C31 microcontroller.
5 =2 Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
6 =2 All rights reserved.
7 =2 --------------------------------------------------------------------------*/
8 =2
9 =2 #ifndef __REG51_H__
10 =2 #define __REG51_H__
11 =2
12 =2 /* BYTE Register */
13 =2 sfr P0 = 0x80;
14 =2 sfr P1 = 0x90;
15 =2 sfr P2 = 0xA0;
16 =2 sfr P3 = 0xB0;
17 =2 sfr PSW = 0xD0;
18 =2 sfr ACC = 0xE0;
19 =2 sfr B = 0xF0;
20 =2 sfr SP = 0x81;
21 =2 sfr DPL = 0x82;
22 =2 sfr DPH = 0x83;
23 =2 sfr PCON = 0x87;
24 =2 sfr TCON = 0x88;
25 =2 sfr TMOD = 0x89;
26 =2 sfr TL0 = 0x8A;
27 =2 sfr TL1 = 0x8B;
28 =2 sfr TH0 = 0x8C;
29 =2 sfr TH1 = 0x8D;
30 =2 sfr IE = 0xA8;
31 =2 sfr IP = 0xB8;
32 =2 sfr SCON = 0x98;
33 =2 sfr SBUF = 0x99;
34 =2
35 =2
36 =2 /* BIT Register */
37 =2 /* PSW */
38 =2 sbit CY = 0xD7;
C51 COMPILER V8.02 UCOS_II 03/10/2008 11:50:50 PAGE 14
39 =2 sbit AC = 0xD6;
40 =2 sbit F0 = 0xD5;
41 =2 sbit RS1 = 0xD4;
42 =2 sbit RS0 = 0xD3;
43 =2 sbit OV = 0xD2;
44 =2 sbit P = 0xD0;
45 =2
46 =2 /* TCON */
47 =2 sbit TF1 = 0x8F;
48 =2 sbit TR1 = 0x8E;
49 =2 sbit TF0 = 0x8D;
50 =2 sbit TR0 = 0x8C;
51 =2 sbit IE1 = 0x8B;
52 =2 sbit IT1 = 0x8A;
53 =2 sbit IE0 = 0x89;
54 =2 sbit IT0 = 0x88;
55 =2
56 =2 /* IE */
57 =2 sbit EA = 0xAF;
58 =2 sbit ES = 0xAC;
59 =2 sbit ET1 = 0xAB;
60 =2 sbit EX1 = 0xAA;
61 =2 sbit ET0 = 0xA9;
62 =2 sbit EX0 = 0xA8;
63 =2
64 =2 /* IP */
65 =2 sbit PS = 0xBC;
66 =2 sbit PT1 = 0xBB;
67 =2 sbit PX1 = 0xBA;
68 =2 sbit PT0 = 0xB9;
69 =2 sbit PX0 = 0xB8;
70 =2
71 =2 /* P3 */
72 =2 sbit RD = 0xB7;
73 =2 sbit WR = 0xB6;
74 =2 sbit T1 = 0xB5;
75 =2 sbit T0 = 0xB4;
76 =2 sbit INT1 = 0xB3;
77 =2 sbit INT0 = 0xB2;
78 =2 sbit TXD = 0xB1;
79 =2 sbit RXD = 0xB0;
80 =2
81 =2 /* SCON */
82 =2 sbit SM0 = 0x9F;
83 =2 sbit SM1 = 0x9E;
84 =2 sbit SM2 = 0x9D;
85 =2 sbit REN = 0x9C;
86 =2 sbit TB8 = 0x9B;
87 =2 sbit RB8 = 0x9A;
88 =2 sbit TI = 0x99;
89 =2 sbit RI = 0x98;
90 =2
91 =2 #endif
26 =1
27 =1 //用户头文件加在最后面
28 =1 //Your head file add here.
18
19
20 #define OS_MASTER_FILE /* Prevent the following files from including includes.h */
21 #include <os_core.c>
1 =1 /*
2 =1 *********************************************************************************************************
C51 COMPILER V8.02 UCOS_II 03/10/2008 11:50:50 PAGE 15
3 =1 * uC/OS-II
4 =1 * The Real-Time Kernel
5 =1 * CORE FUNCTIONS
6 =1 *
7 =1 * (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
8 =1 * All Rights Reserved
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -