嵌入式系统实验报告_第1页
嵌入式系统实验报告_第2页
嵌入式系统实验报告_第3页
嵌入式系统实验报告_第4页
嵌入式系统实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XXXX大学实验报告课程(项目)名称:嵌入式系统学院:自动化专业:班级:学号:姓名:成绩:2014年11月2日LCD的驱动控制实验一、 实验目的了解LCD基本概念与原理。理解LCD的驱动控制。熟悉用总线方式驱动LCD模块。熟悉用ARM内置的LCD控制器驱动LCD。二、 实验内容学习LCD显示器的基本原理,理解其驱动控制方法。掌握两种LCD驱动方式的基本原理和方法。并用编程实现:用总线方式直接驱动带有驱动模块的LCD。用ARM内置的LCD控制器来驱动LCD。三、 预备知识用ARMADS1.2集成开发环境,编写和调试程序的基本过程。ARM应用程序的框架结构。四、 实验设备及工具硬件:ARM嵌入式开发平台、用于ARM920T的JTAG仿真器、PC机Pentium100以上。软件:PC机操作系统Win2000或WinXP、ARMADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序五、 实验原理及说明LCD(LiquidCrystalDisplay)原理液晶得名于其物理特性:它的分子晶体,以液态存在而非固态。这些晶体分子的液体特性使得它具有两种非常有用的特点:1、如果让电流通过液晶层,这些分子将会以电流的流向方向进行排列,如果没有电流,它们将会彼此平行排列。2、如果提供了带有细小沟槽的外层,将液晶倒入后,液晶分子会顺着槽排列,并且内层与外层以同样的方式进行排列。液晶的第三个特性是很神奇的:液晶层能使光线发生扭转。液晶层表现的有些类似偏光器,这就意味着它能够过滤除了那些从特殊方向射入之外的所有光线。此外,如果液晶层发生了扭转,光线将会随之扭转,以不同的方向从另外一个面中射出。液晶的这些特点使得它可以被用来当作一种开关一一即可以阻碍光线,也可以允许光线通过。液晶单元的底层是由细小的脊构成的,这些脊的作用是让分子呈平行排列。上表面也是如此,在这两侧之间的分子平行排列,不过当上下两个表面之间呈一定的角度时,液晶随着两个不同方向的表面进行排列,就会发生扭曲。结果便是这个扭曲的螺旋层使通过的光线也发生扭曲。如果电流通过液晶,所有的分子将会按照电流的方向进行排列,这样就会消除光线的扭转。如果将一个偏振滤光器放置在液晶层的上表面,扭转的光线通速如图A),而没有发生扭转的光线(如图B)将被阻碍。因此可以通过电流的通断改变LCD中的液晶排列,使光线在加电时射出,而不加电时被阻断。也有某些设计为了省电的需要,有电流时,光线不能通过,没有电流时,光线通过。

