收藏 分销(赏)

labview课程设计模拟计算器.doc

上传人:人****来 文档编号:9869965 上传时间:2025-04-11 格式:DOC 页数:19 大小:1.21MB 下载积分:8 金币
下载 相关 举报
labview课程设计模拟计算器.doc_第1页
第1页 / 共19页
labview课程设计模拟计算器.doc_第2页
第2页 / 共19页


点击查看更多>>
资源描述
labview课程设计模拟计算器 17 2020年4月19日 文档仅供参考   河 北 工 程 大 学 《虚拟仪器设计》课程设计报告       课 题:计算器模拟                       姓 名: 需要程序的能够联系我                   学 号:                   班 级: 测控三班                   完成日期: 年 6月19日 目 录 一、设计思路……………………………………………………………………2 二、 实现过程……………………………………………………………………2 1、 面板键入感应…………………………………………………………2 2、 运算变量的初始化……………………………………………………2 3、 无操作时的默认输出…………………………………………………3 4、 数字的键入1-9的输入…………………………………………………3 5、 数字0的输入…………………………………………………………4 6、 小数点的键入……………………………………………………………5 7、 结果去零操作……………………………………………………………5 8、“+/-”键的设计…………………………………………………………7 9、“+、-、*、/”四则运算…………………………………………………7 10、 等号键…………………………………………………………………8 11、 开方运算………………………………………………………………9 12、 取倒数倒数运算………………………………………………………9 13、退格键CE的设计 ……………………………………………………10 14、 清零键C………………………………………………………………11 15、 停止键OFF……………………………………………………………12 三、整体程序……………………………………………………………………12 四、 前面板的设计排版…………………………………………………………12 五、 while循环中寄存器能……………………………………………………13 六、 此计算器能够实现的功能…………………………………………………13 一、 设计思路 完成标准型计算器的一般功能。 输入第一个数,进行存储并显示   输入运算的类型并存储    输入第二个数,存储并显示 按“=”或则按其它运算符号“+、-、*、/”进行连续的运算,最后显示运算结果。 二、 具体的实现过程 3、 面板键入感应 在前面板上建立22个布尔量,其中包括0--9十个数字键,1个小数点键,4个“+、-、*、/”运算键,1个等号键,1个开方键,1个符号转换键,1个倒数键,1个清零键,1个退格键,1个退出键。如下图所示: 4、 运算变量的初始化 在运行程序之前,首先对需要用到的变量进行初始化,如图所示 5、 无操作时的默认输出 当键盘上的键没有任何一个按下时,系统仅执行顺序结构第一帧,系统处于初始化状态输出。 6、 数字1--9的输入 以数字“1”为例,当按下数字“1”后,布尔量为值改变,进入时间结构结构,将1输出到显示中,布尔量再次改变时。(图1.4.1)若再次输入1,为避免出现01这样的字符串,先判断之前显示的数据是否为0,若为0,则直接输出1,(图1.4.2)若不为0,则将这两次输入的数据经过连接字符串连接到一起,在显示中输出。数字2到9也是同样的道理。(图1.4.3) (图1.4.1) (图1.4.2) (图1.4.3) 7、 数字0的输入 当第一次输入0时,与上述真的情况相同,现在就零输入时的多零问题进行设计。虽然以多个零开头不影响输出的结果,但考虑到显示形式的正确性,只在小数点前显示一个零。 当数据输入后,经过连接字符与00比较,若不等,则将数据直接输出(图1.5.1)。若相等,则直接输出0(图1.5.2)。 (图1.5.1) (图1.5.2) 8、 小数点的输入 在小数点的输入时,最多只能显示出一个。若直接点击小数点,则以“0.”输出(图1.6.1)。若之前已输入数据,此时再输入小数点首先利用判断已输入的数据中是否含有小数点,若不含有,则后输出T,执行程序“真”(图1.6.2);若含有小数点,则输出F,执行程序“假”(图1.6.3) (图1.6.1) (图1.6.2) (图1.6.3) 9、 结果去零操作 在进行“+、-、*、/”运算及取负,取百分数,去倒数,开放运算之后程序默认为以保留6位小数的形式输出。而为了显示结果的简便,将末位不影响结果的零及小数点进行省略。 利用层叠式顺序结构,首先将得出的结果经过N-1位的偏移后与零进行比较,若相等,则进行去零操作,运用while循环结构,直至末位数字不为零,循环结束(图1.7.1------上图表示末位为零,下图表示末位不为零) (图1.7.1) 在进行去零操作之后,进行层叠式顺序结构的第二层,对无关的小数点进行清除。 (图1.7.2------上图表示末位为小数点,下图表示末位不是小数点) (图1.7.2) 8、“+/-”键的设计 首先进行扫描字符串,将字符串数据转换为数值数据,经过取负数后再转换为字符串形式输出。如下图所示 其中的顺序结构为去末尾零和去无关小数点的操作。 9、“+、-、*、/”四则运算 以加法为例,当簇中输出的数据表示进行加法运算时,程序进入五层的层叠式顺序结构,首先将字符串进行扫描,转换为数值变量(图1.9.1),之后,对之前的数据进行运算,以保证连续运算时得到正确的结果:当第一次输入时,默认进行空条件下的程序(图1.9.2),若以前已有运算,以加法为例,先将之前的两个数进行相加运算,并进行去零操作,之后再将本次的运算符号送入“运算符号”的局部变量,以便于进行下次运算(图1.9.3)。 (图1.9.1) (图1.9.2) (图1.9.3) 10、等号键 实现最终的运算结果,将结果进行去零操作后输出到“显示”中,同时将代表运算符号的移位寄存器置为空字符串。以加法为例。 11、开方运算 将字符串转换为数值后进行开放运算,再转换为字符串输出,并进行去零操作。(顺序结构的后两层为去零操作) 12、 取倒数运算 原理与上述开方运算相同。(顺序结构的后两层为去零操作) 13、 退格键CE的设计 在点击退格键时,要实现从末位开始的依次退格,直至输出为0。 首先,将整数部分与小数部分进行分离,运用实现此功能。连接方式如图1.13.1 (图1.13.1) 分离后,将小数部分的字符串长度与0进行比较,若大于0,则进入到条件结构的“真”,将字符串长度减1后与整数部分连接,得到新的显示输出。(图1.13.2) (图1.13.2) 若原字符串只有整数部分或者小数部分已经过退格键清除,则进入到条件结构的“假”。、 若整数部分的字符串长度大于1,则进入到子条件结构的“假”,将整数的字符串长度减一后输出(图1.13.3)。 (图1.13.3) 若整数部分的长度不大于1,即小于等于1时,则进入到子条件结构的“真”,直接输出0.(图1.13.4) (图1.13.4) 14、 清零键C 将程序中所有用到的变量均进行复位,达到清零复位的目的。 15、 停止键OFF 程序结束,将T输入到while循环的停止键上。 三、 整体程序 四、 前面板的设计排版 五、 while循环中寄存器功能 从上到下的寄存器功能依次为:最上面的用来存储“显示”的数据,第二个用来前一次运算后输出的数值,第三个用来存放四则运算的符号,最底下的用来给出控制变量。 六、 此计算器能够实现的功能 经过调试,此计算器能够实现基本的四则运算,开放,取负数,取倒数的运算。同时,它还能够实现四则运算的连续运算,并输出正确结果;对结果进行报错(对0取倒数,报错Inf;对负数开放,报错NaN);对结果进行修正(第一位为零或多零,多小数点,结果末位不影响结论的零)。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服