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

📄 lcd12864.c

📁 C51的12864m
💻 C
字号:
/**************************************************************************/
/*   Time:2008/08/29													  */
/*   Author :wangyaming													  */
/*   Project for Tape driver test										  */
/*	This program create for manage key pad process						  */
/**************************************************************************/
#include"my_include.h"

INT8U code bmp1[];
INT8U COUNT3,COUNT2,COUNT1,COUNT,LCD_X,LCD_Y;

void wait(INT16U delay)
{		  
char temp=0xff;
	for(;delay>0;delay--)
	{temp=0xff;
	for(;temp>0;temp--);
	};
}

void check_busy(void) 
{ 
//TRISD=0xff;//在此处设为输入。 
PORTD=0xff; 
RS=0; 
RW=1; 
while (1) 
{ 
_nop_();_nop_();_nop_(); 
E =1; 
_nop_();_nop_();_nop_(); 
if (P0_7==0) break; 
_nop_();_nop_();_nop_(); 
E =0; 
} 
E =0; 
//TRISD=0X00;//还原为输出。 
P0_7=!P0_7; 
//delay_ms(50); 
} 
void write_comd_init(INT8U cmd)
{
//check_busy(); 
RS=0; 
RW=0; 
PORTD=cmd; 
E =1; 
_nop_(); 
_nop_(); 
E =0; 
}
void write_comd(INT8U cmd)
{
check_busy(); 
RS=0; 
RW=0; 
PORTD=cmd; 
E =1; 
_nop_(); 
_nop_(); 
E =0; 
}
void write_data(INT8U *dat)
{
check_busy(); 
RS=1; 
RW=0; 
PORTD=*dat; 
E =1; 
_nop_(); 
_nop_(); 
E =0; 
}

void init_lcd_text()
{
write_comd(function_set_basic);
write_comd(set_point);
write_comd(open_point);
write_comd(close_point);
write_comd(clean_disp);
write_comd(reset_addr);

}

void init_lcd_pic()
{
_nop_();
write_comd_init(function_set_basic);
_nop_();
write_comd_init(set_point);
_nop_();
write_comd_init(open_point);
_nop_();
write_comd_init(close_point);
_nop_();
write_comd_init(clean_disp);
_nop_();
write_comd_init(reset_addr);
}
//***********************************************/
void init_mcu()
{
bit_ret=0;
P1=P2=P3=P0=0xff;
bit_psb=1;
relay=0;
_nop_();
_nop_();
_nop_();
bit_ret=1;
}
void WR_ZB(void) 
{ 
write_comd(command_extend); 
write_comd(LCD_Y); 
write_comd(LCD_X); 
write_comd(function_set_basic); 
} 
void clear_LCD(void) 
{ 
write_comd(0x01); 
write_comd(command_extend); 
write_comd(function_set_basic); 
} 
void disp_pic(const INT8U *s) 
{ 
COUNT3=0X02; 
LCD_X=0X80; 
for (;COUNT3!=0;COUNT3--) 
{ 
LCD_Y=0X80; 
COUNT2=0X20;//32 
for (;COUNT2!=0;COUNT2--) 
{ 
COUNT1=0X10;//16 
WR_ZB(); 
for (;COUNT1!=0;COUNT1--) 
{ 
write_data(s++); 
} 
LCD_Y+=1; 
} 
LCD_X=0X88; 
} 
write_comd(graphic_on); 
write_comd(function_set_basic);
write_comd(close_point); 
} 
//__________________________________
void disp_text(char addr,char *string)
{
char count;
write_comd(addr);
	for(count=0;count<=17;count++)
	{
		write_data(string++);					
	}
}

