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

📄 ex.c

📁 AT89S51 16402lcd液晶显示 单片机学习板的程序
💻 C
字号:
//****************Copyright (c)*************
//         成都麟鑫科技有限责任公司
//         http://www.linxinpro.com
//******************************************
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char

void WRI(uchar a);
void WRD(uchar b);
void display_picture();
void display_Chinese(uchar row,uchar line,uchar num );
void display_word(uchar row1,uchar line1,uchar *p,uchar first,uchar last);
void delay(uint c);	

sbit RS=P3^7;
sbit E=P3^6;
sbit P2_2=P2^2;
sbit P2_3=P2^3;


uchar code buf[1024]={                       //麟鑫开机商标图
0xFF,0xFF,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0x80,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFC,0x0F,0xFF,0xFF,0xFF,0xFD,0xFB,0xFF,0x9F,0xFF,0x3E,0xFD,0xFB,0xFF,0xFF,
0xFF,0xF8,0x1F,0xFF,0xFF,0xFF,0xFE,0xEB,0x7F,0x6F,0xF0,0xEE,0xFD,0xFB,0xFF,0xFF,
0xFF,0xF0,0x7F,0xFF,0xFF,0xFF,0xF0,0x12,0xFE,0xF3,0xFE,0xF6,0xFD,0xFB,0xFF,0xFF,
0xFF,0xC0,0x7F,0xFF,0xFF,0xFF,0xF5,0x60,0x39,0x0C,0x7E,0xF6,0xE0,0x40,0x3F,0xFF,
0xFF,0xC0,0xFF,0xFF,0xFF,0xFF,0xF0,0x11,0xE7,0xDF,0xE0,0x3E,0xFD,0xFB,0xFF,0xFF,
0xFF,0x81,0xFF,0xFF,0xFF,0xFF,0xF5,0x4A,0x7F,0x07,0xFC,0xEE,0xFD,0x7B,0xFF,0xFF,
0xFF,0x81,0xFF,0xC7,0xFF,0xFF,0xF0,0x1B,0xFE,0xDB,0xFC,0x76,0xFC,0xC0,0x7F,0xFF,
0xFF,0x81,0xFF,0x81,0xFF,0xFF,0xF6,0xEE,0xF8,0x00,0x7A,0xB6,0xF9,0xDE,0xFF,0xFF,
0xFF,0x81,0xFF,0x00,0xFF,0xFF,0xF6,0xE0,0x3D,0xFB,0xFA,0xFE,0x25,0xEE,0xFF,0xFF,
0xFF,0x81,0xFE,0x00,0x7F,0xFF,0xF0,0x1A,0xFA,0xF5,0xF6,0xF0,0xFD,0xED,0xFF,0xFF,
0xFF,0x81,0xFE,0x00,0x7F,0xFF,0xF6,0xD6,0xF0,0x20,0xEE,0x8E,0xFD,0xF3,0xFF,0xFF,
0xFF,0x81,0xFC,0x00,0x3F,0xFF,0xF6,0xA0,0x2E,0xDB,0x3E,0xFE,0xFD,0xF3,0xFF,0xFF,
0xFF,0x81,0xFC,0x00,0x3F,0xFF,0xF4,0x6E,0xF8,0x61,0xFE,0xFE,0xFD,0xED,0xFF,0xFF,
0xFE,0xC1,0xFE,0x00,0x7F,0xFF,0xEA,0xDE,0xFA,0xAA,0xFE,0xFE,0xFD,0xDE,0x3F,0xFF,
0xFE,0xC0,0xFE,0x00,0x7F,0xFF,0xEF,0xBE,0xFC,0x31,0xFE,0xFE,0xF5,0x3F,0x7F,0xFF,
0xFE,0xF0,0xFF,0x81,0xFF,0xDF,0xFF,0xFE,0xF1,0xC0,0x3E,0xFE,0xFB,0xFF,0xFF,0xFF,
0xFE,0xF0,0x7F,0xC7,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFE,0x78,0x7F,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFE,0x7C,0x3F,0xFF,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFE,0x3E,0x1F,0xFF,0xFF,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0x1F,0x8F,0xFF,0xFE,0x3F,0xE0,0x20,0x63,0xFF,0xFC,0xF8,0x78,0x7F,0xFF,0xFF,
0xFF,0x0F,0x87,0xFF,0xFC,0x3F,0xED,0xB7,0xB7,0xFF,0xFB,0x77,0xB7,0xBF,0xFF,0xFF,
0xFF,0x07,0xF1,0xFF,0xF8,0x7F,0xFD,0xF6,0xF7,0xFF,0xF7,0xB7,0xB7,0xBF,0xFF,0xFF,
0xFF,0x83,0xFE,0x7F,0xF0,0x7F,0xFD,0xF6,0xF7,0xFC,0xF7,0xBF,0xB7,0xBF,0xFF,0xFF,
0xFF,0x81,0xFF,0xFF,0xE0,0xFF,0xFD,0xF0,0xF7,0xFC,0xF7,0xBF,0x78,0x60,0x3F,0xFF,
0xFF,0xC0,0xFF,0xFF,0xC0,0xFF,0xFD,0xF6,0xF7,0xFF,0xF7,0xBE,0xFB,0x7F,0xFF,0xFF,
0xFF,0xE0,0x3F,0xFF,0x01,0xFF,0xFD,0xF6,0xF7,0xFF,0xF7,0xBD,0xF7,0xBF,0xFF,0xFF,
0xFF,0xF8,0x00,0x00,0x03,0xFF,0xFD,0xF7,0xF7,0xFF,0xF7,0xBB,0xF7,0xBF,0xFF,0xFF,
0xFF,0xFC,0x00,0x00,0x03,0xFF,0xFD,0xF7,0xB7,0xBC,0xFB,0x77,0xB7,0xBF,0xFF,0xFF,
0xFF,0xFC,0x00,0x00,0x0F,0xFF,0xF8,0xE0,0x60,0x3C,0xFC,0xF0,0x38,0x7F,0xFF,0xFF,
0xFF,0xFF,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0x80,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFD,0xF7,0xFF,0xFF,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFE,0xD6,0xFF,0xFF,0xFB,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xF0,0x65,0xFF,0xFF,0xF0,0x1F,0xF8,0x7D,0xF0,0x3C,0x78,0x7C,0xF8,0xF0,0x3F,0xFF,
0xF5,0x80,0x7F,0xFF,0xCD,0xE3,0xF7,0xB1,0xF7,0x7B,0x77,0xBB,0x77,0x77,0xFF,0xFF,
0xF0,0x65,0xFF,0xFF,0x20,0x1F,0xF7,0xBD,0xF7,0x77,0xF7,0xB7,0xB7,0xB7,0xFF,0xFF,
0xF5,0x56,0x7F,0xFF,0xF5,0xBF,0xF7,0xBD,0xFE,0xF7,0xFF,0xB7,0xB7,0xB4,0x7F,0xFF,
0xF5,0x15,0xFF,0xFF,0x80,0x07,0xF8,0x7D,0xFE,0xF4,0x7F,0x77,0xB7,0x33,0xBF,0xFF,
0xF0,0x5D,0xFF,0xFF,0xD7,0x5F,0xFB,0x7D,0xFD,0xF3,0xBE,0xF7,0xB8,0xBF,0xBF,0xFF,
0xF2,0xC0,0x7F,0xFF,0x82,0xEF,0xF7,0xBD,0xFD,0xF7,0xBD,0xF7,0xBF,0xBF,0xBF,0xFF,
0xF0,0x2D,0xFF,0xFF,0x6D,0x13,0xF7,0xBD,0xFD,0xF7,0xBB,0xF7,0xBF,0xB7,0xBF,0xFF,
0xF2,0xCD,0xFF,0xFF,0x83,0xBF,0xF7,0xBD,0xFD,0xF7,0xB7,0xBB,0x7B,0x77,0xBF,0xFF,
0xEA,0x50,0x7F,0xFF,0xEC,0x07,0xF8,0x70,0x7D,0xF8,0x70,0x3C,0xF8,0xF8,0x7F,0xFF,
0xE8,0xBD,0xFF,0xFF,0xA2,0xAF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xEF,0x7D,0xFF,0xFF,0x0C,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x8F,0xDF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xF2,0x85,0x0A,0x7F,0xEF,0x1C,0x99,0x18,0xE4,0xC1,0xC9,0xC7,0xFF,0x0E,0x30,0x7F,
0xFA,0xB5,0x6A,0xFF,0xEF,0xDE,0x6D,0xBE,0xF3,0x6E,0xE7,0xBB,0xFE,0xED,0xDA,0xBF,
0xFA,0xB5,0x6A,0xFF,0xEF,0xDE,0xEE,0x7E,0xF7,0x6E,0xEF,0xBB,0xFE,0xFD,0xDA,0xBF,
0xFA,0xB5,0x6A,0xFF,0xEF,0xDE,0xEE,0x7E,0xF7,0x6E,0xEF,0xBB,0xFE,0xFD,0xDA,0xBF,
0xFD,0x7A,0xF5,0xCF,0xEF,0xDE,0xED,0xBE,0xF7,0x6E,0xEF,0xBB,0x3E,0xED,0xDA,0xBF,
0xFD,0x7A,0xF5,0xCF,0x83,0x04,0x60,0x98,0x23,0x21,0xC3,0xC7,0x3F,0x1E,0x32,0x9F,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,


};
uchar code word[4][2]={     
       		{0xF7,0xEB},     //麟
   			{0xF6,0xCE},     //鑫
   			{0xBF,0xC6},     //科
   			{0xBC,0xBC}      //技
};
uchar code word1[16]={
             0x77,     //w						
			 0x77,     //w
             0x77,     //w
             0x2E,     //.
             0x6C,     //l
             0x69,     //i
             0x6E,     //n
             0x78,     //x
             0x69,     //i
             0x6E,     //n
             0x70,     //p
             0x72,     //r
             0x6F,     //o
             0x2E,     //.
             0x63,     //c
             0x6E,	   //n
             };
