ELECTRONICS WORLD・探索与观察基于常州信LabVIEW息系职业统技开术发学院的电科子学工程计学算院器
张 亚
• 48 •
LabVIEW系统具有操作简易、功能丰富、界面可定制、可靠性高的优点,目前广泛应用于计算机测量、测试系统。计算器是一种必不可少的学习工具,按照中国学生日常计算基本要求,基于LabVIEW系统开发了一种简单适用、界面简洁的科学计算器,完成了相关的程序设计,实现两个数之间的加、减、乘、除四则运算和三角函数运算等功能。用户可通过VI子程序编程进行系统二次开发,快速添加或修改各项功能,达到了设计目的。
1 设计方案制定
1.1 设计的原理
计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些外围设备组成,键盘是计算器的输入部件,一般采用接触式或传感式,为减小计算器的尺寸,一键常常有多种功能,显示器是计算器的输出部件,通常为发光二极管或液晶显示器等。低档计算器的运算器、控制器由数字逻辑电路实现简单的串行运算,其随机存储器只有一、二个单元供累加存储。高档计算器由微处理器和只读存储器实现各种复杂的运算程序,有较多的随机存储单元以存放输入程序和数据。
LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序,操作效率高,可以很方便实现计算器的设计任务。1.2 设计框图
本设计中,计算器能够实现加、减、乘、除四则运算以及三角函数运算、平方运算,有运算记忆并连续运算以及数值查询功能,能够实现数值清除和清零以及退出等功能。计算器的运算过程如下:(1)输入第一个数进行存储并显示;(2)输入运算类型并存储;(3)输入第二个数存储并显示;(4)连续运算显示运算结果;(5)可清除之前的数据开始新的运算;(6)退出键可退出运算程序。原理框图如图1所示。
图1 原理框图
2 科学计算器设计
2.1 前面板设计
前面板是LabVIEW的图形用户界面,LabVIEW提供了丰富的界面对象,对这些对象的外观和属性进行设计,可以方便地设计出生动、直观、操作方便的用户界面。本系统在子面板中建立30布尔量,包括0-9十个数字键,1个小数点键,“+、-、x、/、tan、cos、sin、ln”共8个运算键,1个等号键,1个平方键,2 个方向键,2个记忆键,2个括号键,1个清零键,1个退格键,1个退出键。
前面板显示程序的输入和输出对象,即控件和显示器。本程序中控件主要是按钮,显示器为文本显示。如输入“6x3+cos60”运行结果如图2所示。
图2 科学计算器前面板
2.2 程序框图2.2.1 初始化
在运行程序之前,首先对需要用到的变量进行初始化,在没有键按下的情况下,数值显示控件显示0,如图3所示。2.2.2 数字输入
以数字的输入需要通过条件结构达成目的。通过连接字
ELECTRONICS WORLD・探索与观察符串转换成字符,当输入数字为“1”时,若字符长度大于28则进入子条件结构的“真”,然后在30个数字字符中搜索相应的字符输出,如图4所示。
图3 初始变化程序图
图4 数字输入程序图
数字0的输入比较特殊,当第一次输入0时,与输入数字1-9相同,但连续多个零开头要考虑到显示形式的正确性,只在小数点前显示一个零。当数据输入后,通过连接字符与00比较,若不等,则进入子条件结构的“假” ,若相等则进入子条件结构的“真”输出“0”,如图5所示。
图5 数字0输入程序图
图6 四则运算程序图
2.2.3 运算设计
以加法为例,程序通过“混合运算”选择加法运算顺序结构,首先将字符串进行扫描,转换为数值变量,对之前的
数据进行运算,以保证连续运算时得到正确的结果。当第一次输入时,默认进行firstrun条件下的程序,若以前已有运算,先将之前的两个数进行相关运算,并进行去零操作,之后再将本次的运算符号送入“运算符号”的局部变量,以便进行下次运算。如图6所示。
三角函数运算通过构建不同条件结构程序框图来进行运算。例如进行sin函数运算时,sin条件结构连接“真”,cos条件结构和tan条件结构不运算。
在输入运算公式后,需要按优先级确定运算顺序。先乘除,后加减,有括号时先算括号里的,多重括号时顺序为:小括号、中括号、大括号,其设计如图7所示。
图7 有无括号运算程序框图
2.2.4 删除键设计
在输入运算公式的过程中难免会出现数值输入错误,这时通过删除键把错误数值删除,在点击退格键时,要实现从末位开始的依次推格,直至输出为0。首先,将整数部分与小数部分进行分离,运用拆分字符串函数实现此功能。分离后,将小数部分的字符串长度与0进行比较,若大于0,则进入到条件结构的“真”,字符串长度减1后与整数部分连接,得到新的display输出,如图8所示。
图8 删除键程序框图
结束语:LABVIEW能够为用户提供简明、直观、易用的图形编辑方式,能够将繁琐复杂的语言编程简化成以菜单提示方式选择功能,大大节省程序的开发时间。用户在界面上可快速添加新的运算按键如指数、对数运算,反三角函数运算等。通过VI子程序编程拓展其他辅助功能,
如函数图像显示、多项式拟合等。
• 49 •