关于单片机液晶显示

来源:百度知道 编辑:UC知道 时间:2024/05/24 20:12:01
有这样的程序,取高四位、低四位是什么意思,有什么用?
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
uchar code a[ ] = {"I am student! "};
void delay (uint ms)
{
uchar t; //延时
while(ms--)
{
for(t=0;t<120;t++);
}
}
void write_com(uchar com) //写指令
{
uchar Hdata,Ldata;
Hdata=com&0xf0; //取高四位
Ldata=(com<<4)&0xf7; //取低四位
delay(2);
P2=com; //传送高四位
rs=0; //写指令RS=0,RW=0
rw=0;
delay(2);
en=1;
delay(2);
en=0;
delay(2);
P2=Ldata; //传送低四位
rs=0;
rw=0;
delay(2);
en=1;
delay(2);
en=0;
delay(2);
}
void write_data(uchar in_data) //写数据
{
uchar Hdata,Ldata;
Hdata=in_data&0xf0;
Ldata=(in_data<<4)&0xf7;
delay(2);
P2=Hdata;
rs=1; //写数据RS=1,RW=0
rw=0;

液晶显示是什么型号?
从程序看,你采用的液晶显示屏只用四位数据宽,操作一个字节宽(8BIT)的命令或者显示数据,必须分两次写入。

啊、你用的这种液晶应该是带位自转换 的。就像595那样,那样逐个转换的