3150.《基于LCD模拟三角形运动设计》

上传人:人*** 文档编号:552485275 上传时间:2024-02-01 格式:DOC 页数:17 大小:734.50KB
返回 下载 相关 举报
3150.《基于LCD模拟三角形运动设计》_第1页
第1页 / 共17页
3150.《基于LCD模拟三角形运动设计》_第2页
第2页 / 共17页
3150.《基于LCD模拟三角形运动设计》_第3页
第3页 / 共17页
3150.《基于LCD模拟三角形运动设计》_第4页
第4页 / 共17页
3150.《基于LCD模拟三角形运动设计》_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《3150.《基于LCD模拟三角形运动设计》》由会员分享,可在线阅读,更多相关《3150.《基于LCD模拟三角形运动设计》(17页珍藏版)》请在金锄头文库上搜索。

1、 基于LCD模拟三角形运动设计 第页 共17页 1 引 言通常我们常用的LCD显示模块,有两种,一是带有驱动电路的LCD显示模块,一是不带驱动电路的LCD显示屏。大部分ARM处理器中都集成了LCD的控制器,所以,针对ARM芯片,一般不使用带驱动电路的LCD显示模块。S3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案。它使用ARM7TDMI核,工作在66MHz,集成了LCD控制器等外围器件。它的LCD控制器具有通用性,能与大多数LCD显示模块接口。接口设计、驱动程序开发都很简单,广泛应用于智能仪表、PDA等的显示部分。本实验实现的是LCD模拟三角形的

2、运动,通过在Main()函数中修改并加入相应的实现代码,绘图API函数在glib.c文件中。ARM7TDMI系统扩充包括thumb协处理器、片上ICE中断调试支持和32位乘法器。S3C44B0X通过在ARM7TDMI内容基础上扩展一系列完整的通用外围器件。其特点如下: 采用ARM7TDMI内核,I/O电压3.3V,内核电压2.5V; 内置锁相环(PLL),系统工作主频66MHZ; 4种工作模式(正常、慢速、闲置和停止),可以实现电源管理以降低系统功耗; 8KB的系统高速缓存(CACHE),极大地提高了系统的运行速度; 支持8个MEMORY BANK,最大外部存储空间达256MB,并支持SDRA

3、M; 内置彩色LCD控制器; 2路异步串口(UART); 71个通用I/O口,包括8个外部中断源; 8路10位A/D转换器; 实时时钟(RTC)和看门狗电路(WATCHDOG);1.1 课程设计目的1. 学习LCD与ARM的LCD的控制器的接口原理;2. 掌握内置LCD控制器驱动编写方法;3. 学习调用简单的GUI绘图。1.2 程序开发环境1. EL-ARM-820教学实验箱,PentiumII以上的PC机,仿真器电缆。2. PC操作系统WIN98或WIN2000或WINXP,ARM ADS1.2集成开发环境,H-JTAG调试代理软件。2 ADS集成开发环境介绍ADS全称为ARM Develo

4、per Suite,是ARM公司推出的新一代ARM集成开发工具。现在ADS的最新版本是1.2,它取代了早期的ADS1.1和ADS1.0。在ADS工具诞生之前,一直使用的是ARM SDT工具,目前ARM SDT工具已经慢慢被淘汰。ADS除了可以安装在Windows NT4、Windows 2000、Windows 98和Windows 95操作系统下,还支持Windows XP和Windows Me操作系统。2.1 ADS软件组成ADS由命令行开发工具、GUI(Graphics User Interface,图形用户界面)开发环境(Code Warrior和AXD)、实用程序和支持软件组成。有了

5、这些部件,用户就可以为ARM系列的RISC处理器编写和调试自己的开发应用程序了。下面将分别介绍这4个组成部分。1命令行开发工具命令行开发工具在实际应用中相对比较广泛,用它最大的好处就是可以将许多编译命令写在一个脚本文件中,然后只执行该脚本文件就可以让工具自动完成所有编译的工作。2GUI开发环境ADS GUI开发环境包含Code Warrior和AXD两种,其中Code Warrior是集成开发工具,而AXD是调试工具。3实用程序ADS除了提供上述工具外,它还提供以下的实用工具来配合前面介绍的命令行开发工具的 使用。(1)Flash downloader是用于把二进制映像文件下载到ARM开发板上

