📄 lcd.c
字号:
#include "lcd.h"
//#include "reg52.h"
#include "w77e58.h"
#include <intrins.h>
void LCD_CmdWrite(unsigned char cmdReg, unsigned char cmdData)
{
LCD_Bus=cmdReg;
LCD_CS1=0;
LCD_RD=1;
LCD_RS=0;
LCD_WR=0;
_nop_();_nop_();_nop_();
LCD_WR=1;
LCD_RS=1;
LCD_CS1=1;
LCD_Bus=cmdData;
LCD_CS1=0;
LCD_RD=1;
LCD_RS=0;
LCD_WR=0;
_nop_();_nop_();_nop_();
LCD_WR=1;
LCD_RS=1;
LCD_CS1=1;
}
/* unsigned char LCD_CmdRead(unsigned char cmdReg)
{
unsigned char REG_Read;
LCD_ChkBusy();
LCD_Bus=cmdReg;
LCD_CS1=0;
LCD_RD=1;
LCD_RS=0;
LCD_WR=0;
_nop_();_nop_();_nop_();
LCD_WR=1;
LCD_RS=1;
LCD_CS1=1;
LCD_Bus=0xff;
LCD_CS1=0;
LCD_WR=1;
LCD_RS=0;
LCD_RD=0;
REG_Read=LCD_Bus;
LCD_RD=1;
LCD_RS=1;
LCD_CS1=1;
return REG_Read;
}*/
void LCD_DataWrite(unsigned char WrData)
{
//LCD_ChkBusy();
// delay(4);
LCD_Bus=WrData;
LCD_CS1=0;
LCD_RD=1;
LCD_RS=1;
LCD_WR=0;
_nop_();_nop_();_nop_();
LCD_WR=1;
LCD_RS=1;
LCD_CS1=1;
delay(4);
}
/* void LCD_ChkBusy(void)
{
do
{
}
while(LCD_BUSY==1);
}*/
void LCD_Reset(void)
{
LCD_CS1=0;
delay(4000);
LCD_RST=0;
delay(44000);
LCD_RST=1;
delay(4000);
}
/* void LCD_Clear(void)
{
unsigned char READ_REG;
LCD_CmdWrite(0xE0,0x00);
READ_REG=LCD_CmdRead(0xF0);
READ_REG&=0xF7;
READ_REG|=0x08;
LCD_CmdWrite(0xF0,READ_REG);
delay(4000);
}*/
void LCD_Clear(void)
{
unsigned char i,j;
LCD_CmdWrite(0x10,0x2B);
GotoXY(0,0);
for(i=0;i<240;i++)
for(j=0;j<40;j++)
{
LCD_DataWrite(0x00);
delay(10);
}
}
void GotoXY(unsigned char x1,unsigned char y1)
{
LCD_CmdWrite(0x60,x1);
LCD_CmdWrite(0x70,y1);
}
void delay(int i)
{
int k;
for(k=0;k<i;k++);
}
void LCD_Initial(void)
{
LCD_CmdWrite(0x00,0xCD);
LCD_CmdWrite(0x01,0xF0);
LCD_CmdWrite(0x02,0x10);
LCD_CmdWrite(0x03,0x80);
LCD_CmdWrite(0x10,0x2B);
LCD_CmdWrite(0x11,0x00);//
LCD_CmdWrite(0x12,0x91);
LCD_CmdWrite(0x20,0x27);
LCD_CmdWrite(0x30,0xEF);
LCD_CmdWrite(0x40,0x00);
LCD_CmdWrite(0x50,0x00);
LCD_CmdWrite(0x21,0x27);
LCD_CmdWrite(0x31,0xEF);
LCD_CmdWrite(0x41,0x00);
LCD_CmdWrite(0x51,0x00);
LCD_CmdWrite(0x60,0x00);
LCD_CmdWrite(0x61,0x00);
LCD_CmdWrite(0x70,0x00);
LCD_CmdWrite(0x71,0x00);
LCD_CmdWrite(0x72,0xEF);
LCD_CmdWrite(0x80,0x33);
LCD_CmdWrite(0x81,0x00);
LCD_CmdWrite(0x91,0x00);
LCD_CmdWrite(0x90,0x04);
LCD_CmdWrite(0xA0,0x11);
//LCD_CmdWrite(0xA1,0x00);
//LCD_CmdWrite(0xA2,0x00);
//LCD_CmdWrite(0xA3,0x00);
//LCD_CmdWrite(0xB0,0x27);
//LCD_CmdWrite(0xB1,0xEF);
//LCD_CmdWrite(0xC0,0xD0);
//LCD_CmdWrite(0xC1,0x0A);
//LCD_CmdWrite(0xC8,0x80);
//LCD_CmdWrite(0xC9,0x80);
//LCD_CmdWrite(0xCA,0x00);
//LCD_CmdWrite(0xD0,0x0C);
LCD_CmdWrite(0xE0,0x00);
LCD_CmdWrite(0xF0,0xA0);
LCD_CmdWrite(0xF1,0x0F);
}
void PrintStr(char *ptr)
{
while(*ptr!='\0')
{
LCD_DataWrite(*ptr);
++ptr;
delay(200);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -