嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 ppt 作者 978-7-302-25605-2 第十六章 S3C2410的人机界面设计

上传人:E**** 文档编号:89376273 上传时间:2019-05-24 格式:PPT 页数:68 大小:869.50KB
返回 下载 相关 举报
嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 ppt 作者 978-7-302-25605-2 第十六章 S3C2410的人机界面设计_第1页
第1页 / 共68页
嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 ppt 作者 978-7-302-25605-2 第十六章 S3C2410的人机界面设计_第2页
第2页 / 共68页
嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 ppt 作者 978-7-302-25605-2 第十六章 S3C2410的人机界面设计_第3页
第3页 / 共68页
嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 ppt 作者 978-7-302-25605-2 第十六章 S3C2410的人机界面设计_第4页
第4页 / 共68页
嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 ppt 作者 978-7-302-25605-2 第十六章 S3C2410的人机界面设计_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 ppt 作者 978-7-302-25605-2 第十六章 S3C2410的人机界面设计》由会员分享,可在线阅读,更多相关《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 ppt 作者 978-7-302-25605-2 第十六章 S3C2410的人机界面设计(68页珍藏版)》请在金锄头文库上搜索。

1、第十六章 S3C2410的人机界面设计,主要内容:,16.1 汉字显示原理 16.2字模提取与小字库建立 16.3 S3C2410显示控制特点 16.4 S3C2410的LCD控制信号和外部引脚 16.5 S3C2410 的LCD驱动程序 16.6 S3C2410在LCD驱动方面的其它应用 16.8 S3C6410 (ARM11)的汉字和曲线显示,16.1 汉字显示原理,16.1.1 嵌入式控制系统人机界面设计概述 嵌入式控制系统设计,首先会遇到人机界面设计,人机界面设计的问题也是嵌入式控制系统设计中难点之一,由于嵌入式控制系统人机界面一般使用LCD(Liquid Crystal Displa

2、y,液晶显示器的简称)做显示器件,所以人机界面设计基本上归结为为二个问题,一是如何解决在液晶显示器上显示汉字和各种曲线,另一个就是各类液晶显示器件驱动问题。,16.1.2 汉字和字符显示原理 无论是CRT显示器,还是单片机系统常用的LCD,它们的分辨率都是以像素为单位的,一个像素就是LCD屏上的一个可以显示的最小单位,也就是常说的点。因此,要在LCD屏上显示一个汉字或图形就必须将汉字或图形用点来表式,这些表示某种图形的点的集合就是所说的点阵。,嵌入式控制系统中最常用的汉字是1616点阵,它是由行列各16个点,共256个点组成的点阵图案,每行的16个点在内存中占两个字节,一个1616点阵汉字共1

3、6行,在内存中占32个字节。,根据这些字节在点阵中存放的顺序,第一行的第1个字节称“0”号字节,第2个字节称“1”号字节;第二行的第1个字节称“2”号字节,第2个字节称“3”号字节。以此类推,最后一行的第1个字节称“30”号字节,第2个字节称“31”号字节,每个字节高位在前,低位在后,即D7在一个字节的最左侧,D0在最右侧。具体如图16-1所示:,不同的汉字各字节数据不同,图16-2是仿宋体“哈”字的1616点阵字模,在点阵中,每一个小方格代表字节中的一位(也叫一个bit),黑色的点bit值等于1,白色的点bit值等于0。这样,仿宋体“哈”字的1616点阵字模的32个字节数据如下: 0x004

4、0,0x0040,0x00a0,0x78a0,0x4910,0x4918,0x4a0e,0x4df4, 0x4800,0x4800,0x7bf8,0x4a08,0x0208,0x0208,0x03f8,0x0208。,输出一个字节数据时,该字节中“位”(bit)为1时,在该“位”位置打点,为0时该“位”位置打空白。如图16-2所示。,此外常用的汉字还有2424点阵,它是由行列各24个点组成的点阵图案,它每列的24个点在内存中占三个字节,一个2424点阵汉字共24列,在内存中占72个字节;4848点阵,行列为4848,一个汉字占内存288个字节。1212点阵(为方便编程把列12点扩展为16点,既

5、两个字节)行列为1216,一个汉字占内存24个字节。,16.1.3 汉字字符集概述 我国1981年公布了信息交换用汉字编码字符集(基本集)GB2312-80方案,把高频字、常用字和次常用字集合成汉字基本字符(共6763个),在该集中按汉字使用的频度,又将其分成一级汉字3755个(按拼音排序)、二级汉字3008个(按部首排序),再加上西文字母、数字、图形符号等700个。,国家标准的汉字字符集(GB2312-80)在汉字操作系统中是以汉字库的形式提供的。汉字库结构作了统一规定,即将字库分成94个区(用区号表示),每个区有94个汉字(用位号表示),每一个汉字在汉字库中有确定的区和位编号(用两个字节)

6、,就是所谓的区位码(区位码的第一个字节表示区号,第二个字节表示位号),因而只要知道了区位码,就可知道该汉字在字库中的地址。,16.1.4 汉字的内码 计算机内英文字符用一个字节的ASCII码表示,该字节最高位一般用做奇偶校验,故实际是用7位码来代表128个字符的,但对于众多的汉字,只有用两个字节才能代表,这样用两个字节代表一个汉字的代码体制,国家制定了统一标准,称为国标码。,16.1.5 内码转换为区位码 当用某种输入设备例如键盘将汉字输入计算机时,则管理模块将自动地把键盘输入的汉字转换为内码,再由内码转换成区位码,通过区位码在汉字库中找到该汉字,进行显示。 由于区位码和内码存在着固定的对应关

7、系,因而知道了某汉字的内码,即可确定出对应的区位码。,16.2字模提取与小字库建立,上面提到,汉字占用内存是非常多的,如常用的一个1616点阵汉字占32字节,一个仿宋体1616点阵汉字库有6763个汉字,占内存326763字节;一个2424点阵汉字占72字节,一个仿宋体2424点阵汉字库有6763个汉字,占内存726763字节;一个4848点阵汉字占288个字节,一个仿宋体4848点阵汉字库有6763个汉字,占内存2886763字节;此外,汉字还有宋体、揩体、黑体、新宋体、篆书等等,每一种都要占和仿宋体一样内存。,16.2.1 用C语言提取字模和建立小字库 如果应用程序是使用C语言编制或对C语

8、言熟悉,那么使用C语言来提取字模和建立小字库比较方便,C语言的汉字提取程序较多,我们用程序Selchn16.c来提取1616点阵汉字。汉字输入是采用区位码,同时生成的小字库是C语言数据形式,可直接复制到用户程序中运行。还可以在LCD屏显示小字库内容。,程序分5段给出,每段都给出详细的解释。,1qwcode.h头文件 头文件qwcode.h包含界面设计需要的5个汉字的区位码,QU_WE=24,86,29,73,20,51,34,56,29,81;是我们随机找的5个汉字“个”,“介”,“从”,“仑”,“今”的区位码;CHNNUMBER(汉字个数)=5。,2char *buffw数组 char *b

