亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? ucos系統
?? C
字號:
/************************************************************************************
*  Copyright (c) 2004,西安銘朗電子科技有限責任公司
*            All rights reserved.
*
* 文件名稱: main.c
* 文件標識: none
* 適用器件: c8051f020
* 
* 摘 要: 本文件是ucos-ii test 程序;
* 
* 當前版本:1.0
* 作 者:李林利
* 完成日期:2004年12月12日
*
* 歷史版本:0.9 
* 原作者 : 李林利
* 完成日期:2004年1月1日
*************************************************************************************/

/************************************************************************************/
// 引用外部頭文件
#include 	"..\config\common.h"
#include 	"..\driver\driver.h"
#include 	"os.h"
#include 	"..\ucos-ii\ucos_ii.h"
/************************************************************************************/
/************************************************************************************
// 常量及全局變量定義
*************************************************************************************/
sbit  A_LED = P3^1;
sbit  B_LED = P3^2;
sbit  C_LED = P3^3;

unsigned char code  ASCII[16] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,\
								 0x41,0x42,0x43,0x44,0x45,0x46};
/************************************************************************************/
#define  A_TASK_PRIO		1
#define  B_TASK_PRIO		2
#define  C_TASK_PRIO		3
#define  START_TASK_PRIO	4


void Task_A(void *yydata); //reentrant;
void Task_B(void *yydata); //reentrant;
void Task_C(void *yydata); //reentrant;

void TaskStart (void *ddata);// reentrant;


void display_num(unsigned char type,unsigned char bits,unsigned long value);


OS_STK TaskStartStk_A[MaxStkSize];//注意:我在ASM文件中設置?STACK空間為40H即64。
OS_STK TaskStartStk_B[MaxStkSize];
OS_STK TaskStartStk_C[MaxStkSize];

OS_STK TaskStartStk[MaxStkSize];

signed long buf[256];
signed long bufb[256];
/************************************************************************************
//  系統初始化功能子程序
*************************************************************************************/

/***********************************************************************************
* 函數名稱:SYSCLK_Init;
*
* 函數功能描述:系統時鐘初始化,使用外部22.1184MHz晶振作為時鐘源;
*              
* 輸入參數:none;
*
* 返回數據:none;
*
* 注意:    none;
************************************************************************************/

void SYSCLK_Init (void)
{
   int i;                              // 延時計數器

   OSCXCN = 0x67;                      // 使用外部22.1184MHz晶振

   for(i=0; i<256; i++);               // 等待1ms

   while(!(OSCXCN & 0x80));            // 等待外部振蕩器穩定

   OSCICN = 0x88;                      // 切換到外部晶振
}

/***********************************************************************************
* 函數名稱:PORT_Init;
*
* 函數功能描述:配置端口初始化,配置交叉開關和端口;
*              
* 輸入參數:none;
*
* 返回數據:none;
*
* 注意:    none;
************************************************************************************/
void PORT_Init (void)
{
	XBR0 	= 0x1F;         //設置XBR0
	XBR1 	= 0x1E;         //設置XBR1
	XBR2 	= 0x44;         //打開交叉開關和弱上拉   
	P0MDOUT = 0x15;			//設置P0口輸出
	P0	   |= 0xEA;			//P0口的輸入腳高阻態
	P1MDIN  = 0x00;			//設置P1口輸入信號類型
	P1MDOUT = 0x00;			//設置P1口輸出
	P1		= 0xFF;			//P1口高阻態
	P2MDOUT = 0x01;			//設置P2口輸出
    P2 	   |= 0xFE;			//設置P2口輸出
	P3MDOUT = 0xFE;			//設置P3口輸出
	P3	   |= 0x01;			//設置P3口輸出
	P3 	   &= 0xEF;			//P3.4口置0,禁鈴

    P74OUT  = 0xF7;			//設置P4-P7口輸出
    P5	   |= 0xF0;			//鍵盤輸入P5口高4位高阻態
    //EMI0CF	= 0x2D;			//外部存儲器接口配置
    //EMI0TC	= 0x9E;			//外部存儲器時序控制
}

