文档库 最新最全的文档下载
当前位置:文档库 › GUI编程——模拟计算器

GUI编程——模拟计算器

GUI编程——模拟计算器
GUI编程——模拟计算器

学生实验报告

C++ 科学计算器-课程设计报告

DONGFANG COLLEGE,FUJIAN AGRICULTURE AND FORESTRY UNIVERSITY 课程名称:堆栈计算器 系别:计算机 年级专业:11级计算机科学与技术 学号:1150303040 姓名:蔡新云 任课教师:林励成绩: 2013 年 6 月13 日

引言 堆栈计算器 简介: 计算带括号的数学算式,可以判断优先级,错误判断等功能。友好的操作界面,美观的视觉效果。 截图 界面: 计算演示: 结果:

错误判断: 数据结构:应用了栈,做数值缓存,应用了递归处理括号内算式。其他知识:mfc界面设计;c++类的封装(.h与.cpp分离)。 编译环境:使用了vs2012,通过修改vs2010也可以打开。

程序简单流程图: (注:eval 的代码在下面。。。) 功能实现原理与代码: //栈的实现 //初始化 stack::stack(int len) { lengh=len; date=new double[len]; date[0]=0; top=0; } stack::stack() { date=new double[100]; MFC 文本框 按钮事件 = 事件 Cal.eval() 调用函数eval(),返回结果到文本框 当 =事件 发生 从文本框取出表达式到eval ()函数

date[0]=0; top=0; } //判断为空 bool stack::is_empty() { if(top==0) { return true; } return false; } //进栈 void stack::push(double number) { date[top++]=number; } //出栈 double stack::pop() { if(!is_empty()) return date[--top]; } //calculator类(核心代码) 初始化 calculator::calculator() { error="null"; } 是否为数字 bool calculator::is_num(char num) { if(num<='9' && num>='0'||num=='.') { return true; }

汇编语言实现十进制加减计算器

课程设计 题目十进制数加减计算器学院计算机科学与技术 专业计算机科学与技术 班级计算机0808班 姓名何爽 指导教师袁小玲 2010 年12 月31 日

课程设计任务书 学生姓名:何爽专业班级:计算机0808班 指导教师:袁小玲工作单位:计算机科学与技术学院 题目: 十进制数加减计算器的设计 初始条件: 理论:学完“汇编语言程序设计”、“课程计算机概论”、“高级语言程序设计”和“数字逻辑”。 实践:计算机学院科学系实验中心提供计算机和软件平台。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)十进制数加减计算器的设计。 (2)程序应有操作提示、输入和输出,界面追求友好,最好是菜单式的界面。 (3)设计若干用例(测试数据),上机测试程序并分析(评价)所设计的程序。 (4)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括: 在正文第一行写课程设计题目; 1.需求说明(要求、功能简述)或问题描述; 2.设计说明(简要的分析与概要设计); 3.详细的算法描述; 4.源程序与执行结果(含测试方法和测试结果); 5.使用说明; 6.总结,包括设计心得(设计的特点、不足、收获与体会)和展望(该 程序进一步改进扩展的设想)。 时间安排: 设计时间一周:周1:查阅相关资料。 周2:系统分析,设计。 周3~4:编程并上机调试。 周5:撰写课程设计报告。 设计验收安排:20周星期五8:00起到计算机学院科学系实验中心进行上机验收。 设计报告书收取时间:20周的星期五下午5:00之前。 指导教师签名: 2010年12月31日 系主任(或责任教师)签名: 2010年12月31日

简易加减计算器小程序

