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

📄 main.c

📁 8051带32Mflash的源代码
💻 C
字号:
#include "main_h.h"

void main()
{	
	uchar xdata *p;
	uchar xdata *q;
//	uchar addcol_main=0,uu,rr,jj,high,low;
	uchar key=0;
	uint addrow_main=33,rdromcount=0,rdlcmrow=0,i,j;
	ram_init();
	serial_init();
	TP_INIT();
	delay10ms(500);
	TEST_ROM_ID();  //read rom's id . example : EC 75 
	LCM_init();

	delay10ms(2000);
	display_red();
	delay10ms(2000);

display_white();
	delay10ms(2000);

display_black();

/*

	p=RAM_WR_ADD;
	q=RAM_READ_ADD;
	for(i=0;i<1;i++)
		for(j=0;j<1;j++)
		{	if(rdromcount==0xff)
			rdromcount=0;
			ram_write_byte(p,0xaa);
			delay10ms(50);
			putchar(ram_read_byte(q));
			delay10ms(50);
			p++;
			q++;
			rdromcount++;
		}

*/
TEST_TP_INT();
	while(1)
	{	
		key=key_scan();
		switch(key)
		{	case 1:
			{	
				dis_RGB();
				delay10ms(2000);
//				disp_pic(1,1);
//				delay10ms(2000);
				display_black();	
				TEST_TP_INT();
				
				key=0;
				
			}break;
			case 2:
			{	key=0;
				option_rom();
				
			}break;
			case 3:
			{	disp_pic(1,1);
				TEST_REGISTER();
				key=0;
				
			}break;
			case 4:

			{	disp_pic(1,2);
			//	display_blue();
				key=0;
				
			}break;
			case 5:
			{	disp_pic(1,3);	//	display_black();
				key=0;
				
			}break;
			default:
			{
			//	display_black();
			}
		}
	}
}
//------------end  END main()---------------------------//

void TEST_TP_INT(void)
{	uint  *p;
	uchar key=0;
	while(key!=5)
	{	key=key_scan();
		p=TP_XY_READ();
		EA=0;
		set_pixel(*p,*(p+1));
		EA=1;
	}
	
}

void TEST_ROM_ID(void)
{
	uint rom_id;

		rom_id=READ_ROM_ID();
		putchar((uchar)(rom_id>>8));
		delay10ms(50);
		putchar((uchar)rom_id);
		delay10ms(50);
}

void TEST_REGISTER(void)                          //test LCM REGISTER SETUP
{	uchar tst_reg[8],count,key;
	key=key_scan();
	while(key!=5)
	{	key=key_scan();
		for(count=0;count<8;count++)
		{	tst_reg[count]=getchar();
		//	delay10ms(50);
		}
		for(count=0;count<8;count++)
		{	putchar(tst_reg[count]);
			delay10ms(50);
		}
		LCM_SETUP_REG(tst_reg);
	}
	
}

void disp_pic(uchar mode,uchar count)
{	uchar high,low;
	uchar xdata *p;
	uint rdromcount,dispage,rdlcmrow,head,tail;
	switch (mode)
	{	case 1:
		{	head=290;
			tail=480;
			break;
		}
		case 2:
		{	head=176;
			tail=220;
			break;
		}
		default:
			display_clear();	
	}

	switch (count)
	{	case 1:
		{	rdlcmrow=0;
			break;
		}
		case 2:
		{	rdlcmrow=300;
			break;
		}
		case 3:
		{	rdlcmrow=600;
			break;
		}
		default:
			display_clear();	
	}

	set_whole_screen();
	for(dispage=0;dispage<head;dispage++)
	{	
		p=read_page(rdlcmrow);
		
		for(rdromcount=0;rdromcount<528;)
		{	low =*(p+rdromcount++);
			high=*(p+rdromcount++);
			
			write_picdata1(high,low);
		}

		rdlcmrow++;
	}	
	p=read_page(rdlcmrow);
	for(rdromcount=0;rdromcount<tail;)
	{	low=*(p+rdromcount++);
		high=*(p+rdromcount++);
		 
		write_picdata1(high,low);
	}

}


void rom_program(uint addcow,uint lcml,uint lcmw)
{
	uint rplcml,rplcmw,rpcount,i;
	i=0;
	rom_write_block_start(0,addcow);
	for(rplcml=0;rplcml<lcml;rplcml++)
		for(rplcmw=0;rplcmw<lcmw;rplcmw++)
		{	
			
			rom_write_data(getchar());
			rpcount++;
			rom_write_data(getchar());
			rpcount++;
			if(rpcount%528==0)
				{
					rom_write_block_end();
					rpcount=0;
					addcow++;
					rom_write_block_start(0, addcow);
					
			 	}
			
		 }
	rom_write_block_end();
	
}

void option_rom(void)
{	uchar key=0;
	display_green();
	while(key!=5)
	{	key=key_scan();
		switch(key)
		{	case 1:
			{	key=0;
				write_to_rom(0,1);
				break;
			}
			case 2:
			{	key=0;
				write_to_rom(300,2);
				break;
			}
			case 3:
			{	key=0;
				write_to_rom(600,3);
				break;
			}
			case 4:
			{	key=0;
				write_to_rom(900,4);
				break;
			}
	    	default:
			{
			}
		}
	}
//	key=0;
}

void write_to_rom(uint page,uchar pic)
{	uint bb;
	uchar key=0;
	display_blue();
	while(key!=5)
	{	key=key_scan();
		switch(key)
		{	case 1:
			{	key=0;
				display_red();
				for(bb=0;bb<30;bb++)	
				{	putchar(rom_erase_block(bb));
				}
				display_red();
				break;
			}
			case 2:
			{	key=0;
				display_green();
				rom_program(page,240,320);
				display_red();
				break;
			}
			case 3:
			{	key=0;
				display_black();
				disp_pic(1,pic);
				break;
			}
			case 4:
			{	key=0;
				break;
			}
			default:
			{
			}
		}
	}
}


⌨️ 快捷键说明

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