计算器功能测试

计算器功能测试
计算器功能测试

实验三计算器功能测试

预习报告

(一)实验目的

1.理解并掌握WinRunner的测试流程;

2.掌握掌握数据驱动测试脚本编写方法;

(二)实验内容

1.识别windows计算器GUI对象;

2.编写数据驱动测试脚本,分别测试windows计算器的加、减、乘、除运算。

(三)实验要求

1.分别为windows计算器的加、减、乘、除运算设计测试用例,填写用例设计表;

2.编写数据驱动测试脚本,使用Debug模式对脚本除错;

实验报告

(一)实验步骤

一.加法

代码:

GUI_load("D:\\Program Files\\Mercury Interactive1\\WinRunner\\dat\\calc.gui");

set_window ("?? {— Vh ");

table = "?? {— Vh .xls";

rc = ddt_open(table, DDT_MODE_READ);

if (rc!= E_OK && rc != E_FILE_OPEN)

{

pause("Cannot open table.");

}

ddt_get_row_count(table,table_RowCount);

for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)

{

ddt_set_row(table,table_Row);

button_press ("C");

additive1=ddt_val(table,"additive1");

additive2=ddt_val(table,"additive2");

add1=length(additive1);

while(add1>0)

if(substr(additive1,add1,1)==" ")

add1--;

else break;

i=1;

while(i

if(substr(additive1,i,1)==" ")

i++;

else break;

additive11=substr(additive1,i,add1);

for(i=1;i<=length(additive11);i++)

button_press (substr(additive11,i,1));

button_press ("+");

if(additive2=="")

{additive2=additive11;}

else

{

add2=length(additive2);

while(add2>0)

if(substr(additive2,add2,1)==" ")

add2--;

else break;

i=1;

while(i

if(substr(additive2,i,1)==" ")

i++;

else break;

additive22=substr(additive2,i,add2);

for(i=1;i<=length(additive22);i++)

button_press (substr(additive22,i,1));

}

button_press ("=");

edit_get_text("Edit",result);

len=length(result);

while(len>0)

if(substr(result,len,1)==" "||substr(result,len,1)==".") len--;

else break;

i=1;

while(i

if(substr(result,i,1)==" ")

i++;

else break;

result=substr(result,i,len);

if(int(additive1+additive2)==int(result))

tl_step("testcase"&table_Row,0,additive1&"+"&additive2&"="&(additive1+additive2)&"is equal with result"&result&",correct.");

else

tl_step("testcase"&table_Row,1,additive1&"+"&additive2&"="&(additive1+additive2)&"is not equal with result"&result&",incorrect.");

}

ddt_close(table);

结果:

二.减法

代码:

GUI_load("D:\\Program Files\\Mercury Interactive1\\WinRunner\\dat\\calc.gui");

set_window ("?? {— Vh ");

table = "Q? .xls";

rc = ddt_open(table, DDT_MODE_READ);

if (rc!= E_OK && rc != E_FILE_OPEN)

pause("Cannot open table.");

ddt_get_row_count(table,table_RowCount);

for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)

{

ddt_set_row(table,table_Row);

button_press ("C");

additive1=ddt_val(table,"additive1");

additive2=ddt_val(table,"additive2");

add1=length(additive1);

while(add1>0)

if(substr(additive1,add1,1)==" ")

add1--;

else break;

i=1;

while(i

if(substr(additive1,i,1)==" ")

i++;

else break;

additive11=substr(additive1,i,add1);

if(substr(additive11,1,1)=="-")

for(i=2;i<=length(additive11);i++)

button_press (substr(additive11,i,1));

button_press("+/-");

}

else

for(i=1;i<=length(additive11);i++)

button_press(substr(additive11,i,1));

button_press("-");

if(additive2=="")

{additive2=additive11;}

add2=length(additive2);

while(add2>0)

if(substr(additive2,add2,1)==" ")

add2--;

else break;

i=1;

while(i

if(substr(additive2,i,1)==" ")

i++;

else break;

additive22=substr(additive2,i,add2);

if(substr(additive22,1,1)=="-")

{

for(i=2;i<=length(additive22);i++)

button_press (substr(additive22,i,1));

button_press("+/-");

}

else

for(i=1;i<=length(additive22);i++)

button_press(substr(additive22,i,1));

button_press ("=");

edit_get_text("Edit",result);

len=length(result);

if(substr(result,len,1)==" "||substr(result,len,1)==".")

len--;

else break;

i=1;

while(i

if(substr(result,i,1)==" ")

i++;

else break;

result=substr(result,i,len);

add=additive1-additive2;

len=length(add);

while(len>0)

if(substr(add,len,1)==" "||substr(add,len,1)==".")

len--;

else break;

i=1;

while(i

if(substr(add,i,1)==" ")

i++;

else break;

add=substr(add,i,len);

if(add==result)

tl_step("testcase"&table_Row,0,additive1&"-"&additive2&"="&(additive1-additive2)&" is equal with result"&result&",correct.");

else

tl_step("testcase"&table_Row,1,additive1&"-"&additive2&"="&(additive1-additive2)&" is not equal with result"&result&",incorrect.");

}

ddt_close(table);

结果:

三.乘法

代码:

GUI_load("D:\\ProgramFiles\\Mercury\\Interactive1\\WinRunner\\dat\\ca lc.gui");

set_window ("计算器");

table = "date7.xls";

rc = ddt_open(table, DDT_MODE_READ);

if (rc!= E_OK && rc != E_FILE_OPEN)

pause("Cannot open table.");

ddt_get_row_count(table,table_RowCount);

for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)

{

ddt_set_row(table,table_Row);

ddt_set_row(table,table_Row);

button_press ("C");

additive1=ddt_val(table,"additive1");

additive2=ddt_val(table,"additive2");

additi1=length(additive1);

while(additi1>0)

if(substr(additive1,additi1,1)==" ")

additi1--;

else break;

i=1;

while(i

if(substr(additive1,i,1)==" ")

i++;

else break;

t_additive1=substr(additive1,i,additi1);

if(substr(t_additive1,1,1)=="-")

{

for(i=2;i<=length(t_additive1);i++)

button_press (substr(t_additive1,i,1));

button_press("+/-");

}

else

for(i=1;i<=length(t_additive1);i++)

button_press(substr(t_additive1,i,1));

button_press("*");

if(additive2=="")

{additive2=t_additive1;}

additi2=length(additive2);

while(additi2>0)

if(substr(additive2,additi2,1)==" ")

additi2--;

else break;

i=1;

while(i

if(substr(additive2,i,1)==" ")

i++;

else break;

t_additive2=substr(additive2,i,additi2);

if(substr(t_additive2,1,1)=="-")

{

for(i=2;i<=length(t_additive2);i++)

button_press (substr(t_additive2,i,1));

button_press("+/-");

}

else

for(i=1;i<=length(t_additive2);i++)

button_press(substr(t_additive2,i,1));

button_press ("=");

edit_get_text("Edit",result);

len=length(result);

while(len>0)

if(substr(result,len,1)==" "||substr(result,len,1)==".")

len--;

else break;

i=1;

while(i

if(substr(result,i,1)==" ")

i++;

else break;

result=substr(result,i,len);

add=additive1*additive2;

len=length(add);

while(len>0)

if(substr(add,len,1)==" "||substr(add,len,1)==".")

len--;

else break;

i=1;

while(i

if(substr(add,i,1)==" ")

i++;

else break;

add=substr(add,i,len);

if(add==result)

tl_step("testcase"&table_Row,0,additive1&"*"&additive2&"="&(addit ive1*additive2)&" is equal with result"&result&",correct.");

else

tl_step("testcase"&table_Row,1,additive1&"*"&additive2&"="&(addit ive1*additive2)&" is not equal with result"&result&",incorrect.");

}

ddt_close(table);

结果:

四.除法

代码:

GUI_load("C:\\Program Files\\Mercury Interactive\\WinRunner\\dat\\calc.gui"); set_window("计算器");

table = "default.xls";

rc = ddt_open(table, DDT_MODE_READ);

if (rc!= E_OK && rc != E_FILE_OPEN)

pause("Cannot open table.");

ddt_get_row_count(table,table_RowCount);

for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)

{

ddt_set_row(table,table_Row);

button_press ("C");

additive1=ddt_val(table,"additive1");

additive2=ddt_val(table,"additive2");

if(length(additive1)==0)

additive1=0;

else

len1=length(additive1);

while(len1>0)

if(substr(additive1,len1,1)==" ")

len1--;

else

break;

j=1;

while(j

if(substr(additive1,j,1)==" ")

j++;

else

break;

additive3=substr(additive1,j,len1);

additive1=substr(additive1,j,len1);

#if(length(additive2)==0)

#additive2=additive3;

#else

len2=length(additive2);

while(len2>0)

if(substr(additive2,len2,1)==" ")

len2--;

else

break;

i=1;

while(i

if(substr(additive2,i,1)==" ")

i++;

else

break;

additive2=substr(additive2,i,len2);

additive4=substr(additive2,i,len2);

if(length(additive2)==0)

{

additive2=additive3;

additive4=additive3;

}

for(j=1;j<=length(additive1);j++)

button_press (substr(additive1,j,1));

button_press ("/");

if(substr(additive2,1,1)=="-")

{

additive2=substr(additive2,2,len2); for(i=1;i<=length(additive2);i++) button_press (substr(additive2,i,1));

button_press ("+/-");

}

else

for(i=1;i<=length(additive2);i++)

button_press (substr(additive2,i,1));

button_press ("=");

edit_get_text("Edit",result);

len=length(result);

while(len>0)

if(substr(result,len,1)==" "||substr(result,len,1)==".")

len--;

else

break;

i=1;

while(i

if(substr(result,i,1)==" ")

i++;

else

break;

result=substr(result,i,len);

if(additive4==0)

tl_step("testcase"&table_Row,0,"the result is eror 输入错误 correct");

else

{

if((additive3/additive4)==result)

tl_step("testcase"&table_Row,0,"the result is"&(additive3/additive4)&"and"&(result)&",correct");

else

tl_step("testcase"&table_Row,1,"the result is"&(additive3/additive4)&"and"&(result)&",incorrect");

}

}

ddt_close(table);

结果:

(二)实验体会

通过此实验让我们理解并掌握WinRunner的测试流程;掌握掌握数据驱动测试脚本编写方法;我们更加认识windows计算器GUI对象;深入了解测试用例的划分,分别为windows 计算器的加、减、乘、除运算设计测试用例。编写测试脚本,使用Debug模式对脚本除错;

计算机基本技能测试培训方案范文

基本技能培训方案 一、培训目的 做好教育部11月份对我院学生基培养学生的计算机基本操作能力和实际使用能力,本技能测试工作。 二、培训对象 07级非计算机专业全体学生(预科班和自考班除外),共33个教学班 三、培训工作小组 长:李伟舵组副组长:彭自然魏振西 员:刘文涛陈丽佳吴文胜陈宇朱红陈兰成向征齐锋华龚芝 四、总体方案 1、培训师资:由计算机系教师精英组成。 2、考核办法:教务处会同计算机系对任课教师考评,根据到课率和考试成绩评定 A、B、C三等,学生考试通过率未达到90%的教师只能评为C等。A等课时费上浮 50%,B等获标准课时费,C等课时费下浮50%。 3、测试(即培训中期和培训末期两次测试)安排:第一次测试安排在9月25日晚上 进行。由培训教师从每个班挑选5名成绩优秀的学生参加,分成三个机房进行测试。第二 次测试安排在10月18日、19日和20日晚上进行,全体学生均参加。两次考试成绩都将记入教师考核成绩,考试用的试题由学生从试题库中随机抽取,并采取在线考试方式。 4、培训方式:培训以系为单位,采取以集中培训为主,分散培训为辅的方式进行。集 中培训时间为每周一、二、三的晚上,每次以11个班为单位,周四、五、日晚对上一次的 课进行复习。两次集中培训均安排在科技楼5、6楼机房进行。分散培训要求各系辅导员组 织学生在集中培训以外的时间进行。此外,教师充分利用网上答疑、电话答疑、课堂答疑 和办公室答疑等多种方式,解答学生的疑难。 5、软件清单:Windows2000Professional或者Windows XP Professional、Office2000(完全安装)、Office2000XP、Visual Basic6.0等,且能够上网。 (学院机房需提前安装好培训所需软件)6、试题来源:为确保基本技能测试顺利通过,由计算机系老师根据评估要求且结合 学生实际情况,精心编制5套难易适中的培训试题,构成计算机基本技能试题库。 7、培训时间:2008年9月8日—10月20日。 五、培训大纲 计算机应用基本操作是作为被评估学校的基本技能的必测内容。对高职学生而言,考. 核其计算机应用的基本能力,应重在操作和应用。即操作考核为主,理论考核为辅。高职 学生应掌握如下的计算机基础知识和基本应用能力。 1、掌握计算机应用的基础知识 这些基础知识包括:计算机概述、微型计算机的硬件和软件组成、数据在计算机中表

实验三74ls139译码器实验

实验三 译码器实验 一、实验目的 1、掌握中规模集成电路译码器的工作原理及逻辑功能。 2、学习译码器的灵活应用。 二、实验设备 1、SAC-DS4数字逻辑电路实验箱 1个 2、74LS138 3-8线译码器 2片 3、74LS20 双四输入与非门 1片 三、实验内容与步骤 (一)测试74LS139的逻辑功能。 图1 74LS139集成电路引脚图 实验步骤: 1). 接线:按图1的引脚接线,测试单个2—4译码器的功能(只接74LS139芯片中的一个译码器), 1B 、1A 、1E 输入端接逻辑电平信号,1Y 0、1Y 1 、1Y 2 、1Y 3输出端接指示灯。 2).测试:当E=1时,看四个输出信号的逻辑电平是否全“1”。当E=0时,2—4译码器进入正常 工作状态,给1B 、1A 选择信号端加不同组合逻辑电平,观察输出端1Y 0、1Y 1 、1Y 2 、1Y 3所接指示灯的变化,灯亮表示“1”电平,不亮表示“0”电平,请将观测的最后结果记录如下表。 表1 2 —4译码器逻辑功能表 输 入 输 出 E B A Y 0 Y 1 Y 2 Y 3 输出逻辑关系式 1 Χ Χ 0 0 0 0 0 1 0 1 0 0 1 1 3).利用74LS139译码器实现“同或”门电路 Y =30 Y Y ?=30Y Y +=B A B A ?+?=A ⊙B 如下图2所示连接电路,将实验结果填入表中,验证其逻辑关系。是否符合“同或”逻辑门电路的逻辑关系。 图2 用74LS139译码器实现“同或”逻辑门电路接线图和真值 Y o Y 174LS139 Y 2 Y 3 & V cc E A B G Y

用Junit测试计算器单元对象类

实验报告五 课程名称:软件测试 学生姓名:董月 班级:浦计1104班 学号:P1401110402 指导教师:韩志刚 实验日期:2014-5-8 南京工业大学电子与信息学院

实验五 一、实验内容 用java语言编写一个计算器类,求实现加、减、乘、除、求平方根、求绝对值、求倒数1/x,方法,并用junit进行对象类的单元测试。参阅帮助文档。(说明,设计求除法、求倒数的方法,可在方法中不检测x是否为0,测试用例用y/0去测试、求平方根可不检测x>0,用负数测试) 二、实验步骤 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。 建立一个hzg包: 建立一个Calculator类:

把代码输进类中: package hzg; public class Calculator { private static int result; // 静态变量,用于存储运行结果 public void add(int n) { result = result + n; } public void substract(int n) { result = result - 1; //Bug: 正确的应该是result =result-n } public void multiply(int n) { result=result*n; } public void divide(int n) { result = result / n; } public void square(int n) { result = n * n; } public void squareRoot(int n) { result= (int) Math.sqrt(n); } public void clear() { // 将结果清零 result = 0; } public void reciprocal(int n) { result=1/n; } public void absolute(int n) { result=Math.abs(n); } public int getResult() { return result; } }

实验三 3-8译码器的功能测试及仿真

实验三3-8译码器功能测试及仿真 一、实验目的 1、掌握中规模集成3-8译码器的逻辑功能和使用方法。 2、进一步掌握VHDL语言的设计。 二、预习要求 复习有关译码器的原理。 三、实验仪器和设备 1.数字电子技术实验台1台 2.数字万用表1块 3.导线若干 4.MUX PLUSII软件 5.74LS138集成块若干 四、实验原理 译码器是一个多输入、多输出的组合逻辑电路。它的作用是把给定的代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出。译码器在数字系统中有广泛的用途,不仅用于代码的转换、终端的数字显示,还用于数据分配,存贮器寻址和组合控制信号等。不同的功能可选用不同种类的译码器。 译码器分为通用译码器和显示译码器两大类。前者又分为变量译码器和代码变换译码器。 1.变量译码器(又称二进制译码器) 用以表示输入变量的状态,如2线-4线、3线-8线和4线-16线译码器。若有n个输入变量,则有2n个不同的组合状态,就有2n个输出端供其使用。而每一个输出所代表的函数对应于n个输入变量的最小项。 以3线-8线译码器74LS138为例进行分析,下图(a)、(b)分别为其逻辑图及引脚排列。其中 A2、A1、A0为地址输入端,0Y~7Y为译码输出端,S1、2S、3S为使能端。下表为74LS138功能表,当S1=1,2S+3S=0时,器件使能,地址码所指定的输出端有信号(为0)输出,其它所有输出端均无信号(全为1)输出。当S1=0,2S+3S=X时,或 S1=X,2S+3S=1时,译码器被禁止,所有输出同时为1。

3-8线译码器74LS138逻辑图及引脚排列图 74LS138功能表 输入输出 S12S+3S A2A1A00Y1Y2Y3Y4Y5Y6Y7Y 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 ×××× 1 1 1 1 1 1 1 1 × 1 ××× 1 1 1 1 1 1 1 1 二进制译码器实际上也是负脉冲输出的脉冲分配器。若利用使能端中的一个输入端输 入数据信息,器件就成为一个数据分配器(又称多路分配器),如图3-2所示。若在S1输入 端输入数据信息,2S=3S=0,地址码所对应的输出是S1数据信息的反码;若从2S端输入 数据信息,令S1=1、3S=0,地址码所对应的输出就是2S端数据信息的原码。若数据信息是时 钟脉冲,则数据分配器便成为时钟脉冲分配器。 根据输入地址的不同组合译出唯一地址,故可用作地址译码器。接成多路分配器,可

c计算器实验报告

简单计算器 姓名: 周吉祥 实验目的:模仿日常生活中所用的计算器,自行设计一个简单的计算器程序,实现简单的计算功能。 实验内容: (1)体系设计: 程序是一个简单的计算器,能正确输入数据,能实现加、减、乘、除等算术运算,运算结果能正确显示,可以清楚数据等。 (2)设计思路: 1)先在Visual C++ 6.0中建立一个MFC工程文件,名为calculator. 2)在对话框中添加适当的编辑框、按钮、静态文件、复选框和单选框 3)设计按钮,并修改其相应的ID与Caption. 4)选择和设置各控件的单击鼠标事件。 5)为编辑框添加double类型的关联变量m_edit1. 6)在calculatorDlg.h中添加math.h头文件,然后添加public成员。 7)打开calculatorDlg.cpp文件,在构造函数中,进行成员初始化和完善各控件 的响应函数代码。

(3)程序清单: 添加的public成员: double tempvalue; //存储中间变量 double result; //存储显示结果的值 int sort; //判断后面是何种运算:1.加法 2.减法 3.乘法 4.除法 int append; //判断后面是否添加数字 成员初始化: CCalculatorDlg::CCalculatorDlg(CWnd* pParent /*=NULL*/) : CDialog(CCalculatorDlg::IDD, pParent) { //{{AFX_DATA_INIT(CCalculatorDlg) m_edit1 = 0.0; //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); tempvalue=0;

计算器软件测试报告

江西工业职业技术学院 毕业综合实践 课题名称:安卓手机计算器 作者:廖杰学号:20112715 分院:电子与信息工程分院 专业:计算机网络技术 指导老师:占华为专业技术职务讲师 2013年 11 月 14日

一、问题描述: 用Java实现求两整数的加、减、乘、除运算结果,要求两整数的范围都是[0,100]。从键盘输入数m,数n,判断他们的范围,若不在[0,100]范围内,则输出提示语,要求重新输入,并且在做除法运算时,当除数为0时,输出提示语,说明除数不能为0。 将两数的范围定在[0,100],以更好的进行边界值分析,等价类测试等黑盒测试方法;为充分体现白盒测试的特点,有些地方故意用了if-else语句,while循环;另外,加、减、乘、除运算分别用了四个函数来计算,这样既可以在主函数中调用,又可以在Junit框架中分别对这四种运算进行测试。 二、程序源代码: 1. import java.util.Scanner; 2. public class Computer { 3. private int a; 4. private int b; 5. public Computer (int x,int y) //构造函数,初始化 6. { 7. a=x; //注意:Juint中需要输入测试值在0~100范围内 8. b=y; 9. } 10. public double add() //加法 11. { 12. return a+b; 13. } 14. public double minus() //减法 15. { 16. return a-b; 17. } 18. public double multiply() //乘法

windows计算器测试报告-

Windows计算器测试报告 学号: 姓名: 专业: 指导老师: 2010年11月25日 拟制: 日期:2010-11-25 审核: 日期:2010-11-25

目录 1. 项目简介 (3) 1.1 目的 (3) 1.2 项目简述 (3) 1.3 定义 (3) 1.4 参考文档 (3) 2. 测试概要 (3) 2.1 测试用例设计方法和工具 (3) 2.2 测试环境与配置 (4) 3. 测试情况 (4) 3.1 测试版本情况 (4) 3.2 差异 (4) 3.3 测试充分性评价 (4) 3.4 测试组织 (4) 3.4.1 测试时间 (4) 4. 测试结果及分析 (4) 4.1 测试情况统计分析 (8) 4.2 覆盖分析 (9) 4.2.1 需求覆盖 (9) 4.2.2 测试覆盖 (9) 4.3 缺陷的统计与分析 (9) 4.3.1 缺陷汇总 (9) 4.4 缺陷分析 (9) 5. 测试结论 (9) 5.1 残留缺陷与未解决问题 (9) 6. 批准 (9)

错误!未指定书签。 1.项目简介 1.1编写文档目的 本测试报告反映在错误!未指定书签。的一个版本内的质量情况。包含该版本经开发部发布后测试组的接受结果与原因、存在的问题描述与分析。 Windows计算器的测试文档有助于实现以下目标: 1.确定现有项目的信息和应测试的软件构件 2.列出推荐的测试需求 3.推荐可采用的测试策略,并对这些策略加以说明 4.确定所需的资源,并对测试的工作量进行估计 5.对整个测试工作的工作量进行估计 6.对测试活动的进程进行有计划的实施 7.列出测试项目的可交付元素 1.2项目简述 背景项目名称:计算器。windows自带软件???????? 您可以使用计算器来执行加、减、乘和除运算。计算器还提供了科学计算器和统计计算器的高级功能。 可以单击计算器按钮来执行计算,或者使用键盘键入进行计算。通过按 Num Lock,数字键盘也可以用来键入数字和运算符。 1.3定义 各种进制:十六进制、八进制、十进制、二进制。 1.4参考文档 用到的参考资料: 1)、Window计算器的帮助文档 2)、《软件测试教程》宫云站机械工业出版社 2008年9月 2.测试概要 测试范围:本文档适用于windows计算器的功能测试。 本次测试主要为功能测试和简单的界面测试。功能测试部分运用QTP测试了计算器的最主要功能:简单的计算。其他功能和界面测试都由人工手动测试。 2.1测试用例设计方法和工具 此项测试采用黑盒测试方法来测试,等价划分列表法,控制方式采用手动方式进行。 具体的测试内容如下: (1)功能测试:对测试对象的功能测试。该测试目标是核实数据的接受,处理和检索是否正确。此类测试基于黑盒测试技术,该技术通过图形界面与应用程序进行交互,并对交互的输出和结果进行分析,以此来核实应用程序及其内部进程。 (2)用户界面测试:测试界面之间是否能完成相互转换。 (3)性能测试:测试该计算器的响应时间,以及事务处理速率和其他与时间相关的需求进行评测和评估

