1、 嵌入式系统应用课程设计 题目 基于 ARM 的计算器设计 专业 通信工程 班级 2012 级 3 班 学生姓名(学号) 袁 平 20120343007 学生姓名(学号) 黄 飞 20120343030 学生姓名(学号) 组长 袁平 2015 年 06 月 27 日 设计要求 基本要求 以友善之臂开发板及 QT 为平台,实现多功能计算器的设计 能单独的进行简单的四则运算 扩展部分 能进行数的平方,开根号,及阶乘 界面要求简洁美观,容易用户操作 摘要 电子计算器作为计算工具,为人们的生活带来了很多的方便与实惠。随着科学技术的进步,尤其是电子工业技术的发 展,计算器已经从先前的半导体技术实现到现在
2、的广泛喜爱用高集成度芯片实现的多功能计算器,不管是白领办公室还是菜市场的小贩,计算器的出现让他们高效率的完成任务。计算器扮演了一个重要的角色。 本设计是用 C+编写的,基于 Qt 图形用户界面应用程序框架的计算器。设计出的应用程序,实现了一定的计算功能。 关键字: Qt C+ 计算器 第一章 前言 1.1 设计背景 计算器( calculator; counter)一般是指 “电子计算 器 ”,计算器 是 能进行数学运算的手持机器,拥有集成电路 芯片 , 其 结构简单,比现代电脑结构简单得多,可以说是第一代的 电子计算机 (电脑) 。 计算器这一小小的程序机器实际上是从计算机中割裂出来的衍生品
3、, 虽然 功能 较单一, 但因其操作模式 的 方便快捷 和价格的低廉,携带方便等特点 ,已经被广泛应用于工程、学习、商业 贸易 等日常生活中,极大的方便了人们对于数字的整合运算 ,成为人们生活和办公中的必备品之一,深得使用者的青睐。 1.2 设计目的 本程序是基于 linux 下的嵌入式开发,所用软件为 QT Creator,程序虽然简单,但是通过本程 序的设计,可以进一步了解嵌入式系统开发工具以及熟悉 linux 环境下的常用命令,为以后进入嵌入式领域打下一定的基础。 通过该计算器程序软件的设计,培养独立思考、综合运用所学有关相应知识的能力,更好地巩固 C+程序语言设计和高级程序设计课程学习
4、的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,体验理论与实践相结合的过程。 第二章 流程图 2.1 功能描述 本次设计的计算器在功能上大致与 Windows 系统自带的计算器程序 相似,对于所设计的科学计算器,其功能大致为可以进行 加 (+)、减 (-)、乘 (*)、 除 (/)、 简单算术计算及平方和开方。由于接触 QT 时间还不太久,所以目前只能简单地实现这些功能,相信随着以后逐步的了解,本程序将实现更多的功能。 第三章 开发工具简介 3.1 QT 简介 由于本次设计的小程序是用 QT Creator 所设计的,所以我觉得有必要先介绍下 QT 开发工具的背景。 Qt 是一个 1
5、991 年由奇趣科技开发的跨平台 C+图形界面应用程序 开发框架。它既可以开发 GUI 程式,也可用于开发非 GUI 程式,比如控制台工具和服务器。 Qt 是面 向对象 语言,易于扩展,并且允许组件编程。 QT 所具有的优势是: 优良 的跨平台特性 , Qt 支持下列操作系统 : Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390, QNX 等等。 面向对象
6、: Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。 丰富的 API: Qt 包括多达 250 个以上的 C+ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。支持 2D/3D 图形渲染,支持 OpenGL 大量的开发文档 。 第四章 详细设计过程
7、4.1 工程的创建 打开 QtCreator,如图 1 所示。 图 1 选择 File-New File or Project,然后在弹出的对话框中选择 Applications-Qt Gui应用(如图 2 所示),然后进入下一步。 图 2 定义新工程的工程名 JSQ.pro 并选择保存路径(如图 3 所示),然后进入下一步,在出现图 4 的界面中基类选择 QDialog,最后完成新工程的创建。 图 3 图 4 4.2 图形界面的设计 分析计算器的按键我们可以把按键事件分为以下三类,一是简单的数字按键,主要进行数字的录入,这类按键包括按键 09;二是运算操作键,用于输入数学运算符号,进行数学运算和结果的显示,这类按键包括“ +”,“ -”,“ *”,“ /”,“ =”等等;三是清屏操作键,用于显示框显示信息的清除。 进入刚才创建的空工程,双击左侧的 JSQ.pro,在主编辑框中目前显示JSQ.pro 的内容为空(如图 5)。 图 5 点击 dialog.ui 进入其界面(如图 6)。选择 3 个控件分别是PushButton,LCDNumber 和 BoxLayou。界面设计(如图 7)。 图 6 图 7 按钮设置:选中要设置的按钮右键单击,选择“改变文本”,然后 输入字符即可。其次,同样选中按钮右键单击,选中“改变对象名称”出现如下界面:输入对象名称即可。 图 8