您好,欢迎来到中国企业库   [请登陆]  [免费注册]
小程序  
APP  
微信公众号  
手机版  
 [ 免责声明 ]     [ 举报 ]
企业库免费B2B网站
搜产品 搜企业
客服电话:400-000-8722
企业库首页>资讯
行业

LCD彩色图形显示和英文、汉字显示实现的具体原理和方_天涯博客_有见识 ...

作者:企业资讯策划团队 来源:rwfb 发布时间:2010-04-08 浏览:129



显示技术发展趋势|小点阵汉显液晶模块及其应用|大电流LED调光方法的对比分析|基于IR21592的调光电子镇流器的原理与设计|黑电节能:D类放大器和LED背光是关键技术|PC机控制LED显示问题的研究(下)|用电池组驱动七个高亮度白光LED的电路设计|FPGA字符型LCD模块控制|既增强TV性能又节省功耗的LCD自适应背光控制|Micrel推出MIC2299高亮度LED驱动解决方案|

正文:

 摘 要:本文着重介绍了ARM7处理器S3C44B0X内置LCD控制器的使用方法,简要介绍夏普LM057QC1T01液晶显示模块以及它和S3C44B0X的接口方法。并在此基础之上,讨论了彩色英文、汉字和图形在LCD模块上的显示原理和实现方法。

 关键词:S3C44B0X;LCD Controller;LM057QC1T01  

 引言

  S3C44B0X是面向嵌入式系统的高xjb微处理器,它采用ARM7TDMI核,工作在66MHz。为了节约项目开发周期和成本,S3C44B0X大量集成了ADC、LCD控制器等外围器件。其中,LCD控制器支持在LCD上的单色、4级、16级灰度、256色的显示,具有很强的通用性。夏普LM057QC1T01是像素格式为320×3×240的256色TSTN透光型液晶显示模块。本文讨论了S3C44B0X和夏普LCD接口的连接。在此基础之上着重讨论彩色图形显示和英文、汉字显示实现的具体原理和方法。

  

  LCD控制器

  S3C44B0X LCD控制器的作用是将缓存中的数据传送到外部的LCD驱动器,并产生必须的LCD控制信号。LCD 控制器可以编程支持不同水平和垂直点数(640×480, 320×240, 160×160等)、不同数据线宽度、不同接口时序和刷新速率的LCD,支持4位双扫描、4位单扫描、8位单扫描模式,并支持水平/垂直卷动,以用来支持更大的屏幕显示(如1280×1280)。  

  液晶显示模块LM057QC1T01

  LM057QC1T01是夏普公司生产的图形点阵256色STN液晶模块,它的分辨率为320×240,由于它具有接口简单、工作稳定和便于操作等特点,在嵌入式系统有比较广泛的应用。  

  S3C44B0X和LM057QC1T01的连接

  由于S3C44B0X和LM057QC1T01液晶显示模块都具有很强的通用性。所以它们的连接比较容易实现,但是由于LCD模块需要有液晶显示所必需的偏转电压,所以需要在控制器和LCD接口之间加装能实现电压偏转功能的电路,实现输出LCD显示所需的27V偏转电压。具体引脚连接如表1所示。

  LCD控制器有20个引脚,其中针对夏普LM057QC1T01液晶显示模块,引脚13~17没有使用意义,在实际的连接中悬空不接。其他引脚和LCD的连接如表1所示。在LCD显示模块中,引脚6所接入的用于液晶显示所需的27V偏转电压由外部外接电路提拱。外接电路所需要的电源可以由LCD控制器提供,也可以由其它电路提供。但LCD模块显示所需的高压只能由外接电路实现。

  

  图形和字符显示

  显示图片

  在S3C44B0X中,由于CUP不支持文件管理,必须把要显示的图片包含到程序中。例如,如果要在LCD显示320×240大小的图片,在实际操作中,首先应使用转换工具把图片转换成C格式的数组文件,即把每一个象素点的颜色转换成用一个字节表示,然后把整个文件保存成240×320的数组形式。例如:

  char BMP[240][320]= {0x00,0x00,0x01, 蓕;

  然后把文件包含在项目工程中,用如下循环语句实现显示:

   for(i=0;i<>

   for(j=0;j<>

  {

  LCD_Buffer_Color[i][j]= BMP[i][j];

  }

  显示英文字母和字符

  在实际应用中,通常用一个数组保存字母和字符点阵。以16×8点阵为例,用16×8个点阵表示一个字符,例如显示字符 ‘1’ ,象素需要显示的地方用*表示,否则为空白,这样,一个字符 ‘1’ 就显示出来。把这个点阵用十六进制的形式表示出来,字符1所对应的点阵是:

  0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x1,

  0x18,0x18,0x18,0x7e,0x00,0x00,0x00,0x00,

  在把字符送LCD缓冲区显示的时候,由于在缓冲区中是用一个字节表示一个象素,而字库中的一个位表示一个象素,即字库中一个字节对应缓冲区的八个字节,所以在送入缓冲区之前必须对字库进行必要的调整。具体方法是在显示一个象素之前,先把这个位右移到字节的{zd1}位,然后屏蔽除此象素点的其它七位,再乘这个象素要显示的颜色,{zh1}把调整后的数据送入对应的缓冲区。例如:假设字符‘1’点阵存在一维数组字库Zfk[],起始地址为20,显示颜色值为42的字符‘1’到第8行第10列的程序是:

  for (i=0;i<>

  for(j=0;j<>

  LCD_Buffer_Color [10*16+i][(*8+j)]|= (Zfk[20+i]>>(7-j))&0x01))*42;

  显示汉字

  在容量比较大的系统中实现汉字的显示通常有两种方法,1. 把汉字库烧录到存储器,用烧写的地址加字库的偏移地址确定具体汉字的位置。2. 把汉字库转化成数组的形式,在程序中以读取数组的形式读取字库。这两种方法各有优缺点,这里讨论用第二种方法实现汉字显示。

  在汉字库中,为了方便查找所需汉字的点阵,每个汉字都与一个双字节的内码一一对应。通过汉字的内码可以计算出它的点阵起始字节。以16×16宋体横向点阵为例,计算点阵起始字节地址的公式为:

  地址=((内码高字节-160)*94+

  (内码低字节-160))*32

  例如:汉字“嵌”所对应的内码是C7B6H,那么它在汉字库中的地址是:

  long int adress=

  ((C7-0xa1)*94+(B6-0xa1))*32

  =1C120

  假设转换后的汉字库存放在一维数组Hzk中,那么Hzk[1C120]至Hzk[1C120+32]所对应值就是汉字“嵌”所对应的十六进制点阵。由于在LCD显示的过程中,点阵中的一行数据要用两个字节来表示,在确定所要显示的行数据在点阵中的位置时需要做必要的调整,例如:在LCD上显示底Y行象素数据的时候,对应于汉字点阵中的数据应该是汉字库数组中的偏移地址,即2*Y和2*Y+1所对应的数据。所以在确定偏移地址的时候应该在行前乘2。在显示一行的过程中,前八个象素点对应的偏移地址是2*Y,后八个象素是2*Y+1,所以在计算偏移地址的时候应该用表示象素点列的数据与8相除,即Y*2+X/8.在具体实现过程中,为了方便,首先把所要显示的汉字点阵从字库中读出,实现程序是:

   char hzbuff[16];

  for (i=0;i<>

  {

  hzbuff[i]= Hzk[address+i] ;

  }

  读出字库后,同样需要处理字库中的一位表示一个象素和LCD缓冲区中的一个字节表示LCD上一个象素的问题。处理方法和显示英文字母大体相同。

  举例:在LCD模块Y行X列显示颜色为C的汉字“嵌”的程序是:

  for (i=0;i<>

   for(j=0;j<>

  {

   LCD_Buffer_Color [y*16+i][x*16+j]|= (( hzbuff[i*2+j/8]>>(7-j%8))&0x01)*C;

  }

  关于换行:在显示点阵为16×16汉字、LCD模块为320×240大小的情况下,每行显示20个汉字,共有15行,每屏能显示300个汉字或者字符。在程序的实现中,用数字0~15×20代表每个汉字的位置,例如0代表开始的{dy}个位置,15代表第二行的{dy}个位置,以此类推。假设当前显示位置为Positon,当显示中需要换行,重新计算显示位置时可以用如下程序实现:

  Position=(position/20+1)*20;

  

  结语

  本文主要讨论了ARM7处理器S3C44B0X内置LCD控制器的使用方法,简要介绍了夏普LM057QC1T01图形点阵式液晶显示模块,并详细给出了与S3C44B0X内置LCD控制器的硬件连接方法,搭建以两者为基础的嵌入式工作平台。在此平台的基础上,本文详细讨论了图形、英文和汉字的显示原理和方法,并给出了具体实现的程序。

  这些显示方法和程序在实现S3C44B0X与其它类型模块连接时,只需做少量的修改即可,具有使用简单、运行稳定、便于移植修改等特点。





郑重声明:资讯 【LCD彩色图形显示和英文、汉字显示实现的具体原理和方_天涯博客_有见识 ...】由 企业资讯策划团队 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库www.qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
会员咨询QQ群:902340051 入群验证:企业库会员咨询.
免费注册只需30秒,立刻尊享
免费开通旗舰型网络商铺
免费发布无限量供求信息
每天查看30万求购信息