微机原理实验简易计算器

【实验题目】 简易计算器设计 【实验目的】 综合测试学生微机接口技术及应用能力,包括系统构思设计、电路设计搭建、软件调试等; 结合应用实际,培养学生运用微机技术服务应用、服务实际的能力。 【基本要求】 1)利用实验箱上的4x4键盘及6位数码管,实现两个16位宽的非负整数(0~65535)进行+、-、×运算,计算结果限制在范围-65535~65535,超过范围在数码管最低位显示E; 2) 16个按键的分配可以自行指定; 【扩展要求】 1)按基本要求保持输入的范围不变(16位宽),扩展计算结果的范围到用足6位数码管,当计算结果超过-65535~999999时,显示E; 2)增加÷的功能,有小数显示; 【实验程序】 ;该程序实现了基本要求及扩展要求的2) DSEG SEGMENT BUFF DB 6 DUP() LED_7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39 H,5EH,79H,71H,00H,40H POSITION DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH UNIT10 DW 10000,1000,100,10,1 NEWNUM DB 0 COUNT DB 0 FLAG DB 0 ;是否有键按下的标志 NEGTI DB 0 ;是否为负数的标志 NUM DW 0 NUM1 DW 0 NUM2 DW 0 TAG DB 0 ;运算种类标志 POINT DB 0 ;除法结果添加小数点标志 RESULT DW 0 DSEG ENDS CSEG SEGMENT ASSUME DS:DSEG,CS:CSEG START: MOV AX,DSEG MOV DS,AX MOV DX,300CH ;8255初始化 MOV AL,81H OUT DX,AL LEA SI,BUFF MOV CX,6 NEXT: MOV BYTE PTR[SI],16 INC SI LOOP NEXT CALL SHOW ;将显示缓冲区中内容在LED上一次显示出来 MOV COUNT,0 ;记按下了几位数 NEXT2: CALL SHOW CALL SCAN ;判断是否有按键按下 CMP FLAG,1 JZ OK JMP NEXT2 OK: MOV FLAG,0 MOV POINT,0 MOV DX,3000H ;判断是哪一个键被按下 MOV AL,0FFH OUT DX,AL MOV CH,-1 ;CH用于保存当前被扫描的列号MOV CL,07FH XL: ROL CL,1 INC CH MOV DX,3000H MOV AL,CL OUT DX,AL MOV DX,3008H

