您好,欢迎来到仪表展览网!
请登录
免费注册
分享
微信
新浪微博
人人网
QQ空间
开心网
豆瓣
会员服务
进取版
标准版
尊贵版
|
设为首页
|
收藏
|
导航
|
帮助
|
移动端
|
官方微信扫一扫
微信扫一扫
收获行业前沿信息
产品
资讯
请输入产品名称
噪声分析仪
纺织检测仪器
Toc分析仪
PT-303红外测温仪
转矩测试仪
继电保护试验仪
定氮仪
首页
产品
专题
品牌
资料
展会
成功案例
网上展会
词多 效果好 就选易搜宝!
深圳景润达电子有限公司
新增产品
|
公司简介
注册时间:
2006-08-23
联系人:
电话:
Email:
首页
公司简介
产品目录
公司新闻
技术文章
资料下载
成功案例
人才招聘
荣誉证书
联系我们
产品目录
LCD/LCM/液晶显示屏/模组
OLED显示屏
高亮工业液晶屏
TFT屏
串口屏
段试液晶屏
超薄车载液晶电视/显示器
当前位置:
首页
>>>
技术文章
>
技术文章
点阵式液晶字符反白和图形显示研究
点阵式液晶字符反白和图形显示研究
实验动物独立通气笼盒
(Individual Ventilated Cages
,
IVC)(
闭环
)
监控系统,由微控制器实现对笼盒风扇的通气量、笼盒内部的氨含量等参数采集,并根据这些参数来调整通气风扇转速,以调整笼盒的换气率,从而确保笼盒内部的空气质量。同时,根据相关参数指标发出警报以提醒更换过滤膜等,实现对小动物生长环境的过程控制。
在整个监控系统中,人机交互界面部分用于显示整个实验动物生长环境过程中的控制历史数据、实时控制参数和环境温度参数等。
本文采用以
ST7920
为控制器的
YMl2864R
点阵式液晶显示模块
(LCD Module
,
LCM)
构成了整个
IVC
监控系统的人机界面部分。
YM12864R
点阵式液晶显示模块具有灵活的接口方式和简单的操作指令,构成的全中文人机交互图形界面既可以显示
8×4
行
16×16
点阵的汉字,也可以显示图形。模块内部设有
2MB
的中文字型
CGROM
和
64×256
点阵的
GDRAM
绘图区域;同时,提供
4
组可编程控制的
16×16
点阵造字空间。
1
点阵式液晶硬件接口设计
以
ST7920
为控制器的
YM12864R
点阵式液晶显示模块和单片机之间的接口方式有并行和串行两种。本文采用串行接口方式,单片机选用
AVR
公司的
ATmega16
。接口电路如图
1
所示。其中,
PC4
控制串行的片选信号
(CS)
,低电平有效;
PC5
控制串行的数据线
(SID)
;
PC6
控制串行的时钟输入
(CLK)
。
ST7920
通过
VCC(+5 V)
和
GND
之间串联一个
10 kΩ
的电阻来控制背光强度。如果不需要调节对比度,可以直接将
VLCD
引脚接
VCC(+5 V)
,此时对比度*大。
2
文本显示及绘图显示
2.1
文本显示
ST7920
可以显示半宽的
HCGROM
字型、
CGRAM
字型以及中文
CGROM
三种字型,通过在
DDRAM
中写入的编码选择。文本显示
DDRAM
提供
8
个
×4
行的汉字空间,如下所示:
字型编码如下:
①
显示半宽
HCGROM
字型。将
1
字节写入
DDRAM
中,范围为
02H
~
7FH
的编码。
②
显示半宽
CGRAM
字型。将
2
字节编码写入
DDRAM
中,总共有
0000H
、
0002H
、
0004H
、
0006H
四种编码。
③
显示中文
CGROM
字型。将
2
字节编码写入
DDRAM
中,范围为
A1AOH
~
FTFFH(GB
码
)
或
A140H
~
D75FH(BIG5
码
)
的编码。
2.2
绘图显示
绘图显示
GDRAM
提供
128×8
字节的记忆空间。在更改绘图
RAM
时,先连续写入水平与垂直的坐标值,再写入
2
个字节的数据到绘图
RAM
中,而地址计数器
(AC)
会自动加
1
。在写入绘图显示
RAM
的期间,绘图显示功能必须关闭。整个写入绘图
RAM
的步骤如下:
①
关闭绘图显示功能;
②
先将水平的位元组坐标
(X)
写入绘图
RAM
地址,再将垂直的坐标
(Y)
写入绘图
RAM
地址;
③
依次将
D15
~
D8
和
D7
~
D0
写入
RAM
中;
④
打开绘图显示功能。
图形显示坐标如图
2
所示。其中,水平方向
X
以字节单位,垂直方向
Y
以位为单位。
3
字符反白
在实现人机交互界面菜单时,字符反白可以表示菜单中不同选项被选中的状态。液晶显示模块
YM12864R
的使用手册中提供了对应行的反白指令,但在原理上
ST7920
控制器的
128×64
点阵液晶等同于
256×32
点阵,第
3
行对应的文本显示
(DDRAM)
地址紧接着第
1
行,第
4
行对应的文本显示
(DDRAM)
地址紧接第
2
行。因此,用户对第
1
行执行反白显示操作时,第
3
行必然也反白显示;对第
2
行执行反白操作时,第
4
行也必然反白。可见,使用手册中自带的反白指令不能实现任意字符的反白。
为了解决上述问题,可以将图形显示和字符显示结合起来使用。在
ST7920
控制器中,文本显示的
DDRAM
和图形显示的
GDRAM
是相互独立的,而*后显示到液晶上的结果则是,文本显示
DDRAM
中数据和图形显示
GDRAM
中数据的异或结果。
如果要在液晶显示模块的某个点上呈现反白显示,那么就在该点绘图并且显示文本;如果要取消反白,只需用全
“0”
擦掉该点的绘图。这样,就可以实现
YM12864R
的任意字符的反白。
字符反白程序流程如图
3
所示。其中,
base_x
表示绘图起始的行地址;
Y_Pos
表示绘图起始的列地址;第
1
行至第
4
行的起始地址分别是
(0x80
,
0x80)
,
(0xS0
,
0xg0)
,
(0x88
,
0xS0)
和
(0x88
,
0x90)
。
反白就是在需要反白的区域进行绘图,即在这个区域写进
0xff
。**一个区域的反白,就是对需要**反白的区域**绘图,即在这个区域写进
0x00
。
在整个绘图的过程中,横向地址指针是自动进行加
1
运算的,所以只需要确定这一行的首地址横坐标;而纵坐标的地址不进行自动加
1
运算,需要在程序中修正,每次修正是以像素为基本单位的。
字符反白显示实例如图
4
所示。
4
任意位置显示任意大小图形
在实现人机交互界面时,图文结合是常见的一种方式。本文尝试一种任意位置显示任意大小图形
(
横向尺寸以字节为基本单位,纵向尺寸以位为基本单位
)
的方法,为人机交互界面的图形结合设计提供了捷径。
4.1
任意位置显示任意大小图形程序
任意位置显示任意大小图形程序流程如图
5
所示。其中,
x1
和
y1
表示所画图的起始点相对于液晶屏幕左上角起始点
(0xS0
,
0x80)
的距离
(
横向
x1
以字节为基本单位,纵向
y1
以位为基本单位
)
;
x
表示所画图的起始横坐标地址;
y
表示所画图的起始纵坐标地址;
Write_command()
函数用于向液晶中写命令;
templ
表示图形的纵向尺寸
(
以像素为单位
)
。
绘图时,如果所画的图形只涉及上半屏
(
或下半屏
)
,那么在写地址时可以不考虑地址跨越上下半屏的调整,只需要在所画图形的初始处写好行地址和列地址:
Write_command(y+templ)
;
Write_command(x)
;
在绘图过程中,横坐标地址指针会在写数据的过程中自动加
1
,因此只需要写出这一行的首地址;但纵坐标地址指针不会自动加
1
,需要在程序中修正。
4.2
任意位置显示任意大小图形实例
任意位置显示任意大小图形实例如图
6(a)
~
(c)
所示。
结
语
ST7920
因内置字库而被广泛应用,其图形显示的关键点是熟练掌握图形显示坐标。在笔者所参与的独立通气笼盒监控系统设计过程中,利用以
ST7920
为控制器的液晶显示模块构建良好的人机交互界面,以曲线和直方图的方式显示实时温度。系统可由用户设定开启密码,可以查看相关历史数据、实现实验动物生长环境及生长过程的控制,以及回溯历史数据、实时控制参数和环境温度等参数。该设计对优化控制实验动物生长环境、稳定实验动物生活习性、动物形态十分有益。
上一篇:
OLED显示模块与C8051F单片机的接口设计
下一篇:
1305控制的OLED12864驱动程序
若网站内容侵犯到您的权益,请通过网站上的联系方式及时联系我们修改或删除