void display_num(unsigned char type,unsigned char bits,unsigned long value)
{
	unsigned char i;
	unsigned short k;

	if (type==0)
	{
		Uart0_SendByte('0');
		Uart0_SendByte('x');

		if (bits==8)
		{
			i = value&0x000000ff;

			Uart0_SendByte(ASCII[i>>4]);
			Uart0_SendByte(ASCII[i&0x0f]);
		}
		else if (bits==16)
		{
			k = value&0x0000ffff;

			Uart0_SendByte(ASCII[k>>12]);
			Uart0_SendByte(ASCII[(k>>8)&0x0f]);
			Uart0_SendByte(ASCII[(k>>4)&0x0f]);
			Uart0_SendByte(ASCII[k&0x0f]);
		}

		else if (bits==32)
		{
			k = (value>>16)&0x0000ffff;

			Uart0_SendByte(ASCII[k>>12]);
			Uart0_SendByte(ASCII[(k>>8)&0x0f]);
			Uart0_SendByte(ASCII[(k>>4)&0x0f]);
			Uart0_SendByte(ASCII[k&0x0f]);

			k = value&0x0000ffff;
			Uart0_SendByte(ASCII[k>>12]);
			Uart0_SendByte(ASCII[(k>>8)&0x0f]);
			Uart0_SendByte(ASCII[(k>>4)&0x0f]);
			Uart0_SendByte(ASCII[k&0x0f]);

		}

	}
	if (type==1)
	{
		if (bits==8)
		{
			i = value&0x000000ff;

			Uart0_SendByte(ASCII[i/100]);
			Uart0_SendByte(ASCII[(i%100)/10]);
			Uart0_SendByte(ASCII[i%10]);
		}
		else if (bits==16)
		{
			k = value&0x000000ff;

			Uart0_SendByte(ASCII[k/10000]);
			Uart0_SendByte(ASCII[(k%10000)/1000]);
			Uart0_SendByte(ASCII[(k%1000)/100]);
			Uart0_SendByte(ASCII[(k%100)/10]);
			Uart0_SendByte(ASCII[i%10]);


		}

	
	}


}

void main(void)
{
    
	 WDTCN = 0xde;                       // disable watchdog timer
     WDTCN = 0xad;

     SYSCLK_Init();                     // initialize oscillator
     PORT_Init();                       // initialize crossbar and GPIO
	 
	//LCDC_Init();
	//LCDC_DisFull(Clr);
	//dis_start0();
	
	Uart0_Init(115200);
	Uart0_SendString("*******************************************************************************\n");
	Uart0_SendString("* 	Copyright (c) 2004,西安銘朗電子科技有限責任公司\n");
	Uart0_SendString("*		All rights reserved.   \n");
	Uart0_SendString("*		   \n");
	Uart0_SendString("*		web:www,mlarm.com\n");
	Uart0_SendString("*		UCOS-II Test program.\n");
	Uart0_SendString("*		Write By: Gavin Li\n");
	Uart0_SendString("********************************************************************************\n");
	

	OSInit();    
    InitTimer0(SYSCLK);      
	OSTaskCreate(TaskStart, (void *)0, (void *)&TaskStartStk[0], START_TASK_PRIO);
    
    OSStart();
}


void TaskStart (void *ddata) //reentrant
{
    ddata = ddata;                                        /* Prevent compiler warning                 */

    OSStatInit();                                          /* Initialize uC/OS-II's statistics         */

    OSTaskCreate(Task_A, (void *)0, &TaskStartStk_A[0],A_TASK_PRIO);
    OSTaskCreate(Task_B, (void *)0, &TaskStartStk_B[0],B_TASK_PRIO);
    OSTaskCreate(Task_C, (void *)0, &TaskStartStk_C[0],C_TASK_PRIO);

    for (;;) 
	{
        Uart0_SendString("Tasks  =");		
		display_num(1,8,OSTaskCtr);
		Uart0_SendString("\r\n");

		Uart0_SendString("CPU Usage =");		
		display_num(1,8,OSCPUUsage);
		Uart0_SendString("%\r\n");

		Uart0_SendString("Task switch/sec =");		
		display_num(1,8,OSCtxSwCtr);
		Uart0_SendString("\r\n");

		OSCtxSwCtr = 0;
        OSTimeDly(OS_TICKS_PER_SEC);                         /* Wait one second                          */
    }
}