用计算器探索规律测试题(完美版)

2021年数学小中初数学第十单元 用计算器探索规律测试题 班级 姓名 等第 一、 填表(每空2分) 我发现: 我发现: 二、 填空(每空2分) 1、甲数÷乙数=2,如果甲数乘4,乙数乘4,那么商是( )。 2、甲数×乙数=800,如果甲数乘2,乙数不变,那么积是( )。 3、如果A ÷B=60,那么(A ×3)÷B=( ); 如果A ×B=300,那么(A ×2)×(B ×2)=( )。 4、如果A ×B=600,那么(A ×5)×(B ÷5)=( ); 如果A ÷B=75,那么(A ×10)÷(B ×5)=( ); 如果A ÷B=75,那么(A ÷5)÷(B ÷3)=( )。 三、 判断(在括号里对的打“√”,错的打“×”)(每题2分) 1、 被除数和除数同时乘或除以一个相同的数(0除外),商不变。( ) 2、 一个因数不变,另一因数乘或除以一个数(0除外),积也扩大或缩小相同的倍数。…………………………………( ) 3、 因为75÷4=18……3,所以750÷40=18……3。 ( ) 4、 两个数相除,被除数扩大3倍,除数缩小3倍,商扩大9倍。( ) 5、 因为360÷15=24,所以3600÷15=240,360÷5=8。( )

