您现在所在的是:

单片机论坛

回帖:10个,阅读:6790 [上一页] [1] [2] [下一页]
824
xuleif1984
文章数:8
年度积分:50
历史总积分:824
注册时间:2009/11/19
发站内信
发表于:2009/11/19 13:07:57
#0楼
大家好,第一次在本论坛发帖,本帖主要介绍一款内建中文字库的液晶模块,此模块是由深圳市卓立恩科技公司研发的新型液晶,主控芯片是RA8806,此芯片功能十分强大,不仅自带中文字库,还自带电阻式触摸驱动功能,非常适合广大单片机爱好者学习编程,废话不多说,现在来介绍这款液晶显示屏的点亮.
  芯片资料见附件(只有英文的),首先我们应该知道怎么样去看液晶驱动IC的资料,重点在哪里?我的经验是1.读写时序,这个要小心,一般液晶控制芯片的时序分为8080,6800,根据规格书写出读写子程序,我们在写液晶程序时有时候没有显示,程序检查半天发现是读写子程序错误.2.数据和命令指令写入规则.3.显示存储器的写入规则.4.指令内容和作用,要点亮屏一般只要用到几个关键的指令就好了.
  下面是引脚定义[/p]
    sbit cs1=P2^3; 片选信号,低电平选中有效
    sbit rs=P2^0;  命令和数据选择信号,低写入的为数据,高写如的是指令
    sbit wr=P2^1;  写信号
    sbit rd=P2^2;  读信号
    sbit busy=P2^4; 忙信号
    sbit rst=P2^5;  复位信号
    #define BUS P1 数据口P1作为数据输入口
    首先看读写子程序,8806的指令写入规则是先将指令寄存器REG#写入,例如:我们现在要对WCLR寄存器操作,那么我们就得首先将00H(REG#)写入,然后将数据写入
    void LCD_CmdWrite(unsigned char cmdaddr)//8080
{        cs1=0;
       rd=1;
       rs=1;
       BUS=cmdaddr;
       wr=0;
       wr=1;
       cs1=1; /8080时序
}
将REG#值写入程序
void LCD_DataWrite(unsigned char wrdata)
{      while(busy==0);
       cs1=0;
       rd=1;
       rs=0;
       BUS=wrdata;
       wr=0;
       wr=1;
       cs1=1;
}
数据写入子程序
假设我们对WCLR设置00H的初值,则:

   LCD_CmdWrite(WLCR);        //[00H] , Default --> 0x00
   LCD_DataWrite(0x00);    
即可.
void lcd_inital()
{
   LCD_CmdWrite(WLCR);        //[00H] , Default --> 0x00
   LCD_DataWrite(0x00);    

   LCD_CmdWrite(MISC);        //[01H] , Default --> 0x00
   LCD_DataWrite(0x08);

   LCD_CmdWrite(ADSR);        //[03H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(INTR);        //[0FH] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(WCCR);        //[10H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(CHWI);        //[11H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(MAMR);        //[12H] , Default --> 0x11
   LCD_DataWrite(0x11);

   LCD_CmdWrite(AWRR);        //[20H] , Default --> 0x27
   LCD_DataWrite(39);

   LCD_CmdWrite(DWWR);        //[21H] , Default --> 0x27
   LCD_DataWrite(39);

   LCD_CmdWrite(AWBR);        //[30H] , Default --> 0xEF    
   LCD_DataWrite(239);

   LCD_CmdWrite(DWHR);        //[31H] , Default --> 0xEF
   LCD_DataWrite(239);

   LCD_CmdWrite(AWLR);        //[40H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(AWTR);        //[50H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(CURX);        //[60H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(BGSG);        //[61H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(EDSG);        //[62H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(CURY);        //[70H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(BGCM);        //[71H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(EDCM);        //[72H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(BTMR);        //[80H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(ITCR);        //[90H] , Default --> 0x00    需要调整
   LCD_DataWrite(0x80);

   LCD_CmdWrite(PNTR);        //[E0H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(FNCR);        //[F0H] , Default --> 0x00
   LCD_DataWrite(0x00);

   LCD_CmdWrite(FVHT);        //[F1H] , Default --> 0x00
   LCD_DataWrite(0x00);
}
  初始化程序,大家可以参考芯片的规格书理解