图A加电时 图B不加电时图3-15光线穿过与阴断示意图LCD显示器的基本原理就是通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。因此,LCD的驱动控制归于对每个液晶单元的通断电的控制,每个液晶单元都对应着一个电极,对其通电,便可使光线通过(也有刚好相反的,即不通电时光线通过,通电时光线不通过)。2.电致发光LCD的发光原理是通过控制加电与否来使光线通过或挡住,从而显示图形。光源的提供方式有两种:透射式和反射式。笔记本电脑的LCD显示屏即为透射式,屏后面有一个光源,因此外界环境可以不需要光源。而一般微控制器上使用的LCD为反射式,需要外界提供光源,靠反射光来工作。电致发光(EL)是液晶屏提供光源的一种方式。电致发光的特点是低功耗,与二极管发光比较而言体积小。!1!1川!!1!1川!1!妙|皿画画——明PIT履-背电£inntniiiiiinLiJiiiiii唆明ttnH——3二二二工J保护层—— 电致发光(EL)是将电能直接转换为光能的一种发光现象。电致发光片是利用此原理经过加工制作而成的一种发光薄片,如图7-2所示。其特点是:超薄、高亮度、高效率、低功耗、低热量、可弯曲、抗冲击、长寿命、多种颜色选择等。因此,电致发光片被广泛应用于各种领域。图3-16电致发光片的基本结构LCD的驱动控制市面上出售的LCD有两种类型:一种是带有驱动电路的LCD显示模块,这种LCD可以方便地与各种低档单片机进行接口,如8051系列单片机,但是由于硬件驱动电路的存在,体积比较大。这种模式常常使用总线方式来驱动。另一种是LCD显示屏,没有驱动电路,需要与驱动电路配合使用。特点是体积小,但却需要另外的驱动芯片。也可以使用带有LCD驱动能力的高档MCU驱动,如ARM系列的S3C2410X。六、实验步骤启动ARMJTAG仿真器并进行初始化配置。启动ADS1.20新建工程,将“Exp6LCD驱动控制实验”中的文件添加到工程中。定义有关常量与宏编写LCD初始化函数(lcd640.c),设置各功能寄存器。编写LCD刷新函数(lcd640.c)。此函数主要是将二级缓存LCDBuffer的数据由32位彩色图形信息转换成16位的图形信息,然后放到pLCDFB指向的一级缓存。转换公式:pixcolor=((pbuf[0]&0xf8)<<11)|((pbuf[1]&0xfc)<<6)|(pbuf[2]&0xf8)。其中,pbuf[0]、pbuf[1]、pbuf[2]是一个象素的32位彩色数据的前24位,分别代表R、G、B。编写主函数(main.c)在LCD上显示16位色图形的关键是填充二级显示缓冲,将显示象素的24位颜色信息写入LCDBuffer。将RGB三种基本颜色按一定比例混合即可构成更复杂的颜色,每个象素的三种基本颜色分别占一个字节,可以方便的在程序里改写各基本颜色的数值,从而改变该象素的混合颜色。在ADS集成开发环境中编译、调试和运行工程程序。七、结论与收获首对这根线很好奇,后来发现它的用途真的很给力1用于烧写FLASH烧写FLASH的软件有很多种包括jatg.exeflutedflashpgm等等,但是所有这些软件都是通过jtag接口来烧写flash的,由于pc机上是没有jtag接口的,所以利用并口来传递信息给目标板的jtag接口。所以就需要并口转jtag接口的电路。2用于调试程序同时应该注意到jtag接口还可以用来调试程序。而调试程序(如ARM开发组件中的AXD)为了通过jtag接口去调试目标板上的程序,同样是使用pc的并口转jtag接口来实现与目标板的通信。这样,并口转jtag接口的电路就有了两种作用。3仿真器根据1和2的总结,并口转jtag接口的电路是两种应用的关键,而这种电路在嵌入式开发中就叫仿真器。并口转jtag接口的电路有很多种,有简单有复杂的,常见的仿真器有

Wigger,EasyJTAG,Multi-ICE等。这些所谓的仿真器的内部电路都是并口转jtag接口,区别只是电路不同或使用的技术不同而已。国见皿-超级终端 -B||x1 I文件。犒辑值】吉看擅】精助w□百Scat?VIVIversion0.1.4[threewatErSLinuxServer)[gccversion2.95.220000516(releasF[R$b£lccnUMO.1.4ThuSep1611:59:47CST2904MHlIl^blo词瓣Address=0x33DF即的Succeed■emery■apuing.HANDdeviceiMamifactureID:Bwec.ChipID:0x73(Sftnsui^KM29U128T)Poundsav&dviuip^rcita^ters.K'ressReturntcstarttheLINUXnow.anyotherkevforvivitype"help"forhelp.viwi>_对超级终端的作用的理解超级终端是一个通用的串行交互软件,很多嵌入式应用的系统有与之交换的相应程序,通过这些程序,可以通过超级终端与嵌入式系统交互,使超级终端成为嵌入式系统的“显示奠,,右器O消息循环通常在多任务操作系统中,任务之间的通讯是通过发送消息来实现的。消息队列是uCOS-II操作系统的一种通信机制,它可以使一个任务或者中断服务程序向另一个任务发送以指针方式定义的变量。uCOS-II操作系统提供了若干对消息队列进行操作的函数,例如OSQCreate(),OSQPend(),OSQPost()等,都定义在OS_Q.C中。但是,在将uCOS-II移植到本ARM嵌入式开发平台时,对消息队列相关函数又作了提高,使得程序中对消息队列的使用变得更加简单易行。请参考附录API函数系统消息部分,开发平台的消息队列相关函数定义在OSMessage.h中。程序中可以用OSCreateMessage()函数为某个控件创建消息,用SendMessage()函数将该消息发送到消息队列中,用 WaitMessage()函数等待消息,用DeleteMessage()函数删除消息。消息的数据结构定义如下:typedefstruct{POS_CtrlpOSCtrl; //消息所发到的窗口(控件),为NULL时指桌面U32Message; //消息类型U32WParam; //消息参数U32LParam;}OSMSG,*POSMSG;//U32LParam;}OSMSG,*POSMSG;下面是平台的基本消息类型定义:#defineOSM_KEY1//键盘消息#defineOSM_TOUCH_SCREEN2//触摸屏消息#defineOSM_SERIAL100//串口收到数据的消息#defineOSM_LISTCTRL_SELCHANGE1001//列表框的选择被改变的消息#defineOSM_LISTCTRL_SELDBCLICK1002//列表框的选择双击消息#defineOSM_BUTTON_CLICK1003//单击按钮消息下面是各基本消息类型的参数说明:MessageWParamLParamOSM_KEY键盘扫描码OSM_TOUCH_SCREEN低16位=触摸点x坐标值高16位=触摸点y坐标值触摸动作OSM_LISTCTRL_SELCHANGECtrlIDCurrentSelOSM_LISTCTRL_SELDBCLICKCtrlIDCurrentSelOSM_BUTTON_CLICKCtrlID对于键盘消息来说其类型pMsg->Message=OSM_KEY,参数pMsg->WParam则是按键的键码(pMsg是指向该消息结构体的指针)。键盘消息是由键盘扫描任务(voidKey_Scan_Task(void*Id))创建并发送到系统的消息队列,键盘扫描任务用函数KeyBoard_Read()从IIC的数据收发移位寄存器中获得键盘扫描码,这个扫描码是由ATMEGA8当有键盘按下时发送到IIC的数据收发移位寄存器的。主任务由消息队列中得到消息。staticvoidKey_Scan_Task(void*Id)(U32key;INT8Uerr;POSMSGpmsg;printk("beginkeytask\n");for(;;){OS_FLAGSflag;flag=OSFlagPend(Input_Flag,UCOS2_KBINPUT,OS_FLAG_WAIT_SET_ANY,0,&err);OSFlagPost(Input_Flag,flag,OS_FLAG_CLR,&err);key=KeyBoard_Read(0,FALSE);if(key==-1)continue;pmsg=OSCreateMessage(NULL,OSM_KEY,key,0);if(pmsg)SendMessage(pmsg);}}所谓的系统消息循环如下图所示:函敢响应泪总 古图15-1应用程序在Main_Task任务中等待消息,并对该消息进行判断和处理,如果是键盘消息则提取出键码,变换为对应字符,然后将其显示到液晶屏上。在图形模式下,液晶屏的文字输出函数是TextOut(),实际是通过在图形方式下绘图完成文字显示的。此函数输出的字符数组必须是基于双字节Unicode编码的。在程序中可以使用Int2Unicode()和strChar2Unicode()两个函数分别将整形数或ASCII字符转换为Unicode字符串。这部分内容请参考附录API函数,在Ustring.h定义。文件的使用uCOS-II操作系统本身并没有文件系统,不支持文件相关的管理功能。在将uCOS-II操作系统移植到ARM嵌入式开发平台时参考YAFFS(yetanotherFlashFileSystem)为该系统扩展了一个简单的文件系统,从而使该操作系统功能更强大,也符合实际嵌入式产品开发的需要。开发平台的硬件中有一片容量至少64M的NANDFLASH存储芯片作为嵌入式设备的固态数据存储器,或称为电子硬盘。该存储器由文件系统管理,在文件系统的功能函数与FLASH芯片之间有相关驱动程序实现高层系统功能和底层具体硬件的数据交换。YAFFS是一个专为Nandflash设计的文件系统,不同的文件系统提供不同的访问方式对于各种flash类型。nor型flash和nandflash的约束条件是不同的,很容易使人产生错觉是适用于norflash的文件系统同样也适用于nandflash,这是一个误区。nandflash设备驱动,经常使用fat格式的文件系统。fat文件系统不很健壮,也不适用于flash。块驱动提供逻辑层到物理层的映射来模拟可重写的磁盘扇区。与所有的fat文件系统类似,他们容易崩溃。JFFS和JFFS2对norflash的支持很好。他们都是基于日志文件系统的。因此更为健壮。这对嵌入式系统来说很重要。JFFS的缺点是引导的flash检测时间较长,文件系统对ram的占用较多。而YAFFS文件系统就克服了以上的缺点。因此他:专为NAND设计,系统健壮节省ram,启动时间短。YAFFS文件描述的文件的单位是chunks,相当与page(ie.512bytes)。每页都提供了文件ID和chunk号。这些标记保存在flash的带外空间。当文件中的数据被重写的时候,相应的chunks就会被新的具有相同tag标记的内容所替代。而原有的tag就会标记为“过期”。文件头单独保存为一页。标识与数据页不同。每个页还具有一个短的(2位的)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论