四、计算 1、直接写出得数(每题1分) 800÷20= 350÷50= 900÷60= 480÷60= 300÷50= 780÷60= 340÷20= 630÷30= 420÷70= 800÷50= 510÷30= 210÷70= 2、用简便方法计算下面各题,并且并且验算(每题5分) 580÷20 760÷60 1000÷90 3、用简便方法计算下面各题(每题5分) 110÷55 630÷42 720÷48 五、解决问题(第3题4分,其余每题5分)。 1、新飞手机厂平均每月生产手机6210部,全年生产手机多少部?(用计算 器计算) 2、欣欣农机厂要制造300台机器,原来每台用钢材1430千克,技术革新后, 每台比原来节约钢材200千克,现在一共要用钢材多少千克?(用计算器计算)合多少吨? 3、一个文具厂原计划每月生产3000枝钢笔,技术革新后,一年的生产任务 10个月就完成了,实际平均每月生产钢笔多少枝?

编码器和译码器实验报告

译码器、编码器及其应用 一、实验目的 (1) 掌握中规模集成译码器的逻辑功能和使用方法; (2) 熟悉掌握集成译码器和编码器的应用; (3) 掌握集成译码器的扩展方法。 二、实验设备 数字电路实验箱,74LS20,74LS138。 三、实验内容 (1) 74LS138译码器逻辑功能的测试。将74LS138输出??接数字实验箱LED 管,地址输入接实验箱开关,使能端接固定电平(或GND)。电路图如Figure 1所示: Figure 2 ??????????????时,任意拨动开关,观察LED显示状态,记录观察结果。 ??????????????时,按二进制顺序拨动开关,观察LED显示状态,并与功能表对照,记录观察结果。 用Multisim进行仿真,电路如Figure 3所示。将结果与上面实验结果对照。

