机电之家资源网
单片机首页|单片机基础|单片机应用|单片机开发|单片机文案|软件资料下载|音响制作|电路图下载 |嵌入式开发
培训信息
赞助商
12864点阵液晶显示模块与51单片机的接口及程序设计,紫微单片机
12864点阵液晶显示模块与51单片机的接口及程序设计,紫微单片机
 更新时间:2009-7-23 15:58:45  点击数:0
【字体: 字体颜色

    显示器是人类与应用设备沟通的重要界面,近年来,随着电子技术的飞速发展,液晶显示技术在实际生活中得到了广泛应用。液晶显示模块以其微功耗、体积小、显示内容丰富、模块化以及接口电路简单等诸多优点在科研、生产和产品设计等领域中发挥着越来越重要的作用。LM3033B系列液晶显示模块是深圳 TOPWAY公司生产的中文显示模块中的一员。采用了台湾的ST7920控制芯片,并提供了中文字库,为中文显示开发方面带来了更多的方便。本文以 LM3033B-0BR3为例介绍了12864点阵液晶显示模块的引脚、结构、功能,详述了与AT89S52单片机的硬件接口电路及有关软件编程方法。

1 LM3033B-0BR3特点及操作
1.1 字符显示
    每屏可显示4行8列共32个16×16点阵的汉字,每个显示RAM 可显示1个中文字符或2个16×8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。内部提供128×2字节的字符显示RAM 缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM (中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。三种不同字符/字型的选择编码范围为:显示自定义字型其代码分别是 0000H、0002H、0004H和0006H共4个,显示半宽ASCII码字符为02H~7FH,A1A0H~F7FFH显示8192种GB2312 中文字库字形。字符显示RAM 在液晶模块中的地址80H~9FH。字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如表1所示。

表1字符显示的RAM 地址与32个中文字符显示区域的对应关系

80H81H82H83H84H85H86H87H
90H91H92H93H94H95H96H97H
88H89H8AH8BH8CH8DH8EH8FH
98H99H9AH9BH9CH9DH9EH9FH

1.2 图形显示
    绘图显示RAM提供64x32个位元组的记忆空间(由扩充指令设定绘图RAM位址),在更改绘图RAM时,由扩充指令设定GDRAM位址先设置垂直位址,再设置水平位址(连续写入两个位元组的资料来完成垂直与水平的坐标位址),再写入两个8位的资料到绘图RAM,而位址计数器(AC)会自动加一,整个写入绘图RAM 的步骤如下:
a.关闭绘图显示功能(在写入绘图RAM期间,绘图显示必须关闭) ;
b.先将垂直的位元组(Y)写入绘图RAM位址;
c.再将水平的位元组(X)写入绘图RAM位址;
d.将D15~D8写入到RAM 中;
e.将D7~D0写入到RAM 中。


图1 绘图RAM 与屏幕显示区域的对应关系

1.3 LM3033B-0BR3的操作指令
    LM3033B-0BR3提供两套控制命令:基本指令集和扩充指令集。基本指令集包括了对液晶LM3033B-0BR3的基本操作,如判断控制器忙标志、清除显示、设定显示的地址、写数据和读数据等。而扩充指令集则包括设置睡眠模式,设置图形显示、设置反白、设置滚动等功钱,可以进一步满足低功耗的需求,使显示效果更丰富,为使用者提供更方便的环境。
    单片机对LM3033B-0BR3的操作过程为:单片机先确认ST7920内部处于非“忙“状态。即读取BF位,当BF为0时,LM3033B-0BR3 才可接收新的指令或数据。在操作时,LM3033B-0BR3在单片机的时钟信号的控制下,数据通过数据线传送给LM3033B-0BR3,当 LM3033B-0BR3成功接收到数据后,转入内部时钟控制,封锁I/O口缓冲器,置”忙”标志。ST7920根据接收数据中的RW和RS位判断所接收到的是数据还是指令,并进行相应的处理。处理完成后,撤销I/O口缓冲器的封锁,“忙”标志清零。

2 单片机与LM3033B-0BR3的接口电路
    一般液晶显示模块与单片机的接口分为直接访问方式和间接控制方式,间接控制方式还分为一位串行、4位并行以及8位并行。本文采用的AT89S52和液晶 LM3033B-0BR3模块的接口电路如图2所示。由于LM3033B-0BR3采用并口通信,外接电路简单,与单片机连接采用间接连接的方法,即用 I/O口直接与LCD数据线和控制线相连,其特点是简单、直观、操作方便。在此电路中,采用软件模拟液晶的时序,达到正确显示的目的。

管脚号管脚名称
1VSS
2VDD
3NC
4RS(CS)
5R/W(SID)
6E(SCLK)
7-14DB0—7
15PSB
16NC
17RST
18NC
19BLA
20BLK

图2 AT89S52和液晶LM3033B-0BR3模块的接口电路及LM3033B-0BR3引脚功能

3 液晶显示C51程序设计
    对LM3033B-0BR3的软件编程采用Medwin语言开发,主要包括两部分,一部分是给液晶写指令,另一部分是给液晶写数据。有了这2个基本的子程序,就可以构造出各种实用的显示子程序。由于液晶内部自带汉字模块,只需发送汉字对应的代码就可以实现汉字的显示,其代码可以在ST7920模块的资料中查找。对于图形和曲线显示的原理类似,只需要设置好相应的水平地址和垂直地址,并把相应的图形编码写入液晶模块,就可显示出所要显示的内容。
写命令到LCD:
void WRCMD(uchar cmdcode)
{
chk_busy();
RS=0;
RW =0;
E=1;
lcd_bus=cmdcode;
E=0;
)
写数据到LCD:
void WRData(uchar Dispdata)
{
chk_busy();
RS=1;
RW =0;
E=1;
lcd_bus=Dispdata;
E=0;
)
初始化程序:
void Init()
{
RES=1;
RES=0;
delay(1);
RES=1;
delay(1);
WRCMD(Ox30); //选择8位并行W
RCMD(Ox30); //选择8位并行
WRCMD(OxOc);//开显示(无游标、不反白)
WRCMD(0x01);//清除显示
WRCMD(Ox04); //shift=0,AC加1
    在单片机与液晶的接口中,关键是要满足液晶的时序要求;在软件编程中,关键是要进行正确的初始化、操作及写入显示内容的代码。以上接口电路和相应的程序已经通过调试,并在实际中得到应用。由ST7920构成的LM3033B-0BR3液晶显示模块与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多。因此,LM3033B-0BR3液晶显示模块将得到广泛的应用。

  • 上一篇: 基于AT89C51单片机的节拍器,紫微单片机
  • 下一篇: 基于51单片机双极型PWM 的软件实现,紫微单片机
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 机电之家 | 会员助手 | 免费链接

    点击这里给我发消息66821730(技术支持)点击这里给我发消息66821730(广告投放) 点击这里给我发消息41031197(编辑) 点击这里给我发消息58733127(审核)
    本站提供的机电设备,机电供求等信息由机电企业自行提供,该企业负责信息内容的真实性、准确性和合法性。
    机电之家对此不承担任何保证责任,有侵犯您利益的地方请联系机电之家,机电之家将及时作出处理。
    Copyright 2007 机电之家 Inc All Rights Reserved.机电之家-由机电一体化网更名-声明
    电话:0571-87774297 传真:0571-87774298
    杭州滨兴科技有限公司提供技术支持

    主办:杭州市高新区(滨江)机电一体化学会
    中国行业电子商务100强网站

    网站经营许可证:浙B2-20080178-1