⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os.h

📁 MCS-51的一个小型操作系统,在KeilC中大模式下编译工作
💻 H
字号:
#include"c8051f.h" 
#include"OS_INIT_SP.H"		//系统初始化头文件
#define uint  unsigned int
#define uchar unsigned char
#define ulong unsigned long 
#define uint  unsigned int
#define uchar unsigned char
#define ulong unsigned long
#define SYSCLK 11059200		 //晶振频率
#define SYTIMEISR 50		 //系统时钟中断时间(ms)
#define NULL (void *)0L
#define OK   1

/*任务状态*/
#define WAIT_MSG  0X00       
#define WAIT_TIME 0X01 
#define READY     0X02  
#define TEST   1 			 //测试代码条件编译 

/*任务表*/
typedef struct task_b				 
{ 
 uchar xdata *sp_start;		   //任务堆栈底指针
 uchar sp_size;
 uchar flg;				       //任务状态
 //uchar prio;	 			   //任务指针
 struct task_msg *msg ;			   //任务接收消息结构体指针
 uchar timedal;			   //任务挂起延迟时间
}task_link;
extern task_link xdata  OSPCB[N+1];	 	    //TASK zhuang tai link


/*操作系统全局变量*/
extern uchar data  Prio;
extern uchar data  *spend;
extern uchar data  ISR_num;
extern uchar data  OSRdyGrp;	        
extern uchar data  OSRdyTab[TASK_8N];
extern uchar code  OSMapTab[8];
extern uchar code  OSUnMapTab[256];	 
/*操作系统全局函数*/
extern void Task_Init(uchar i,void(*addr)(void),uchar xdata *Task_sta);
extern void OS_RdyTask(uchar prio);	      //使一个任务就绪
extern void OSTask_TimeDal(uchar TimeDal);//使一个任务时间延迟
extern void OSISR_Task_Sched(void);		  //切换任务函数
extern void OSInit_task(); 				  //任务堆栈初始化	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -