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

📄 main.c

📁 S44B0XII_V30开发板配接C57液晶屏套件的相关源码
💻 C
字号:
#include "option.h"
#include "def.h"
#include "44b.h"
#include "44blib.h"


#include "GUI.H"
#include "DIALOG.H"
#include "WM.h"

#include "button.h"
#include "progbar.h"

extern void ADS7843_Init( void ) ;
extern void Touch_Panel_Press_Center( void ) ;

extern const GUI_BITMAP bmfantsy;
extern const GUI_BITMAP bmfrog;
extern const GUI_BITMAP bmucdragon_320_320;
extern const GUI_BITMAP bmWaterlilies;

extern const GUI_BITMAP bmHondaS2K1;
extern const GUI_BITMAP bmHondaS2K2;
extern const GUI_BITMAP bmLuigi;
extern const GUI_BITMAP bmMario;
extern const GUI_BITMAP bmRebeccaRomijnStamos;
extern const GUI_BITMAP bmtwins;

/******************************************************************************
【功能说明】系统主函数
******************************************************************************/
void Main(void)
{
	int i;
		
    rSYSCFG = CACHECFG;   // Using 8KB Cache//

    Port_Init();
    ADS7843_Init() ;		//触摸屏ADS7843初始化
    Timer3_TouchExe_Init();		//定时器初始化
    Uart_Init(0,115200);
    Delay(0);
    Uart_Select(0);
    	
    Uart_Printf( "\n\t FS44B0XII V3.00 uC/GUI Demo\n" ) ;
    Uart_Printf( "\t Updata at 2004/12/28 By GongJun\n" ) ;
    About_Function() ;
    
    GUI_Init();
     
	while(1)
	{
		GUI_Clear();
		
	    GUI_DrawBitmap(&bmucdragon_320_320,0,0);		//显示图片
	    Delay(40000) ;
	    
		//*********************************************************************
		Uart_Printf( "\n\n\t触摸屏校准\n" ) ;
	    _ExecCalibration();		//触摸屏自校准
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
	    
	    //_TestCalibration();		WaitKey();
	    //_ExecKeyboard();		WaitKey();

	    GUI_Clear();
	    GUI_SetBkColor(GUI_RED);
	    GUI_SetColor(GUI_WHITE);
		GUI_SetFont(&GUI_Font24_ASCII);
		GUI_DispString("\n\nFS44B0XII V3.00 uC/GUI Demo ");
		GUI_DispString("\n\nHttp://www.uCdragon.com ");
	    GUI_SetFont(&GUI_Font8x16);
		GUI_DispString("\n\nTouch the center of LCD to continue...");
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
		
		Uart_Printf( "\n\n\t各种字体演示" ) ;
		GUI_Clear();
		GUI_SetFont(&GUI_Font6x8);
	    GUI_DispString("\nGUI_Font6x8");
	    GUI_SetFont(&GUI_Font8x8);
	    GUI_DispString("    GUI_Font8x8");
	    GUI_SetFont(&GUI_Font8_ASCII);
	    GUI_DispString("\nGUI_Font8_ASCII");
	    GUI_SetFont(&GUI_Font8x16);
	    GUI_DispString("    GUI_Font8x16");
	    GUI_SetFont(&GUI_Font16_ASCII);
	    GUI_DispString("\nGUI_Font16_ASCII");
	    GUI_SetFont(&GUI_Font16B_ASCII);
	    GUI_DispString("\nGUI_Font16B_ASCII");
	    GUI_SetFont(&GUI_Font16B_ASCII);
	    GUI_DispString("\nGUI_Font16B_ASCII");
	    GUI_SetFont(&GUI_Font24_ASCII);
	    GUI_DispString("\nGUI_Font24_ASCII");
	    GUI_SetFont(&GUI_FontComic24B_ASCII);
	    GUI_DispString("\nGUI_FontComic24B_ASCII");
	    GUI_SetFont(&GUI_Font32_ASCII);
	    GUI_DispString("\nGUI_Font32_ASCII");
	    GUI_SetFont(&GUI_Font32B_ASCII);
	    GUI_DispString("\nGUI_Font32B_ASCII");
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
	    
		Uart_Printf( "\n\n\t色彩演示(本LCD最高支持256色)" ) ;
	    GUI_Clear();
	    GUI_SetFont(&GUI_Font16_ASCII);
	    GUI_DispString("\n    Colors Demo");
		ShowColorBar();
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
		/*
		Uart_Printf( "\n\n\t位图演示" ) ;
		GUI_Clear();
		GUI_SetBkColor(GUI_BLUE);
	    GUI_SetColor(GUI_WHITE);
	    GUI_SetFont(&GUI_Font16_ASCII);
		GUI_DispStringAt("Bitmap Demo",120,20);
	    GUI_SetFont(&GUI_Font8x16);
		GUI_DispStringAt("Touch the center of LCD to continue...",10,112);
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
	    GUI_DrawBitmap(&bmHondaS2K1,0,0);		
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
	    GUI_DrawBitmap(&bmHondaS2K2,219,0);		
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
	    GUI_DrawBitmap(&bmLuigi,0,160);		
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
	    GUI_DrawBitmap(&bmMario,219,160);		
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
	    GUI_DrawBitmap(&bmtwins,110,80);		
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
		*/
		Uart_Printf( "\n\n\t画图演示" ) ;
		GUI_Clear();
	    GUI_DrawBitmap(&bmfrog,0,0);
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步

		Uart_Printf( "\n\n\t画图演示" ) ;
		GUI_Clear();
	    GUI_DrawBitmap(&bmucdragon_320_320,0,0);
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
	    
	    /*
		Uart_Printf( "\n\n\t绘图函数演示1" ) ;
		GUI_Clear();
		GUI_SetBkColor(GUI_BLUE);
	    GUI_SetColor(GUI_WHITE);
	    GUI_SetFont(&GUI_FontHZ12);
		GUI_DispString("绘图函数演示1");
	    GUI_SetDrawMode(GUI_DRAWMODE_NORMAL);
	    GUI_FillCircle(120, 64, 40);
	    GUI_SetDrawMode(GUI_DRAWMODE_XOR);
	    GUI_FillCircle(140, 84, 40);
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
		
		Uart_Printf( "\n\n\t绘图函数演示2" ) ;
		GUI_Clear();
		DrawPolygon();
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
		
		Uart_Printf( "\n\n\t绘图函数演示3" ) ;
		GUI_Clear();
		for (i=10; i<50; i++)
			GUI_DrawCircle(100,100,i);
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
		
		Uart_Printf( "\n\n\t绘图函数演示4" ) ;
	    GUI_Clear();
	    GUI_SetColor(0xff);
	    GUI_FillEllipse(100, 100, 50, 70);
	    GUI_SetColor(0x0);
	    GUI_DrawEllipse(100, 100, 50, 70);
	    GUI_SetColor(0x000000);
	    GUI_FillEllipse(100, 100, 10, 50);
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
	    
		Uart_Printf( "\n\n\t绘图函数演示5" ) ;
	    GUI_Clear();
	    DemoAntialiasing();
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
		*/
		Uart_Printf( "\n\n\t消息窗口演示" ) ;
		GUI_SetDefault();
		GUI_Clear();
		GUIDEMO_Messagebox();
		
		Uart_Printf( "\n\n\t颜色调整演示" ) ;
		Dialog_SliderClolor();
		
		Uart_Printf( "\n\n\t对话框演示" ) ;
	    Dialog_All();
	    
		Uart_Printf( "\n\n\t仪表盘演示1" ) ;
	    GUI_Clear();
	    ShowHiresAntialiasing();
	    
		Uart_Printf( "\n\n\t仪表盘演示2" ) ;
	 	DemoScale();
	    
		Uart_Printf( "\n\n\t进度条演示" ) ;
	    Widget_Progbar();
	    /*
		Uart_Printf( "\n\n\t列表框演示" ) ;
	    DemoListbox();
	    
		Uart_Printf( "\n\n\t电话按键演示" ) ;
	    DemoButton();
	    */
		Uart_Printf( "\n\n\t旋转多边形(分层图形)演示" ) ;
	 	GUI_Clear();	
	    DemoBandingMemdev();
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
	    
		Uart_Printf( "\n\n\t波形演示" ) ;
	 	GUI_Clear();	
	    Demo_DrawGraph();

	    GUI_Clear();
	    GUI_SetBkColor(GUI_BLUE);
	    GUI_SetColor(GUI_WHITE);
		GUI_SetFont(&GUI_Font24_ASCII);
		GUI_DispString("\n\nuC/GUI Demo is finished!!! ");
	    GUI_SetFont(&GUI_Font8x16);
		GUI_DispString("\n\nTouch the center of LCD to replay...");
	    Touch_Panel_Press_Center() ;		//等待直到触摸笔点击屏幕中心点再进入下一步
	}

}
//*******************************************************************************************************

//*******************************************************************************************************
void DebugUNDEF(void)
{
	Uart_Printf("Enter DebugUNDEF");

	while(1)
	{
		Led_Display( 0xf ) ;		Delay( 1000 ) ;
		Led_Display( 0x0 ) ;		Delay( 1000 ) ;
	}
}

//*******************************************************************************************************
void DebugSWI(void)
{
	Uart_Printf("Enter DebugSWI");

	while(1)
	{
		Led_Display( 0xf ) ;		Delay( 1000 ) ;
		Led_Display( 0x0 ) ;		Delay( 1000 ) ;
	}
}

//*******************************************************************************************************
void DebugPABORT(void)
{
	Uart_Printf("Enter DebugPABORT");

	while(1)
	{
		Led_Display( 0xf ) ;		Delay( 1000 ) ;
		Led_Display( 0x0 ) ;		Delay( 1000 ) ;
	}
}

//*******************************************************************************************************
void DebugDABORT(void)
{
	Uart_Printf("Enter DebugDABORT");

	while(1)
	{
		Led_Display( 0xf ) ;		Delay( 1000 ) ;
		Led_Display( 0x0 ) ;		Delay( 1000 ) ;
	}
}

//*******************************************************************************************************
void DebugFIQ(void)
{
	Uart_Printf("Enter DebugFIQ");

	while(1)
	{
		Led_Display( 0xf ) ;		Delay( 1000 ) ;
		Led_Display( 0x0 ) ;		Delay( 1000 ) ;
	}
}
//*******************************************************************************************************

/********************************************************************************************************
【功能说明】
********************************************************************************************************/
void Isr_Init(void)
{
    rINTMSK=BIT_GLOBAL;	  // All interrupt is masked.
    //rINTCON=0x1;	  // Vectored Int. IRQ enable,FIQ disable
	rINTCON=0x5;    //Non-vectored,IRQ enable,FIQ disable 
    rINTMOD=0x0;    //All=IRQ mode
    
    pISR_UNDEF=(unsigned)DebugUNDEF ;
    pISR_SWI  =(unsigned)DebugSWI ;
    pISR_PABORT=(unsigned)DebugPABORT ;
    pISR_DABORT=(unsigned)DebugDABORT ;
}
//******************************************************************************************************

⌨️ 快捷键说明

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