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

📄 p12_4.c

📁 单片机原理与应用实例教程 单片机原理与应用实例教程
💻 C
字号:
#include "REG51.H"
sbit E	= P3^0;
sbit RW	= P3^1;
sbit RS	= P3^2;
sbit CS1 = P3^6;
sbit CS2 = P3^7;
#define LCD P2	
void Wait()
{
	unsigned char state;
	while(1)
	{
		LCD = 0xff;
		RW	= 1;
		RS	= 0;
		E	= 1;
		state = LCD;
		E 	= 0;
	
		LCD = 0xff;
		RW	= 1;
		RS	= 0;
		E	= 1;
		state = LCD;
		E	= 0;
	
		state = state >> 7;
		if( state == 0 )
			break;
	}
}
void Write_Cmd( unsigned char Cmd)
{
	Wait();
	LCD = Cmd;
	RS	= 0;
	RW	= 0;
	E	= 1;
	E	= 0;
}
void Write_Data( unsigned char D)
{
	Wait();
	LCD = D;
	RS	= 1;
	RW	= 0;
	E	= 1;
	E	= 0;
}
void Clear()
{
	char col, page, temp;
	for( page = 0; page < 8; page++ )
	{
		temp = page;
		temp = temp | 0xb8;
		Write_Cmd(temp);
		Write_Cmd(0x40);
		for( col = 0; col < 64; col++ )
		{
			Write_Data(0);
		}
	}
}

unsigned char Pic1[] = {
		0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00 };
unsigned char Pic2[] = {
		0x00, 0x00, 0x3C, 0x24, 0x24, 0x3C, 0x00, 0x00 };
unsigned char Pic3[] = {
		0x00, 0x7E, 0x42, 0x42, 0x42, 0x42, 0x7E, 0x00 };
unsigned char Pic4[] = {
		0xff, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF };

void Display_Pic(unsigned char* Pic)
{
	int i, j;
	Write_Cmd(0xbc);   	//设置页号
	Write_Cmd(0x57);  	//设置列号
   	for( i = 0; i < 8; i ++ )
	{
		Write_Data(Pic[i]);
	}
	//延迟一段时间
	for( i = 0; i < 0xff; i ++ )
	{
		for( j = 0; j < 0x20; j ++ )
		{
		}
	}
}

void LCDDisplay()
{
	while(1)
	{
		Display_Pic(Pic1);
		Display_Pic(Pic2);
		Display_Pic(Pic3);
		Display_Pic(Pic4);
	}
}
main()
{
	CS1 = 0;
	CS2 = 0;
	Write_Cmd(0x3f);
	Clear();
	LCDDisplay();
	while(1){}
}		

⌨️ 快捷键说明

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