




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南华大学电气工程学院毕业论文 毕业设计毕业设计( (论文论文) ) 题题 目目 基于基于 qtqt 的多媒体车载导航系统的多媒体车载导航系统 学院名称学院名称 电气工程学院电气工程学院 指导教师指导教师 洪镇南洪镇南 职职 称称 教授教授 班班 级级 自动化自动化 082082 学学 号号 2008446023620084460236 学生姓名学生姓名 马步云马步云 2012 年 5 月 30 日 南华大学电气工程学院毕业论文 南 华 大 学 毕业设计(论文)任务书 学院: 电 气 工 程 学 院 题目: 基于 qt 的多媒体车载导航系统 起止时间:2011 年 12 月 15 日至 2011 年 5 月 30 日 学生姓名: 马 步 云 专业班级: 自动化 082 指导老师: 洪 镇 南 教研室主任: 李 兰 君 院 长: 赵 立 宏 2011 年 12 月 15 日 南华大学电气工程学院毕业论文 设计(论文)内容及要求: 一. 设计(论文)内容: 设计一个多媒体车载导航系统,用于汽车定位,智能导航,多媒体娱乐,以达到优化 行车路径,随时查看所在地域,及时搜索餐饮、住宿、学校、医院等方位,方便旅行的目 的。 设计内容 1、多媒体车载导航系统的硬件系统设计:包括 arm 9 (s3c2410)模块、256m nand flash 模块、2m nor flash 模块、touch lcd 模块、gps 数据采集模块。 2、多媒体车载导航系统的软件系统:包括 gps 数据采集模块、车辆定位模块、最短路径的 算法模块、线路导航模块、车载多媒体播放终端模块、qt 的系统搭建与移植模块、基于 qt 的百度地图系统集成模块、gps 设备驱动与嵌入式串口通信模块。 3、多媒体车载导航系统的性能要求 (1) 、定位功能:根据 gps 采集到的经纬度数据在地图上定位显示出当前位置。 (2) 、地图导航功能:以当前地点作为起点,并且在地图上制定的地方双击设置目的地, 经过最短路径算法,求出并显示起到到终点的导航路径。 (3) 、语音导航功能:模拟车辆运行,路径移动,在相应的重要地点处,播报语音提示。 (4) 、娱乐功能:车载多媒体功能部分,可进行电影、音乐的选择播放。 (5) 、导航地图更新功能:利用在线百度地图(api)进行地点的定位和路径的选择。 二.设计(论文)要求: 1. 独立完成 15000 字以上的毕业论文一篇, 论文撰写格式符合要求,数据准确,文字精炼。 应包括目录、中英文摘要、中英文关键词、正文、参考文献等。 2原理图、原理框图和程序流程图符合有关标准。参考文献应有 20 篇以上,且外文文献有 5 篇以上。 3翻译相关英文论文一篇,翻译工作量不少于 3000 中文字,并附原文;撰写格式:按原 文格式排版。 4毕业论文用 a4 纸打印、按要求装订成册。 三. 设计(论文)进度: 1查阅国内外相关文献资料,完成选题报告 (16 周) 2总体方案设计 (7 周) 3控制电路设计 (8-11 周) 4元器件选择 (12 周) 5软件设计 (12-14 周) 6撰写毕业论文 (1415 周) 7初稿预审、正稿打印 (16 周) 8递交毕业论文、毕业答辩 (17 周) 南华大学电气工程学院毕业论文 指导教师: . 2011 年 12 月 22 日 南华大学电气工程学院毕业论文 南华大学本科生毕业设计(论文)开题报告南华大学本科生毕业设计(论文)开题报告 设计(论文)题目基于 qt 的车载导航多媒体系统 设计(论文)题目来源自主命题 设计(论文) 题目类型 软件设计起止时间2012-2-132012-5-10 一、设计(论文)依据及研究意义 随着我们生活水平的不断提高,汽车数量急剧增加引起交通状况恶化。目前,我国的 机动车保有量正以 15%的高速率增长,而我国城市道路的增长率仅为 3%,交通拥挤状况 相当严重。因此,发展智能交通系统的意义非常重大。 gps 是 20 世纪 80 年代才开始应用于汽车交通领域的。但它的应用对减少交通阻塞、 提高汽车运行效率、节约资源、提高安全性以及加强对车辆的集中管理和调度都有着非常 重要的意义。我们想结合所学到的多媒体功能应用技术、嵌入式操作系统应用开发技术以 及 qt 平台技术以及未学到 gps 应用技术、gprs 应用技术及 gui 开发技术设计开发一套 基于 qt 的车载导航系统,包含定位功能、地图导航功能、语音导航功能、娱乐功能等。 这套系统可以为驾驶员充分的提供交通、安全、娱乐等信息,实现人、车、路的结合统一。 这将极大的提高交通运输效率,保证交通安全,增强行车的舒适性。 二、设计(论文)主要研究的内容、预期目标 本课题是要设计一个车辆远程监控系统能将串口采集到的现场数据通过 gprs 网络传输 到监控中心,也可以接受远程端发送的数据,再根据数据的内容相应的完成各种命令。驾 驶员可以根据命令提示选择线路,也可以在停车的时候进行娱乐休闲。 该系统主要分以下部分来实现: 1、gps 数据采集与车辆定位 2、最短路径的算法与线路导航 3、嵌入式 qt 的系统搭建与移植 4、基于 qt 的百度系统集成 南华大学电气工程学院毕业论文 5、基于 arm9 的 gps 设备驱动与串口通信 三、设计(论文)的研究重点及难点 主要重点是以当前地点作为起点,并且在地图上制定的地方双击设置目的地,经过最 短路径算法,求出并显示起到到终点的导航路径,此为导航仪的核心功能。整个设计会应 用到 gps 应用技术、gui 开发技术、多媒体功能应用技术、嵌入式操作系统应用开发技术、 系统构建技术、驱动编写技术、数据库技术等。需要自己查找文献资料,并进行相关方面 的学习。 具体参考资料如下: 1、 c 程序设计语言brian w.kerhighan linux;gps;c+语言;嵌入式操作系统 南华大学电气工程学院毕业论文 i abstract:with the rapid development of embedded technology and automobile industry,vehicle navigation system has been well-known in automobile industry. in developed countries like europe and us, car-borne navigator has matured and has a big market. however, this product appeared in china only a short time ago, so most of its types are still on trial. due to its vast land, large population and rapid-developing economy, there will be a high consumption of cars in china. therefore, car-borne navigator will be in great demand in china with the development of economy in the future. to study vehicle navigation system has an important effect on improving security of vehicle, reducing pressure of drivers, so plays an important role in solving transportation problems. this paper first discusses the principle of the vehicle navigation system and the principle of hardware structure,then the analysis has designed sottwaresystems work flow and realizes the plan,focused on the arm processor and thelinux operating system to achieve vehicle navigation terminal and its functionalmodules of the detailed realization process.so this system consists of gps data collection, map display composed of two parts, simulated gps navigation process. through the gps module, arm9 hardware environment, embedded linux operating system, tft touch screen and other modules to complete the operation of the entire system to collect real-time gps data, gps data and then display the corresponding map. this design feature is user-friendly, user easy to operate, low power consumption, easy to a trip. keywords: arm; linux; gps; c + + language; embedded operating system 南华大学电气工程学院毕业论文 ii 1 1、 系统方案选择和论证系统方案选择和论证 1 1 1.1 引言.1 1.2 方案说明 1 1.2.1、 总体设计方案.1 1.2.2、 系统功能说明.2 1.3、 部分模块设计方案 2 1.3.1、 控制模块设计方案.2 1.3.2、 操作系统选择方案.3 1.3.3、 gps 模块选择方案 .3 1.3.4、显示模块设计方案4 1.3.5、地图文件存放方案4 1.4、总体方案确定 .4 1.4.1、系统硬件方案4 1.4.2、软件需求5 2 2、 系统的硬件设计与实现系统的硬件设计与实现 5 5 2.1、 主控芯片电路 6 2.2、 flash芯片电路 7 2.2.1、nand flash 芯片电路 .8 2.2.2、 nor flash 芯片电路 .8 2.3、 串口电路 9 2.4、 usb端口电路.10 2.5、 系统总线及lcd接口电路 10 2.6、 电源电路 .11 3 3、 系统的软件设计系统的软件设计 1111 3.1、系统概述 11 3.2、软件详细设计 11 南华大学电气工程学院毕业论文 iii 3.2.1、主函数.11 3.2.2、画布.13 3.2.3、位图元素.13 3.2.4、gps 类 .14 3.2.5、主界面.20 3.2.6、地图窗口.22 3.2.7、多媒体播放窗口.23 3.2.8、游戏窗口.24 3.2.9、日历窗口.24 3.2.10、电子书窗口25 3.2.11、声卡驱动移植26 3.2.12、触摸屏驱动移植26 3.2.13、rtc 驱动 27 4 4、 移植与测试移植与测试 2828 4.1、检查编译环境的搭建 29 4.2、图形界面的搭建 30 4.3、测试 32 5 5、 总结总结 3636 南华大学电气工程学院毕业论文 第 0 页,共 36 页 1、 系统方案选择和论证系统方案选择和论证 1.1、引言、引言 gps 是英文 global positioning system(全球定位系统)的简称,而其中文简称 为“球位系” 。gps 是 20 世纪 70 年代由美国陆海空三军联合研制的新一代空间卫星导 航定位系统 。其主要目的是为陆、海、空三大领域提供实时、 全天候和全球性的导 航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的。随着人民生活水平 的发展,gps 技术被越来越多的应用在个人 pda、个人车载终端、手机等设备上。人们 通过 gps,能准确知道自己所在的位置,从实现到导航、确定旅游路线、获取地理信息 等功能。本文介绍的 gps 导航系统,以 arm 作为主控芯片,配以 gps、tft 触摸屏、嵌 入式 linux 操作系统,构建了一个集 gps 信息显示、地图显示为一体的完整系统。本 系统在一定程度上推动了 gps 导航设备研究的发展。 1.21.2 方案说明方案说明 1.2.1、 总体设计方案总体设计方案 个人手持设备要求界面美观、功耗低、易于操作。系统应有彩色触摸屏;低功耗、 高速度的处理芯片;带有嵌入式操作系统;gps 信息接收模块;sd 卡用以存放地图。 模块框图分别如图 1 所示: 南华大学电气工程学院毕业论文 第 1 页,共 36 页 图 1.1 系统结构框图 1.2.21.2.2、 系统功能说明系统功能说明 (1).定位功能 gps 通过接收卫星信号,可以准确地定出其所在的位置,位置误差小于 10 米。利用 gps,在地图上实时显示车辆当前位置。 (2).地图导航功能 输入目标地点后,自动在地图上显示出行车路线;假如用户因为不小心错过路口, 没有走车载 gps 导航系统推荐的最佳线路,新为用户设计一条回到主航线路线,或是 为用户设计一条从新位置到终点的最佳线路。 (3).娱乐功能 播放 u 盘、sd 卡中的 mp3、mp4 文件,也可查看电子书。 (4).数据存储功能 将地图文件,影音文件,电子书等数据存储在 sd 卡中。 1.31.3、 部分模块设计方案部分模块设计方案 1.3.11.3.1、 控制模块设计方案控制模块设计方案 arm 是一种处理器的 ip 核。英国 arm 公司开发出处理器结构后向其他芯片厂商授 权制造,芯片厂商可以根据自己的需要进行结构与功能的调整,因此实际中使用的 arm 处理器有很多种类,主要有三星、飞利浦、atmel、intel 制造的几大类,功能与使用 上均不相同。arm 处理器核还可以嵌入其他专用芯片中作为中央处理单元使用,例如飞 gps 模块多媒体模块 液晶、触摸 屏模块 sd 卡、 usb 存储 嵌入式 linux+qt/e arm9 平台 扬声器 娱乐模块 定位导航信息影音视频 用户交互 数据交互 影音音频 南华大学电气工程学院毕业论文 第 2 页,共 36 页 利浦的 mp3 解码芯片就是采用 arm7 核心的。arm 系列处理器很少集成片上硬件资源, 更接近今天的处理器范畴,基本不被认为是单片机。 avr 单片机是 atmel 公司研制开发的一种新型单片机,它与 51 单片机、pic 单片 机相比运行效率高很多、芯片内部的 flsah、eeprom、sram 容量较大、全部支持在线 编程烧写(isp、每个 io 口都可以以推换驱动的方式输出高、低电平,驱动能力强、内 部资源丰富,一般都集成 ad、da 模数转换器;pwm;spi、usart、twi、i2c 通信口; 丰富的中断源等。主要现在使用的型号是 atmega8/16。因此有以下两种选择方案。 方案一:采用凌阳公司的 16 位单片机,它是 16 位控制器,具有体积小、驱动能 力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。 用于语音处理和识别等领域。满足系统 gps 模块和语音导航功能的需要。但由于本系 统需要彩色人机交互界面,对处理速度要求较高,故不采用。 方案二:采用三星公司的 s3c2440。s3c2440 采用 arm920t 内核,实现了 mmu、arba、bus 和 harvard 的高速缓冲体系结构。它是一块高性能、低功耗的嵌入式 芯片,并且可植入操作系统。在个人 pda 领域应用较广。植入操作系统后,用户在 gui 编程方面具有很大优势。它内置 ad/da,便于扩展语音模块。故选用此芯片为主控芯片。 1.3.21.3.2、 操作系统选择方案操作系统选择方案 本项目选用 linux 操作系统,linux 操作系统广泛应用在嵌入式设备中,因其源代 码开放、免费;内核性能高效、多任务、可制定;完善的图形管理、文件管理机制; 良好的开发环境、强大的工具集 。而且可移植 qt 开发环境,可实现跨平台的编译, 代码重用率高。最重要的是开放的源码使开发成本降低。 1.3.31.3.3、 gpsgps 模块选择方案模块选择方案 方案一:采用串口接口 gps 模块。优点:便于驱动,价格便宜。缺点:嵌入式 linux 的调试需要用到串口,若 gps 模块占用了串口会造成调试不便。故不采用 方案二:采用 usb 接口 gps 模块。优点:便于携带、连接开发板。缺点:驱动相对 南华大学电气工程学院毕业论文 第 3 页,共 36 页 较难、价格相对较贵。为了便于调试和携带,采用 usb 接口 gps 模块。 1.3.41.3.4、显示模块设计方案、显示模块设计方案 方案一:采用 lcd 显示。液晶显示屏(lcd)具有轻薄短小,低耗电量。但不能实 现触摸功能,故不采用。 方案二:采用 tft 显示。tft 屏幕带有四线式电阻触摸膜,能实现触摸功能、便于 用户操作,故采用。 1.3.51.3.5、地图文件存放方案、地图文件存放方案 方案一:采用 s3c2440 核心板内置 nand flash 存放。nand flash 读取速度快。 但容量较小,只有 128m,不适合存放大量地图数据,故不采用。 方案二:采用外置 sd 卡。sd 卡读取速度相对较慢,且会增加成本。但能存放大量数据 (),地图更新升级也很方便。故采用。 1.41.4、总体方案确定、总体方案确定 1.4.11.4.1、系统硬件方案、系统硬件方案 表 1.1 系统硬件方案 名称说明 cpu s3c2410, mpll=200m flash2m norflash + 64m nand flash sdram64m usb 1 个 usb host 接口, 1.1 标准 网口 10m 串口2 个 3 线串口 sd 卡接口sd 卡容量 1g i/o 8 路 i/o lcd 3.5 寸 240*320 tft 屏 触摸屏4 线电阻式触摸屏 南华大学电气工程学院毕业论文 第 4 页,共 36 页 gps 模块3 线串口接线 u 盘容量 14g 1.4.2、软件需求、软件需求 表 1.2 软件需求 名称名称说明说明 操作系统 linux-2.6.26 开发工具gnu 工具 启动代码 u-boot 1.3.4 驱动程序所有硬件驱动 文件系统根文件系统采用 cramfs,用户文件 系统采用 yaffs2 guiqt 地图百度地图 2 2、 系统的硬件设计与实系统的硬件设计与实现现 系统硬件采用友善之臂的 mini2440 开发板。mini2440 体积小,便于携带;接口丰 富,易于扩展;功耗低,便于长时间户外导航。 mini2440 硬件特性如下图: 南华大学电气工程学院毕业论文 第 5 页,共 36 页 图 1.2 主控芯片电路 2.12.1、 主控芯片电路主控芯片电路 主控芯片为 s3c2440 的 6 层核心板,该核心板性能稳定、工艺精良。 南华大学电气工程学院毕业论文 第 6 页,共 36 页 图 2.1 主控芯片电路 2.22.2、 flashflash 芯片电路芯片电路 flash 闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任 何 flash 器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进 行写入操作之前必须先执行擦除。nand 器件执行擦除操作是十分简单的,而 nor 则要 求在进行擦除前先要将目标块内所有的位都写为 0。 由于擦除 nor 器件时是以 64128kb 的块进行的,执行一个写入/擦除操作的时间为 5s,与此相反,擦除 nand 器件是以 832kb 的块进行的,执行相同的操作最多只需要 4ms。 执行擦除时块尺寸 的不同进一步拉大了 nor 和 nadn 之间的性能差距,统计表明,对于给定的一套写入操 作(尤其是更新小文件时),更多的擦除操作必须在基于 nor 的单元中进行。这样,当 选择存储解决方案时,设计师必须权衡以下的各项因素。 nor 的读速度比 nand 稍快一些。 nand 的写入速度比 nor 快很多。 nand 的 4ms 擦除速度远比 nor 的 5s 快。 南华大学电气工程学院毕业论文 第 7 页,共 36 页 大多数写入操作需要先进行擦除操作。 nand 的擦除单元更小,相应的擦除电路更少。 2.2.12.2.1、nandnand flashflash 芯片电路芯片电路 nand flash 是操作系统的程序存储区,该芯片掉电不丢失数据、寿命长,可反复 擦写。芯片容量 128m。适合存放高密度数据结构 图 2.2 nand flash 芯片电路 2.2.22.2.2、 nornor flashflash 芯片电路芯片电路 norflash 是系统 bios 存储区。该芯片掉电不丢失数据、寿命长,可反复擦写。芯 片容量 8m。适合高速度、低数据密度的数据结构。nor flash 带有 sram 接口,有足够 的地址引脚来寻址,可以很容易地存取其内部的每一个字节。 南华大学电气工程学院毕业论文 第 8 页,共 36 页 图 2.3 nor flash 芯片电路 2.32.3、 串口电路串口电路 采用 max3232 电平转换芯片与计算机通信。 图 2.4 串口电路 南华大学电气工程学院毕业论文 第 9 页,共 36 页 2.42.4、 usbusb 端口电路端口电路 采用 usb2.0 协议,usb 接口是用来连接 gps 模块。 图 2.5 usb 端口电路 2.5、 系统总线及系统总线及 lcd 接口电路接口电路 图 2.6 系统总线及 lcd 接口电路 南华大学电气工程学院毕业论文 第 10 页,共 36 页 2.62.6、 电源电路电源电路 系统的输入电压为 dc5vc,因此可以通过 lm1117-1.8、lm1117- 33、max8869eu18 芯片来转换成系统需要的三种电压分别为:1.8v、3.3v、1.25v。 图 2.6 电源电路 3 3、 系统的软件设计系统的软件设计 3.13.1、系统概述、系统概述 本系统的所有程序均采用 c+语言编写,开发工具为 qt,开发环境为 ubuntu 11.10。应用软件开发的模块化思想来开发这个项目,程序定义了许多类来分别管理各 个模块,通过对各个类的操作,来构建整个程序框架。各个类对象即可单独提取出作 为独立的一个有机代码,大大增加了项目的健壮性及可移植性。在将要进行的以下的 代码介绍中一般只给出了定义,某些类的具体实现未给出。 3.23.2、软件详细设计、软件详细设计 3.2.13.2.1、主函数、主函数 主函数,项目入口,用于启动其他模块,并在屏幕上显示主界面窗口。 南华大学电气工程学院毕业论文 第 11 页,共 36 页 #ifndef mainwindow_h #define mainwindow_h #include #include #include “gps.h“ #include “mplayer.h“ #include “ebook.h“ #include “minesweeping.h“ #include “ui_mainwindow.h“ /*namespace ui class mainwindow; */ class mainwindow : public qmainwindow,public ui:mainwindow q_object public: explicit mainwindow(qwidget *parent = 0); mainwindow(); public slots: void showmplayer(); void showgps(); void showmine(); void showcalendar(); void showebook(); private: /ui:mainwindow *ui; ; #endif / mainwindow_h #include #include “mainwindow.h“ int main(int argc, char *argv) qapplication a(argc, argv); mainwindow w; w.show(); return a.exec(); 南华大学电气工程学院毕业论文 第 12 页,共 36 页 3.2.23.2.2、画布、画布 定义画布,在此画布上进行图形界面的生成,绘制,画布也就相当于一个窗口界 面。我们所要展示的内容都通过画布产生界面,内容在该界面生成,并且予以显示。 #ifndef mycavans_h #define mycavans_h #include #include “mypixitem.h“ class mycavans:public qgraphicsscene q_object public: explicit mycavans(qobject *parent = 0); mycavans(); int pd(int x,int y) if(x9|y9) return 0; return 1; void changeblock(int x,int y) pitemxy.changeme(); protected: mypixitem pitem1010; bool mineflag100; int mnum; ; #endif / mycavans_h 3.2.33.2.3、位图元素、位图元素 定义位图元素,具体绘画对象,以及在画布上对绘画对象的鼠标事件的回应。 #ifndef mypixitem_h #define mypixitem_h #include #include class mypixitem:public qgraphicspixmapitem public: mypixitem(); 南华大学电气工程学院毕业论文 第 13 页,共 36 页 bool getmflag() return mineflag; void changemflag(bool m) mineflag = m; void addm() ismine+; void makex(int a) x = a; void makey(int a) y = a; static void addok() oknum+; static int getok() return oknum; void changeme(); int pd(int x,int y) if(x9|y9) return 0; return 1; signals: /void pcheck(mypixitem* p); protected: virtual void mousepressevent(qgraphicsscenemouseevent *event); bool okflag; bool mineflag; bool markflag; int ismine; int x; int y; static int oknum; ; #endif / mypixitem_h 3.2.43.2.4、gpsgps 类类 定义类 gps,用来读取 gps 接收器传来的数据,并进行分析处理,用于汽车定位等。 #ifndef gps_h #define gps_h 南华大学电气工程学院毕业论文 第 14 页,共 36 页 #include /#include “ui_gps.h“ namespace ui class gps; class gps : public qdialog q_object public: explicit gps(qwidget *parent = 0); gps(); int gpsstate; void locate(float lng, float lat); protected: virtual void timerevent ( qtimerevent * event ); private slots: void on_pushbutton_clicked(); private: ui:gps *ui; ; int initgps(); void closegps(); int getlnglat(float *longitude, float *latitude); #endif / gps_h #include “gps.h“ #include #include #include “ui_gps.h“ #include #include #include #include #include /#include #include #include #include #include using namespace std; gps:gps(qwidget *parent) : qdialog(parent), ui(new ui:gps) 南华大学电气工程学院毕业论文 第 15 页,共 36 页 ui-setupui(this); gpsstate = initgps(); if (gpsstate != 0) cerrwebview-page()-mainframe()-evaluatejavascript(call); void gps:timerevent ( qtimerevent * event ) static float lng = 121.49704f; static float lat = 31.276478f; lng += 0.00005f; lat += 0.00005f; int result = 0; if (result = getlnglat( */ class mainwindow : public qmainwindow,public ui:mainwindow q_object public: explicit mainwindow(qwidget *parent = 0); mainwindow(); public slots: void showmplayer(); void showgps(); void showmine(); void showcalendar(); void showebook(); 南华大学电气工程学院毕业论文 第 20 页,共 36 页 private: /ui:mainwindow *ui; ; #endif / mainwindow_h #include “mainwindow.h“ mainwindow:mainwindow(qwidget *parent) : qmainwindow(parent) setupui(this); connect(pushbutton_2,signal(clicked(),this,slot(showmplayer(); connect(pushbutton,signal(clicked(),this,slot(showgps(); connect(pushbutton_3,signal(clicked(),this,slot(showmine(); connect(pushbutton_4,signal(clicked(),this,slot(showcalendar(); connect(pushbutton_5,signal(clicked(),this,slot(showebook(); mainwindow:mainwindow() /delete ui; void mainwindow:showmplayer() mplayer player; player.exec(); void mainwindow:showgps() gps gps; gps.exec(); void mainwindow:showmine() minesweeping minesweep; minesweep.exec(); void mainwindow:showcalendar() qwidget *widget = new qwidget(); widget-setgeometry(0,0,320,240); widget-setwindowflags(qt:framelesswindowhint); qcalendarwidget* calendar = new qcalendarwidget(widget); calendar-setgeometry(0,0,320,200); qpushbutton* quitbutton = new qpushbutton(“back“,widget); quitbutton-setgeometry(240,210,60,30); 南华大学电气工程学院毕业论文 第 21 页,共 36 页 qobject:connect(quitbutton,signal(clicked(),widget,slot(close(); widget-show(); void mainwindow:showebook() ebook book; book.exec(); 3.2.63.2.6、地图窗口、地图窗口 地图导航主要窗口,可在该窗口上进行地图导航,显示位置等操作。 #ifndef gps_h #define gps_h #include /#include “ui_gps.h“ namespace ui class gps; class gps : public qdialog q_object public: explicit gps(qwidget *parent = 0); gps(); int gpsstate; void locate(float lng, float lat); protected: virtual void timerevent ( qtimerevent * event ); private slots: void on_pushbutton_clicked(); private: ui:gps *ui; ; int initgps(); void closegps(); int getlnglat(float *longitude, float *latitude); #endif / gps_h 南华大学电气工程学院毕业论文 第 22 页,共 36 页 3.2.73.2.7、多媒体播放窗口、多媒体播放窗口 播放界面,可以播放 mp4 等多媒体文件。 #ifndef mplayer_h #define mplayer_h #include #include #include #include #include #include #include “ui_mplayer.h“ /*namespace ui class mplayer; */ class mplayer : public qdialog,public ui:mplayer q_object public: explicit mplayer(qwidget *parent = 0); mplayer(); qtime int_to_time(int); public slots: void play_pause_slots(); /暂停 void stop_slots(); /停止 void previous_slots(); /上一曲 void next_slots(); /下一曲 void get_time_slots(); /得到播放时间 void set_volume_slots(int); /设置音量 void set_sound_slots(); /静音 void playerreward_slots(); /快退 void playerforward_slots(); /快进 void back_message_slots(); /更新显示信息 private: /ui:mplayer *ui; qprocess *process;/被用来启动外部程序并于他们通信 qstringlist files; qdir directory;/提供目录结构和他们的内容 int file_count; qstring file_name; bool isplay; 南华大学电气工程学院毕业论文 第 23 页,共 36 页 bool issound; bool isstop; qtimer *timer; int file_length; int curr_time; int curr_pos; int curr_vol; ; #endif / mplayer_h 3.2.83.2.8、游戏窗口、游戏窗口 扩展功能,内嵌扫雷小游戏。 #include “minesweeping.h“ #include “ui_minesweeping.h“ minesweeping:minesweeping(qwidget *parent) : qdialog(parent), ui(new ui:minesweeping) ui-setupui(this); ui-graphicsview-setscene( minesweeping:minesweeping() delete ui; 3.2.93.2.9、日历窗口、日历窗口 一个简易的查看日历的小工具。 #include #include void mainwindow:showcalendar() qwidget *widget = new qwidget(); widget-setgeometry(0,0,320,240); widget-setwindowflags(qt:framelesswindowhint); qcalendarwidget* calendar = new qcalendarwidget(widget); calendar-setgeometry(0,0,320,200); 南华大学电气工程学院毕业论文 第 24 页,共 36 页 qpushbutton* quitbutton = new qpushbutton(“back“,widget); quitbutton-setgeometry(240,210,60,30); qobject:connect(quitbutton,signal(clicked(),widget,slot(close(); widget-show(); 3.2.103.2.10、电子书窗口、电子书窗口 观看电子书窗口。 #ifndef ebook_h #define ebook_h #include #include #include #include #include #include #include #include namespace ui class ebook; class ebook : public qdialog q_object public: explicit ebook(qwidget *parent = 0); ebook(); public slots: void openfile(); void closefile(); void quitebook(); protected: void changeevent(qevent *e); private: ui:ebook *ui; ; #endif / ebook_h 南华大学电气工程学院毕业论文 第 25 页,共 36 页 3.2.113.2.11、声卡驱动移植、声卡驱动移植 将 s3c2410-uda1341.c 拷贝到内核中 sound/oss 目录下,修改 sound/oss/kconfig 添 加如下内容: config s3c2410_snd_uda1341 tristate “s3c2410 uda1341 driver(s3c2410)“ depends on sound_prime!=n 并添加支持触摸屏平台代码的信息,这个找到一个名为smdk2410_devices的结 构体指针数组里添加: (2)修改 driver/input/touchscreen/makefile,添加如下内容: obj-$(config_touchscreen_s3c2410) += s3c2410_ts.o (3)配置内核支持触摸屏驱动 make menuconfig 配置支持触摸平驱动 device drivers - input device support - *touchscreens - samsung s3c2410 touchscreen input driver *samsung s3c2410 touchscreen debug messages 然后 make zimage。当然首先我们要支持 framebuffer,lcd 液晶屏。 系统启动以后会在 dev 目录下产生 event0 这个设备节点,它们就是触摸屏的设备 节点。 3.2.133.2.13、rtcrtc 驱动驱动 (1)、busybody 制作文件系统 因为 rtc 的操作需要几个工具如 hwclock 和 date,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年天津市河东区中考二模物理试题(解析版)
- 小学6年级毕业考试试卷及答案
- 初一期末考试试卷及答案
- 蒸馏法课件教学课件
- 2025年北京高考物理试题+答案
- 2025年高考历史试题分类汇编:中国古代史(先秦-魏晋)选择题解析版
- 2025年辽宁省中式面点师(初级)证考试题库
- 橡胶船物理题目及答案
- 乡村幼师答辩题目及答案
- 2025采购合同样式范文
- 四上科学第一单元《多样的动物》知识梳理
- 三字经全文带拼音打印版带翻译
- 微观经济学-范里安varian中级
- 山东省青岛市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 《印章移交登记表》
- 电缆护套感应电压计算
- 四年级上册心理健康教育课件-健康的情绪表达 全国通用(共16张PPT)
- 第5章金属在自然环境中的腐蚀ppt课件
- 个文言实词练习(学生版)
- 集成电路版图设计(适合微电子专业)
- 安全工程燃烧学课件第一章燃烧与爆炸的化学基础
评论
0/150
提交评论