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

📄 1.c

📁 十几个proteus的仿真实例
💻 C
字号:
#include <reg51.h>
sbit e=P3^0;
sbit rw=P3^1;
sbit rs=0xb2;
sbit cs2=0xb3;
sbit cs1=0xb4;
sbit busy=0xa7;

unsigned char code nBitmapDot[] =                  // 数据表
{
      0x08,0x08,0x0F,0xF8,0x08,0x0F,0x01,0x41,0x41,0x41,0x4F,0x51,0x61,0x41,0x01,0x00,
0x01,0xC2,0x44,0x28,0x30,0xCE,0x04,0x00,0x02,0x01,0xFE,0x00,0x00,0x00,0x00,0x00

};

/*unsigned char code nBitmapDot1[] =                  // 数据表
{
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x03,0x04,0x08,0x08,0x08,0x04,0x3B,0x4C,
      0x5C,0x3B,0x04,0x05,0x05,0x03,0x70,0x0C,
      0x7E,0x00,0x02,0x01,0x00,0x00,0x00,0x00,
      0x06,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,
      0x05,0x09,0x11,0x2B,0x27,0x0E,0x4E,0x3D,
      0x1E,0x1C,0x1C,0x7C,0x3E,0x1F,0x1F,0x1F,
      0x0F,0x0F,0x0F,0x07,0x03,0x03,0x02,0x04,
      0x00,0x00,0x00,0x00,0x7F,0x5F,0x7F,0x7F,
      0x7F,0x7F,0x7F,0x7F,0x7F,0x3F,0x7F,0x7F,
      0x78,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x01,0x72,0x8C,0x84,0x84,0x84,
      0xE4,0x1F,0x09,0x2B,0x4F,0x17,0xE2,0x82,
      0x82,0x8B,0xC4,0xB8,0x81,0x02,0x04,0x19,
      0x20,0xC1,0x3C,0x09,0x8F,0x7C,0x73,0xEE,
      0xC6,0xC3,0xC3,0xE4,0xFC,0x7F,0x7F,0x3F,
      0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x70,0xE0,0x8F,0x3F,0x7F,0xFF,0xFF,
      0x3F,0x1F,0x19,0x19,0x27,0xE7,0xFF,0x3B,
      0x3F,0xF3,0xF3,0xFF,0xFD,0xFF,0xF7,0x78,
      0x1F,0x08,0x00,0x02,0xFC,0xF1,0xC2,0x8E,
      0x92,0x92,0x91,0x80,0xC0,0xF0,0xCF,0x00,
      0x00,0x11,0x00,0x55,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x03,0x03,0xC7,0x2B,0x12,0x11,0x50,0xA0,
      0x7C,0x83,0xA2,0x8B,0x87,0xFF,0x1F,0x0F,
      0x0F,0x1F,0xEE,0x8B,0x0C,0x09,0x00,0x55,
      0x00,0x11,0x00,0x84,0x71,0x0E,0xF8,0xFF,
      0x7F,0xFF,0xFF,0xFC,0xFC,0xFC,0xFE,0xF9,
      0xFF,0xFC,0x00,0x00,0x01,0x01,0x01,0x01,
      0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x02,
      0x02,0x03,0x00,0xC0,0xF0,0xFC,0xFE,0xFE,
      0xFF,0xFD,0xFC,0xF8,0xF0,0xF0,0xF0,0xF1,
      0xF1,0xF3,0xC7,0xEF,0x9E,0xF8,0xE0,0x00,
      0x00,0x00,0x01,0x06,0x01,0xE1,0x20,0x80,
      0x00,0x21,0xC1,0x02,0x0C,0x31,0xC0,0x15,
      0x00,0x11,0x00,0x55,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x47,0xAB,0xEF,0xDF,0xF6,0x5E,0xEE,0x3E,
      0x5E,0xFF,0x4E,0xAE,0xEE,0xEE,0xEE,0xA6,
      0xC7,0x57,0x83,0x53,0x00,0x11,0x00,0x55,
      0x00,0x11,0x00,0x05,0xF0,0x0D,0x02,0x41,
      0x88,0xD4,0x52,0x52,0x4E,0x50,0xC8,0x80,
      0x00,0x00,0x00,0x00,0x80,0x60,0x78,0x7F,
      0x7F,0x7F,0x7F,0xFF,0xFE,0xFE,0xFE,0xFC,
      0xFC,0xFF,0x00,0x00,0x00,0x00,0x80,0x80,
      0xC0,0xC0,0xD8,0xC4,0xC4,0xC4,0xC4,0xC4,
      0xA4,0xA8,0x30,0x01,0x01,0x02,0x04,0x0E,
      0x14,0x62,0x81,0x53,0x02,0x14,0x84,0x9C,
      0xA2,0x41,0x41,0x41,0x22,0x1E,0x02,0x52,
      0x02,0x11,0x00,0x53,0x04,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0xF4,0x68,0xBF,0xB6,0xBF,0x5F,0x57,0x46,
      0xC6,0x56,0xBF,0x5F,0x66,0x46,0x59,0xB9,
      0xA6,0xA6,0x58,0xB4,0x00,0x11,0x00,0x54,
      0x00,0x11,0x00,0x44,0x00,0x11,0x00,0x54,
      0x80,0x51,0x40,0x24,0x20,0x11,0x10,0x08,
      0x08,0x08,0x04,0x05,0x05,0x06,0x02,0x04,
      0x84,0xC4,0xA4,0x24,0x24,0x24,0x22,0x22,
      0x42,0x83,0x05,0x05,0x06,0x04,0x04,0x0C,
      0x08,0x08,0x08,0x18,0x18,0x18,0x28,0x28,
      0x48,0x44,0x84,0x02,0x02,0x02,0x01,0x01,
      0x01,0x01,0x00,0xC0,0x20,0x20,0x3C,0x23,
      0x41,0xC1,0xC1,0xE2,0x1F,0x10,0x10,0x10,
      0x18,0xE4,0x03,0x94,0x40,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x10,0x10,0xF0,0xEC,0xF6,0xFE,0xFE,0xFA,
      0x02,0xEA,0xDE,0xBE,0x7E,0x7E,0xFE,0xFE,
      0x7C,0x70,0x10,0x50,0x00,0x10,0x10,0x10,
      0x10,0x10,0x10,0x50,0x10,0x10,0x10,0x10,
      0x10,0x10,0x10,0x50,0x10,0x30,0x30,0x50,
      0x50,0x90,0xB0,0x10,0x08,0x08,0x04,0x04,
      0x04,0x02,0x02,0x02,0x02,0x02,0x02,0x04,
      0x04,0x78,0x84,0x02,0x02,0x02,0x02,0x02,
      0x02,0x02,0x02,0x02,0x02,0x04,0x04,0x04,
      0x08,0x10,0x30,0x10,0x10,0x10,0x10,0x10,
      0x10,0x10,0x90,0x90,0x90,0x50,0x50,0xB0,
      0x10,0x10,0x10,0x10,0x90,0x70,0x10,0x10,
      0x10,0x10,0x10,0x90,0x50,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
}; */


