main.c

来自「UCOS-2.rar」· C语言 代码 · 共 160 行

C
160
字号
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2004-09-16
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			Chenmingji
** Created date:		2004-09-16
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#include "stdlib.h"


uint8 num[10][8]={    //0~9十个数字,字体点阵为5X8

{
  0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70
},

{
  0x20,0xE0,0x20,0x20,0x20,0x20,0x20,0xF8
},


{
  0x70,0x88,0x08,0x10,0x20,0x40,0x80,0xF8
},


{
  0x70,0x88,0x08,0x30,0x08,0x08,0x88,0x70
},

{
  0x08,0x18,0x28,0x48,0x88,0xFC,0x08,0x08 
},

{
  0xF8,0x80,0x80,0xF0,0x08,0x08,0x88,0x70
},

{

  0x30,0x40,0x80,0xF0,0x88,0x88,0x88,0x70
},

{

  0xF8,0x08,0x10,0x10,0x20,0x20,0x40,0x40
},

{

  0x70,0x88,0x88,0x70,0x88,0x88,0x88,0x70
},

{
  0x70,0x88,0x88,0x88,0x78,0x08,0x10,0x60
}};

uint8 const  M[]=  //冒号显示,点阵字体为2X7
{
  0xC0,0xC0,0x00,0x00,0x00,0xC0,0xC0
};

#define	TaskStkLengh	512		    //定义用户任务0的堆栈长度
OS_STK	TaskStk[TaskStkLengh];		// 定义用户任务0的堆栈
void 	Task0(void *pdata);			//Task0 任务0
//uint8  GUI_PutChar24_32(uint32 x, uint32 y, uint8 ch);
/****************************************************************************
* 名称: main()
* 功能: 初始化uC/OS-II操作系统,建立第一个任务,然后启动系统。
****************************************************************************/
int main(void)
{
	OSInit ();																										
	OSTaskCreate (Task0,(void *)0, &TaskStk[TaskStkLengh - 1], 2);		
	OSStart ();
	return 0;															
}




/*********************************************************************************************************
**                            Task0 任务0
** 功能:使用ZLG/GUI,在屏幕上同时显示多个"Hello ZLG/GUI!"字符串
********************************************************************************************************/
void Task0(void *pdata)
{  
    uint32 times;
    uint8  bak,shuz[6],i,xx,yy;;
	pdata = pdata;
	TargetInit ();
	GUI_Initialize();                                     // 初始化LCD
    GUI_SetColor(1, 0);                                   // 设置前景色和背景色
    srand(96169);
	while (1)
	{      
	   times=CTIME0;
       bak=(times>>16)&0x1F;                              // 获取小时
       shuz[0]=bak/10;
       shuz[1]=bak%10;
       bak=(times>>8)&0x3F;                               // 获取分钟
       shuz[2]=bak/10;
       shuz[3]=bak%10;
       bak=times&0x3F;                                    // 获取秒
       shuz[4]=bak/10;
       shuz[5]=bak%10;
      
      
      
       xx=rand()&0x7f;
       yy=rand()&0x3f;
       if(xx>(GUI_LCM_XMAX-35))
       {  
         xx=xx>>1;
       }
       if(yy>(GUI_LCM_YMAX-10))
       {  
         yy=yy>>1;
       }
       
       
       
       for(i=0;i<2;i++)
       GUI_LoadPic(5*i+xx,0+yy,*(num+shuz[i]),5,8);             //显示小时
       GUI_PutString(11+xx,0+yy,":");                           //显示冒号
       for(i=2;i<4;i++)
       GUI_LoadPic(5*i+7+xx,0+yy,*(num+shuz[i]),5,8);           //显示分钟  
       GUI_PutString(28+xx,0+yy,":");                             //显示冒号
       for(i=4;i<6;i++)
       GUI_LoadPic(5*i+xx+14,0+yy,*(num+shuz[i]),5,8);          //显示秒
       
       OSTimeDly(100);
       
       GUI_ClearSCR();                                          //清屏     
                                            
	}
}
   
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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