武汉理工大学计算机虚拟仪器技术课程设计
计算机虚拟仪器技术
设计综合报告
题 目:
简单计算器设计
学生 姓名: 学
院:
自动化学院
专业及班级: __________________________
学 日 号: 期: 2015年1月18日
武汉理工大学计算机虚拟仪器技术课程设计
课程设计任务书
学生姓名: _______ 专业班级: 指导教师:
刘金根
电气1206班 __________
信息工程学院
工作单位:
题目:简单计算器设计
要求完成的主要任务:(包括课程设计工作量及其技术要求,
等具体要求)
以及说明书撰写
用LABVIEV实现简单计算器的设计,能够实现简单的加减乘除运
时间安排:
任务 审题、查阅相关资料 分析、计算 编写程序 撰写报告
时间(天) : 1 3 1 2 0.5 论文答辩 指导教师签名:
系主任(或责任教师)签名:
武汉理工大学计算机虚拟仪器技术课程设计
计算器的设计
设计内容
形如WINDOWS带的标准型计算器。
一、设计思路
完成标准型计算器的一般功能。
输入第一个数,进行存储并显示 输入运算的类型并存储 k输 入第二个数,存储并显示
行连续的运算,最后显示运算结果。
按“=”或则按其它运算符号“ +、-、*、/”进
二、具体的实现过程 1、键入感应
首先建立一个簇
然后在簇中建立 23个布尔量,其中包括0--9十个
数字键,1个小数点键,4个“ +、-、*、/”运算键,1个等号键,1个开方键, 1个符号转换键,1个倒数键,1个求百分数键,1个清零键,1个退格键,1个 退出键。如下图所示:
然后通过二L将簇中元素按产生的顺序组成一个一维数组, 这样就实现了每 个键与数字(1--23)之间的对应。每次按下一个键时,通过 并
把其\"后对应的数字连接到一个case结构,然后执行对应case结构中的程 序,至此就完成了对一个键的感应过程。如下图所示:
1
武汉理工大学计算机虚拟仪器技术课程设计
运算变量的初始化
在运行程序之前,首先对需要用到的变量进行初始化,如图所示
运耳袴号
fi rstiun
Display
敬值
无操作时的默认输出
当键盘上的键没有任何一个按下时,系统默认输出,其中等待时间为
2、数字1--9的输入
2
武汉理工大学计算机虚拟仪器技术课程设计
以数字“ 1”为例,当第一次输入数字“ T后,波尔量为真,进入case结 构,将1输出到display中,波尔量变为假。(图1.4.1 )若再次输入1,为避 免出现01这样的字符串,先判断之前显示的数据是否为 0,若为0,则直接输出 1,(图1.4.2 )若不为0,则将这两次输入的数据通过连接字符串 匚也连接到一 起,在display中输出。数字2到9也是同样的道理。(图1.4.3 )
(图
fWWWl
(图 1.4.2)
143)
(图
3、数字0的输入
当第一次输入0时,与上述真的情况相同,现在就零输入时的多零问题进行
3
武汉理工大学计算机虚拟仪器技术课程设计
设计。虽然以多个零开头不影响输出的结果, 小数点前显示一个零。
但考虑到显示形式的正确性,只在
当数据输入后,通过连接字符与 00比较,若不等,则将数据直接输出(图 1.5.1 )。若相等,则直接输出0 (图1.5.2 )。
(图 1.5.1)
4、小数点的输入
在小数点的输入时,最多只能显示出一个。若直接点击小数点,则以“ ”
输出(图1.6.1 )。若之前已输入数据,此时再输入小数点首先利用
(图 1.5.2)
0.
判断已输入的数据中是否含有小数点,若不含有,则 卜“后输
出T,执行程序“真”(图1.6.2 );若含有小数点,则输出F,执行程序“假” (图 1.6.3)
4
武汉理工大学计算机虚拟仪器技术课程设计
5
武汉理工大学计算机虚拟仪器技术课程设计
(图 1.6.1)
(图 1.6.2) 1.6.3)
(图
5、结果去零操作
在进行“ +、-、*、/”运算及取负,取百分数,去倒数,开放运算之后程序 默认为以保留6位小数的形式输出。而为了显示结果的简便,将末位不影响结果 的零及小数点进行省略。
利用层叠式顺序结构,首先将得出的结果经过
N-1位的偏移后与零进行比
较,若相等,则进行去零操作,运用 while循环结构,直至末位数字不为零,循 环结束(图1.7.1——上图表示末位为零,下图表示末位不为零)
□□□□□□□□□□□□□□□□a□ □□□□□□□□□□□□□口 9 叮
tl
6
武汉理工大学计算机虚拟仪器技术课程设计
屮口口□口口口口口口口口口口口 □口匚门必1]卄卩
lil ll II ill II il II II I II I
:缺徹I?細榦f
(图 1.7.1)
在进行去零操作之后,进行层叠式顺序结构的第二层,对无关的小数点进行
清除
(图1.7.2------ 上图表示末位为小数点,下图表示末位不是小数点)
□ □□□□□□□□□□□□□□□□划 1 [啊卄卩□□□□□□□□□□□口
□ □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ □口
(图
8、“ +/-”键的设计
首先进行扫描字符串,将字符串数据转换为数值数据,经过取负数后再转换 为字符串形式输出。如下图所示
7
武汉理工大学计算机虚拟仪器技术课程设计
扫坯宇符禺
uDQuDQUlJQLIlJQiOa □口 u U - 0 - -口 口口口 口 □□□□□□□□□□□ □口 L □ 口 □□□□□□□□□ 口 门一口 □口 □口口 口口 口口 □!□口
其中的顺序结构为去末尾零和去无关小数点的操作
9、“ +、-、*、/”四则运算
以加法为例,当簇中输出的数据表示进行加法运算时,
程序进入五层的层叠
式顺序结构,首先将字符串进行扫描,转换为数值变量(图 1.9.1 ),之后,对 之前的数据进行运算,以保证连续运算时得到正确的结果:当第一次输入时,
默
认进行firstrun 条件下的程序(图1.9.2 ),若以前已有运算,以减法为例, 先将之前的两个数进行相减运算,
并进行去零操作,之后再将本次的运算符号送
1.9.3 )。
入“运算符号”的局部变量,以便于进行下次运算(图
8
武汉理工大学计算机虚拟仪器技术课程设计
□
口口 口口 口忖卜1
口口 □口 □□□□□!□ □□□□□□□□□□亡口 口 □口 □□口 □□□CZ1 口 □口口 □□口 □□匚口 口
Fol
(图 1.9.1)
9
武汉理工大学计算机虚拟仪器技术课程设计
(图 1.9.2)
\"1 \"\"辱 4 ■ + ■ ¥ r 运算稠卜
i.打 厲 :-W 1 ■c-y.'iiW.'rZ-'A' .-W「恥 1 爪非口 口口口
|<| 4 2】卄旧切匚口口口口口 P\"口口口 口 TFtTTJ
运舁符号
J U L LJ_JJ -I J J J U u U U U U U U I- l_ I_J_I J J U U U U U U U U U L
(图 1.9.3)
10
武汉理工大学计算机虚拟仪器技术课程设计
10、等号键
实现最终的运算结果,将结果进行去零操作后输出到display中,同时将代 表运算符号的移位寄存器置为空字符串。以加法为例。
11、百分数运算
将字符串转换为数值输出后除以100即可得到百分数输出,并对其进行去
零。(顺序结构的后两层为去零操作)
11
武汉理工大学计算机虚拟仪器技术课程设计
12
武汉理工大学计算机虚拟仪器技术课程设计
6、开方运算
将字符串转换为数值后进行开放运算,再转换为字符串输出,并进行去零
操作。(顺序结构的后两层为去零操作)
7、取倒数运算
原理与上述开方运算相同。(顺序结构的后两层为去零操作)
8、退格键的设计
在点击退格键时,要实现从末位开始的依次退格,直至输出为 首先,将整数部分与小数部分进行分离,运用• 如图1.13.1
0。
•实现此功能。连接方式
13
武汉理工大学计算机虚拟仪器技术课程设计
(图 1.13.1)
分离后,将小数部分的字符串长度与 0进行比较,若大于0,则进入到条件结构 的“真”,将字符串长度减1后与整数部分连接,得到新的display输出。(图 1.13.2
(图 1.13.2)
若原字符串只有整数部分或者小数部分已经过退格键清除, “假”。、
若整数部分的字符串长度大于1,则进入到子条件结构的“假”,将整数的字符 串长度减一后输出(图1.13.3)
则进入到条件结构的
(图 1.13.3)
若整数部分的长度不大于1,即小于等于1时,则进入到子条件结构的“真”,
14
武汉理工大学计算机虚拟仪器技术课程设计
直接输出0.(图1.13.4 )
9、清零键
'眉
E
□
(图
1.13.4)
将程序中所有用到的变量均进行复位,达到清零复位的目的
10、停止键
四、簇中的各元素在条件结构中代表的序号
15
武汉理工大学计算机虚拟仪器技术课程设计
簇中元素 条件结构中 序号 簇中元素 条件结构中 序号 簇中元素 条件结构中 序号 簇中元素 条件结构中 序号 五、整体程序
默认 0 :6 6 +/- 12 % 18 1 1 7 7 + 13 sqrt 19 2 2 8 8 - 14 1/x 20 3 3 9 9 * 15 4 4 0 10 / 16 EXIT 22 5 5 . 11 = 17 C 23 Backspa ce 21 16
武汉理工大学计算机虚拟仪器技术课程设计
六、前面板的设计排版
七、while循环中寄存器功能
从上到下的寄存器功能依次为:最上面的用来存储display中的数据,第二 个用来前一次运算后输出的数值,第三个用来存放四则运算的符号,最底下的用 来给出控制变量。
八、此计算器可以实现的功能
经过调试,此计算器可以实现基本的四则运算,开放,取负数,取百分数, 取倒数的运算。
同时,它还可以实现四则运算的连续运算,并输出正确结果;对结果进行报错(对 0取倒数,报错Inf ;对负数开放,报错NaN ;对结果进行修正(第一位为零 或多零,多小数点,结果末位不影响结论的零)。具体操作与功能与 带的计算器类似。
WINDOWS
17
武汉理工大学计算机虚拟仪器技术课程设计
7、参考文献
[1] 《LabVIEW8.2 0程序设计从入门到精通》随书课件,作者:陈锡辉. [2] 杨乐平等编著。LabVIEW程序设计与应用。电子工业出版社,2001 [3] 王福明等.LabVIEW程序设计与虚拟仪器.西安电子科技大学出版社,2009
[4] 侯国屏,王坤,叶齐鑫.LABVIEW7.1编程与虚拟仪器设计.北京:清华大学 出版社,2006
⑸ 王磊,陶梅.精通LABVIEW8.0北京:电子工业出版社,2007
[6]刘立,陈淑珍.虚拟仪器系统与VXI、VXI plug & play[J].国外电子测量技 术,1999,
(2) : 28—29
18
武汉理工大学计算机虚拟仪器技术课程设计
本科课程论文评阅表
学号 课程名称 评阅点 0121204930823 班级 电气1206班 论文题目 评分依据 姓名 刘猛 简单计算器设计 得分 计算机虚拟仪器技术 论点 论据 论证 结构 深度和广度 规范化 总分 教师签名: _____________ 时间:
日
年 月
注:1、此表的论点、论据、论证部分可以由学生根据自己论文内容填写,教师参考“课程
论文评阅标准”进行评阅。
2、此表按人填写,与学生课程论文一并存放。
19
武汉理工大学计算机虚拟仪器技术课程设计
3、以文字和数字填写内容。
20
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务