void pulse()
	{
	e=1;
	e=0;
	}

void busy_check(char right)
	{
	P2=0xff;
	if (right==1)
		{
		P3=0x13;
		while(!busy);
		}
	if (right==0)
		{
		P3=0x0b;
		while(!busy);
		}
	}

void cmd_w(char cmd,char right)
	{
	busy_check(right);
	if (right==1)
		{
		P3=0x10;
		}
	if (right==0)
		{
		P3=0x08;
		P3=0x08;
		}
	P2=cmd;
	pulse();
	}

void data_w(char dat,char right)
	{
	busy_check(right);
	if (right==1)
		{
		P3=0x14;
		}
	if (right==0)
		{
		P3=0x0c;
		}
	P2=dat;
	pulse();
	}

void lcd_init()
	{
	unsigned int i;
	cmd_w(0x3e+1,0);//显示开关
	cmd_w(0xc0+0,0);//修改显示起始行
	cmd_w(0xb8+0,0);//修改页地址
	cmd_w(0x40+0,0);//修改列地址
	cmd_w(0x3e+1,1);
	cmd_w(0xc0+0,1);
	cmd_w(0xb8+0,1);
	cmd_w(0x40+0,1);
	for(i=0;i<256;i++)
		{
		data_w(0x00,0);
		}

	cmd_w(0xb8+4,0);
	cmd_w(0x40+8,0);
	for(i=0;i<256;i++)
		{
		data_w(0x00,0);
		}

	for(i=0;i<256;i++)
		{
		data_w(0x00,1);
		}

	cmd_w(0xb8+4,1);
	cmd_w(0x40+8,1);
	for(i=0;i<256;i++)
		{
		data_w(0x00,1);
		}
	}

