用LABVIEW实现简单计算器的设计
- 格式:docx
- 大小:1018.14 KB
- 文档页数:22
武汉理工大学计算机虚拟仪器技术课程设计
计算机虚拟仪器技术
设计综合报告
题 目: 简单计算器设计
学生 姓名:
学 院: 自动化学院
专业及班级: __________________________
学 号:
日 期: 2015年1月18日 武汉理工大学计算机虚拟仪器技术课程设计
课程设计任务书
学生姓名: _______ 专业班级: 电气1206班 __________
指导教师: 刘金根 工作单位: 信息工程学院
题目:简单计算器设计
要求完成的主要任务:(包括课程设计工作量及其技术要求, 以及说明书撰写
等具体要求)
用LABVIEV实现简单计算器的设计,能够实现简单的加减乘除运
时间安排:
任务 时间(天)
审题、查阅相关资料 : 1
分析、计算 3
编写程序 1
撰写报告 2
论文答辩 0.5
指导教师签名:
系主任(或责任教师)签名:武汉理工大学计算机虚拟仪器技术课程设计
1
计算器的设计
设计内容
形如WINDOWS带的标准型计算器。
一、设计思路
完成标准型计算器的一般功能。
输入第一个数,进行存储并显示 输入运算的类型并存储 k输 入第二个数,存储并显示 按“=”或则按其它运算符号“ +、-、*、/”进
行连续的运算,最后显示运算结果。
二、具体的实现过程
1、键入感应
数字键,1个小数点键,4个“ +、-、*、/”运算键,1个等号键,1个开方键,
1个符号转换键,1个倒数键,1个求百分数键,1个清零键,1个退格键,1个 退出键。如下图所示:
然后通过二L将簇中元素按产生的顺序组成一个一维数组, 这样就实现了每
个键与数字(1--23)之间的对应。每次按下一个键时,通过 并把其"后对应的数字连接到一个case结构,然后执行对应case结构中的程 序,至此就完成了对一个键的感应过程。如下图所示:23个布尔量,其中包括0--9十个 首先建立一个簇 然后在簇中建立 武汉理工大学计算机虚拟仪器技术课程设计
2
2、数字1--9的输入运算变量的初始化
在运行程序之前,首先对需要用到的变量进行初始化,如图所示
无操作时的默认输出 fi rstiun 运耳袴号
Display
敬值
当键盘上的键没有任何一个按下时,系统默认输出,其中等待时间为 武汉理工大学计算机虚拟仪器技术课程设计
3
以数字“ 1”为例,当第一次输入数字“ T后,波尔量为真,进入case结 构,将1输出到display中,波尔量变为假。(图1.4.1 )若再次输入1,为避 免出现01这样的字符串,先判断之前显示的数据是否为 0,若为0,则直接输出 1,(图1.4.2 )若不为0,则将这两次输入的数据通过连接字符串 匚也连接到一 起,在display中输出。数字2到9也是同样的道理。(图1.4.3 )
(图 1.4.2)
143)
3、数字0的输入
当第一次输入0时,与上述真的情况相同,现在就零输入时的多零问题进行 (图 (图
fWWWl 武汉理工大学计算机虚拟仪器技术课程设计
4
设计。虽然以多个零开头不影响输出的结果, 但考虑到显示形式的正确性,只在
小数点前显示一个零。
当数据输入后,通过连接字符与 00比较,若不等,则将数据直接输出(图
1.5.1 )。若相等,则直接输出0 (图1.5.2 )。
(图 1.5.1) (图 1.5.2)
4、小数点的输入
在小数点的输入时,最多只能显示出一个。若直接点击小数点,则以“ 0.
”
输出(图1.6.1 )。若之前已输入数据,此时再输入小数点首先利用
判断已输入的数据中是否含有小数点,若不含有,则 卜“后输
出T,执行程序“真”(图1.6.2 );若含有小数点,则输出F,执行程序“假”
(图 1.6.3) 武汉理工大学计算机虚拟仪器技术课程设计
5
武汉理工大学计算机虚拟仪器技术课程设计
6
(图 1.6.2)
1.6.3)
5、结果去零操作
在进行“ +、-、*、/”运算及取负,取百分数,去倒数,开放运算之后程序 默认为以保留6位小数的形式输出。而为了显示结果的简便,将末位不影响结果 的零及小数点进行省略。
利用层叠式顺序结构,首先将得出的结果经过 N-1位的偏移后与零进行比
较,若相等,则进行去零操作,运用 while循环结构,直至末位数字不为零,循
环结束(图1.7.1——上图表示末位为零,下图表示末位不为零)
(图 1.6.1)
(图
□□□□□□□□□□□□□□□□a
tl 9 叮 □ □□□□□□□□□□□□□口 武汉理工大学计算机虚拟仪器技术课程设计
7
(图 1.7.1)
在进行去零操作之后,进行层叠式顺序结构的第二层,对无关的小数点进行
清除
8、“ +/-”键的设计
首先进行扫描字符串,将字符串数据转换为数值数据,经过取负数后再转换
为字符串形式输出。如下图所示 lil ll II ill II il II II I II I
:缺徹I?細榦f 屮口口□口口口口口口口口口口口 □口匚门必1]卄卩
(图1.7.2------ 上图表示末位为小数点,下图表示末位不是小数点)
□ □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ □口 □ □□□□□□□□□□□□□□□□划 1 [啊卄卩□□□□□□□□□□□口
(图 武汉理工大学计算机虚拟仪器技术课程设计
8
其中的顺序结构为去末尾零和去无关小数点的操作
9、“ +、-、*、/”四则运算
以加法为例,当簇中输出的数据表示进行加法运算时, 程序进入五层的层叠
式顺序结构,首先将字符串进行扫描,转换为数值变量(图 1.9.1 ),之后,对 之前的数据进行运算,以保证连续运算时得到正确的结果:当第一次输入时, 默
认进行firstrun 条件下的程序(图1.9.2 ),若以前已有运算,以减法为例, 先将之前的两个数进行相减运算, 并进行去零操作,之后再将本次的运算符号送
入“运算符号”的局部变量,以便于进行下次运算(图 1.9.3 )。 uDQuDQUlJQLIlJQiOa □口 u U - 0 - -口 口口口 口 □□□□□□□□□□□ □口 L
□ 口 □□□□□□□□□ 口 门一口 □口 □口口 口口 口口 □!□口 扫坯宇符禺 武汉理工大学计算机虚拟仪器技术课程设计
9
□
Fol 口口 口口 口忖卜1
口口 □口 □□□□□!□ □□□□□□□□□□亡口 口 □口 □□口 □□□CZ1 口 □口口 □□口 □□匚口 口
(图
1.9.1) 武汉理工大学计算机虚拟仪器技术课程设计
10
爪非口
口口口 |<| 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)(图 1.9.2)
运算稠卜 "1 ""辱 4 ■ + ■ ¥
1 r
.打
i厲
■c-y.'iiW.'rZ-'A' .-W「恥 :-W 1 武汉理工大学计算机虚拟仪器技术课程设计
11
10、等号键
实现最终的运算结果,将结果进行去零操作后输出到display中,同时将代 表运算符号的移位寄存器置为空字符串。以加法为例。
11、百分数运算
将字符串转换为数值输出后除以100即可得到百分数输出,并对其进行去
零。(顺序结构的后两层为去零操作) 武汉理工大学计算机虚拟仪器技术课程设计
12
武汉理工大学计算机虚拟仪器技术课程设计
13
6、开方运算
将字符串转换为数值后进行开放运算,再转换为字符串输出,并进行去零
操作。(顺序结构的后两层为去零操作)
7、取倒数运算
原理与上述开方运算相同。(顺序结构的后两层为去零操作)
8、退格键的设计
在点击退格键时,要实现从末位开始的依次退格,直至输出为 0。
首先,将整数部分与小数部分进行分离,运用• •实现此功能。连接方式
如图1.13.1 武汉理工大学计算机虚拟仪器技术课程设计
14
(图 1.13.1)
分离后,将小数部分的字符串长度与 0进行比较,若大于0,则进入到条件结构 的“真”,将字符串长度减1后与整数部分连接,得到新的display输出。(图
(图 1.13.2)
若原字符串只有整数部分或者小数部分已经过退格键清除, 则进入到条件结构的
“假”。、
若整数部分的字符串长度大于1,则进入到子条件结构的“假”,将整数的字符
(图 1.13.3)
若整数部分的长度不大于1,即小于等于1时,则进入到子条件结构的“真”,1.13.2
串长度减一后输出(图1.13.3)