12864液晶程序

来源:百度知道 编辑:UC知道 时间:2024/06/14 14:58:16
#include <reg52.h>
#include <string.h>
sbit RS =P2^4;
sbit WRD=P2^5;
sbit E= P2^6;
sbit PSB=P2^1;
sbit RES=P2^3;

void delay(unsigned int n)
{
unsigned int x,y;
for(x=n;x!=0;x--)
for(y=0;y<=10;y++);
}

void delayms(unsigned int ms)
{
unsigned int x,y;
for(x=ms;x!=0;x--)
for(y=0;y<=2000;y++);
}

void init()
{
PSB=0;//选择串口工作模式
WRD=0;
delay(1); //延时
RES=0; //复位
delay(1); //延时
RES=1; //复位置高
delay(10);
}

void write_com(unsigned char com)//RS为0传输命令
{
RS=0;
delay(1);
P0=com;
E=1;
delayms(10);
E=0;
delayms(10); //大于100uS的延时程序
}

void write_data(unsigned char date)//RS为1传输数据
{
RS=1;

#include <stdio.h>
#include <math.h>
#include <reg52.h>
#include <string.h>

sbit RS=P2^3; //注意:一定要看12864液晶模块的资料,来确定怎样操作
sbit WRD=P2^4;
sbit E=P2^5;
sbit PSB=P2^0;
sbit RES=P2^2;

void TransferData(char data1,bit DI);
void delayms(unsigned int n);
void delay(unsigned int m);
void lcd_mesg(unsigned char code *addr1);

//下面来定义要显示的汉字,8*4
unsigned char code IC_DAT[]={
"陈 "
" "
" "
" "
};

unsigned char code IC_DAT2[]={
"爱一个人难却还爱"
"交结朋友可路更宽"
"诚实守信加油努力"
"成功做人成功做事"
};

void initinal(void) //初始化,12864有要求的要写上
{
delay(40);
PSB=1; //并口工作模式
delay(1);
RES=0; //复位
delay(1);
RES=1; //复位置高
delay(10);
TransferData(0x30,0)