char chang(char a)
	{
	char temp,i;
	for(i=0;i<8;i++)
		{
		temp<<=1;
		temp|=(a&0x01);
		a>>=1;
		}
	return(temp);
	}

void hanzi_w(char hang,char lie,char zhi[32])
	{
	unsigned char i;
	if(lie<4)
		{
		cmd_w(0xb8+2*hang,0);
		cmd_w(0x40+16*lie,0);
		for(i=0;i<32;i+=2)
			data_w(chang(zhi[i]),0);
		}
	else
		{
		cmd_w(0xb8+2*hang,1);
		cmd_w(0x40+16*(lie-4),1);
		for(i=0;i<32;i+=2)
			data_w(chang(zhi[i]),1);
		}
	if(lie<4)
		{
		cmd_w(0xb8+2*hang+1,0);
		cmd_w(0x40+16*lie,0);
		for(i=1;i<32;i+=2)
			data_w(chang(zhi[i]),0);
		}
	else
		{
		cmd_w(0xb8+2*hang+1,1);
		cmd_w(0x40+16*(lie-4),1);
		for(i=1;i<32;i+=2)
			data_w(chang(zhi[i]),1);
		}
	}

void zifu_w(char hang,char lie,char zhi[8])
	{
	unsigned char i;
	if(lie<8)
		{
		cmd_w(0xb8+hang,0);
		cmd_w(0x40+8*lie,0);
		for(i=0;i<5;i++)
			data_w(chang(zhi[i]),0);
		}
	else
		{
		cmd_w(0xb8+hang,1);
		cmd_w(0x40+8*(lie-8),1);
		for(i=0;i<5;i++)
			data_w(chang(zhi[i]),1);
		}
	}

void bmp_w(char a[])
	{
	unsigned int i;
	cmd_w(0xb8+0,0);//修改页地址
	cmd_w(0x40+0,0);//修改列地址
	for(i=0;i<64;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+0,1);
	cmd_w(0x40+0,1);
	for(i=64;i<128;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+1,0);
	cmd_w(0x40+0,0);
	for(i=128;i<192;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+1,1);
	cmd_w(0x40+0,1);
	for(i=192;i<256;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+2,0);
	cmd_w(0x40+0,0);
	for(i=256;i<320;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+2,1);
	cmd_w(0x40+0,1);
	for(i=320;i<384;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+3,0);//修改页地址
	cmd_w(0x40+0,0);//修改列地址
	for(i=384;i<448;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+3,1);
	cmd_w(0x40+0,1);
	for(i=448;i<512;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+4,0);
	cmd_w(0x40+0,0);
	for(i=512;i<576;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+4,1);
	cmd_w(0x40+0,1);
	for(i=576;i<640;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+5,0);
	cmd_w(0x40+0,0);
	for(i=640;i<704;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+5,1);
	cmd_w(0x40+0,1);
	for(i=704;i<768;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+6,0);
	cmd_w(0x40+0,0);
	for(i=768;i<832;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+6,1);
	cmd_w(0x40+0,1);
	for(i=832;i<896;i++)
		{
		data_w(chang(a[i]),1);
		}
	cmd_w(0xb8+7,0);
	cmd_w(0x40+0,0);
	for(i=896;i<960;i++)
		{
		data_w(chang(a[i]),0);
		}
	cmd_w(0xb8+7,1);
	cmd_w(0x40+0,1);
	for(i=960;i<1024;i++)
		{
		data_w(chang(a[i]),1);
		}
	}

void delay(unsigned char a)
	{
	unsigned char i,j;
	for(i=0;i<a;i++)
		for(j=0;j<200;j++)
			;
	}

void main()
	{
	lcd_init();
	bmp_w(nBitmapDot);
	while(1)
		{
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		//bmp_w(nBitmapDot1);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		delay(200);
		bmp_w(nBitmapDot);
		}
	}

⌨️ 快捷键说明

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