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

📄 demo.c

📁 Radio公司的最新控制器RA8806只要一条命令就可以实现硬件上90度的滚屏效果
💻 C
字号:
/*******************************************************************************
*
*	Filename :	Demo.c
*
*	Author :	Tony Kan
*	Author Date :	2007/08/21
*	Company :	RAiO Technology	Inc.
*	Case :		320 x 240
*	Device :	MXIC MX10E8050IQC at 18.432MHZ
*	Modifier :	
*	Modify Date :	
*	Visions : 	X
*	Compiled Using Keil C v7.50
*
*******************************************************************************/

#include "Demo.h"

/******************************************************************************/
/*Main program area		  													  */
/******************************************************************************/
void main(void)
{
//	int i;
	uchar state;
	
	P0 = 0xff;
	P1 = 0xff;
	P2 = 0xff;
#ifdef Parallel_8080
	P3 = 0xff;
#endif

#ifdef Parallel_6800
	P3 = 0x77;
#endif

#ifdef Parallel_8080_4bit
	P3 = 0xff;
#endif

#ifdef Real_8080
	P3 = 0xff;
#endif

	AUXR = B0000_0011;	//Enable MOVX for external interface

	LCD_Reset();
	LCD_Initial();

	LCD_CmdWrite(BTMR);	
	LCD_DataWrite(0x20);

	LCD_CmdWrite(ITCR);	
	LCD_DataWrite(0xff);

	LCD_ON();
	
	while(1)
	{
		LCD_Clear();

		switch(state)
		{
			case 0x00:
				Display_Text();
				break;

			case 0x01:
				Display_Picture();
				break;

			case 0x02:
				Display_Ratate_90();
				break;

			case 0x03:
				Display_Touch();
				break;
		}
		Delay100ms(20);
		state++;
		if(state == 0x04) state = 0;
	}	
}

void Display_Text(void)
{
	uchar i;

	Access_Page1();
	Only_Show_Page1();
	LCD_Text();

	LCD_GotoXY(0,0);
	LCD_CmdWrite(0xb0);
	for(i=0;i<40;i++)
	{
		LCD_DataWrite(sRAiO1[i]);
		Delay1ms(1);
	}

	for(i=0;i<40;i++)
	{
		LCD_DataWrite(sRAiO2[i]);
		Delay1ms(1);
	}

	LCD_Inv();
	LCD_CmdWrite(0xb0);
	for(i=0;i<40;i++)
	{
		LCD_DataWrite(sRAiO3[i]);
		Delay1ms(1);
	}
	LCD_NoInv();

	LCD_CmdWrite(0xb0);
	for(i=0;i<40;i++)
	{
		LCD_DataWrite(sRAiO2[i]);
		Delay1ms(1);
	}

	LCD_FontSize(15);
	LCD_GotoXY(0,80);
	LCD_CmdWrite(0xb0);
	for(i=0;i<10;i++)
	{
		LCD_DataWrite(sRAiO5[i]);
		Delay1ms(5);
	}
	LCD_FontSize(0);

	LCD_GotoXY(0,160);
	LCD_CmdWrite(0xb0);
	for(i=0;i<40;i++)
	{
		LCD_DataWrite(i);
		Delay1ms(1);
	}

	LCD_Bold();
	LCD_CmdWrite(0xb0);
	for(i=40;i<80;i++)
	{
		LCD_DataWrite(i);
		Delay1ms(1);
	}
	LCD_NoBold();

	LCD_CmdWrite(0xb0);
	for(i=40;i<120;i++)
	{
		LCD_DataWrite(i);
		Delay1ms(1);
	}
}

void Display_Picture(void)
{
	int i;
	LCD_Graphic();
	LCD_GotoXY(0,0);
	LCD_CmdWrite(0xb0);
	for(i=0;i<9600;i++)
		LCD_DataWrite(gImage_pic1[i]);
}

void Display_Ratate_90(void)
{
	int i;
	LCD_Text();
	LCD_Rotate90();
	COM_DIR_239_0();
	LCD_LineDist_Adjust(8);

	LCD_GotoXY(0,0);
	LCD_CmdWrite(0xb0);
	for(i=0;i<159;i++)
	{
		LCD_DataWrite(sRAiO6[i]);
		Delay1ms(10);
	}
}

void Display_Touch(void)
{
	uchar Debounce_count = 0;
	uchar temp2,X1,Y1,X2,Y2;
	int i, Timer_count = 0;

	LCD_LineDist_Adjust(0);
	LCD_Rotate90_Disable();
	COM_DIR_0_239();
	LCD_FontSize(5);

	LCD_Text();
	LCD_GotoXY(4,12);
	LCD_CmdWrite(0xb0);
	for(i=0;i<16;i++)
	{
		LCD_DataWrite(sRAiO7[i]);
		Delay1ms(1);
	}
	LCD_FontSize(0);

	LCD_GotoXY(0,220);
	LCD_CmdWrite(0xb0);
	for(i=0;i<40;i++)
	{
		LCD_DataWrite(sRAiO8[i]);
		Delay1ms(1);
	}

	Access_Page1();
	Only_Show_Page1();

	LCD_CmdWrite(0xC0);				// Enable Touch Panel Function
	LCD_DataWrite(0xC4);

	while(1)
	{
 		Debounce_count = 0;			// initial Debounce counter

 		LCD_CmdWrite(0x0f);			// Clear int
	 	LCD_DataWrite(0x00);
		Delay1ms(10);

 		LCD_CmdWrite(0x0f);	
	 	temp2 = LCD_DataRead();

		if((temp2 & 0x01) == 0x01)			//

⌨️ 快捷键说明

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