void Task_A(void *yydata) //reentrant
{
    unsigned char i;


	for (i=0;i<255;i++)
			buf[i] = i*1000;

	yydata=yydata;
     
    for(;;){
        Uart0_SendString("Task_A is active.\n");
		A_LED = ~A_LED;
		for (i=0;i<255;i++)
			buf[i] = buf[i]*buf[i];

	    OSTimeDly(OS_TICKS_PER_SEC/2);    
    }    
}

void Task_B(void *yydata) //reentrant
{
    
	unsigned char i;
	for (i=0;i<255;i++)
			bufb[i] = i*1000;

	yydata=yydata; 
    
    for(;;){
        Uart0_SendString("Task_B is active.\n");
		B_LED = ~B_LED;
		for (i=0;i<255;i++)
			bufb[i] = bufb[i]*bufb[i];
        OSTimeDly(OS_TICKS_PER_SEC);    
    }    
}

void Task_C(void *yydata) //reentrant
{
    signed long bufc[150];
	unsigned char i;
	for (i=0;i<150;i++)
			bufc[i] = i*1000;

	yydata=yydata; 
    
    for(;;){
        Uart0_SendString("Task_C is active.\n");
		C_LED = ~C_LED;
		for (i=0;i<150;i++)
			bufc[i] = bufc[i]*bufc[i];
        OSTimeDly(2*OS_TICKS_PER_SEC);    
    }    
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
婷婷六月综合亚洲| 精品国一区二区三区| 亚洲色图另类专区| 99久久婷婷国产| 亚洲三级视频在线观看| 欧美影院一区二区| 天堂av在线一区| 欧美大胆人体bbbb| 国产一区二区精品久久91| 国产精品乱码人人做人人爱| 色婷婷综合久久久久中文| 亚洲成人免费电影| 精品成人私密视频| 国产99久久久国产精品潘金| 一区二区三区中文字幕| 欧美精品18+| 国产精品538一区二区在线| 中文字幕一区二区三区视频| 欧美日韩成人综合天天影院| 极品美女销魂一区二区三区免费| 日本一区二区视频在线| 一本一本久久a久久精品综合麻豆| 午夜欧美一区二区三区在线播放| 精品少妇一区二区三区在线视频| 成人综合在线视频| 亚洲一区二区免费视频| 26uuu国产电影一区二区| 91丨porny丨户外露出| 日韩av一级电影| 国产精品欧美极品| 欧美久久久久免费| 国产成人av影院| 天天影视色香欲综合网老头| 国产三级一区二区| 欧美在线你懂的| 国产精品一区不卡| 亚洲成av人片在线| 欧美国产成人精品| 4438x亚洲最大成人网| 高清成人在线观看| 麻豆国产欧美日韩综合精品二区| 一区精品在线播放| 欧美电视剧在线观看完整版| 色噜噜狠狠色综合中国| 国产在线播放一区| 日韩中文字幕91| 亚洲免费资源在线播放| 久久久久久免费| 日韩视频国产视频| 欧美视频中文字幕| 91美女片黄在线| 粉嫩av一区二区三区粉嫩| 全部av―极品视觉盛宴亚洲| 亚洲美女在线国产| 中文字幕av一区二区三区| 678五月天丁香亚洲综合网| 色老汉一区二区三区| 成人午夜av在线| 国产精品亚洲а∨天堂免在线| 韩国理伦片一区二区三区在线播放| 亚洲日本在线观看| 国产日韩欧美综合在线| 精品福利av导航| 欧美乱妇一区二区三区不卡视频| 色婷婷综合激情| av综合在线播放| 99久久久无码国产精品| 成人av午夜电影| 成人午夜大片免费观看| 国产成人aaa| 成人国产一区二区三区精品| 粉嫩久久99精品久久久久久夜 | 欧美日韩精品一区二区天天拍小说| 成人免费黄色在线| 国产99久久久国产精品| 国产jizzjizz一区二区| 国产成人精品一区二区三区四区| 国产老肥熟一区二区三区| 国内精品伊人久久久久av影院 | 亚洲尤物在线视频观看| 136国产福利精品导航| 一色桃子久久精品亚洲| 亚洲欧美色一区| 一区二区成人在线观看| 一区二区成人在线| 三级影片在线观看欧美日韩一区二区| 亚洲一区在线看| 日本少妇一区二区| 久久99国产乱子伦精品免费| 精品一区二区日韩| 国产剧情av麻豆香蕉精品| 懂色av一区二区夜夜嗨| av电影一区二区| 欧美在线影院一区二区| 91精品国产一区二区人妖| 精品国产麻豆免费人成网站| 久久精品一区二区三区不卡| 国产精品视频yy9299一区| 日韩一区在线看| 午夜精品国产更新| 精品一区二区三区在线播放视频 | 蜜臀va亚洲va欧美va天堂 | 成人免费一区二区三区在线观看| 亚洲视频狠狠干| 日韩精品欧美成人高清一区二区| 久久精品久久精品| 国产成人在线观看| 欧美自拍丝袜亚洲| 欧美成va人片在线观看| 国产精品传媒视频| 石原莉奈一区二区三区在线观看| 国产一区二区伦理| 在线国产电影不卡| 精品国产一区二区三区久久影院 | 国产亚洲视频系列| 亚洲精品伦理在线| 久草精品在线观看| 91老司机福利 在线| 日韩一级在线观看| 亚洲免费观看高清在线观看| 精品一区二区三区在线观看| 日韩精品一区在线| 国产精品色婷婷久久58| 日韩—二三区免费观看av| 国产精品一区二区91| 欧美日韩精品三区| 日本一区二区三区四区| 石原莉奈一区二区三区在线观看| 成人污视频在线观看| 欧美一区二区在线免费观看| 国产精品第四页| 国产麻豆一精品一av一免费 | 日本韩国一区二区三区视频| 日韩欧美精品在线视频| 一区二区三区在线视频观看58| 精品无人区卡一卡二卡三乱码免费卡 | 日日骚欧美日韩| 成人黄色777网| 久久久精品tv| 久久99蜜桃精品| 欧美日韩在线播放| 国产精品看片你懂得| 另类的小说在线视频另类成人小视频在线| thepron国产精品| 久久人人97超碰com| 免费久久99精品国产| 欧美午夜精品久久久久久超碰| 国产精品视频看| 国产福利91精品| 精品国产污网站| 美女一区二区视频| 91麻豆精品国产综合久久久久久| 一区二区三区欧美亚洲| 成人精品国产免费网站| 国产欧美一区二区在线| 国产中文一区二区三区| 欧美v国产在线一区二区三区| 天堂一区二区在线| 欧美美女bb生活片| 亚洲国产精品久久不卡毛片| 91精品办公室少妇高潮对白| 亚洲美女精品一区| 91视频精品在这里| 亚洲人成网站精品片在线观看| 成人高清av在线| 国产精品日韩精品欧美在线| 国产成人一区在线| 国产精品入口麻豆九色| 成人精品国产福利| 亚洲女同一区二区| 在线观看一区二区视频| 亚洲国产一区二区视频| 欧美日韩国产中文| 日本91福利区| 久久亚洲捆绑美女| 国产成人免费视频精品含羞草妖精| 26uuu久久天堂性欧美| 国产福利一区二区三区| 国产精品电影一区二区| 日本韩国欧美一区| 亚洲福利视频导航| 日韩欧美不卡在线观看视频| 久久激情综合网| 国产无遮挡一区二区三区毛片日本| 国产不卡高清在线观看视频| 国产精品女人毛片| 色噜噜偷拍精品综合在线| 丝袜美腿成人在线| 久久女同性恋中文字幕| 成人av电影在线观看| 亚洲一区二区3| 日韩色视频在线观看| 成人久久视频在线观看| 一区二区三区毛片| 欧美一区二区三区思思人 | 国产成人av一区二区三区在线| 国产精品乱码一区二区三区软件 | 在线免费观看不卡av| 日本系列欧美系列| 国产午夜精品理论片a级大结局|