显示汉字子程序:

void display_word(unsigned char code *cha, int count )
{
   unsigned int iiii=0;
   LCD_CmdWrite(0x00);  
   LCD_DataWrite(0x0c); /文字模式开
   LCD_CmdWrite(0x60);
   LCD_DataWrite(0x00); /设置x光标的位置
   LCD_CmdWrite(0x70);  
   LCD_DataWrite(0x00);  /设置y光标的位置
   LCD_CmdWrite(0xb0); /写数据模式
     for(iiii=0;iiii<count;iiii++)
     {
         LCD_DataWrite(*cha);  
             ++cha;
               delay_nms(1);
           }  
}
附件是显示中文程序,ra8806规格书太大传不上去,需要的留下邮箱吧
我的邮箱:xuleif1984@yahoo.com.cn
QQ:44946295表情
附件:
[本地下载]
824
xuleif1984
文章数:8
年度积分:50
历史总积分:824
注册时间:2009/11/19
发站内信
发表于:2009/11/19 13:09:14
#1楼
自己先顶一下
5140
liguoxing
文章数:1691
年度积分:56
历史总积分:5140
注册时间:2006/4/21
发站内信
发表于:2009/11/19 21:56:05
#2楼
液晶显示多得去了,你这个有何特点,可显示几行,每行几个汉字或字母,尺寸,性价比如何,这是首先要介绍的。否则那么多信息谁来深入了解这个呀
呜呜。我没有个性化Logo,谁能帮我设计个?拜托啦。
824
xuleif1984
文章数:8
年度积分:50
历史总积分:824
注册时间:2009/11/19
发站内信
发表于:2009/11/19 23:27:13
#3楼
楼上的朋友说得有道理,下面是对这款液晶的介绍,性价比的话,我认为还是不错的,谢谢楼上的朋友!!
320x240D 中文字库点阵绘图液晶显示模块是由控制器RA8806与驱动SDN8080G组成的微功耗CMOS电路,主要功能:

1:支持文字与图形混合显示

2:支持4/8Bits的6800/8080 MPU接口

3:支持水平与垂直区域卷动

4:支持简体/繁体字库,完全符合ASCII码

5:支持文字180度旋转,文字1倍到4倍放大功能

6:512位创字内存(CGRAM)

7:自带电阻式触摸驱动功能

8:支持文字行与行之间的距离设置

9: 支持低电压(3.3V)驱动
824
xuleif1984
文章数:8
年度积分:50
历史总积分:824
注册时间:2009/11/19
发站内信
发表于:2009/11/20 0:01:58
#4楼
我认为这款液晶屏的主要优势是1.内建中文字库,用户显示汉字非常简单而且灵活,图形文字混排也很简单
2.内部有电阻式触摸驱动功能 3.支持低电压驱动,适合ARM,MSP430低功耗单片机驱动 但是有些功能我觉得不太实用,比如行列键盘功能
807
ch6176
文章数:5
年度积分:50
历史总积分:807
注册时间:2009/11/22
发站内信
发表于:2009/11/22 23:59:58
#5楼
有图片吗 。、
824
xuleif1984
文章数:8
年度积分:50
历史总积分:824
注册时间:2009/11/19
发站内信
发表于:2009/11/26 17:17:13
#6楼
320240中文字库LCD图片
有图片啊,之前不知道怎么上传,现在补上
附件
附件
附件
824
xuleif1984
文章数:8
年度积分:50
历史总积分:824
注册时间:2009/11/19
发站内信
发表于:2009/11/26 17:19:33
#7楼
继续上图
附件
附件
824
xuleif1984
文章数:8
年度积分:50
历史总积分:824
注册时间:2009/11/19
发站内信
发表于:2009/11/26 17:21:08
#8楼
显示图
附件
附件
824
xuleif1984
文章数:8
年度积分:50
历史总积分:824
注册时间:2009/11/19
发站内信
发表于:2009/12/1 14:22:40
#9楼
给自己再定

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005