Figure 4 (2) 利用3-8译码器74LS138和与非门74LS20实现函数: ?? 四输入与非门74LS20的管脚图如下: 对函数表达式进行化简: ?? ?? A ? ??????????? ???? 按Figure 5所示的电路连接。并用Multisim进行仿真,将结果对比。 Figure 6

(3) 用两片74LS138组成4-16线译码器。 因为要用两片3-8实现4-16译码器,输出端子数目刚好够用。 而输入端只有 A、、三个,故要另用使能端进行片选使两片138译码器 进行分时工作。而实验台上的小灯泡不够用,故只用一个灯泡,而用连接灯泡的导线测试?,在各端子上移动即可。在multisim中仿真电路连接如Figure 7所示(实验台上的电路没有接下面的两个8灯LED): Figure 8 四、实验结果 (1) 74LS138译码器逻辑功能的测试。 当输入 A时,应该是输出低电平,故应该第一个小灯亮。实际用实验台测试时,LE0灯显示如Figure 9所示。当输入 A时,应该是输出低电平,故理论上应该第二个小灯亮。实际用实验台测试时,LE0灯显示如Figure 6所示。 Figure 10

四则运算计算器

基于单片机实现的四则运算计算器 姓名 学号: 班级: 专业名称:测控技术与仪器 指导教师: 东北大学 2016年1月

课程设计(论文)任务书课程设计(论文)题目:基于单片机实现的四则运算计算器 基本内容和设计要求: 1、主机的矩阵键盘输入数和运算符号,从机显示运算结果。 2、主从单片机串行通信系统,并在LCD上显示运算内容及结果。 3、计算结果超过十位数字则显示错误。 4、运算除法时,结果只取整数,不是四舍五入。 5、有清零功能。

