打印

谁有LCD1602液晶四位总线模式的430驱动程序,看了好多帖子,貌似都烂尾了,再提一下

[复制链接]
1192|1
手机看帖
扫描二维码
随时随地手机跟帖
沙发
专注于嵌入式| | 2014-4-21 22:00 | 只看该作者
其实这个不难吧,要先8位总线,然后在换成4位,才可以,必须先8后4.给你一个51的例子,自己移到430吧。
#ifndef __LCD1602_4_H__
#define __LCD1602_4_H__
#define lcdrs p26
#define lcden p27
#define input P0
void write_com(uchar com)
{
//高四位数据输入
        lcdrs=0;
        input=com&0xf0;
        delay(8);
        lcden=1;
        delay(8);
        lcden=0;
//低四位数据输入
        lcdrs=0;
        input=com<<4;
        delay(8);
        lcden=1;
        delay(8);
        lcden=0;
}
void write_data(uchar date)
{
//高四位数据输入
        lcdrs=1;
        input=date&0xf0;
        delay(8);
        lcden=1;
        delay(8);
        lcden=0;
//低四位数据输入
    lcdrs=1;
        input=date<<4;
        delay(8);
        lcden=1;
        delay(8);
        lcden=0;
}
void write_8_com(uchar com)
{
//八位数据输入
        lcdrs=0;
        input=com;
        delay(8);
        lcden=1;
        delay(8);
        lcden=0;
}
void LCD1602init()
{
write_8_com(0x20);//在八位模式下设置四位模式
//四位模式初始化
write_com(0x28);
write_com(0x0c);
write_com(0x01);
write_com(0x06);
write_com(0x80);
}
#endif

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

粉丝