您好,欢迎访问三七文档
《嵌入式系统》课程设计说明书电子时钟系统设计学院:学生姓名:指导教师:职称专业:班级:学号:完成时间:I湖南工学院嵌入式系统课程设计课题任务书指导教师学生姓名罗朗课题名称电子时钟系统设计内容及任务一、目标在GEC210开发板上设计一个基于QT的电子时钟系统来显示当前的系统时间。二、任务根据控制要求,明确设计任务,拟定设计方案与进度计划,运用所学的理论知识,进行电子时钟系统原理设计、硬件系统设计、软件系统设计、创新设计,提高理论知识工程应用能力、系统调试能力、分析问题与解决问题的能力。主要内容包括:1.嵌入式交叉开发环境搭建。2.Linux操作系统的移植。3.根据需求确定外围模块设计并完成相应驱动开发。4.应用程序原理及框架设计。5.Linux下应用程序编写及移植。6.系统总体功能调试。7.编写设计说明书。三、要求1.本系统显示结果示例如下:2.显示的时间为开发板当前的系统时间,显示的结果随着系统时间变化而变化。II主要参考资料[1]马忠梅,ARM&Linux嵌入式系统教程(第3版)[M]。北京:北京航空航天大学出版社,2014[2]曹忠明,程姚根。从实践中学嵌入式Linux操作系统[M]。北京:电子工业出版社,2012[3]宋宝华,Linux设备驱动开发详解(第二版)[M]。北京:人民邮电出版社,2010。[4]韦东山,嵌入式Linux应用开发完全手册[M]。北京:人民邮电出版社,2008[5]陆文周,Qt5开发及实例[M]。北京:电子工业出版社,2015[6]StephenPrata,CPrimerPlus[M]。北京:人民邮电出版社,2005教研室意见教研室主任:(签字)年月日III摘要本次课设是基于ARM嵌入式开发板设计一个具有模拟表盘与数字显示的电子时钟,与传统的机械钟相比,它具有走时准确、显示直观,无机械转动装置等优点。该电子时钟系统首先是在QT上通过API函数和C语言进行设计,然后将嵌入式Linux程序下载到开发板上,这样就能够实现简单的计时,并且时间与系统时间一致。关键词:ARM嵌入式电子时钟QT计时IV目录1绪论......................................................错误!未定义书签。1.1电子时钟的简介.............................错误!未定义书签。1.2设计背景...................................错误!未定义书签。1.3设计目的及意义.............................错误!未定义书签。2嵌入式Linux和QT系统............................错误!未定义书签。2.1嵌入式Linux的简介.........................错误!未定义书签。2.2嵌入式Linux的特点.........................错误!未定义书签。2.3QT的简介...................................错误!未定义书签。2.4QT的优点...................................................33设计与实现.......................................错误!未定义书签。3.1时钟功能的设计.............................................43.2时钟界面的设计.............................错误!未定义书签。3.3设计步骤...................................................53.4工程的调试与运行...........................................54调试与结果.......................................................74.1嵌入式Linux到开发板的移植.................................74.2对NandFlash进行分区......................................74.3实物的调试与结果...........................................8结束语..............................................................9参考文献...........................................................10致谢.............................................................11附录.............................................................12程序清单.......................................................1311绪论1.1电子时钟的简介1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。1.2设计背景嵌入式产品的发展,往往要求嵌入式操作系统有网络和图形的功能。利用源代码开发的Linux搭建的嵌入式操作系统,由于强大的网络功能和低成本,近年来得到了越来越多的应用。在嵌入式Linux操作系统上使用一个功能完备的轻量级、高能级、高可靠、可配置的GUI系统成为可行的解决方案。现如今各种家电多有嵌入式产品,这样不仅为嵌入式市场展现了美好前景,注入了新的生命;同时也对嵌入式系统技术,特别是软件技术提出新的挑战。1.3设计目的及意义虽然市场上现在有了众多的GUI应用软件,但随着近年来计算机技术的发展,有许多计算机的体系结构、指令系统和操作系统都可能发生改变,这势必将导致原有的一些功能无法实现。如果舍弃原有软件,这样会浪费大量人力和资金,浪费许多成熟的成果。而QT可以用同一个源程序在不同平台上编译链接,生成目标代码,并取得同样的运行效果,这种技术成为“一次编写,随处编译”,利用这种方法充分实现了程序的跨平台运行。本次设计通过对嵌入式Linux和QT的分析,在嵌入式QT的基础上,开发面向嵌入式终端的模拟时钟应用软件。模拟时钟不仅能精确的显示时间,还能更换皮肤,装饰桌面环境。22嵌入式Linux和QT系统2.1嵌入式Linux的简介嵌入式Linux是将标准Linux操作系统进行裁剪修改,使之能在计算机上运行的操作系统。它以应用为中心,以计算机技术为基础,软件、硬件可才裁剪,适用于系统对功能、可靠性、成本、体积、功耗要求严格的计算机系统。嵌入式Linux既继承了Internet上无限的开发源代码资源,又具有嵌入式操作系统的特性。2.2嵌入式Linux的特点(1)模块化程度高Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分;其独特模块可随客户的需要移动。(2)源码公开源码公开,可以使用户不用担心有“后闸”等安全隐患;同时源码开放给个教育机构提供极大的方便,同时也促进了Linux的学习。(3)广泛的硬件支持Linux能支持x86、ARM、MIPS、ALPHA和PowerPC等多种体系结构的微处理器。(4)安全性及可靠性好内核高效稳定。可以使用户方便的建立高效稳定的防火墙、路由器、工作站、服务器等。(5)具有优秀的开发工具(6)有良好的网络的支持利文件系统支持(7)与UNIX完全兼容目前,在Linux中所包含的工具和实用程序,可以完成UNIX的所有主要功能。2.3QT的简介QT是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以用于GUI程式,也可用于非GUI程式。QT是面向对象语言,易于扩展,并且允许组件编程,支持windows、unix、嵌入式Linux平台。有商业版和开原版,前者提供给商业软件开发,后者仅仅为了开发由和开放源码软件,提供和前者一样的功能。32.4QT的优点(1)面向对象QT的良好封装机制使得QT的模块化程度非常高,可重性较好,对于用户开发来说是非常方便的。(2)丰富的APIQT包括多达250个以上的C++类,还提供模板的collections,serial类等。(3)支持2D/3D图形渲染,支持OpenGL。(4)大量的开发文档(5)XML支持。(6)Webkit引擎的集成,可以实现本地界面与Web内容的无缝集成。(7)信号与槽信号与槽用于对象问的通讯。信号与槽的机制是类型安全的,一个信号的签名与它的接收槽的签名相匹配。43设计与实现3.1时钟功能的设计1.基本走时功能,调用系统时间,每个一秒更新一次时间。2.通过不同函数更换皮肤。3.使时钟与桌面有一定程度的融合。4.可以通过改写函数重写时间。3.2时钟界面的设计1.窗口设为正方形,使用函数去掉标题栏。2.时钟界面为圆形,使用函数实现。3.使用函数设计时钟的分针、时针和秒针。4.使用函数设计时钟的刻度。5.使用函数设计时针、分针和秒针的颜色、长度和宽度。3.3设计步骤1.工程的建立首先打开QT软件,然后打开文件窗口建立一个工程,命名为myclock,工程程序如图1所示。图1工程程序2.头文件的建立首先打开文件窗口,选择新建文件,然后在项目中选择C++,在C++中选择C++头文件建立头文件程序,命名为myclock.h。建立步骤如图2所示,头文件5程序见附录。图2建立头文件3.4源文件的建立与步骤2一样打开新建文件,在项目C++中选择C++源文件建立。一个文件名为main.cpp,一个命名为myclock.cpp。如图3所示,程序见附录。图3建立源文件3.4工程的调试与运行通过以上步骤基本已经完成,通过调试发现没有发现错误和警告,然后运行得到了时钟界面。调试结果如图4所示,运行如图5所示。图4调试结果6图5运行结果74调试与结果4.1嵌入式Linux到开发板的移植移植是指将软件从一个平台迁移到另一个平台。在移植过程前,首先要设置超级终端、DNW软件、安装USB下载驱动、USB转串口驱动等等。安装Linux系统主要有以下几个步骤:(1)对NandFlash进行分区;(2)安装bootloader;(3)移植内核文件;(4)移植文件系统。4.2对NandFlash进行分区用串口线、USB线吧开发板连接到电脑,串口用于通讯,USB用于系统移植时数据的下载。安装好USB转串口驱动,新建一个超级终端,串口使用COM3,设置好相应的参数,一边与实现电脑与开发板的通信。选择串口如图6所示。图6选择串口4.3实物的调试与结果接通电源,启动开发板,登录系统,在SecureCRT中点击连接,进入后弹出一个对话框,在对话框中输入一下几条命令:(1)pwd8(2)ls(3)cdaaa(4)ls(5)sourceqtconf.sh(6)./myclock输入以上几条命令后,开发板上就出现了需要的时钟界面。输入命令窗口如图7所示。开发板上结果如图8所示。图8输入命令结果图9开发板结果由图9可以看出,开发板上的时钟与系统时间一致,并且随系统时间的变化而变化,说明设计成功。9结束语经过两周的努力,终于完成了课程设计。从开始接到课设题目到完成设计,每一步走来对于我来说都是新的尝试和挑战。在这段时间里,我学到了很多知识也有很多感受。在做这次课设中,遇到了许多的难题,比如如何将程序下载到开发板上,这个开始我一点也不会,后来通过查资料和请教同学和老师,终于将程序下载到了板子上,完成了课题的设计。从这次课设中我明白了,只有不
本文标题:电子时钟系统设计
链接地址:https://www.777doc.com/doc-6444002 .html