LCD显示实验

  • 格式:ppt
  • 大小:229.50 KB
  • 文档页数:21

下载文档原格式

  / 21
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
式下,显示缓冲区中的一个字节数据代表LCD上的一个点的颜色信息,因 此,所需要的显示缓冲区大小为320X240X1字节。其中每个字节的彩色数 据格式如下图所示:
12
五 基础知识
JX44B0 LCD控制器初始化
初始化LCD端口,由于LCD控制端口与CPU的GPIO端口是复 用的,因此必须设置相应寄存器为LCD驱动控制端口
{
frameBuffer256=(unsigned char *)malloc(ARRAY_SIZE_COLOR);
rNCACHBE1=(((unsigned int)frameBuffer256)>>12) +
((((unsigned int)(frameBuffer256+ARRAY_SIZE_COLOR))>>12)<<16);
18
五 基础知识
汉字字模
一个汉字字模占用的字节数根据汉字库的汉字大小不同而不同。以HZK16点阵字库为 例,字模中每一点使用一个二进制位(Bit)表示,如果是1,则说明此处有点,若是0, 则说明没有。这样,一个16×16点阵的汉字总共需要16*16/8=32个字节表示。
字模的表示顺序为:先从左到右,再从上到下,也就是先画左上方的8个点,再是右 上方的8个点,然后是第二行左边8个点,右边8个点,依此类推,画满16×16个点。 因此,HZK16中汉字在汉字库中具体位置的计算公式为:(94*(qh-1)+(wh-1))*32。
VD[3:0]以及VD[7:4]:LCD象素数据输出端口。
11
五 基础知识
JX44B0 LCD图形显示方式
JX44B0的LCD显示模块由S3C44B0的LCD控制器和256色彩色LCD显示器组成。 其显示方式以直接操作显示缓冲区的内容进行,LCD控制器会通过DMA从显
示缓冲区中获取数据,不需要CPU干预。 本系统采用的LCD分辨率为320X240,工作在256色彩色显示模式,在该模
VCLK: 此信号为LCD控制器和LCD驱动器之间的象素时钟信号,LCD控制器在 VCLK的上升沿发送数据,LCD驱动器在VCLK的下降沿采样数据。
VM: LCD驱动器所使用的交流信号。LCD驱动器使用VM信号改变用于打开或 关闭象素的行和列电压的极性。VM信号在每一帧触发,也在编程决定数量 的VLINE信号触发。
}
13
五 基础知识
JX44B0 LCD控制器初始化
初始化LCD控制寄存器,包括设置LCD分辨率,扫描频率, 显示缓冲区等。
14
五 基础知识
画点函数
LCD初始化后,可以通过直接修改显示缓冲区实现显示。 如下代码为在LCD的(x,y)位置处以颜色c打一个点
void lcd_put_pixel(int x,int y,unsigned char c) {
汉字“房”的机内码为十六进制的“B7BF”,其中“B7”表示区码,“BF”表示位码。 所以“房”的区位码为0B7BFH-0A0A0H=171FH。将区码和位码分别转换为十进制得汉 字“房”的区位码为“2331”,即“房”的点阵位于第23区的第31个字的位置,相当 于在文件HZK16中的位置为第32×[(23-1) ×94+(31-1)]=67136B以后的32个字节为 “房”的显示点阵。
3
二 实验内容
实验内容
编写图形显示函数,在LCD上显示图形 编写HZK16读取函数,在LCD上显示汉字
4
三 预备知识
预备知识
了解汉字库的组织方式,汉字显示的原理 学习LCD的显示原理和控制办法
5
四 实验设备
实验设备
JX44B0教学实验箱 ADT1000仿真器和ADT IDE集成开发环境 串口连接线
19
六 实验过程
实验过程
20
六 实验报告要求
实验报告要求
简述LCD的显示图形的原理; 举例说明LCD的显示汉字的原理;
21
rPDATC=rPDATC&~(1<<8)|(1<<8);/*GPE5=H lcd enable*/ rPCONC=rPCONC&~(0xff<<8)|(0xff<<8);/*GPC[4:7] => VD[7:4]*/
申请显示缓冲区,大小为320X240X1字节
if((U32)frameBuffer256==0)
6
五 基础知识
LCD显示原理
LCD显示器是通过给不同的液晶单元供电,控制其光线的 通过与否,从而达到显示的目的。因此,LCD的驱动控制 归于对每个液晶单元通断电的控制,每个液晶单元都对 应着一个电极,对其通电,便可使用光线通过(也有刚 好相反的,即不通电时光线通过,通电时光线不通过)。
光源的提供方式有两种:透射式和反射式。笔记本电脑 的LCD显示屏即为透射式,屏后面有一个光源,因此外界 环境可以不需要光源。而一般微控制器上使用的LCD为反 射式,需要外界提供光源,靠反射光来工作。
8
五 基础知识
LCD的驱动控制 – 扫描器控制方式
扫描器控制方式LCD显示屏没有驱动电路,需要与驱动电路配合使 用。这种LCD体积小,但需要另外的驱动芯片。通常可以使用带有 LCD驱动能力的高档MCU驱动,如ARM系列的S3C44B0。
S3C44B0中具有内置的LCD控制器,它具有将显示缓存中的图象数据 传输到外部LCD驱动电路的逻辑功能。S3C44B0中内置的LCD控制器 可支持灰度LCD和彩色LCD。可以支持单色、4 级灰度和16 级灰度 模式的灰度LCD以及256级彩色。对于不同尺寸的LCD,具有不同数 量的垂直和水平象素、数据接口的数据宽度、接口时间及刷新率, 而LCD控制器可以进行编程控制相应的寄存器值,以适应不同的LCD 显示板。
if(x<SCR_XSIZE && y<SCR_YSIZE) *(((unsigned char *)(frameBuffer256)) + y * SCR_XSIZE + x) = c; }
15
五 基础知识
显示图形
最直观的图形显示方式就是将图形中的颜色信息一个点 一个点的输出到LCD的相应位置
JX44B0实验系统教案 LCD显示实验
武汉创维特信息技术有限公司
2020/4/15
提纲
1
实验目的
2 实验内容
3 预备知识
4 实验设备
5 基础知识 6 实验过程 7 实验报告要求
2
一 实验目的
实验目的
了解LCD显示的基本原理 了解LCD的接口与控制方法 掌握LCD显示图形的方法 掌握LCD显示字符的方法(本次实验显示汉字)
9
五 基础知识
S3C44B0 LCD控制器逻辑框图
10
五 基础知识
S3C44B0 LCD控制器外部接口信号
VFRAME: LCD控制器和LCD驱动器之间的帧同步信号。它通知LCD 屏新的一 帧的显示,LCD 控制器在一个完整帧的显示后发出VFRAME 信号。
VLINE: LCD控制器和LCD驱动器间的同步脉冲信号,LCD驱动器通过它来将 水平移位寄存器中的内容显示到LCD屏上。LCD控制器在一整行数据全部传 输到LCD驱动器后发出VLINE信号。
16
五 基础知识
LCD字符显示
LCD字符显示就是将字库(汉字字库、英文字库或者其他语 言字库)中的字模以图形方式显示在LCD上,其显示原理和 图形显示没有差别,只要把汉字当成一幅画,画在显示屏 上就可以了。关键在于如何取得字符的图形,也就是字符 的点阵字模。
在常用的汉字点阵字库文件。例如常用的16×16点阵HZK16 文件,按汉字区位码从小到大依次存有国标区位码表中的 所有汉字。
17
五 基础知识
HZK组成
每个汉字占用32个字节,每个区为94个汉字。 在计算机中,汉字是以机内码的形式存储的,每个汉字占用两个字
节:第一个字节为区码(qh),为了与ASCII码区别,范围从十六进 制的0A1H开始(小于80H的为ASCII码字符),对应区位码中区码的 第一区;第二个字节为位码(wh),范围也是从0A1H开始,对应某区 中的第一个位码。 这样,将汉字机内码减去0A0AH就得该汉字的区位码。因此,汉字 在汉字库中的具体位置计算公式为: location = (94*(qh-1)+wh-1)*一个汉字字模占用字节数
7
五 基础知识
LCD的驱动控制 – 总线驱动方式
一般带有驱动模块的LCD显示屏使用总线驱动方式,这种LCD可以方 便地与各种低档单片机进行接口,如8051系列单片机。由于LCD已 经带有驱动硬件电路,因此模块给出的是总线接口,便于与单片机 的总线进行接口。驱动模块具有八位数据总线,外加一些电源接口 和控制Βιβλιοθήκη Baidu号。而且还自带显示缓存,只需要将要显示的内容送到显 示缓存中就可以实现内容的显示。由于只有八条数据线,因此常常 通过引脚信号来实现地址与数据线复用,以达到把相应数据送到相 应显示缓存的目的。
void lcd_disp_graph(unsigned char * image) {
unsigned int x,y; for(y=0;y<SCR_YSIZE;y++)
for(x=0;x<SCR_XSIZE;x++) lcd_put_pixel(x,y,*(image+y*SCR_XSIZE+x)); }