main()
{
init_mcu();
init_lcd_pic();
clear_LCD();
disp_pic(bmp1);
wait(65533);
wait(65533);
wait(65533);
clear_LCD();
//disp_refresh(&point_up_down,&point_left_right);
while(1)
{
//key();
//test();
//initial();
//disp_refresh(&point_up_down,&point_left_right);
}
}																	 
INT8U code  bmp1[]=
{
/*--  调入了一幅图像:H:\new.bmp  --*/
/*--  宽度x高度=128x64  --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0xFF,0xFE,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x0F,0xFF,0xFF,0x80,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x3F,0xFF,0xFF,0x80,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x3F,0xFC,0x0F,0xC0,0x00,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x7F,0x0C,0x01,0xC0,0x00,0x01,0xB0,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
0x00,0x00,0x7C,0x18,0x00,0xC0,0x00,0x03,0x20,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,
0x00,0x00,0x00,0x38,0x01,0x80,0x00,0x06,0x60,0x00,0x00,0x00,0x38,0x00,0x00,0x00,
0x00,0x00,0x00,0x30,0x03,0x80,0x00,0x06,0x40,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
0x00,0x00,0x00,0x60,0x0F,0x00,0x00,0x0C,0xC0,0x00,0x07,0x80,0x00,0x08,0x00,0x00,
0x00,0x00,0x00,0xC0,0xFE,0x00,0x00,0x0C,0x81,0xE0,0x1F,0x00,0x60,0x3C,0x00,0x00,
0x00,0x00,0x01,0xCF,0xFC,0x00,0x00,0x1D,0x07,0xE0,0x3E,0x01,0xE0,0x7C,0x00,0x00,
0x00,0x00,0x03,0xFF,0xE0,0x0F,0xF8,0x1B,0x0F,0xF0,0x78,0xC3,0xC1,0xFC,0x00,0x00,
0x00,0x00,0x1F,0xFC,0x00,0x1F,0xF0,0x1E,0x1E,0x71,0xE1,0xC3,0xC3,0xF8,0x00,0x00,
0x00,0x00,0x3F,0x00,0x00,0x1F,0x80,0x3C,0x3C,0xF1,0xC1,0xC7,0x83,0x90,0x00,0x00,
0x00,0x00,0x3F,0xC0,0x00,0x00,0x00,0x38,0x38,0xF3,0x83,0xCF,0x07,0x00,0x00,0x00,
0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x30,0x30,0xE3,0x07,0x8E,0x0E,0x00,0x00,0x00,
0x00,0x00,0x1F,0xFE,0x00,0x00,0x00,0x30,0x70,0xEF,0x0F,0x9C,0x0C,0x02,0x00,0x00,
0x00,0x00,0x31,0xFF,0x80,0x00,0x00,0x38,0x70,0xFF,0x1B,0x3E,0x1C,0x06,0x00,0x00,
0x00,0x00,0x70,0x7F,0xE0,0x00,0x00,0x39,0xF1,0xE3,0xF3,0xCF,0xFE,0x1C,0x00,0x00,
0x00,0x00,0x60,0x1F,0xF0,0x00,0x00,0x3F,0x3F,0x83,0xE7,0x8F,0xE7,0xF8,0x00,0x00,
0x00,0x00,0xE0,0x07,0xF8,0x00,0x00,0x3E,0x1E,0x01,0xC7,0x07,0xC7,0xF0,0x00,0x00,
0x00,0x00,0xC0,0x01,0xF8,0x00,0x00,0x1C,0x04,0x00,0x0C,0x03,0x03,0xC0,0x00,0x00,
0x00,0x01,0x80,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x18,0x00,0x00,
0x00,0x00,0x06,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x18,0x00,0x00,
0x00,0x00,0x04,0x0C,0x38,0x30,0x10,0x61,0x83,0x80,0x06,0x06,0x18,0x10,0x00,0x00,
0x00,0x00,0x04,0x36,0x30,0x48,0xF3,0xA2,0xC3,0x06,0x19,0x3E,0x68,0x10,0x00,0x00,
0x00,0x00,0x0C,0x26,0x30,0xF8,0xC3,0x22,0x82,0x02,0x11,0x32,0x68,0x30,0x00,0x00,
0x00,0x00,0x08,0x64,0x21,0x80,0x82,0x63,0x82,0x06,0x31,0x26,0x78,0x20,0x00,0x00,
0x00,0x00,0x08,0x44,0x21,0x08,0x82,0x6D,0x86,0x04,0x23,0x64,0xD8,0x20,0x00,0x00,
0x00,0x00,0x18,0x4C,0x61,0x91,0x86,0x49,0x84,0x04,0x26,0x44,0x90,0x60,0x00,0x00,
0x00,0x00,0x38,0xDC,0x71,0xE3,0x8E,0xCF,0x87,0x1C,0x3C,0xEC,0xF8,0xE0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
} ;


⌨️ 快捷键说明

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