目录 课程设计(论文)任务书................................................................................................ i i 摘要 (1) 第1章绪论 (2) 1.1计算器简介 (2) 1.2设计主要内容 (2) 第2章系统硬件设计 (4) 2.1硬件组成 (4) 2.2输入模块 (4) 2.3输出模块 (5) 2.4运算模块 (5) 第3章系统软件设计 (7) 3.1 主程序 (7) 3.1.1主程序框图及初始化 (7) 3.1.2LCD程序框图及初始化 (8) 3.1.3键盘程序框图及初始化 (9) 3.1.4运算程序框图 (10) 第4章调试测试与实验分析 (11) 4.1 计算器调试 (11) 参考文献 (12) 心得体会 (13) 附录硬件原理图及PCB图 (14) 附录程序清单 (15) 附录实物照片 (28)

摘要 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于89C52RC单片机来进行的四则运算计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除的基本四则运算,并在LCD1602液晶显示屏上显示相应的结果。本电路采用89C52RC单片机为主要控制电路,利用4*4矩阵键盘作为计算器以及运算符的输入。显示采用字符LCD静态显示。软件用C语言编程,并用开发板进行演示。 关键词:计算器,89C52RC单片机,LCD,矩阵键盘

MSI译码器逻辑功能测试

实验三 验证性实验—— MSI 译码器逻辑功能测试 一.实验目的 1. 掌握中规模 (MSI) 集成译码器的逻辑功能和使用方法; 2. 验证 3— 8 线译码器和七段显示译码器的逻辑功能; 3. 掌握数码管与译码器配合使用的方法; 。 二.实验原理 译码器的作用是进行代码间的 “翻译”,将具有特定含义的二进制码进行辨别, 并转 换成控制信号。 译码器可分为通用译码器和显示译码器两大类。前者又分为变量译码器和代码变换译码器。 l .变量译码器 (又称二进制译码器 ),用以表示输入变量的状态,如 2 线— 4 线、 3 线— 8 线和 4 线— 16 线译码器。若有 n 个输入变量,则有 2n 个不同的组合状态,就有 2n 个输出端供其使用。例如,有 3 个输入变量 (或称为地址端 ),那么就可以有 23=8 个不同的地址组合,分别为 000、001、010、011、100、101、110、111,可以控制 8 个输出端, 而每一个输出所代表的函数对应于 n 个输入变量的最小项。 Y 0 Y 1 Y 2 Y 3 Y 4 Y 5 Y 6 Y 7 16 15 14 13 12 11 10 9 V CC Y 0 Y 1 Y 2 Y 3 Y 4 Y 5 Y 6 74LS138 A 0 1 A 1 A 2 2 3 S 2 4 S 3 S 1 Y 7 GND 5 6 (b) 7 8 1 1 1 15 14 13 12 11 10 9 7 Y 0 Y 1 Y 2 Y 3 Y 4 Y 5 74LS138 Y 6 Y 7 1 1 1 16 V CC S 1 S 2 S 3 A 0 A 1 A 2 A 0 1 A 1 A 2 2 3 S 1 8 GND 6 S 2 4 S 3 5 (a) 图 3-1 (c) 3—8 线译码器 74LS138 逻辑图及引脚排列 以 3 线— 8 线译码器 74LSl38 为例,图 3-1(a)(b) (c) 分别为其逻辑图及引脚排列。 其中 A 2、A 1、 A 0 为地址输入端, ̄ Y 0 ~ ̄Y 7 为译码输出端, S 1、ˉS 2、ˉS 3 为使能端。表 3-1 为 74LSl38 功能表。 当 S 1=1,ˉS 2+S ˉ3=0 时, 74LS138 工作,地址码所指定的输出端输出 0(被选中 ),其 它输出端均输出 1(未被选中 )。当 S 1=0;ˉS 2+ˉS 3 =×(注:“×”即不论是什么逻辑值的意 思。);或 S 1=×,ˉS 2+ˉS 3=1 时,译码器被禁止,所有输出同时为 l 。 表 3-1 输 S 1 S ˉ2+ ˉS 3 入 A 2 A 1 A 0 Y 0 Y 1 Y 2 输 Y 3 出 Y 4 Y 5 Y 6 Y 7

计算器测试报告

计算器测试报告

计算器测试报告 共 7 页 拟制孙姝萍2014 年 4 月24 日审核李晨曦2014 年 4 月25 日会签易厚旭2014 年 4 月25 日

1 范围 本文档适用于windows计算器的功能测试。 1.2 系统概述 使用“计算器”可以完成任意的通常借助手持计算器来完成的标准运算。“计算器”可用于基本的算术运算,比如加减运算等。同时它还具有科学计算器的功能,比如对数运算和阶乘运算等。 1.3 文档概述 本文档用于对windows计算器的测试工作阶段成果的描述。包括对软件测试的整体描述,软件测试的分类和级别,软件测试的过程描述,软件测试的结果等内容。 2 使用文档 《计算器帮助文档》 《计算器测试计划》 《计算器测试用例》 3 测试概述 本次测试主要完成一下目标: 1.执行简单的加减乘除运算,记录结果 2.执行科学计算,记录结果 3.执行统计计算,记录结果 4.在标准型和科学型间转换数据,记录结果; 5.使用数字分组,查看结果; 3.1 测试小结 本次测试对windows计算器进行了功能测试,重要依据为计算器的帮助文档所描述的功能。测试工作分为三个阶段。第一阶段进行了测试计划制定,第二阶段测试用例设计、第三阶段执行测试。

测试过程中,使用了自动化测试(QTP)和人工测试两种方法,分别记录了测试结果和画面截屏。 测试结果表明,windows计算器的功能比较完善,基本符合用户需求。 3.2 测试结果记录 目标1:执行简单的加减乘除运算

错误为超出范围。此时使用人工测试截屏。如下:

当超出范围时,显示如上。 目标2:执行科学计算 实际输出见测试用例文档,测试结果表明,计算器功能完善。目标3:执行阶乘

计算器白盒测试

一、实验目的