[java語言與程序設計]简易加减计算器小程序 歸真我发表于:2011/8/1922:51:21标签(TAG): 简易加减计算器小程序 在上一篇《简易计算器面板小程序》中,我已对面板部分的程序作了详细的注释,并对程序的运行过程及结果作了完整的介绍,并且是上机调试过了得到的结果。但是,那只是面板,不能运算。要想让它具有运算的功能,还得在此基础上作一些修改,加进有关按钮动作响应部分的程序。为了便于理解,便于调试,便于学习,掌握其要点,我想应该遵循循序渐进的原则,所以,先从加减运算开始,看看这个功能是怎么实现的。请看下面的小程序。从程序中可以看出,它是利用内部类ButtonAct来处理按钮的动作响应的。从总体上讲是两个按钮“运算”和“重置”,但“运算”又区分为“加”和“减”。所以,用负责实现双分支的if语句来编程。 /**C2.java简易加减计算器小程序*/ import java.applet.*; import java.awt.*; import java.awt.event.*; public class C2extends Applet{ TextField t1,t2,t3; Button btn1,btn2; CheckboxGroup select; Checkbox a,s;//分别代表加、减 Label b; public void init(){ t1=new TextField(13); t2=new TextField(13); t3=new TextField(13); btn1=new Button("等于");

btn2=new Button("重置"); select=new CheckboxGroup(); a=new Checkbox("加",true,select); s=new Checkbox("减",false,select); b=new Label("简易加法/减法计算器"); add(b); add(t1); add(a); add(s); add(t2); add(btn1); add(t3); add(btn2); btn1.addActionListener(new ButtonAct());//注册给ButtonAct对象btn2.addActionListener(new ButtonAct());//注册给ButtonAct对象} class ButtonAct implements ActionListener{//内部类,按钮处理public void actionPerformed(ActionEvent e){ int op1,op2,op3; if(e.getSource()==btn1){//等于按钮 op1=Integer.parseInt(t1.getText()); op2=Integer.parseInt(t2.getText()); if(a.getState())//以下判断计算类型并实现相应的计算 op3=op1+op2; else op3=op1-op2; t3.setText(Integer.toString(op3)); } else{//重置按钮 t1.setText(""); t2.setText(""); t3.setText(""); a.setState(true); } } }//end of ButtonAct }//*~ 运行结果为:

AT89C51单片机简易计算器的设计

AT89C51单片机简易计算器的设计 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除六位数范围内的基本四则运算,并在LCD上显示相应的结果。设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入。显示采用字符LCD静态显示。软件方面使用C语言编程,并用PROTUES仿真。 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数

值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图: 二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

科学计算器壳套模具设计

二、注射机的选择 塑件:科学计算器壳套 重量: 材料:ABS 材料密度:~cm3,取密度为cm3。 体积:V=M/ρ==。 ABS 注塑模工艺条件 注射机类型:螺杆式注射机。 干燥处理:吸湿性较大,成型前应干燥处理,湿度应小于%,建议干燥条件为80~85℃, 2~3小时。 熔化温度:230~300℃。 模具温度:50~80℃。 注射压力:70~100MPa 。 注射速度:中等注射速度,将摩擦热降至最低。 型腔数的选择 按生产进度算: 型腔数n= 其中 ——故障系数; ——成型周期 N ——一副模具的订货量; ——所在厂每月工作时间(h); ——订货至交货 期(月); ——模具制造时间(月)。 由于计算器壳套的体积较大,需要的注射量较大,所以模具选用一模两腔。 注射机的选择 最大注射量 根据生产经验总结,在设计模具以容量计算时 ——注射机最大注射量,cm3; 0*1.053600() c h m N t t t t ?-c t h t 0t max V 0.8V ≤塑

——塑件与浇注系统体积总和,cm3。 ——塑件成型时所需要的注射量,cm3或g ; n ——型腔个数; ——每个塑件的质量或体积,cm3或g ; ——浇注系统的质量或体积,cm3或g 。 浇注系统凝料体积初步计算,按塑件体积倍计算。 代入产品体积,浇注系统体积,型腔数为4个。 则 3345.8830.882.13(4cm cm G =+?=)塑 3max 56.1108.045.888.0cm G G =÷=÷=塑 公称注射容量 注射机多以公称注射容量来表示 c ——料筒温度下塑料的体积膨胀率的矫正系数,对于结晶形塑料,c=;对于非结晶形 塑料,c=; ——所用塑料在常温下的密度; G ——注射机的公称注射容量。 代入 3/05.1cm g =ρ, 取c=; 则 3max 96.107)05.193.0/(56.110/cm c G G =?==ρ。 锁模力 模具从分型面涨开的力必须小于注射机规定的锁模力 T ——注射机的额定锁模力; F ——塑件与浇注系统在分型面上的总投影面积; K ——安全系数,通常取~; q ——熔融塑料在模腔内的压 力,. 代入数据, 22237.15855.34cm cm F =??=π 根据《塑料成形模具设计》表4-1,取q=300 G =n *M +M 塑塑浇 max G c G ρ=1000 T K F q ≥??2/kg cm 2 /kg cm

速算,简易计算器c语言代码,可实现加减乘除

#include"stdio.h" #include"math.h" #include"stdlib.h" struct optrstyle { int top; char stack[20]; } struct opndstyle { int top; int stack[20]; } void main() { char ch; while(1) { printf("-----------------------------------------\n"); printf("|-----------欢迎来到速算24--------------|\n"); printf("|----------是否开始游戏?????------------|\n"); printf("|--------- 开始游戏请按'Y'-------------|\n"); printf("|--------- 退出游戏请按其他键-------------|\n"); printf("-----------------------------------------\n"); scanf("%c",&ch); if(ch=='Y' or ch=='y') { } else break; } } int EvaluateExpression() { // 算术表达式求值的算符优先算法。设OPTR 和OPND 分别为运算符栈和运算数栈,OP 为运算符集合。 InitStack(OPTR); Push(OPTR,'#'); InitStack(OPND); c = getchar(); while(c!='#' || GetTop(OPTR)!='#') { if(!In(c,OP))

计算机科学与技术专业课程设计

专业教育 ─我所认识的计算机专业 1.对专业的最初认识 1.1为什么选择计算机专业 计算机使当代社会的经济、政治、军事、科研、教育、服务等方面在概念和技术上发生了革命性的变化,对人类社会的进步已经并还将产生极为深刻的影响。目前,计算机是世界各发达国家激烈竞争的科学技术领域之一。 随着信息时代的到来,计算机逐渐成为技术及科学领域的核心。随着计算机的普及,其应用领域逐渐广泛,深刻影响着我们的学习,工作及生活。因而,计算机的学习与我们的生活息息相关。 1.2最初的认识 虽然对于这个专业刚开始的时候不了解它具体是干什么的,但是从小就对于计算机十分感兴趣,因此在高考完填报志愿时就报了这个专业。进入大学之后,看到培养计划发现这个专业应用还是挺多的,但是因此让自己更加的对以后的职业感到很迷茫,不知道究竟是该干什么了。但是既来之,则安之。相信在以后的学习过程中会慢慢地找到方向,并为之努力的。因此说对于计算机专业还是抱有很大的热情的。 2.学习的方法 2.1培养对专业的兴趣 俗话说兴趣是最好的老师,因此要想真正做好一件事情,学好自己的专业首先就要培养自己对本专业的兴趣。那么应该如何培养呢?可能阅读专业书籍对于刚刚步入大学的自己来说有点困难,也很枯燥,那么不妨先从科普书籍看起。科普书籍是了解理论、获得应用知识最好的途径。相信不少理工科的同学被量子物理和相对论搞得头昏脑胀过。究其原因,是我们的现实生活与抽象的数学模型之间存在思想意识上的鸿沟。然而要是读读斯蒂芬·霍金的《时间简史》,你就会被书中有趣的故事和例证所吸引,从而对抽象的理论有了感性的认识——即使仍然没有读懂,你也至少了解了这个学科研究的领域和目标是什么,也必然有所收获。 2.2认真学习专业课程,学好数学 大学计算机专业对数学的要求较高,其重要性不必多言。数学令不少同学头痛,除了其“繁”与“难”外,很大程度上是因为他们没有理解这些抽象理论的实际应用方向。与本科数学专业的课程设置相比,计算机专业的数

十进制4位加法计数器设计

洛阳理工学院 十 进 制 4 位 加 法 计 数 器 系别:电气工程与自动化系 姓名:李奇杰学号:B10041016

十进制4位加法计数器设计 设计要求: 设计一个十进制4位加法计数器设计 设计目的: 1.掌握EDA设计流程 2.熟练VHDL语法 3.理解层次化设计的内在含义和实现 设计原理 通过数电知识了解到十进制异步加法器的逻辑电路图如下 Q3 则可以通过对JK触发器以及与门的例化连接实现十进制异步加法器的设计 设计内容 JK JK触发器的VHDL文本描述实现: --JK触发器描述 library ieee; use ieee.std_logic_1164.all; entity jk_ff is

port( j,k,clk: in std_logic; q,qn:out std_logic ); end jk_ff; architecture one of jk_ff is signal q_s: std_logic; begin process(j,k,clk) begin if clk'event and clk='0' then if j='0' and k='0' then q_s <= q_s; elsif j='0' and k='1' then q_s <= '0'; elsif j='1' and k='0' then q_s <= '1'; elsif j='1' and k='1' then q_s <= not q_s; end if; end if; end process; q <= q_s; qn <= not q_s; end one; 元件门级电路: 与门VHDL文本描述实现: --与门描述library ieee; use ieee.std_logic_1164.all;

android简单计算器课程设计

摘要 Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能够迅速建立手机软件的解决方案。Android的功能十分强大,成为当今软件行业的一股新兴力量。Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的,应用程序可以轻松的嵌入网络、应用程序可以并行运行。而简单计算器又是手机上必备的小程序,所以此次创新实践很有意义。并且具有很强的使用性。 关键字:Android Java基础计算器

目录 第1章开发工具与环境 (1) 1.1 Android平台 (1) 1.2 Java开发环境 (1) 1.3 Eclipse (1) 1.4 Android程序基础—Android应用程序的构成 (2) 第2章系统分析与设计 (4) 2.1系统的可行性分析 (4) 2.2 系统的需求分析 (4) 2.3 系统的优势 (4) 2.4 系统的流程图 (5) 第3章系统详细设计 (6) 3.1 动作Activity (6) 3.2 布局文件XML (6) 3.3 Activity的详细设计 (7) 3.2 布局文件XML的详细设计 (21) 3.2 系统的运行结果 (24) 结论 (25) 参考文献 (26)

第1章开发工具与环境 1.1 Android平台 1.谷歌与开放手机联盟合作开发了Android, 这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。 2.Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。 3.所有的Android应用之间是完全平等的。 4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。 5.Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。 1.2 Java开发环境 Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java编程语言起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入式家用电器的分布式系统,使电气更加智能化。1996年1月发布了JDK1.1版本,一门新语言自此走向世界。之后,1998年12月发布了1.2版本,2002年2月发布1.4版本,2004年10月发布1.5版本(5.0),2006年12月发布1.6(6.0)版本,这是目前的最新版本。Java1.2版本是一个重要的版本,基于该版本,Sun将Java技术分为J2SE、J2ME、J2EE,其中J2SE为创建和运行Java程序提供了最基本的环境,J2ME与J2EE 建立在J2SE的基础上,J2ME为嵌入式应用(如运行在手机里的Java程序)提供开发与运行环境,J2EE为分布式的企业应用提供开发与运行环境。 1.3 Eclipse

科学计算器课程设计报告C课程设计修订稿

科学计算器课程设计报告C课程设计 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

计算机科学与技术学部 C++课程设计 题目科学计算器 学部计算机科学与技术 班级计科1103 指导教师李军 姓名刘明 学号 2012年6月27日

摘要 计算器的产生和发展是建立在电子计算机基础之上的。硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。 在这个计算器里面,我们实现了简单的四则运算以及更高功能的科学计算,它的外观简洁美观,使人们能快捷简单的操作。能准确的得到计算结果,大大减少了数字计算所需要的时间,为人们的生活带来便利。此系统在Windows 7环境下,使用VC++ 进行编写。 简单计算器包括双目运算和单目运算功能,双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,对数,开方,阶乘,倒数,进制转换等运算。可对其输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。并且包含清除,退格功能等。我们所做的计算器其功能较Windows 7下的计算器还是很不够多,没有其菜单的实现功能项,没有其小巧的标准计算器。 关键词:计算器;运算;VC++等

元魂珠介绍全系列

元魂珠全系列介绍 首先声明:此文为整合文章,借用了先辈们的血汗成果,在此敬谢!谨以此文献给所有热爱天下,热爱元魂珠的大荒勇士! 一、元魂珠神通系统各系激活与攻防守护展示【整合贴】 A.各系激活属性增减数据【注:激活除以下属性加成外其他属性依然为5%的转化给人物 系别生命加成蓝加成属性加成 蜃气系生命加成500 蓝加成100 人物魂属性加成为元魂珠魂点数的5% 花草系生命加成500 蓝加成100 人物念属性加成为元魂珠念点数的5% 灵猴系生命加成500 蓝加成100 人物力属性加成为元魂珠力点数的5% 有熊系生命加成1000 蓝加成100 人物念体属性加成为元魂珠念体点数的5% 猛虎系生命加成500 蓝加成100 人物力属性加成为元魂珠力点数的5% 强盗系生命加成500 蓝加成100 人物敏属性加成为元魂珠敏点数的5% 仙狐系生命加成500 蓝加成100 人物力魂属性加成为元魂珠力魂点数的5% 竹木系生命加成1000 蓝加成100 人物念体属性加成为元魂珠念体点数的5% 厉鬼系生命加成500 蓝加成100 人物回避加成5% 水生系生命加成500 蓝加成100 人物普通攻击无视对方10%的物理防御 尸兵系生命加成1000 蓝加成100 人物力体属性加成为元魂珠力体点数的5% 以上的属性加成在近几月有所更改,所以请仔细查看,以官网为准,勿被误导。 B.4星攻击守护与防御守护数据 系别【均为4星】攻击守护防御守护 蜃气系最大法术攻击加60点受到的伤害减少4% 花草系命中加120点念力加60点 灵猴系攻击附加60点元伤害受到的伤害减少4% 有熊系最大物理攻击50点法术防御加480点 猛虎系物理攻击加60点受到的伤害减少4%

电子计算器的设计

目录 第1章电子计算器控制工艺分析 (1) 1.1PLC简介 (1) 1.2PLC电子计算器特点 (1) 1.3电子计算器控制要求 (2) 1.4电子计算器设计要求 (2) 第2章电子计算器PLC控制系统设计 (3) 2.1系统选型 (3) 2.2系统硬件连接图 (3) 2.3输出I/O点数 (3) 2.4梯形图 (4) 2.5程序运行 (6) 第3章电子计算器PLC监控系统设计 (7) 结论与体会 (8) 参考文献 (9) 附录 (10)

第1章电子计算器控制工艺分析 1.1 PLC简介 PLC英文全称为Programmable Logical Controller即:可编程逻辑控控制器,顾名思义;它本来的含义是具有柔性的(可编程)主要来完成逻辑控制(针对数字量)工业控制器,它代替了传统的靠硬触点来做的控制系统就象当初的计算机已经演变为电脑一样,现在的PLC也由早期单纯地实现逻辑控制演变为一个可进行数模、模数转换,可进行定位控制,等一个功能强大的工业控制器,可以说它在现代社会各种需要自动控制的场合发挥了巨大的作用。 可编程序控制器是一种数字运算操作的电子系统,专为工业环境下应用而设计。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种机械或生产过程。 高可靠性是电气控制设备的关键性能。PLC由于采用现代大规模集成电路技术,采用严格的生产工艺制造,内部电路采取了先进的抗干扰技术,具有很高的可靠性。例如三菱公司生产的F系列PLC平均无故障时间高达30 万小时。一些使用冗余CPU的PLC的平均无故障工作时间则更长。从PLC 的机外电路来说,使用PLC构成控制系统,和同等规模的继电接触器系统相比,电气接线及开关接点已减少到数百甚至数千分之一,故障也就大大降低。此外,PLC带有硬件故障自我检测功能,出现故障时可及时发出警报信息。在应用软件中,应用者还可以编入外围器件的故障自诊断程序,使系统中除PLC以外的电路及设备也获得故障自诊断保护。这样,整个系统具有极高的可靠性也就不奇怪了。 1.2 PLC电子计算器特点 从某种角度而言,广义的“计算机”概念是包括“电子计算器”的。电子计算器中也有集成电路,但计算器的功能简便,价格更加便宜,利于携带与稳定性好。与电子计算机的最大区别在于:计算器只是简单的计算工具,有些机型具备函数计算功能,有些机型具备一定的贮存功能,但一般只能存储几组数据。计算机则具备复杂存贮功能、控制功能,更加强大,在中国俗称“电脑”者也。计算器和计算机一样都能够实现数据的录入、处理、存储和输出,但它所以区别于计算机的就是,它不能自动地实现这些操作过程,必须由人来操作完成。而计算机通过编制程序能够自动进行处理。所以以自动化程度来区别二者,就在于是否需要人工干预其运行。

VB程序语言设计科学计算器

VB程序语言设计 课程大作业 题目名称:科学计算器设计 班级: 12020742 姓名: 学号: 课程教师:温海骏 学期:2014-2015学年第2学期 完成时间: 2015年5月

一、实验内容 《科学计算器》设计 本科学计算器是一种能实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现了Windows自带计算器的所有功能。要实现计算器的这些功能就用到我们所学的VB知识编写程序来实现运算功能并解决问题,也是我们实训要达到的目的。 二、实验目的 1、通过本实验,进一步理解Visual Basic的编程方法。 2、提高运用Visual Basic编程的能力。 3、培养对所学知识的综合运用能力。 4、用所学的VB知识编写程序来实现运算功能并解决问题,达到实训的目的 三、实验设备 计算机、VB软件 四、实验过程 1、课题的选材过程(设计思路) 由VB程序设计的科学计算器是一种能实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现了Windows自带计算器的所有功能。 思路:为实现上述功能,我的基本思路是在窗体上建立4个控件数组,第一个控件数组是标准型,实现简单的四则运算;第二个控件数组是科学型,用来进行正弦余弦、正切余切、正割余割、反正弦反余弦、对数和n!等函数功能;第三个控件数组为程序员,实现进制转换;另外一个按钮实现单位转换。 2、设计的将要达到的目标 实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现Windows自带计算器的所有功能。 3、总体设计结构与功能 (1)总体设计结构介绍(绘制:结构流程图) 结构流程图如下:

实验十进制加减法计数器

实验1 十进制加减法计数器 实验地点:电子楼218 实验时间:2012年10月19日指导老师:黄秋萍、陈虞苏 实验要求:设计十进制加减法计数器,保留测试程序、设计程序、仿真结果 1.设计程序: module count(EN,CLK,DOUT,F,RST); input EN,CLK,F,RST; output [3:0]DOUT; reg [3:0]DOUT; always@(posedge CLK) begin :abc if(EN) if(!RST) if(F) begin :a DOUT=DOUT+1; if(DOUT==10) DOUT=0; end //END A else begin :b DOUT=DOUT-1; if(DOUT==15) DOUT=9; end else DOUT=0; else DOUT=DOUT; end endmodule 2.测试程序 `timescale 10ns/1ns module test_count; wire [3:0] DOUT; reg EN,F,RST,CLK; count M(EN,CLK,DOUT,F,RST); initial begin :ABC CLK=0; EN=0;

RST=1; F=1; #100 EN=1; #200 RST=0; #1500 F=0; #3000 $stop; end always #50 CLK=~CLK; initial $monitor("EN=%b,F=%b,RST=%b,DOUT%D",EN,F,RST,DOUT); endmodule 3.测试结果 # EN=0,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT 0 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=1,RST=0,DOUT 6 # EN=1,F=1,RST=0,DOUT 7 # EN=1,F=1,RST=0,DOUT 8 # EN=1,F=1,RST=0,DOUT 9 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 4 # EN=1,F=0,RST=0,DOUT 3 # EN=1,F=0,RST=0,DOUT 2 # EN=1,F=0,RST=0,DOUT 1 # EN=1,F=0,RST=0,DOUT 0 # EN=1,F=0,RST=0,DOUT 9 # EN=1,F=0,RST=0,DOUT 8 # EN=1,F=0,RST=0,DOUT 7 # EN=1,F=0,RST=0,DOUT 6 # EN=1,F=0,RST=0,DOUT 5

简易加减法计算器

电子技术课程设计 题目:简易加减法计算器 一、设计课题:简易加减法计算器 二、设计任务和要求: 1、用于两位以下十进制数的加减运算。 2、以合适方式显示输入数据及计算结果。 三、原理电路设计 1、方案的比较 对于简单加减计算器可有三种不同的方案 ①用数/模转换,与模拟电路中的加减计算器进行简单的加减计 算。先用74LS147二-十进制优先编码器转化为二进制进行输A,然后数模转化模拟信号,进行加减计算后,转化为数字信号输 出。 此方案思路较明确,但经过二次数模相互转换,精确率较低; 具体输出时的负数效应,与单输入的二进制转化为十进制时电 路较复杂,无成块的集成电路,致使误差率较大。 ②可用数字电路中4位超前进位加法器74LS283与方案一输入相 同;后用三态输出CMOS门电路进行选择输入,进行加法运算

后输出,输出时,注意负数的问题与在输出中2进制与10进制关系的问题。还有寄存器的问题。 此方案思路明确,比较精确,此中的2进制与10进制问题需复杂门电路解决无现成集成元件,存在太多的散元件。减法运算需要反码进行运算,况且在其触发过程中需要考虑同步问题。 ③可运用数字电路中的单时钟同步十进制加/减计数器74LS190 进行加减计算。方案以上升沿进行输入,触发加减计算。本方案输入方式不同于一般输入方式,需要有所改进。但思路明了,不十分复杂,对于负数运算较复杂,可集成程度较高。 终上所述,最好是相互结合,以③为本。 2、单元电路设计

3、元件的选择

对于计数器来说需要选同时可以进行加减计数的计数器进行 加减,因此选用单时钟十进制加/减计数器74LS190. 其电路图及功能表如下: 中间由于1/0的输出不能够持久的进行保持,因此可用RS触 发器进行保持。对于加/减,等于触发需要74LS194进行触发 保持 4、整体电路(见附图) 5、工作原理 主要运用十进制加/减计数器74LS190加/减计数功能与74LS194的触发 功能。 六、设计总结 我们以为,在这学期的实验中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教别人,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。而且,这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。 因为由于时间的紧缺和许多课业的繁忙,并没有做到最好,但是,最起码我们没有放弃,它是我们的骄傲!相信以后我们会以更加积极地态度对待我们的学习、对待我们的生活。我们的激情永远还会结束,

科学计算器设计报告(51单片机)

单片机课程设计报告 (多功能计算器) 班级: 姓名: 学号: 指导老师:

一、内容摘要 利用89c51作为主控器设计一个四则运算的计算器。 首先通过在图书馆和网上查找有关设计计算器的资料,大概了解设计计算器需要哪几个模块,熟悉Keil 和Proteus 两个软件的用法,以及它们的联调,完成计算器的程序设计和仿真,然后就是进实验室进行计算器电路板的焊接,最后就是将程序下载到单片机芯片中,系统联调,直到得出结果。 二、设计内容及要求 用单片机设计计算器,要求可以进行加、减、乘、除运算。 三、系统方案设计,画出系统框图 四、画出完整的电路图,并说明电路的工作原理 51系列单片机 4*4键盘 8位LED 显示 6264 RAM 扩展 复位电路 晶振电路等 系统原理框图

电路图说明: (1)键盘的列扫描接单片机P2口的低4位,行扫描接单片机P1口的低4位; (2)数码管的段选通过单片机的P0口接74LS244来驱动,数码管的位选接单片机的P2口; (3)发光二极管电路用来说明电路是否上电; (4)晶振电路为单片机提供时钟频率; (5)复位电路为单片机提供复位信号。 计算器的功能实现: (1)此计算器适应于不大于八位整数的四则混合运算,若单个数大于八位或者结果大于八位(溢出)则显示“Chu cuo”。 (2)如果在还没有按数字之前按了一个符号键或者等号则显示“Chu cuo”。 (3)若接连按了几个运算符键,实际上进行的运算是最后一次按的运算键。 (4)可以显示负数、小数。 (5)此计算器不可实现连乘、连加、连减、连除。 四、软件仿真,根据系统硬件图编写系统程序并调试 #include

10进制加法计数器课程设计

西北师范大学知行学院 数字电子实践论文 课题:74ls161组成的十进制加法计数器 (置数法) 班级:14电本 学号:14040101114 姓名:于能海

指导老师:崔用明 目录 第1章前言 (1) 1.1 摘要 (1) 1.2 设计目的 (2) 1.3 设计内容及要求 (2) 第2章设计方案 (3) ....................................................................................................................... 错误!未定义书签。 2.1主要芯片功能介绍 (3) 2.2.1 四位二进制计数器74161介绍 (3) ............................................................................................................... 错误!未定义书签。 2.2 工作原理 (4) 第3章硬件设计 (4) 3.1 单元电路设计 (4) 3.2 总硬件电路图 (5) 第4章仿真与试验 (6) 4.1 仿真结果 (6) 4.2 调试中遇到的问题 (7) 第5章结论和体会 (8)

第1章前言 1.1 摘要在数字电路技术的课程中,计数器的功能是记忆脉冲的个数,它是数字系统中应用最广泛的基本时序逻辑构件。计数器在微型计算机系统中的主要作用就是为CPU和I/O设备提供实时时钟,以实现定时中断、定时检测、定时扫描、定时显示等定时控制,或者对外部事件进行计数。一般的微机系统和微机应用系统中均配置了定时器/计数器电路,它既可当作计数器作用,又可当作定时器使用,其基本的工作原理就是"减1"计数。计数器:CLK输入脉冲是一个非周期事件计数脉冲,当计算单元为零时,OUT输出一个脉冲信号,以示计数完毕。 本十进制加法计数器是基于74161芯片而设计的, 该十进制加法计数器设计理念是用于工厂流水线上产品计数,自动计数,方便简单。 关键词:74ls161计数器 Introduction In the course of digital circuit technology, the counter memory function is the number of pulses, it is a digital system, the most widely used basic sequential logic components. The main role of the counter in the micro-computer system is to provide real-time clock for the CPU and I / O devices to achieve the timer interrupt, timing detection, scheduled scanning, the timing display timing control, or to count external events. General computer systems and computer application systems are equipped with a timer / counter circuit, it can as a counter action, but also as a timer, the basic working principle is "minus 1" count. Counter: CLK input pulse is a non-periodic event count pulses to zero when calculating unit, OUT outputs a pulse signal, to show the count is completed. The decimal addition counter is designed based on the 74161 chip, the low potential sensor senses when to rely on external signals, sensors in an object within the sensing range, otherwise it is a high potential. Within the sensing range of the sensor when an object is moved out of date, sensor potential from high to low and then high, appears on the edge. Counter is automatically incremented and displayed on a digital control. The decimal addition counters have two seven-segment LED. It can count from 0 to 99 objects, and easy to expand. The design concept of decimal addition counter is used to count on a factory assembly line products, automatic counting, convenient and simple. Keywords:74ls161counter

相关文档