limingqi_12864.c

来自「12864字符液晶显示程序」· C语言 代码 · 共 109 行

C
109
字号

#include<reg52.h>
#include<intrins.h>

sbit 	LCD_EN   = P2^4 ;
sbit    LCD_RS   = P2^5 ;
sbit    LCD_RW   = P3^2 ;
sbit    LCD_PSB  = P3^3 ;

void LCD_initial();
void delay_ms(unsigned char x);
void delay_us(unsigned char x);
void writecom(unsigned char shu);
void writedata(unsigned char shu);
void write_array(unsigned char *shu);


void main(void)
{
	LCD_initial();
	
	while(1)
	{
		writecom(0x81);
		delay_us(20);
		write_array("Designed By");
		writecom(0x92);
		write_array("亿唯电子");
		writecom(0x89);
		write_array("WWW.EVMCU.NET");
		writecom(0x99);
		write_array("QQ:1164601485");
		delay_ms(100);

	}
}

void delay_ms(unsigned char x)
{
	unsigned char a=0,b=0;
	for(;x>0;x--)
	for(a=95;a>0;a--)
	for(b=25;b>0;b--);
}

////////////////////////////////*液晶显示程序*/////////////////////////////

void writecom(unsigned char shu)//写指令
{
	LCD_PSB=1;
	LCD_RS=0;
	LCD_RW=0;
	LCD_EN=0;
	delay_us(10);
	LCD_EN=1;
	delay_us(10);
	P0 = shu ;
	delay_us(100);
	LCD_EN=0;
	delay_us(200);
}

void writedata(unsigned char shu)//写数据
{
	LCD_PSB=1;
	LCD_RS=1;
	LCD_RW=0;
	LCD_EN=0;
	delay_us(10);
	LCD_EN=1;
	delay_us(10);
	P0 = shu ;
	delay_us(100);
	LCD_EN=0;
	delay_us(200);
}

void write_array(unsigned char *shu)
{
	LCD_PSB=1;
	LCD_RS=1;
	LCD_RW=0;
	LCD_EN=0;
	while((*shu)!='\0')
	{
		LCD_EN=1;
		P0 = ( *shu );
		delay_us(10);
		LCD_EN=0;
		delay_us(200);
		shu++;
	}
}

/////////////////////////////////*液晶初始化*///////////////////////////////
void LCD_initial()//液晶初始化
{
	LCD_EN=0;
	writecom(0x30);
	writecom(0x0c);
	writecom(0x01);
	writecom(0x06);
}

void delay_us(unsigned char x)
{
	for(;x>0;x--) _nop_();
}

⌨️ 快捷键说明

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