针对实验一编写的源代码进行白盒测试。要求绘制出程序的控制流图,采用逻辑覆盖和基路径方法设计测试用例。执行测试用例,并分析测试结果。如果是C++源码,请使用C++Test对代码进行静态检查和动态测试。如果是Java源码,请使用JUnit进行动态测试。 二、实验内容 (一)、题目白盒测试 (1)画控制流图 (2)设计测试用例,实现语句覆盖、判定覆盖、条件覆盖、基路径测试 (3)练习用单元测试 (4)测试结果分析 (二)实验过程 (1)针对计算器的黑盒测试的基础上,可以根据实验一的源代码进行白盒测试,以下是程序的流程图以及控制流图

(2)设计测试用例,实现语句覆盖、判定覆盖、条件覆盖、基路径测试 判定覆盖测试用例: 每个判定必须至少获得一次“真”值和“假”值,则测试用例: 条件覆盖测试用例: 表 9 条件覆盖

路径覆盖: 测试用例要求覆盖所有可能的路径: 表10 路径覆盖 条件组合覆盖: 表11 条件组合覆盖 基路径测试 (1)程序环路复杂度:V(G)=E-N+2=13-11+2=4 (2)独立路径: Path1:1-2-3-11 Path2:1-2-4-5-10-11 Path3:1-2-4-6-7-9-10-11 Path4:1-2-4-6-8-9-10-11 (三)实验结果测试 由于程序是用MFC写的计算器的程序,所以在进行测试的时候有点困难,没有很好的辅助工具来进行具体的测试,但是在分析的时候我很细致的列举了各类的测试用例,以达到测试用例的完整,同时保证测试结果的正确性 (四)测试用例设计体会: 在这次软件测试过程中,我扮演了用户、程序员、测试员三钟角色,为了充分体现黑盒、白盒的特点,我特意设计了一个0—100之间的整数、小数。负数简单加减乘除运算。 对于白盒测试,在设计测试用例时首先对程序进行分析,从程序的内部结构出发设计测试用例,涉及到程序的控制方法、源语句、编码细节、数据库设计等。设计测试用例时应用了白盒测试中的多种测试方法,其中包括:测试覆盖(语句覆盖、分支覆盖、分支条件覆盖等)、基路径测试等方法。白盒测试中,对代码的测试比较透彻,但不容易生成测试用例,而且测试工作量很大,。因为白盒测试是基于代码的基础上,所以对变量的定义、数据的分析、精度的度量都有严格的要求。 总之,在这次测试设计让我对软件测试有了一个深入了解,对于测试方法、测试过程,都有了较好的认识,学会了如何进行黑盒测试、白盒测试、以及一些测试工具(如Junit)。当然,对于以后企业上的软件测试,还有待很大的提高。

计算器黑盒测试

计算器黑盒测试 一、测试目的 按照等价类法设计测试用例、使用边界值法设计测试用例 二、测试内容 (一)、实现一个小的计算器程序,只需要完成加、减、乘、除运算,用等价类法设计 测试用例,进行测试。然后假设运算数值的范围在0到100之间,使用边界值法设计测试用例,并测试。 三、测试步骤 (一)、计算器: (1)等价类测试: 1、4个等价类测试用例的分析过程如下: 2、对应测试的结果: 整型: 1.加(60+50)

2.减(55-31) 3.乘(22*23) 4.除(65/21) 小数 1.加(24.1+65.3) 2.减(77.6-54.2) 3.乘(23.6*33.7) 4.除(6 5.3/23.6)

5.(其中算式写法错误导致正常运算错误) 负数 6.加 -55+-76 7.减((-38)-(-54)) 8.乘-54*-12 (其中算式写法错误导致正常运算错误) 9.除 65.3/23.6 (其中算式写法错误导致正常运算错误) 无效输入 1.加(e5+t6):

程序中无效数字无法正常输入,程序无法进行。 2.减(g6-k4) 程序中无效数字无法正常输入,程序无法进行。(同上)3.乘(i6*l9) 程序中无效数字无法正常输入,程序无法进行。(同上)4.除(Ff/se) 程序中无效数字无法正常输入,程序无法进行。(同上)(2)边界值法设计测试: 加法: 1、计算器4个标准等价类测试用例的分析过程如下:

2、对应测试与结果: 测试结果运算均属正常,对应的部分的示图如下:Test1结果: Test2结果: Test3结果: Test4结果: Test5结果:

算式计算器C语言版

课程设计说明书 课程名称:数据结构 设计题目:表达式计算程序设计 学院:计算机科学与信息工程学院 学生姓名:

学生学号: 专业班级:计算机科学与技术嵌入式(12-1) 指导教师:冯贺 2014年6月16 日 课程设计任务书

表达式计算程序设计 摘要: 按照要求构造运算符优先级表,编写优先级比较算法。利用栈结构和优先级编写表达式计算方法。首先构建了一个数据栈,此栈用来储存浮点型数字;一个符号栈用来存储运算符号。然后借助于两个栈和一个结构体运算。 关键词: 栈优先级比较算法优先级表

目录 1.设计背景 (1) ………1 1.1数据结构算法设计………………………………………… 1.2知识运用 (1) 2.设计方案 (1) 2.2程序设计方案 (1) 2.2模块设计方案 (1) 3.方案实施………………………………………………………………

2 .........2 3.1模块代码.....................................................................6 3.1流程图...............................................................4.测试 (8) 5.总结…………………………………………………………………… 10 .........10 3.1总结........................................................................10 3.1谢词...............................................................6.参考文献 (10) 7.附件…………………………………………………………………… 11 1. 设计背景 1.1数据结构算法设计 1、王亚洲完成了对符号栈的编写

字段译码器逻辑功能测试及应用

