版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑S3C44B0X内置的LCD控制器及其应用-新品速递S3C44B0X内置的LCD控制器及其应用
武汉理工大学自动化学院丁国华胡荣强
引言S3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案。它使用ARM7TDMI核,工作在66MHz,集成了LCD控制器等外围器件。它的LCD控制器具有通用性,能与大多数LCD显示模块接口。接口设计、驱动程序开发都很简单,广泛应用于智能仪表、PDA等的显示部分。
内置LCD控制器介绍
概述
S3C44B0X内置的LCD控制器的作用是将显示缓存(在系统存储器中)的LCD数据传输到外部LCD驱动器,并产生必须的LCD控制信号。
它支持灰度LCD和彩色LCD。在灰度LCD上,使用基于时间抖动算法(time-basedditheringalgorithm)和FRC(FrameRateControl)方法,可以支持单色、4级灰度和16级灰度模式的灰度LCD。在彩色LCD上,可以支持256种色彩。不同尺寸的LCD具有不同数量的垂直和水平象素、数据接口、数据宽度、接口时间和刷新率。LCD控制器可以进行编程控制相应的寄存器值,以适应不同的LCD显示板。
LCD控制器逻辑框图
图1为LCD控制器的逻辑框图。从框图可以看出LCD控制器是用来实现传输显示数据及产生必要的控制信号,如VFRAME、VLINE、VCLK和VM。除了控制信号,还有显示数据的数据端口VD[7:0]。
LCD控制器包括REGBANK、LCDDMA、VIDPRCS和TIMEGEN。REGBANK有18个可编程寄存器,用于配置LCD控制器。LCDDMA为专用DMA,可以自动地将显示数据从帧内存传送到LCD驱动器中。通过专用DMA,可以实现在不需要CPU介入的情况下显示数据。VIDPRCS从LCDDMA接收数据,将相应格式的数据通过TIMEGEN(包含可编程逻辑),以支持常见的LCD驱动器所需要的不同接口时间和速率的要求。TIMEGEN部分产生VFRAME,VLINE,VCLK和VM等信号。LCD控制器提供下列外部接口信号:VFRAME:LCD控制器和驱动器之间的帧同步信号。通知LCD屏新的一帧显示,LCD控制器在一个完整帧显示后发出VFRAME信号。VLINE:LCD控制器和驱动器间同步脉冲信号。LCD驱动器通过它将水平移位寄存器的内容显示到LCD屏上。LCD控制器在一整行数据全部传输到LCD驱动器后发出VLINE信号。
VCLK:LCD控制器和驱动器之间的象素时钟信号。VM:LCD驱动器所使用的交流信号。驱动器用VM打开或关闭象素的行和列电压极性。VD[3:0]:LCD象素数据输出端口。VD[7:4]:LCD象素数据输出端口。LCD控制器的寄存器LCD控制器通过18个可编程寄存器来配置LCD显示模块的尺寸、显示模式、接口数据宽度等。LCD控制寄存器一(LCDCON1)LCDCON1所在地址:0x01F00000;属性:R/W;复位值:0x00000000。LCDCON1中各个位的意义见表1:LCD控制寄存器二(LCDCON2)LCDCON2的地址:0x01F00004;属性:R/W;复位值:0x00000000。LCDCON2中各个位的意义见表2:LCD控制寄存器三(LCDCON3)LCDCON3的地址:0x01F00040;属性:R/W;复位值:0x00。LCDCON3中各个位的意义见表3:帧缓冲区开始地址一(LCDSADDR1)LCDSADDR1的地址:0x01F00008;属性:R/W;复位值:0x000000。LCDSADDR1中各个位的意义见表4:帧缓冲区开始地址二(LCDSADDR2)LCDSADDR2的地址:0x01F0000C;属性:R/W;复位值:0x000000。LCDSADDR2中各个位的意义见表5:
注:用户通过改变LCDBASEU和LCDBASEL的值来滚动屏幕,但在帧结束时,不能改变LCDBASEU和LCDBASEL的值,因为预取下一帧的数据优先于改变帧,如果这时改变帧,预取的数据将无效而且显示不正确。为了检查LINECNT,应当屏蔽中断,否则如果在读LINECNT后,任意中断刚好执行,因为ISR的执行,LINECNT的值可能无效。缓冲区开始地址三(LCDSADDR3)LCDSADDR3的地址:0x01F00010;属性:R/W;复位值:0x000000。LCDSADDR3中各个位的意义见表6:注:PAGEWIDTH和OFFSIZE必须在ENVID=0时变化。
内置LCD控制器的应用
LCD控制器能与大多数LCD显示模块接口,例如DMF50081,KCS057QV1AJ等。KCS057QV1AJ是由KYOCERA公司生产,具有320240个象素点、带CFL背光的STN(超扭曲向列)256色LCD显示模块。它不带LCD控制器,很容易与S3C44B0X内置的LCD控制器接口。本节将详述它与LCD控制器的硬件接口连线以及它的驱动程序。
LCD控制器与KCS057QV1AJ接口设计
KCS057QV1AJ提供的外部接口信号线如下:FRM:驱动器扫描的同步信号线;LOAD:数据锁存信号线;CP:数据移位时钟信号线;DISP:显示控制信号线;D[7:0]:8根显示数据输入线。在KCS057QV1AJ与LCD控制器之间接线时,KCS057QV1AJ的FRM、LOAD、CP、D[7:0]分别和LCD控制器的VFRAME、VLINE、VCLK、VD[7:0]相连。DISP引脚与S3C44B0X的GPIO的GPC15相连,通过GPC15来控制LCD显示模块的打开和关闭。具体接线如图2。
KCS057QV1AJ驱动程序开发驱动程序包括初始化S3C44B0X端口D和端口C的函数,初始化LCD控制器的函数,打开和关闭LCD显示模块的函数,在LCD显示模块上显示条纹的函数,所有的函数都有详细的解释。
初始化端口D和端口C函数如下:voidPort_Init(void){rPCONC=0x5f55ffff;//GPC15为输出端口,GPC4-GPC7分配给LCD数据线VD7-VD4;rPUPC=0x0;//端口C所有的引脚上拉允许;rPDATC=0x3fff;//端口C所有的引脚初始化为高电平;rPCOND=0xaaaa;//端口D所有的引脚分配给LCD控制器;rPUPD=0x0;//端口D所有的引脚上拉允许;rPDATD=0xff;//端口D所有的引脚初始化为高电平。}初始化LCD控制器函数如下:voidLCD_Init(){inti;U32LCDBASEU,LCDBASEL,LCDBANK;LCDDisplayOpen(FALSE);//关闭LCD;rLCDCON1=(0);//关闭视频输出;rLCDCON2=(239)(11910)(1521);//设置确定行扫描的返回时间为15个MCLK,设置屏为彩色320240点;LCDBANK=0xc00000022;//设置显示缓冲区首地址在系统存储器中的位置;LCDBASEU=0x0;//设置缓冲区的开始地址;LCDBASEL=LCDBASEU+(160)240;rLCDSADDR1=(0x327)(LCDBANK21)LCDBASEU;//设置显示模块为彩色模式等;rLCDSADDR2=(029)(021)LCDBASEL;rLCDSADDR3=(320/2)(09);//不使用虚屏;rREDLUT=0xfca86420;//设置红色查表寄存器,与特定的显示要求有关;rGREENLUT=0xfca86420;//设置绿色查表寄存器,与特定的显示要求有关;rBLUELUT=0xfffffa50;//设置兰查表寄存器,与特定的显示要求有关;rLCDCON1=LCDCON1_ENVID010203(25)17(0x38)(0x310)(CLKVAL12);//使能视频输出,8位单扫描方式,设置WDLY,WLH,CLKVAL;for(i=0;i80*240;i++)//显示缓冲区清零。*(pLCDBuffer16+i)=0x0;}从图2知,GPC15用来打开关闭LCD。打开和关闭LCD显示模块的函数如下:voidLCDDisplayOpen(U8isOpen){if(isOpen){rPDATC=0x8000;//打开LCD}else{rPDATC=0x7fff;//关闭LCD}}在LCDBANK寄存器中已经定义了显示缓冲区在系统存储器的段首地址为0xc000000,要显示字符、图片只需将字符、图片取模得到的数据送到该缓冲区就可以了。但是要注意,彩色LCD是8位数据表示一个象素。对缓冲区首地址进行如下定义:U32pLCDBuffer16=(U32*)0xc00
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国中端酒店行业并购重组扩张战略制定与实施研究报告
- 2025-2030年中国家庭服务机器人行业商业模式创新战略制定与实施研究报告
- 2025-2030年中国虚拟养老院行业营销创新战略制定与实施研究报告
- 2025-2030年中国新型健康服务行业营销创新战略制定与实施研究报告
- 2025-2030年中国矿山开发服务行业开拓第二增长曲线战略制定与实施研究报告
- 建设社会主义文化强国论文
- 中国心理测试仪器行业市场深度分析及发展趋势预测报告
- 一年级数学计算题专项练习汇编
- 大客车常用知识培训课件
- 年产40000吨环保新能源材料生产线项目可行性研究报告写作模板-拿地申报
- 围手术期血糖的管理
- 2024年度医疗器械监督管理条例培训课件
- 项目七电子商务消费者权益保护的法律法规
- 100以内不进位不退位加减法练习题
- 企业安全生产评估报告
- 水库大坝深基坑开挖专项方案样本
- 经桡动脉脑血管造影术前术后护理
- 品质经理工作总结
- 运行设备巡回检查制度模版
- 肯德基经营策略分析报告总结
- 喷涂主管年后业务规划暨工作计划
评论
0/150
提交评论