6、的Flash存储器的工具。(2)fromELF是ARM映像文件转换工具。该命令将ELF格式的文件作为输入文件,将该格式转换为各种输出格式的文件,包括plain binary(BIN格式映像文件)、Motorola 32-bit S-record format(Motorola 32位S格式映像文件)、Intel Hex 32 format(Intel 32位格式映像文件)和Verilog-like hex format(Verilog 十六进制文件)。fromELF命令也能够为输入映像文件产生文本信息,例如代码和数据长度。(3)armar,ARM库函数生成器将一系列ELF格式的目标文件以库函数

7、的形式集合在一起,用户可以把一个库传递给一个连接器以代替几个ELF文件。4支持的软件ADS为用户提供ARMulator软件,使用户可以在软件仿真的环境下或者在基于ARM的硬件环境调试用户应用程序。ARMulator是一个ARM指令集仿真器,集成在ARM的调试器AXD中,它提供对ARM处理器的指令集的仿真,为ARM和Thumb提供精确的模拟。用户可以在硬件尚未做好的情况下,开发程序代码。2.2 ADS调试器调试器本身是一个软件,用户通过这个软件使用debug agent可以对包含有调试信息的,正在运行的可执行代码进行比如变量的查看,断点的控制等调试操作。ADS中包含有3个调试器:AXD(ARM

8、eXtended Debugger):ARM扩展调试器;armsd(ARM Symbolic Debugger):ARM符号调试器;与老版本兼容的Windows或Unix下的ARM调试工具,ADW/ADU(Application Debugger Windows/Unix)。下面对在调试映像文件中所涉及到的一些术语做一个简单的介绍。Debug target在软件开发的最初阶段,可能还没有具体的硬件设备。如果要测试所开发的软件是否达到了预期的效果,这可以由软件仿真来完成。即使调试器和要测试的软件运行在同一台PC上,也可以把目标当作一个独立的硬件来看待。当然,也可以搭建一个PCB板,这个板上可以包

9、含一个或多个处理器,在这个板上可以运行和调试应用软件。只有当通过硬件或者是软件仿真所得到的结果达到了预期的效果,才算是完成了应用程序的编写工作。调试器能够发送以下指令:1. 装载映像文件到目标内存;2. 启动或停止程序的执行;3. 显示内存,寄存器或变量的值;4. 允许用户改变存储的变量值。3 内置LCD控制器介绍3.1 概述S3C44B0X内置的LCD控制器的作用是将显示缓存(在系统存储器中)的LCD数据传输到外部LCD驱动器,并产生必须的LCD控制信号。它支持灰度LCD和彩色LCD。在灰度LCD上,使用基于时间抖动算法(time-basedditheringalgorithm)和FRC(F

10、rameRateControl)方法,可以支持单色、4级灰度和16级灰度模式的灰度LCD。在彩色LCD上,可以支持256种色彩。不同尺寸的LCD具有不同数量的垂直和水平象素、数据接口、数据宽度、接口时间和刷新率。LCD控制器可以进行编程控制相应的寄存器值,以适应不同的LCD显示板。3.2 LCD控制器逻辑框图 图3.1为LCD控制器的逻辑框图。从框图可以看出LCD控制器是用来实现传输显示数据及产生必要的控制信号,如VFRAME、VLINE、VCLK和VM。除了控制信号,还有显示数据的数据端口VD7:0。图3.1 为LCD控制器的逻辑框图LCD控制器包括REGBANK、LCDDMA、VIDPRC

11、S和TIMEGEN。REGBANK有18个可编程寄存器,用于配置LCD控制器。LCDDMA为专用DMA,可以自动地将显示数据从帧内存传送到LCD驱动器中。通过专用DMA,可以实现在不需要CPU介入的情况下显示数据。VIDPRCS从LCDDMA接收数据,将相应格式的数据通过TIMEGEN(包含可编程逻辑),以支持常见的LCD驱动器所需要的不同接口时间和速率的要求。TIMEGEN部分产生VFRAME,VLINE,VCLK和VM等信号。3.3 LCD控制器提供的外部接口信号VFRAME:LCD控制器和驱动器之间的帧同步信号。通知LCD屏新的一帧显示,LCD控制器在一个完整帧显示后发出VFRAME信号

12、。VLINE:LCD控制器和驱动器间同步脉冲信号。LCD驱动器通过它将水平移位寄存器的内容显示到LCD屏上。LCD控制器在一整行数据全部传输到LCD驱动器后发出VLINE信号。VCLK:LCD控制器和驱动器之间的象素时钟信号。VM:LCD驱动器所使用的交流信号。驱动器用VM打开或关闭象素的行和列电压极性。VD3:0:LCD象素数据输出端口。VD7:4:LCD象素数据输出端口。4 LCD控制器的寄存器LCD控制器通过18个可编程寄存器来配置LCD显示模块的尺寸、显示模式、接口数据宽度等。4 .1 LCD控制寄存器一(LCDCON1)LCDCON1所在地址:0x01F00000;属性:R/W;复位

13、值:0x00000000。LCDCON1中各个位的意义见表4.1:表4.1 LCDCON1中各个位的意义4.2 LCD控制寄存器二(LCDCON2)LCDCON2的地址:0x01F00004;属性:R/W;复位值:0x00000000。LCDCON2中各个位的意义见表4.2:表4.2 LCDCON2中各个位的意义4.3 LCD控制寄存器三(LCDCON3)LCDCON3的地址:0x01F00040;属性:R/W;复位值:0x00。LCDCON3中各个位的意义见表4.3:表4.3 LCDCON3中各个位的意义4.4 帧缓冲区开始地址一(LCDSADDR1)LCDSADDR1的地址:0x01F00

14、008;属性:R/W;复位值:0x000000。LCDSADDR1中各个位的意义见表4.4:表4.4 LCDSADDR1中各个位的意义4.5 帧缓冲区开始地址二(LCDSADDR2)LCDSADDR2的地址:0x01F0000C;属性:R/W; 复位值:0x000000。LCDSADDR2中各个位的意义见表4.5:表4.5 LCDSADDR2中各个位的意义用户通过改变LCDBASEU和LCDBASEL的值来滚动屏幕,但在帧结束时,不能改变LCDBASEU和LCDBASEL的值,因为预取下一帧的数据优先于改变帧,如果这时改变帧,预取的数据将无效而且显示不正确。为了检查LINECNT,应当屏蔽中断

15、,否则如果在读LINECNT后,任意中断刚好执行,因为ISR的执行,LINECNT的值可能无效。 缓冲区开始地址三(LCDSADDR3)LCDSADDR3的地址:0x01F00010;属性:R/W;复位值:0x000000。LCDSADDR3中各个位的意义见表6:注:PAGEWIDTH和OFFSIZE必须在ENVID=0时变化。5 内置LCD控制器的应用LCD控制器能与大多数LCD显示模块接口,例如DMF50081,KCS057QV1AJ等。KCS057QV1AJ是由KYOCERA公司生产,具有320 240个象素点、带CFL背光的STN(超扭曲向列)256色LCD显示模块。它不带LCD控制器,很容易与S3C44B0X内置的LCD控制器接口。本节将详述它与LCD控制器的硬件接口连线以及它的驱动程序。LCD控制器与KCS057QV1AJ接口设计KCS057QV1AJ提供的外部接口信号线如下:FRM:驱动器扫描的同步信号线;LOAD:数据锁存信号线;CP:数据移位时钟信号线;

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

当前位置:首页 > 大杂烩/其它

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