实验五字段译码器逻辑功能测试及应用 一、实验目的 1.掌握七段译码驱动器74LS47逻辑功能。 2.掌握LED七段数码管的判别方法。 3.熟悉常用字段译码器的典型应用。 二、实验仪器及材料 a) TDS-4数电实验箱、双踪示波器、数字万用表。 b) 参考元件:译码器74ls47一片、共阳数码管一个。. 三、实验原理 1、七段发光二极管(LED)数码管 LED数码管是目前最常用的数字显示器,图5-1(a)、(b)为共阴管和共阳管的电路,(c)为两种不同出线形式的引出脚功能图。 一个LED数码管可用来显示一位0~9十进制数和一个小数点。小型数码管(0.5寸和0.36寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~2.5V,每个发光二极管的点亮电流在5~10mA。LED数码管要显示BCD码所表示的十进制数字就需要有一个专门的译码器,该译码器不但要完成译码功能,还要有相当的驱动能力。 (a) 共阴连接(“1”电平驱动) (b) 共阳连接(“0”电平驱动) (c) 符号及引脚功能 图 5-1 LED数码管 2、BCD码七段译码驱动器 此类译码器型号有74LS47(共阳),74LS48(共阴),CC4511(共阴)等,本实验系采用74LS47/七段译码/驱动器。驱动共阳极LED数码管。 图 5-2为74LS47引脚排列

图5-2 74LS47引脚排 其中A、B、C、D—BCD码输入端。 a、b、c、d、e、f、g—译码输出端,输出“0”有效,用来驱动共阳极LED数码管。 BI:消隐输入端,BI=“0”时,译码输出全为“1”; LT:测试输入端,BI=“1”,LT=“0”时,译码输出全为“0”; :当BI =LT=1,=0时,输入DCBA为0000,译码输出全为“1”。而DCBA为其它各种组合时,正常显示。它主要用来熄灭无效的前零和后零。 表5-1 输入输出 LT D C B A a b c d e f g 字形××0 ×××× 1 1 1 1 1 1 1 消隐×0 1××××0 0 0 0 0 0 0 1 1 1 0 0 0 0 000000 1 × 1 1 0 0 0 1 1 001111 × 1 1 0 0 1 0 0 0 1 0 0 1 0 × 1 1 0 0 1 1 0000110 × 1 1 0 1 0 0 1 001100 × 1 1 0 1 0 1 0 1 0 0 1 0 0 × 1 1 0 1 1 0 110 0 0 0 0 × 1 1 0 1 1 1 0 0 0 1111 × 1 1 1 0 0 0 0 0 0 0 0 0 0 × 1 1 1 0 0 1 0001100 × 1 1 1 0 1 0 1110 0 10 × 1 1 1 0 1 1 110 0 110 × 1 1 1 1 0 0 10 1110 0 × 1 1 1 1 0 1 0 110 10 0 × 1 1 1 1 1 0 1110 0 0 0 × 1 1 1 1 1 1 1111111消隐 0 1 0 00001111111灭零 :当本位的“0”熄灭时,=0,在多位显示系统中,它与下一位的相连,通知下位如果是零也可熄灭。 四、实验内容 1.集成七段显示译码器的功能测试。

最经典的统计模块-测试计划

统计模块测试计划 XXXXXXX有限公司XXXX年XX月XX日

变更记录

目录 1引言 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3定义 (1) 1.4参考资料 (1) 2 测试目标 (1) 3 测试的内容 (2) 3.1测试内容: (2) 3.2基本功能表: (2) 3.3基本统计元素表: (2) 4测试策略(方法) (3) 4.1手动测试 (3) 5测试所需的资源 (3) 6测试人员的任务分配 (3) 7测试进度表 (4) 8测试项通过/失败的标准 (4) 9测试完成提交的材料 (5) 10潜在的问题和风险 (5) 11审批 (5)

1引言 1.1编写目的 制定软件测试计划可以在以下几方面帮助我们: 使软件测试工作进行更顺利 促进项目参加人员彼此的沟通 及早发现和修正软件规格说明书的问题 使软件测试工作更易于管理 本说明书适合开发人员、测试人员、测试管理人员 1.2背景 应软件使用医院对数据统计的要求,重新设计统计模块的功能。 1.3定义 基本统计元素:检查类型、检查部位、检查项目、检查设备、检查状态、 部门、人员、随访等级、病区、婚姻状态、性别、病人来 源、名族、急诊、优先 1.4参考资料 现统计功能模块; 公司软件开发的标准或规范; 统计模块-需求文档 统计模块-功能点说明 2 测试目标 通过测试,达到以下目标: 测试已实现的功能是否达到设计的要求包括:各个功能点是否以实现,业务流程是否正确 模块规定的操作和运行稳定 BUG数和缺陷率控制在可接收的范围之内

3 测试的内容 3.1测试内容: 功能的测试 设计的测试 整体考虑 确定功能项优先级 3.2基本功能表: 这里仅简要介绍测试的重点内容,具体的测试方法详见测试用例。 3.3基本统计元素表:

实验三译码器及其应用、数据选择器及其应用

实验三译码器及其应用、数据选择器及其应用 一、实验目的 1 ?掌握采用中规模集成器件进行组合逻辑电路设计、电路连接及测试的方法. 2 ?用实验验证所设计电路的逻辑功能. 二、实验设备与器件 1.电子学实验装置 2.集成块74LS20、74LS00、74LS138、74LS151、74LS153。 三、实验原理 中规模集成器件多数是专用的功能器件,具有某种特定的逻辑功能,采用这些功能器件实现组合逻辑函数,基本 方法是采用逻辑函数对比法. 中规模集成器件多数都带有控制端(片选端),例如译码器74LS138有三个附加控制端S B、S C和S A,当S A=1、 S B= S C =0时,译码器才被选通工作,否则,译码器被禁止,所有的输出端被封锁在高电平?利用片选可将多片连接 起来以扩展译码器的功能. 在一般情况下,使用译码器和附加的门电路实现多输出逻辑函数较方便,使用数据选择器实现单输出逻辑函数较方便,当逻辑函数输出为输入变量相加时,则采用全加器实现较为方便. 1 ?译码器 一个n变量的译码器的输出包含了n变量的所有最小项.例如3线/8线译码器(74LS138)的8个输出包含了3个变 量的全部最小项的译码?参见模拟电子技术基础教材中3线/8线译码器功能表. 用n变量译码器加上输出与非门电路,就能获得任何形式的输入变量不大于n的组合逻辑电路. 2 ?数据选择器 一个n个地址端的数据选择器, 具有2n个数据选择的功能.例如,数据选择器74LS151, n=3,可完成八选一的功能?参见附录中八选一数据选择器(74LS151)的真值表.由真值表可写出: 丫A2AA0D0 A2AA0D1A 2 Al A o D 2 A? A1A0D 3 A2A A0D 4 A2A A0D 5 A2 A A) A2AA0D7 数据选择器又称多路开关,其功能是把多路并行传输数据选通一路送到输出线上. 四、实验内容 1 ?三输入变量译码器功能测试 地址输入端AA1A0是一组三位二进制代码,其中A权最高,A o权最低,按实验电路图3-1接线,将实验结果填入

相关文档
最新文档