搜索
bottom↓
回复: 9

希望提供给我1602液晶的驱动程序

[复制链接]

出0入0汤圆

发表于 2005-8-5 16:58:30 | 显示全部楼层 |阅读模式
那位老兄有能够使用的1602B液晶的驱动程序,还望给小弟提供一下,网站上提供的我调试不出来,我自己写的呢?在VMLAB上能仿真,但是速度只有32K而且也不好,希望能提供给我1602B驱动程序,并且代码说明要详细!

                   谢谢

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2005-8-5 20:39:55 | 显示全部楼层
网站上 的  我 测试过,没有问题啊

出0入0汤圆

发表于 2005-8-5 20:51:56 | 显示全部楼层
非原创,摘自《AVR单片机与CPLD/FPGA综合应用入门》,可以使用!

希望对你有帮助!



LCD.h:



#define LCDPORT PORTB//数据总线接在PB口

#define LCDDDR DDRB

#define LCDPIN PINB

#define En_H sbi(PORTD,5)//En接PD5

#define En_L cbi(PORTD,5)

#define RW_R sbi(PORTD,4)//R/W接PD4

#define RW_W cbi(PORTD,4)

#define RS_H sbi(PORTD,3)//RS接PD3

#define RS_L cbi(PORTD,3)

#define DelaytE delay(10)

#define Clear_Screen Write_Command(0x01)



void delay(uint16_t time)

{

        while(time>0)

        {time--;}

}



void En_Toggle(void)//产生一个使能脉冲

{

        En_H;

        DelaytE;

        En_L;

        DelaytE;

}



/*不断检测LCD的忙标志BF,直到其为0,表示可以执行下一条指令*/

void Wait_Until_Ready(void)

{

        RW_R;//读状态

        RS_L;//读状态位

        LCDDDR=0x00;//输入

        LCDPORT=0x00;

        En_H;

        DelaytE;

        loop_until_bit_is_clear(LCDPIN,7);//不断循环,直至BF=0

        En_L;

}



void Write_Command(uint8_t Command)//向LCD写入命令字

{

        RW_W;//写状态

        RS_L;//写入命令字

        LCDDDR=0xFF;//输出

        LCDPORT=Command;

        En_Toggle();

        Wait_Until_Ready();

}



void Write_Data(uint8_t Data)//写入数据

{

        RW_W;

        RS_H;//写入数据

        LCDDDR=0xFF;

        LCDPORT=Data;

        En_Toggle();

        Wait_Until_Ready();

}



void Write_Position(uint8_t row,uint8_t colum)//设字符位置

{

        uint8_t p;

        if(row==1)

                {p=0x80+colum-1;

                Write_Command(p);

                }

        else

                {p=0xC0+colum-1;

                Write_Command(p);

                }

}



void Write_String(uint8_t *s)//写入字符串

{

        for(;*s!='\0';s++) Write_Data(*s);

}



void Initialize_LCD(void)//LCD初始化

{

        DDRD=0xFF;//PD口,输出,控制信号

        Write_Command(0x38);

        Write_Command(0x06);

        Write_Command(0x0C);

        Clear_Screen;

}

出0入0汤圆

发表于 2005-8-5 20:55:34 | 显示全部楼层
希望能提供给我1602B驱动程序,并且代码说明要详细!!!!!



希望提这种要求的帖子的人,自己先提供一份。
头像被屏蔽

出0入0汤圆

发表于 2005-8-6 07:05:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2005-8-8 13:56:44 | 显示全部楼层
试试我修改的吧!点击此处下载armok0161706.rar

出0入0汤圆

发表于 2005-8-10 15:31:56 | 显示全部楼层
我刚刚上传了一份,有详细的说明,希望对你有帮助!

http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=485345&bbs_page_no=1&bbs_id=1000

出0入0汤圆

发表于 2005-8-10 16:12:25 | 显示全部楼层
在五楼的兄弟所说的乱码主要是该程序要求赋值的是字符串,而不是123等字符!

应该将想显示的东西转换为字符串的形式!比如说 1 应该输入的为‘1’~~~~~~

出0入0汤圆

发表于 2005-8-12 00:13:05 | 显示全部楼层
要是用mega16等单片机,用系统的库文件就可以直接显示了,包含lcd.h头文件即可。

出0入0汤圆

发表于 2012-9-25 15:25:47 | 显示全部楼层
我也是过来找这个驱动的,明天开始调试。谢谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 04:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表