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

📄 main.c

📁 本程序在博创ARM3000实验箱已运行证明可行.移植了uC/OS-II操作系统,使用的是MiNiGUI,微控制芯片是S3C44B0
💻 C
📖 第 1 页 / 共 2 页
字号:
	 						   
					           y1=y;
					           		           
					           for(i=0;i<16;i++)
					            {
					               x1=x;
					               temp=Hanzi[i];
					              
				              
					              for(j=0;j<16;j++)
					               {
					                   if(temp & 0x8000)
					                   {
					                    Set_pixel(x1,y1,0x00);
					                    temp=temp<<1;
					                    x1++;
					                   }
					                   else  
					                   {
					                     temp=temp<<1;
					                     x1++;
					                    }					                   
					               }
					                    y1++;  
					             }

					         
					         }


				         
                               
	//***************************************************************/
	//*函数名:Disp_Hanzi											*/
	//*输入参数:点坐标(X,Y)										    */
	//*         color :颜色										*/
	//*输出: 无											   			*/			
	//*功能: 设置某一点的颜色										*/
	//***************************************************************/ 
	
					void  Disp_Hanzi8( U8 Hanzi[],u16 x,u16 y)
					        {
					           u16  i,j;
					           U8  temp;
					           u16  x1,y1; 
					           
	 						   
					           y1=y;
					           		           
					           for(i=0;i<32;i++)
					            {
					               temp=Hanzi[i];
					              
				              
					              for(j=0;j<8;j++)
					               {
					                   if(temp & 0x80)
					                   {
					                    Set_pixel(x1,y1,0x00);
					                    temp=temp<<1;
					                    x1++;
					                   }
					                   else  
					                   {
					                     temp=temp<<1;
					                     x1++;
					                    }					                   
					               }
					                    if(i%2==1)  
					                      {  y1++;
					                         x1=x;
					                      }  
					             }
					             
					                // LCD_Refresh() ;		             
					         
					         }
					         
	//***************************************************************/
	//*函数名:Disp_Hanzi											*/
	//*输入参数:点坐标(X,Y)										    */
	//*         color :颜色											*/
	//*输出: 无											   			*/			
	//*功能: 设置某一点的颜色										*/
	//***************************************************************/ 
	
						void  setshu(U16 x,U16 y,U16 shu)
					        {
					           int j;
					           u16  temp;
					           u16  x1,y1;
					           
					           
					           x1=x;
					           y1=y;
					           temp=shu;
					            
					           for(j=0;j<16;j++)
					               {
					                  
					                   if(temp & 0x80)
					                   {
					                    Set_pixel(x1,y1,0x00);
					                    temp=temp<<1;
					                   }
					                   else  
					                    { temp=temp<<1;
					                      x1++;
					                    }					                   
					               }
					         
					         }	
					         
					         
	//***************************************************************/
	//*函数名:dispscore												*/
	//*输入参数:data											    */
	//*         color :颜色											*/
	//*输出: u16											   		*/			
	//*功能: 实现一整数的转换										*/
	//***************************************************************/ 					         
					         						                     		
  	  		u16  dispscore(u16 data)
	  		  {    
	   
 	 				char    score[6];
 	 				score[0]=data/100+0x30;
 					score[1]=(data/10)%10+0x30;
 					score[2]=data%10+0x30;
 					score[3]=0x30;
 					score[4]=0x30;	  
					score[5]=0x00;
					return(score);	
			  }	                                              	
//////////////////////////////////////////////////////////////////////////
					         
	//***************************************************************/
	//*函数名:Disp_Hanzi											*/
	//*输入参数:点坐标(X,Y)										    */
	//*         color :颜色											*/
	//*输出: 无											   			*/			
	//*功能: 设置某一点的颜色										*/
	//***************************************************************/ 
	
					/*	void  dispscore(U16 shuzhi)
							{

 								u16   shu;
 								shu=shuzhi;
 	
 								score[0]=data/100+0x30;
 								score[1]=(data/10)%10+0x30;
 								score[2]=data%10+0x30;
 								score[3]=0x30;
 								score[4]=0x30;	  
								score[5]=0x00;	
								
								
							}//*/


/////////////////////////////////////////////////////
//                  Main function.                //
////////////////////////////////////////////////////

int main(void)
{
	ARMTargetInit(); //开发板初始化
	OSInit(); //操作系统初始化      
	uHALr_ResetMMU();//复位MMU
	LCD_Init();             //初始化LCD模块
	LCD_printf("LCD initialization is OK\n");//向液晶屏输出数据
	LCD_printf("320 x 240  Text Mode\n");
	initOSGUI();//初始化图形界面
	LoadFont();//调Unicode字库
	LoadConfigSys();//使用config.sys文件配置系统设置
	LCD_printf("Create task on uCOS-II...\n");
	OSTaskCreate(Main_Task,  (void *)0,  (OS_STK *)&Main_Stack[STACKSIZE*8-1],  Main_Task_Prio);// 创建系统任务
	OSAddTask_Init();//创建系统附加任务
	LCD_printf("Starting uCOS-II...\n");
	LCD_printf("Entering graph mode...\n");
	LCD_ChangeMode(DspGraMode);//变LCD显示模式为文本模式
	InitRtc();//初始化系统时钟
	Nand_Rw_Sem=OSSemCreate(1);   //创建Nand-Flash读写控制权旗语,初值为1满足互斥条件//
	OSStart();//操作系统任务调度开始
	//不会执行到这里
	return 0;
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Main_Task(void *Id)             //Main_Test_Task
{
	POSMSG pMsg;
	int oldrang_x,oldrang_y;
	PDC pdc;
	
    char    zhanji[6];
	U16   fengshu[6];

	
	u16  i;
	
	pdc=CreateDC();
	

 	   ClearScreen();
   

	SetKuang( pdc, 0x00,  5, 12, 7, 309, 234) ;  
	Setbk(pdc, 0x00ff00, 20 );	
					
	for(i=0;i<100;i++)
	{
	
    volatile  u16  data1; 
    	
	data1+=1;	    

	zhanji= dispscore(data1);
	strChar2Unicode(fengshu, zhanji);
	TextOut(pdc, 134, 70, fengshu, TRUE,FONTSIZE_MIDDLE);
	 LCD_Refresh();
	 OSTimeDly(300);	
	}

 	LCD_Refresh();	 			
	//Disp_Hanzi8(Hanzi02, 60, 60);
	
    //TextOut(pdc, 70, 70, fengshu, TRUE,FONTSIZE_SMALL);
   
    while(1);
	DestoryDC(pdc);
}

⌨️ 快捷键说明

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