9、uffw数组中事先存储了小汉字库中C语言一行字模的存储格式, 一个1616点阵汉字占32个字节,程序将字膜排成二行,一行8个字(16字节),改为C语言数据格式后,每个数前面加0x0,数与数之间用“,”号分隔,再加上每行前面的14个空格,一行是76个字节。,3计算偏移量,移指针 根据区位码计算偏移量使用公式:Location =(94(qh-1)+(wh-1) 32。然后将文件指针移到该位置,从该位置读32个字节放输入缓冲区,同时在LCD屏显示该汉字。,4将读入的字模转换为C语言形式 从字库读出的字模是二进制形式,现转换为C语言形式。转换后,每个1616汉字字模排两行,每行8个字,即16个字节。

10、 转换时先转换第一个字节高4位,再转换第一个字节低4位;然后转换第二个字节高4位,最后转换第二个字节低4位。,5按位转换程序 因为每4个二进制数可用一个16进制数表示,而要转换的C语言形式是16进制数,所以把一个字节的高4位和低4位分别取出,将其数值加上30H,既变为相应的ASCII码,然后存储。 建成的小汉字库是以C语言数据格式存放在数组CHN1616.INC 中。,16.2.2 用Delphi提取字模和建立小字库,该程序可以提取的字模点阵有:1616点阵宋体汉字库,1616点阵仿宋体汉字库,2424点阵宋体汉字库,2424点阵仿宋体汉字库,4848点阵宋体汉字库;如果输入方式选择区位码,可

11、以得到国标上有的拉丁文数字、一般符号、序号、日文假名、希腊字母、英文、俄罗斯文、汉语拼音符号,汉语注音字母等字膜。(程序见书中),16.2.3 通用字模提取程序MinFonBase使用说明 通用字模提取程序MinFonBase是用Delphi编写的,如果你对Delphi不熟,不用看程序的源代码,直接使用它的可执行文件既可。 程序使用非常方便,在随书下载软件包中选 MinFonBase1.exe双击,出现图16-4画面。 然后按图画中提示操作就可以完成字模提取工作,16.3 S3C2410显示控制特点,16.3.1 STN LCD显示器 S3C2410支持3种STN LCD板: 1,支持单色,4

12、灰度级,16灰度级。 2,支持256色,4096色的彩色STN LCD。 3,支持多种不同尺寸的LCD屏,如:640480,320240,160160等,支持现行256色模式彩屏的最大尺寸:40961024,20482048,10244096等。,16.3.2 TFT LCD 显示器 1,S3C2410支持1、2、4、8比特/每像素TFT LCD彩色显示器。 2,支持16比特/每像素的真彩色显示器。 3,支持24比特/每像素的真彩色显示器。 4,支持最大为16M、24比特/每像素的模式。 5,支持多种不同尺寸的TFT LCD屏,如典型的LCD屏尺寸:640480,320240,160160。最

13、大TFT LCD尺寸:20481024 等。,16.3.3 LCD控制器特点 S3C2410 LCD控制器有一个专门的数据存储器,它从内存视频缓冲器之中,获取数据图像资料,同时还具有以下特点: 专用中断功能 (INT_FrSyn 和 INT_FiCnt); 系统内存用作显示器内存; 支持各种现行的LCD屏(支持水平或立轴式的硬件); 通过编程可实现各种显示器件的时序控制; 支持小型字节类型的数据或WinCE数据格式。,16.4 S3C2410的LCD控制信号和外部引脚,本节介绍S3C2410的LCD控制信号和外部引脚,这些知识同学一般掌握即可,这些内部信号编程时有的用不到,虽然LCD控制寄存器

14、的设置和LCD屏幕“打点”程序比较复杂,但系统会根据使用的LCD型号和屏幕分辨率自动完成。 S3C2410的LCD控制框图如16-5所示:,S3C2410的LCD控制器引脚: 1. VFRAME/VSYNC/SYV :帧同步信号(STN)/垂直同步信号(TFT)/SEC TFT信号。 2. VLINE/HSYNC/CPV :行同步脉冲信号(STN)/垂直同步信号(TFT)。 3. VCLK/LCD_HCLK :像素时钟信号(SEC/ TFT)/ SEC TFT 信号。 4. VD23:0 :LCD像素数据输出端口 (STN/TFT/SEC TFT)。 5 VM/VDEN/TP :LCD驱动器交

15、流偏置信号(STN)/数据允许信号(TFT)/ SEC TFT信号。,6. LEND/STH :行结束信号(TFT)/ SEC TFT信号。 7. LCD_PWREN :LCD 控制允许信号。 8. LCDVF0 :SEC TFT OE 允许。 9. LCDVF1 :SEC TFT 信号 REV。 10.LCDVF2 :SEC TFT 信号 REVB。,TIMEGEN 模块能产生 VFRAME,VLINE,VCLK,VM 等信号,具体如下: 1.定时脉冲发生器 该定时脉冲发生器产生LCD驱动器的控制信号诸如:VFRAME,VLINE,VCLK和VM.等信号,这些控制信号和三基色库之中的LCD控

16、制寄存器15的构造有密切联系。,2.VFRAME脉冲 在第一行的间隔内以每帧一次的频率产生。该信号的作用是为了将LCD的行指针移到显示的开始以便重新开始下一帧扫描。,3.VM信号 VM信号使得LCD 驱动器调整行和列电压的极性,用于像素的通断。该信号的速率取决于LCD控制 寄存器1的MMODE位和LCD控制寄存器4的 MVAL位。 如果MMODE位为0,则VM信号用于标定每一帧;如果为1,则用于标定MVAL7:0中VLINE信号的下降沿。,16.4.1 LCD专用控制寄存器,S3C2410在REGBANK有17个可编程的寄存器,其中有几个编程时要经常用到。介绍如下: 1LCD控制寄存器 LCD控制寄存器共有5个,它们的使用见表16-116-5。,2缓存起始地址寄存器 在编写LCD驱动程序时除了用到上述5个控制寄存器外,还要用到下面介绍的3个帧缓存器起始地址寄存器,通过表16-616-8来介绍它们的使用。,3查表寄存器,16.4.2 LCD专用控制寄存器的设置

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号