uchar code word2 [17]={
             0x20,
             0x54,     //T
			 0x45,     //E
			 0x4C,     //L
			 0x3A,      //:
             0x30,     //0
             0x32,     //2
             0x38,     //8
             0x2D,     //-
             0x38,     //8
             0x31,     //1
             0x37,     //7
             0x36,     //6
             0x32,     //2
             0x30,     //0
             0x39,     //9
             0x35      //5
             };
void main()
{ 
	P2_2=1;
	P2_3=1;
	do
	{
		display_picture();
		display_Chinese(1,4,4);
		display_word(4,1,word1,1,16);
		display_word(2,4,word2,1,9);
		display_word(3,4,word2,9,25);
	}
	while(1);

}
//===============================
void WRI(uchar a)
{   
	RS=0;  //写指令数据
	P2=a;
	E=1;
	E=0;	
	delay(100);
}
//===============================
void WRD(uchar b)
{    
	RS=1;  //写显示数据
	P2=b;
	E=1;
	E=0;
	delay(100);
}
//===============================
void display_picture()
{                    //蝴蝶
    uchar i,j,k;
    WRI(0x01);//清屏显示
    WRI(0x32);//绘图显示开
    WRI(0x36);//功能设置为扩充指令集
    for(k=0;k<2;k++)
	{
        for(i=0;i<32;i++)
	    {
           WRI(0x80+i);
           WRI(0x80+k*8);
           for(j=0;j<16;j++)
               WRD(buf[k*512+i*16+j]);
        }
    }
}
//===============================
void display_Chinese(uchar row,uchar line,uchar num )
{  
	uchar n;
    WRI(0x30);//功能设置为基本指令集
	WRI(0x0c);//显示打开,光标关,显示反白关
	//WRI(0x01);//清屏显示
	WRI(0x06);//DDRAM地址计数器(AC)加1
	switch (row)
	{
		case 1: row=0x80;break;			
		case 2:	row=0x90;break;
		case 3: row=0x88;break;
		case 4: row=0x98;break;
		default:         break;
	}
	WRI(row+line-0x01); //写DDRAM地址
	for(n=0;n<num;n++)
	{
	    WRD(word[n][0]);
	    WRD(word[n][1]);
	} 
}

//===============================
void display_word(uchar row1,uchar line1,uchar *p,uchar first,uchar last)
{
    uchar m;
    WRI(0x30);//功能设置为基本指令集
	WRI(0x0c);//显示打开,光标关,显示反白关
	//WRI(0x01);//清屏显示
	WRI(0x06);//DDRAM地址计数器(AC)加1
    
	switch (row1)
	{
		case 1: row1=0x80;break;			
		case 2:	row1=0x90;break;
		case 3: row1=0x88;break;
		case 4: row1=0x98;break;
		default:          break;
	}
	WRI(row1+line1-0x01); //写DDRAM地址
	for(m=(first-0x01);m<(last-first+0x01);m++)
	    WRD(p[m]); 	  

}
//===============================
void delay(uint c)
{
	while(c--);
}

⌨️ 快捷键说明

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