12864.c

来自「单片机与LCD12864并口控制驱动程序」· C语言 代码 · 共 107 行

C
107
字号
#include "12864.h"
#include <reg52.h>
void WriteInstruction(uchar cmd)//写指令
{
    Delay(5000);
	LCD_CE=0;
	LCD_RW=0;
    LCD_RS=0;
    LCD_CE=1;
    LCDData=cmd;
    Delay(50);
    LCD_CE=0;   
}
void WriteData(uchar dat)//写数据
{
    Delay(5000);
	LCD_CE=0;
	LCD_RW=0;
	LCD_RS=1;
	LCD_CE=1;
	LCDData=dat;
    Delay(50);
    LCD_CE=0; 

}
void LCDInit(void)//初始化LCD
{
    Delay(60000);
    Delay(60000);
    Delay(60000);
    LCD_CE=0;
	LCD_RW=0;
	LCD_RS=0;
    LCD_CE=1;
	LCDData=0x30;
    Delay(50);
    LCD_CE=0;
    Delay(50000);
	LCD_CE=1;
    LCDData=0x30;
    Delay(50);
    LCD_CE=0;  
    Delay(5000);
	LCD_CE=1;
    LCDData=0x30;
    Delay(50);
    LCD_CE=0;
  	Delay(5000);
  	LCD_CE=1;
	LCDData=0x0c;
    Delay(50);
    LCD_CE=0;
    Delay(2000);
	LCD_CE=1;
	LCDData=0x01;
    Delay(50);
    LCD_CE=0;
    Delay(2000);
    LCD_CE=1;
	LCDData=0x06;
    Delay(50);
    LCD_CE=0;  
  	Delay(2000);
}
/*void CLS(void)//清屏指令
{
  WriteInstruction(0x1);
}*/


void ShowSingle(uchar x,uchar y,uchar z)//X表示第几个字,Y表示第几行,Z表示字符;
{
  switch (y)
  {
    case 1:WriteInstruction(0x80+x-1);break;
    case 2:WriteInstruction(0x90+x-1);break;
    case 3:WriteInstruction(0x88+x-1);break;
    case 4:WriteInstruction(0x98+x-1);break;
	default:break;
  }
   WriteData(z);
 }

//show_group()显示一行字或字符程序;X:从第几个字开始显示(1~8);Y:第几行(1~4);n:一行有几个字符
 void ShowGroup(uchar x,uchar y,uchar *p)
{
  switch (y)
  {
    case 1:WriteInstruction(0x80+x-1);break;
    case 2:WriteInstruction(0x90+x-1);break;
    case 3:WriteInstruction(0x88+x-1);break;
    case 4:WriteInstruction(0x98+x-1);break;
	default:break;
  }
  while(*p)
  {
  WriteData(*p++);
  }
}
 

//延时
void Delay(uint i)
{
  while(i--);
}

⌨️ 快捷键说明

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