LCD1602数据线接反 求助!!!谢谢

2020-01-23 14:29发布

实验板LCD1602的D0~D7是接C51的P0.7~P0.0!!!
可我的程序的D0~D7是接C51的P0.0~P0.7的!!!
求各位大虾  程序怎么改啊!!!
非常谢谢


#define yh 0x80 //LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为1(100000000=80)
#define er 0x80+0x40 //LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)

//液晶屏的与C51之间的引脚连接定义(显示数据线接C51的P0口)
sbit rs=P2^0;
sbit en=P2^2;
sbit rw=P2^1; //如果硬件上rw接地,就不用写这句和后面的rw=0了
/********液晶写入指令函数与写入数据函数,以后可调用**************/

/*在这个程序中,液晶写入有关函数会在DS1302的函数中调用,所以液晶程序要放在前面*/

write_1602com(uchar com)//****液晶写入指令函数****
{
        rs=0;//数据/指令选择置为指令
        rw=0; //读写选择置为写
        P0=com;//送入数据
        delay(1);
        en=1;//拉高使能端,为制造有效的下降沿做准备
        delay(1);
        en=0;//en由高变低,产生下降沿,液晶执行命令
}


write_1602dat(uchar dat)//***液晶写入数据函数****
{
        rs=1;//数据/指令选择置为数据
        rw=0; //读写选择置为写
        P0=dat;//送入数据
        delay(1);
        en=1; //en置高电平,为制造下降沿做准备
        delay(1);
        en=0; //en由高变低,产生下降沿,液晶执行命令
}


lcd_init()//***液晶初始化函数****
{
        write_1602com(0x38);//设置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据
        write_1602com(0x0c);//开显示不显示光标
        write_1602com(0x06);//整屏不移动,光标自动右移
        write_1602com(0x01);//清显示

        write_1602com(yh+1);//日历显示固定符号从第一行第1个位置之后开始显示
        for(a=0;a<14;a++)
        {
        write_1602dat(tab1[a]);//向液晶屏写日历显示的固定符号部分
        //delay(3);
        }
        write_1602com(er+2);//时间显示固定符号写入位置,从第2个位置后开始显示
        for(a=0;a<8;a++)
        {
        write_1602dat(tab2[a]);//写显示时间固定符号,两个冒号
        //delay(3);
        }

}

/*********************over***********************/

以上是有关LCD1602的程序  请各位大虾 帮帮忙 怎么改!!!!
非常谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
SystemARM
1楼-- · 2020-01-24 17:50
我再发一个测试程序吧!
unsigned char L2H(unsigned char i)
{
unsigned char b ;
i = ((i << 1) & 0xaa) | ((i >> 1) & 0x55);
i = ((i << 2) & 0xcc) | ((i >> 2) & 0x33);
return i;
}

void main(void)
{
unsigned char b,a=0x81;
printf("a %X ",a);
b=L2H(a);
printf("b %X ",b);

}

输出:

a 0x81
b 0x18
zjth1
2楼-- · 2020-01-24 19:59
M
sdf159372008
3楼-- · 2020-01-24 20:03
mark,高低位反转啊~
viper_gc
4楼-- · 2020-01-24 22:09
高低位翻转,写个函数就行
y5000
5楼-- · 2020-01-25 00:40
 精彩回答 2  元偷偷看……
qrytian
6楼-- · 2020-01-25 06:10
拿走了,谢谢各位大神

一周热门 更多>