📄 lcd_drv.c
字号:
//液晶RT12232F显示程序
/*******************************************************************
**名称:12232F.c
**功能:RT12232F液晶显示(并行方式)
使用这款LCD应该要注意的问题:
1、J2的设置:
在线路板上,有一焊接处,标有J2,共3个焊点。使用并行方式,连接上2个焊点。
使用串行方式,连接下2个焊点(默认)。
2、一定要在VO与VDD及VSS这三个脚间接一个20K的电位器,
电位器的中间脚接VO,其它二脚接VDD和VSS。
然后调节电位器的大小,直到有显示为止。若是不接的话,
显示器可能是一片黑暗,什么也没有显示,发命令也没有反
3、VDD用3.3V可以,只是对比度差点,但此时是1脚和3脚之间接一个可调电阻。
VDD用5V还没有试验!!!
**编写人:ywt
**时间:2005年11月21日
**说明:每行显示7.5个汉字,共15个汉字
*******************************************************************/
//#include <REGSND1.H>
//#include <regx51.h>
#include "config.h" /* system configuration */
#include "lcd_drv.h"
//#include <intrins.h>
//typedef unsigned char Byte;
//typedef unsigned int Uint16;
//Byte ucBuffer;
#define RS P5_3
#define RW P4_0
#define E P4_1
void Delay(void)
{
Byte i,j;
for(i=0x0ff;i>0;i--)
for(j=0x0ff;j>0;j--);
}
/*************************写控制指令***************************/
void Write_Command(Byte ucCommand) //按时序操作
{
Delay(); //INSTEAD OF CHECKING BF STATE
RS=0;
RS=0; //WRITE COMMANDS TO ST7920
RW=0;
RW=0;
P0=ucCommand;
E=1;
E=1;
Delay();
E=0;
E=0;
}
/************************写数据*********************************/
void Write_Data(Byte ucData)
{
Delay(); //INSTEAD OF CHECKING BF STATE
RS=1;
RS=1; //WRITE DISPLAY DATAS TO ST79220
RW=0;
RW=0;
P0=ucData;
E=1;
E=1;
Delay();
E=0;
E=0;
}
/***********************写汉字到LCD的指定位置**************/
void Lcd_Display(Byte x_data,Byte data1,Byte data2)
//x_data--RAM地址,data1--汉字编码高8位,data2--汉字编码低8位
{
Write_Command(x_data); //指定显示地址
Write_Data(data1); //汉字编码高8位
Write_Data(data2); //汉字编码低8位
}
/**********************LCD初始化********************************/
void Lcd_Initial()
{
Delay();//延时40MS
Write_Command(0x30); //功能设定:8位数据,基本指令30
Write_Command(0x06); //点设定:画面右移
Write_Command(0x0c); //lcd开,光标关
Write_Command(0x01); //清屏
Write_Command(0x02); //地址归位
}
/************************main**********************************/
/*
void main()
{
Lcd_Initial();
Write_Command(0x80);//设定DDRAM起始地址
//汉字显示
Lcd_Display(0x80,0xb1,0xb4);//贝
Lcd_Display(0x81,0xb1,0xb4);//贝
Lcd_Display(0x82,0xa3,0xac);//,
Lcd_Display(0x83,0xb1,0xb4);//贝
Lcd_Display(0x84,0xb1,0xb4);//贝
Lcd_Display(0x90,0xce,0xd2);//我
Lcd_Display(0x91,0xb0,0xae);//爱
Lcd_Display(0x92,0xc4,0xe3);//你
Lcd_Display(0x93,0xa3,0xa1);//!
Lcd_Display(0x94,0xa3,0xa1);//!
Lcd_Display(0x95,0xa3,0xa1);//!
// Lcd_Display(0x95,0xa3,0xd6);//v
// Lcd_Display(0x96,0xa3,0xc5);//e
/* Lcd_Display(0x80,0xc4,0xcf);
Lcd_Display(0x81,0xd1,0xf4);
Lcd_Display(0x82,0xc0,0xed);
Lcd_Display(0x83,0xb9,0xa4);
Lcd_Display(0x84,0xd1,0xa7);
Lcd_Display(0x85,0xd4,0xba);
Lcd_Display(0x90,0xc0,0xee);
Lcd_Display(0x91,0xcf,0xdc);
Lcd_Display(0x92,0xc0,0xa4);
Lcd_Display(0x93,0xa3,0xcc);//l
Lcd_Display(0x94,0xa3,0xcf);//o
Lcd_Display(0x95,0xa3,0xd6);//v
Lcd_Display(0x96,0xa3,0xc5);//e*/
//}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -