嵌入式课程设计报告
- 格式:doc
- 大小:3.93 MB
- 文档页数:19
目录前言 (2)一、U-Boot分析 (3)1、引导程序U-Boot第一阶段分析 (3)2、引导过程 (4)3、程序流程图 (8)二、程序设计 (8)三、心得体会 (9)前言ARM嵌入式处理器已被广泛应用于消费电子厂品、无线通信、网络通信和工业控制等领域。
在嵌入式操作系统中,Linux、Vxworks、WinCE三足鼎立,其中Linux由于其开源性、稳定性、安全性、可裁剪性更是一支独秀。
在嵌入式系统中,如何实现在ARM平台下Linux操作系统的引导工作是嵌入式技术开发的重要环节。
BootLoader就是在操作系统内核运行之前运行的一段小程序。
通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader 来完成。
比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。
一、U-Boot分析嵌入式Linux系统中常用的Bootloader引导程序有U-Boot,redboot, blob 和vivii等,其中U-Boot遵循GPL条款的开放源码项目,功能最为强大,U-Boot 对PowerPC系列处理器支持最丰富,同时还支持MIPS,x86,ARM,XScale等诸多常用系列的处理器;U-Boot引导程序分为Stage1和Stage2量大部分,Stage1中主要包括设备初始化、中断设置、时间设置和储存器初始化等工作,并且采用汇编语言实现,而一些通用功能大多采用C语言实现,放在Stage2中。
1、引导程序U-Boot第一阶段分析Stage1的代码在CPU/arm920t/start.s中定义,它包括从系统上电后在0x00000000地址开始执行的部分。
嵌入式系统课程设计报告一、教学目标本课程的教学目标是使学生掌握嵌入式系统的基本概念、原理和设计方法,能够运用嵌入式系统进行实际项目的开发和实现。
具体来说,知识目标包括了解嵌入式系统的定义、特点、分类和应用领域;掌握嵌入式系统的硬件和软件组成及工作原理;熟悉嵌入式操作系统的基本概念和常用操作系统。
技能目标包括能够使用嵌入式系统开发工具和平台进行程序设计和调试;具备嵌入式系统硬件电路的设计和调试能力;能够运用嵌入式系统进行实际项目的开发和实现。
情感态度价值观目标包括培养学生的创新意识和团队合作精神,提高学生解决实际问题的能力和责任感。
二、教学内容根据课程目标,本课程的教学内容主要包括嵌入式系统的基本概念、原理和设计方法。
具体包括以下几个方面:1. 嵌入式系统的定义、特点、分类和应用领域;2. 嵌入式系统的硬件组成,如处理器、存储器、输入输出接口等;3. 嵌入式系统的软件组成,如固件、操作系统、应用程序等;4. 嵌入式操作系统的基本概念和常用操作系统;5. 嵌入式系统的设计方法和开发流程;6. 嵌入式系统硬件电路的设计和调试方法;7. 嵌入式系统在实际项目中的应用和案例分析。
三、教学方法为了实现课程目标,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
通过多样化的教学方法,激发学生的学习兴趣和主动性。
具体教学方法如下:1. 讲授法:通过讲解嵌入式系统的基本概念、原理和设计方法,使学生掌握相关知识;2. 讨论法:通过分组讨论和课堂讨论,培养学生的思考能力和团队合作精神;3. 案例分析法:通过分析实际项目案例,使学生了解嵌入式系统在实际中的应用和设计方法;4. 实验法:通过实验操作和调试,锻炼学生的动手能力和实际问题解决能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将选择和准备以下教学资源:1.教材:选用权威、实用的嵌入式系统教材,为学生提供系统的学习资料;2. 参考书:推荐学生阅读相关参考书籍,丰富学生的知识体系;3. 多媒体资料:制作课件、教案等多媒体教学资料,提高课堂教学效果;4. 实验设备:准备嵌入式系统开发板、仿真器等实验设备,为学生提供实践操作的机会。
一、实训目的通过本次嵌入式课程设计实训,使学生掌握嵌入式系统设计的基本原理和方法,提高学生的实际操作能力和创新意识,培养学生的团队协作精神。
同时,通过实训,使学生熟悉嵌入式系统的硬件平台、软件开发环境,掌握嵌入式编程语言,了解嵌入式系统的调试和测试方法。
二、实训内容本次实训以设计一个简单的温室环境监测系统为例,主要包括以下几个方面:1. 系统需求分析温室环境监测系统主要实现对温室内部光照、温度、湿度的实时监测,并根据监测结果自动调节环境参数,确保温室内的作物生长环境稳定。
系统需具备以下功能:(1)实时监测光照、温度、湿度等环境参数;(2)根据预设阈值,自动调节环境参数;(3)通过LCD显示屏实时显示监测数据;(4)通过串口通信将数据传输至上位机;(5)具有按键控制功能,如开关报警、手动调节等。
2. 硬件平台设计本次实训采用STM32系列微控制器作为核心控制单元,结合DS18B20数字温度传感器、DHT11数字湿温度传感器、光敏电阻、LCD显示屏、蜂鸣器、按键等外围设备,构建温室环境监测系统硬件平台。
3. 软件设计(1)系统初始化:初始化微控制器,配置相关外设参数,设置中断优先级等。
(2)数据采集:通过ADC读取光敏电阻的模拟值,计算光照强度;通过DS18B20和DHT11传感器读取温度和湿度数据。
(3)数据处理:对采集到的数据进行处理,如温度、湿度阈值判断,光照强度阈值判断等。
(4)环境参数调节:根据预设阈值,自动调节加热装置、风扇等设备,以实现环境参数的自动调节。
(5)数据显示:通过LCD显示屏实时显示光照、温度、湿度等数据。
(6)串口通信:通过串口将数据传输至上位机。
(7)按键控制:实现报警功能、手动调节等功能。
4. 系统调试与测试在系统开发过程中,对硬件平台和软件进行调试和测试,确保系统稳定运行。
主要测试内容包括:(1)硬件测试:检查各外设是否正常工作,如传感器、显示屏、按键等。
(2)软件测试:测试系统功能是否满足需求,如数据采集、处理、显示、通信等。
课程名称:嵌入式系统课程设计先修课程:操作系统、C语言程序设计一、目标和任务《嵌入式系统课程设计》是计算机学生专业实践课程,是学习《嵌入式系统及设计》课程后必需实践教学步骤。
课程设计是检验学生是否掌握相关专业课程知识关键手段,以学生为主体,充足调动学生主动性和发明性,重视学生实际动手能力培养。
经过本课程设计使学生加深了解、巩固课堂教学和平时试验内容,使学生初步含有linux应用开发系统分析、系统设计、系统实现和测试实际能力,强化学生知识实践意识、提升动手能力,发挥学生想象力和创新能力,从而培养工程应用型人才。
二、教学基础要求1、学习态度:要有勤于思索、刻苦钻研学习精神和严厉认真、一丝不苟、有错必改、精益求精工作态度,主动查阅整理分析相关参考文件,精心设计、认真编码、确保质量。
对弄虚作假者,课程设计成绩一律按不及格记,并依据学校相关要求给处理。
2、学习纪律:要严格遵守学习纪律,遵守作息时间,不得迟到、早退和旷课。
特殊情况不能上课者,必需请假,凡未请假或未获准假私自不上课者,均按旷课论处。
3、课程目标:掌握linux应用开发基础理论知识和基础方法技能,概念清楚正确,系统分析、系统设计、系统实现、系统测试符合软件工程相关规范,结构合理,程序运行良好,课程设计汇报撰写规范,答辩中回复问题正确。
4、课程设计汇报:根据《东华理工大学长江学院课程设计汇报规范》和《嵌入式系统课程设计》任务书要求,认真设计、撰写好课程设计汇报,总结课程设计收获和心得体会,立即提交电子和纸质材料。
三、课程设计内容(一)关键设计内容1、系统分析、总体设计、概要设计、具体设计、系统实现和测试。
2、系统运行和维护。
3、撰写课程设计汇报。
4、课程设计答辩:课题叙述和回复问题。
(二)参考选题1.系统移植类:(1)嵌入式WinCE移植(2)嵌入式Linux2.6内核移植(3)嵌入式Web服务器BOA在开发板上移植(4)使用BusyBox构建根文件系统移植(5)嵌入式QT移植(6)嵌入式引导程序UBoot移植2. QT编程类:(1)基于QT手机通讯录管理(2)基于QT手机日历程序(3)基于QT手机计算器程序(4)基于QT手机秒表程序(5)基于QT电子词典程序(6)基于QT电子相框程序3. 驱动编程类:(1)Led跑马灯程序(2)按键驱动程序(3)嵌入式类Minicom串口程序4. 其它类:可选择其它自己感爱好和嵌入式相关题目四、时间安排《嵌入式系统课程设计》安排在第六学期进行,时间1周。
嵌入式课程设计报告毕业论文教案一、教学目标通过本课程的学习,学生应该能够:1.了解嵌入式系统设计的基本原理和流程2.掌握基本的嵌入式硬件和软件开发技术3.能够使用开发板和相关工具进行嵌入式系统的设计和开发4.掌握常用的接口协议和通信方式,包括串口通信、SPI、I2C、CAN等5.能够设计和开发基本的嵌入式应用程序,如LED灯的控制、按键的检测、温度传感器的读取等二、教学内容及安排1.嵌入式系统概述内容:介绍嵌入式系统的定义、特点、应用领域、市场和发展趋势等内容。
时间:2学时2.嵌入式系统设计流程内容:介绍嵌入式系统设计的主要步骤和流程,包括需求分析、硬件设计、软件设计、测试和调试等内容。
时间:4学时3.嵌入式开发环境搭建内容:介绍嵌入式开发环境的基本配置和使用,包括Keil C51软件、ST-LINK下载器、ST-FLASH工具等。
时间:4学时4.嵌入式硬件设计内容:介绍嵌入式硬件设计的基本原理和方法,包括硬件选型、电路原理图设计、PCB布局和焊接等内容。
时间:10学时5.嵌入式软件设计内容:介绍嵌入式软件设计的基本原理和方法,包括汇编语言、C语言、编译、调试和下载等内容。
同时讲解如何使用方案手册和数据手册加速学习。
时间:16学时6.嵌入式应用程序设计内容:介绍嵌入式应用程序的设计和开发,包括LED灯的控制、按键的检测、温度传感器的读取、串口通信、SPI/I2C接口的应用等内容。
时间:14学时7.嵌入式系统测试和调试内容:介绍嵌入式系统的测试和调试方法,包括硬件测试、软件测试、仿真测试和调试工具等内容。
时间:4学时三、教学方法1.理论教学与实践结合,提高学生的实际操作能力。
2.讲授代码编写方法,由浅入深、由简到难地进行讲解。
3.组织实验、调试和考试等考核环节,促进学生知识的巩固和提高。
4.引导学生通过网络、图书馆等途径自主学习和获取嵌入式技术知识,培养学生的自主学习和创新能力。
四、教学手段1.教师演示和现场演示,帮助学生理解课程内容并进行实践操作。
最小嵌入式课程设计报告一、课程目标知识目标:1. 让学生理解嵌入式系统的基础知识,掌握最小嵌入式系统的设计与搭建方法。
2. 使学生掌握常见嵌入式硬件组件的原理与使用,如微控制器、传感器等。
3. 引导学生了解嵌入式软件编程的基础,学会使用至少一种编程语言进行嵌入式开发。
技能目标:1. 培养学生具备分析问题、设计解决方案的能力,能够针对特定需求设计最小嵌入式系统。
2. 提高学生的动手实践能力,能够独立搭建最小嵌入式系统并进行调试。
3. 培养学生具备一定的编程能力,能够编写简单的嵌入式程序,实现对硬件的控制。
情感态度价值观目标:1. 激发学生对嵌入式系统的兴趣,培养其探索精神,提高学习积极性。
2. 培养学生具备良好的团队合作意识,学会与他人共同解决问题。
3. 引导学生认识到嵌入式技术在现实生活中的广泛应用,培养其创新意识和社会责任感。
本课程针对高年级学生,具有较强的实践性和综合性。
在分析课程性质、学生特点和教学要求的基础上,将课程目标分解为具体的学习成果。
通过本课程的学习,学生将能够掌握嵌入式系统的基础知识,具备设计和搭建最小嵌入式系统的能力,同时培养良好的情感态度和价值观。
为实现课程目标,后续教学设计将注重理论与实践相结合,充分调动学生的主动性和积极性。
二、教学内容1. 嵌入式系统概述:介绍嵌入式系统的基本概念、发展历程、应用领域及特点。
- 教材章节:第1章 嵌入式系统概述- 内容:嵌入式系统定义、分类、发展概况、典型应用。
2. 最小嵌入式系统硬件:讲解微控制器、传感器、执行器等硬件组件的原理与使用。
- 教材章节:第2章 嵌入式系统硬件- 内容:微控制器原理、传感器原理及应用、执行器原理及应用。
3. 嵌入式系统软件:介绍嵌入式编程基础,学习使用C语言进行嵌入式开发。
- 教材章节:第3章 嵌入式系统软件- 内容:嵌入式编程环境、C语言基础、I/O编程、中断处理。
4. 最小嵌入式系统设计与实践:结合实际案例,设计并搭建最小嵌入式系统。
嵌入式系统课程设计实验报告学院:信息工程学院专业:电子信息工程姓名:欧建强200705010521直流电机、实验目的:(1)能在开发平台运行直流电机的程序。
(2)掌握直流电机程序的编写格式。
二、实验设备:硬件:PC 机一台MAGICARM2200-S教学实验开发平台一套软件:Windows98/XP/2000 系统,ADS1.2 集成开发环境三、实验内容:能够学会直流电机的程序编写,学会直流电机的软件的编译和硬件仿真,学会熟悉的运用ADS1.2 集成开发环境以及MAGICARM2200-S教学实验开发平台。
四、实验步骤:1. 打开ADS1.2 IDE 软件,在程序菜单中点击Code warrior for ARM developer Suite 启动,如图所示:2. 建立工程:点击file 菜单,选择new 新建工程,选择工程模版为ARM可执行映象(ARM Executable image )或Thumb可执行映象Executable Image ),或Thumb、ARM交织映象(Thumb ARM Interworking Image 在Location 项选择工程存放路径,并在Project name 项输入工程名称,点击即可建立相应的工程,工程文件名后缀为mcp。
3. 新建文件&添加文件到工程① 新建文件,选择new text file ,然后在新建的文本文件中编写程序,点击file 菜单下的save ,输入文件全名。
②添加文件到工程,在工程窗口中空白处点击右键,选择弹出菜单中的Thumb ),然后确定按钮save 或者Add files ⋯即可弹出select files to add ⋯选择相应的源文件,点击打开本实验打开的是基础实验下的直流电机实验在该工程下,其源文件如下:/***************************************************************************** 文 件 名: main.c* 功 能:通过 KEY1 操作,使用 PWM5 控制电机转速,共 4 档。
嵌入式课程设计报告嵌入式课程设计报告一、设计目的和背景嵌入式系统在现代社会中起着越来越重要的作用,它们广泛应用于各个领域,如消费电子、汽车、医疗保健等。
本次课程设计旨在让学生深入了解嵌入式系统的设计原理和方法,并通过实践项目,提高学生的实际操作能力。
二、设计内容和方法本次课程设计的内容是一个智能家居控制系统。
该系统能够通过无线网络实现对家居设备的远程控制,如灯光、温度、窗帘等。
设计方法主要包括硬件设计和软件设计两个方面。
硬件设计部分主要包括选择合适的微控制器作为控制核心,选取各类传感器和执行器,以及设计电路板进行组装。
在此基础上,还需设计无线通信模块,以实现远程控制的功能。
软件设计部分主要包括嵌入式系统的编程和通信协议的设计。
编程部分可采用C语言或其他嵌入式开发语言,通过编写相应的控制程序实现各个功能模块的控制。
通信协议设计部分需要考虑数据传输的安全性和稳定性,可采用常见的无线通信协议,如Wi-Fi、蓝牙等。
三、设计结果和实现效果通过本次课程设计,我成功实现了一个智能家居控制系统的功能。
通过手机APP或电脑端软件,我可以远程实现对家居设备的控制,如开关灯光、调节温度、控制窗帘等。
同时,该系统还具备一定的安全性,用户可以通过身份验证来确保系统的安全性。
四、设计过程中的问题和解决方案在设计过程中,我遇到了一些问题,如硬件的选型和软件的编写。
对于硬件的选型,我需要根据系统的需求和预算来选择合适的微控制器和传感器。
对于软件的编写,我需要理解各个功能模块的工作原理,并编写相应的控制程序。
我通过查阅资料和与同学、老师的交流解决了这些问题。
通过分析和比较不同的硬件和软件方案,我最终选择了适合我项目需求的方案。
五、设计总结和展望本次课程设计使我对嵌入式系统的设计有了更深入的了解,提高了我的实际操作能力。
通过实践项目,我学会了如何选择合适的硬件和软件方案,并成功实现了一个功能完备的智能家居控制系统。
未来,我希望能继续深入研究嵌入式系统的设计,探索更多有意义的项目。
中南大学嵌入式课程设计《基于ARM平台的打地鼠游戏》姓名:董嘉伟学号:0909103303班级:物联网1002指导教师:刘连浩李刚时间:2013-9-13目录●课程设计内容●课程设计实验环境●课程设计原理分析●课程设计开发计划●课程设计系统设计图●课程设计关键源码分析●课程设计成果展示●课程设计总结●参考资料●工程源代码一、课程设计内容本次课程设计基于课程《物联网与嵌入式系统》的学习,利用现有的硬件知识和计算机软件编程知识从以下三个题目选择一个作为课程设计内容:测频程序、交通灯演示系统、打地鼠游戏,难度依次递增。
基于个人实力和兴趣的考虑,我选择了打地鼠游戏作为我的课程设计题目。
具体要求如下:●LCD正确显示需求内容●触摸屏功能正常使用●基本的打地鼠游戏环节●打地鼠游戏流畅运行,无显著BUG●游戏结束后输出统计数据二、课程设计实验环境软件:WindowsXP\Keil uVision4.72\ARM DeveloperSuite1.2\H-JTAG\DNW\,其中keil编译优化等级为Level0.硬件:飞凌FL2440开发板,4.3寸(480*272)显示屏、USB-JTAG 仿真器实验室:中南大学-美国德州仪器联合嵌入式实验室三、课程设计原理分析1、LCD显示原理分析S3C2440的LCD控制器由由一个逻辑单元组成,它的作用是:把LCD 图像数据从一个位于系统内存的videobuffer传送到一个外部的LCD 驱动器。
LCD控制器使用一个基于时间的像素抖动算法和侦速率控制思想,可以支持单色,2-bitper pixel(4级灰度)或者4-bit-pixel(16级灰度)屏,并且它可以与256色(8BPP)和4096色(12BPP)的彩色STN LCD连接。
它支持1BPP,2BPP,4BPP,8BPP的调色板TFT彩色屏并且支持64K色(16BPP)和16M色(24BPP)非调色板真彩显示。
LCD控制器是可以编程满足不同的需求,关于水平,垂直方向的像素数目,数据接口的数据线宽度,接口时序和刷新速率。
S3C2440 LCD控制器被用来传送视频数据和生成必要的控制信号,比如VFRAME, VLINE,VCLK,VM,等等。
除了控制信号外,这S3C2440还有作为视频数据的数据端口,它们是如图15-1所示的VD[23:0]。
LCD控制器由REGBANK,LCDCDMA,VIDPRCS, TIMEGEN,和LPC3600(看15-1LCD控制器方块图)组成。
REGBANK 由17个可编程的寄存器组和一块256*16的调色板内存组成,它们用来配置LCD控制器的。
LCDCDMA是一个专用的DMA,它能自动地把在侦内存中的视频数据传送到LCD驱动器。
通过使用这个DMA通道,视频数据在不需要CPU的干预的情况下显示在LCD屏上。
VIDPRCS接收来自LCDCDMA的数据,将数据转换为合适的数据格式,比如说4/8位单扫,4位双扫显示模式,然后通过数据端口VD[23:0]传送视频数据到LCD驱动器。
TIMEGEN由可编程的逻辑组成,支持不同的LCD驱动器接口时序和速率的需求。
TIMEGEN块可以产生VFRAME,VLINE,VCLK,VM等等。
数据流描述如下:LCDCDMA中存在FIFO存储器。
当FIFO为空,或者部分为空的时候,LCDCDMA请求从侦存储器中取得数据,是用突发的存储传输模式取得数据的(每一个突发请求,连续的取4个字(16bytes)在总线传输过程中,不允许总线控制权交给另一个总线控制)当传输请求被存储控制器中的总线仲裁器接收了后,将会产生连续的4个字的数据传输从系统内存到内部的FIFO。
FIFO的总共大小为28个字,由12个字的FIFOL和16个字的FIFOH分别组成。
S3C2440有2个FIFOs支持双扫显示模式。
假如是单扫模式,FIFOH将会被用到。
16BPP彩色模式:1个像素有16个位(5位红,6位绿,5位蓝)视频数据。
但是STN控制器仅仅用到12位色彩数据。
这意味着每一个彩色数据的高4位将被使用,作为像素数据(R[15:12],G[10:7],B[4:1])。
下面的表显示了在字中的数据格式。
2、触摸屏原理S3C2440A触摸屏控制器触摸屏的外接电路主要就是要控制上下两层导电层的通断情况以及如何取电压,取电压之后还需要将这个模拟量转换成数字量,这部分工作主要是靠S3C2440A芯片中的模数转换器部分来实现的。
即触摸屏的功能实现实际上分两部分,分别是触摸屏的外接电路部分和S3C2440A芯片自带的A/D转换控制部分。
S3C2440A芯片的A/D转换器有8个输入通道。
转换结果为10bit数字,转换的过程是在芯片的内部自动实现的,转换的结果可以直接从寄存器中取值出来,在进行一定的转后就可以得到触摸点的坐标。
触摸屏电路部分占用了ADC8个通道中的两个通道作为X、Y两个坐标轴方向的电压输入。
触摸屏接口模式1. 一般转换模式:单独的转换模式一般使用来作为通用的ADC转换使用,这种模式可以通过初始化设置寄存器ADCCON,并且读写寄存器ADCDAT0来实现。
2. 分别X/Y位置转换模式:触摸屏控制器可以通过X/Y两个转换模式中的一个来完成,X位置模式写X位置转换数据到寄存ADCDAT0,这时触摸屏接口产生中断源到中断控制器。
Y位置模式写Y位置转换数据到寄存器ADCDAT1,,这时触摸屏接口产生中断源到中断控制器。
3. 自动X/Y位置转换模式:自动X/Y位置转换模式的工作方式如下:当触摸屏有触点触发时,触摸屏控制器依次转换X位置和Y位置。
在触摸屏控制器写X位置测试数据到寄存器ADCDAT0和写Y位置测试数据到寄存器ADCDAT1后,触摸屏接口产生中断源到中断控制器。
4.等待中断模式:当有触摸笔按下的时候,触摸屏控制器会产生中断信号(INT_TC)。
触摸屏控制器在等待模式时必须设置触摸屏接口XP、XM、YP、YM的状态。
四、课程设计开发计划●9月2日-9月3日:开发板连接测试各项功能是否正常●9月4日-9月6日:LCD功能开发,实现图片显示●9月9日-9月10日:触摸屏功能开发,实现点击中断处理函数●9月11日-9月12日:打地鼠游戏逻辑编写,各功能整合9月13日:检查验收五、课程系统设计图六、课程设计关键源码分析480*272屏输出控制#define VBPD_480_272 (3)#define VFPD_480_272 (5)#define VSPW_480_272 (5)#define HBPD_480_272 (33)#define HFPD_480_272 (15)#define HSPW_480_272 (8)#define LCD_BLANK 12#define CLKVAL_TFT_480_272 (3)#define ADCPRS 9 //YH 0627static void Lcd_Init(U8 size)//标准的LCD初始化函数{rGPCUP=0xffffffff; // Disable Pull-up registerrGPCCON=0xaaaa56a9; //Initialize VD[7:0],LCDVF[2:0],VM,VFRAME,VLINE,VCLK,LEND rGPDUP=0xffffffff; // Disable Pull-up registerrGPDCON=0xaaaaaaaa; //Initialize VD[15:8]rLCDCON1=(CLKVAL_TFT_480_272<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0;//比较关键的就是3<<5是将色彩输出模式为16BPP(5:6:5)rLCDCON2=(VBPD_480_272<<24)|(LINEVAL_TFT_480_272<<14)|(VFPD_480_272<< 6)|(VSPW_480_272);rLCDCON3=(HBPD_480_272<<19)|(HOZVAL_TFT_480_272<<8)|(HFPD_480_272);rLCDCON4=(MVAL<<8)|(HSPW_480_272);rLCDCON5=(1<<11)|(1<<9)|(1<<8)|(1<<3)|(BSWP<<1)|(HWSWP);//rLCDCON5=(1<<11)|(0<<9)|(0<<8)|(0<<6)|(BSWP<<1)|(HWSWP);//FRM5:6:5,HSYNC and VSYNC are invertedrLCDSADDR1=(((U32)LCD_BUFFER>>22)<<21)|M5D((U32)LCD_BUFFER>>1);rLCDSADDR2=M5D( ((U32)LCD_BUFFER+(SCR_XSIZE_480_272*LCD_YSIZE_480_272 *2))>>1 );rLCDSADDR3=(((SCR_XSIZE_480_272-LCD_XSIZE_480_272)/1)<<11)|(LCD_XSIZE_4 80_272/1);rLCDINTMSK|=(3); // MASK LCD Sub InterruptrTPAL=0; // Disable Temp Palette}}static void PutPixel(U32 x,U32 y, U32 c )//LCDBUFFER区控制,用以输出LCD屏上像素点,为加快编译速度,直接操纵开发板固化内存地址0x30100000,这里也是通过查阅参考手册知道该地址起为LCD数据存取区域,跟显示屏分辨率有关系{if ( (x < 480) && (y < 272) ){(*(volatile unsigned char*)(0x30100000 + (y*480 + x)*2)) = c & 0x0ff;(*(volatile unsigned char*)(0x30100000 + (y*480 + x)*2 + 1)) = c >> 8;}}static void Paint_Bmp(int x0,int y0,int h,int l,unsigned char bmp[]){//该函数用以读取图片信息并输出到LCD屏指定位置,其中bmp[]为图片转化为的16进制数组,x0,y0分别为图片起始坐标,h、l分别为图片宽度和高度int x,y;U32 c;int p = 0;for( y = 0 ; y < l ; y++ ){for( x = 0 ; x < h ; x++ ){c = bmp[p+1] | (bmp[p]<<8) ;//这里由于色彩显示为16BPP,所以需要16位,bmp[]为16进制数据,单字节8位,故需要移位8,高位在前。