简单的加减计算器

简单的加减计算器
简单的加减计算器

简易加减法计算器课程设计

电气与信息工程学院

电气工程及其自动化专业

题目:简易加减法计算器

姓名:胡永朋

学号:181413112

指导教师:李慧

时间:2015年 6 月22 日~ 2015年6 月26日

本次课程设计的任务是设计一个具有加减运算功能的简易计算器,并通过合适的方式显示最后的计算结果。设计电路的完成主要是利用简单的数字电路和逻辑运算来进行的。简易加减计算器电路主要是对数据的输入和显示,数据的加减运算,数据的输出与显示三个主要的方面来设计研究完成的。

在输入电路的部分,我们通过开关的闭合与断开来实现数据的输入,开关闭合接入高电平“1”,断开接入低电平“0”,而输入的数据将通过七段显示译码器显示出来。加减运算电路主要通过加法器来实现。

一、设计方案

设计方案比较:

方案一:输入十进制的数字,再通过编码器对数字进行编码,输出二进制的数据,运用显示译码器对输入的数字以十进制的形式进行显示,在进行加减计算的时候将二进制数字运用模数转换,然后再进行相加减,然后再讲这些模拟信号再次转换成数字信号,再将数字信号输入到显示译码器来显示数字。这个方案中要进行数模转换和模数转换所需要的电路器件有些复杂,并且转换的时间长,而且转换以后的数值精度不高,鉴于这种方案中的缺点太多,不采用。

方案二:输入十进制的数字,并对数字进行编码,通过显示译码器将输入的数值显示出来,再讲编码所得的二进制数字求其补码,将补码送到串行进位加法器中进行相加,最后将二进制码转换成BCD 码输入到显示译码器中,从而就可以将相加以后所得的数字显示出

来。这个方案中避免了方案一中需要大量的时间和精度不高的缺点,但是由于应用了串行加法器的缘故,电路会比较复杂,不利于进行连接。

方案三:本方案采用十位和十位相加,个位和个位相加的方法,将个位和十位分别输入到电路中,由于输入的数字是二进制码,将二进制码输入到显示译码器中就可以显示输入的数字。相加或相减的时候采用补码的形式通过加法器进行相加。再将二进制转化成BCD 码输入到显示译码器中就可以将相加所得的数字显示出来。此方案中运用了较少的原件,并且运行所需时间很少,相对于方案一和方案二,这个方案是最好的!

二、设计原理

设计原理分析:如图1所示,第一步置入两个二进制数,数字的置入用开关控制,二进制码输入显示译码器,这样四个显示译码器上输入数据 运算方式

显示数据

数据运算

显示结果

图 1

就会显示出对应的十进制数;第二步通过开关选择运算方式为贾或减;第三步,按照选择的方式对数据进行补码的运算,然后将补码进行相加;第四步,将前面所得数据化为BCD 码,以方便在显示译码器上显示。个位相加的结果通过一个显示译码器显示,十位因为可能有进位,所以选择两个显示译码器。因为选用的加法器是十六进制的,所以需要把加法器通过门器件输出合适的进位信号来实现十进制的加法运算。对产生进位的二进制列其真值表: 合适的进位信号来实现十进制的加法运算。对应进位的二进制列其真值表: 器件介绍 1、74LS283

1、 全加器74LS283

二进制和(DCBA ) 进位输出(CO ) 进位信号(Y )

1010 0 1

1011 0 1

1100 0 1

1101 0 1

1110 0 1

1111 0 1

0000 1 1

0001 1 1

0010 1 1

真值表

74LS283D 和74LS283N 与74LS283的功能是一样的,只是它们的封装不一样,D 是SOIC 贴片封装,N 是双列直插封装。下面介绍它的功能。二进制计算中,主要采用74LS283来实现电路功能,其中的异或门来控制加减计算,当异或门控制信号等于0时,电路执行加运算,当异或门控制信号为1时,电路执行减运算。全加器 74LS283的逻辑功能是将输入端口 A1~A4、B1~B4的输入数据作为二进制的数码进行相加,并把运算的结果在输出端口 SUM1~SUM4输出。C4是用来至低位的进位,而CO 是高位进位输出。

2、 BCD 七段译码器

74LS47

图 2

图3

BCD七段译码器74LS47能以十进制数码直观的显示数字系统的运行数据,将输入端ABCD的输入在七段反码A~G上显示。若ABCD=0,则输出显示为0。

3、外部接线图

该电路运用了BCD七段译码器74LS47芯片和全加器74LS283芯片,同时,电路图中也大量的使用了与门、非门、与非门和异或门。在这些元器件的重复使用过程中也就自然的达到了课程设计所要求的结果。后经仿真证实了该电路设计的合理性与正确性。外部连接图如图4所示。

图4

三、结果模拟与分析

(1)加法电路的实现

进行两个数相加运算时,可以直接将得到的二进制进行相加。用两片4位全加器74LS283和门电路设计一位8421BCD码加法器。由于一位8421BCD数A加一位数B有0到18这十九种结果,而且由于显示的关系,当大于9的时候要加六位转换才能正常显示。因为是

采用个位和个位相加、十位和十位相加的原理,所以就出现了一个问题:当个位相加的结果超过十以后就要有进位,而且这时的二进制输入到显示译码器中就不在显示所需要的数据。所以就是要将想得到的二进制码转换BCD码,这样就可以将个位的数字显示出来。如模拟

24+79=103

电路图。该加法电路实现的功能是:

图5

(2)减法电路的实现

该电路的功能是计算A-B。该减法电路实现的功能是79-24=55。

图6

四、总结

此次设计让我学会了许多宝贵的知识。这是我们第一次将课本上的理论知识以电路设计的形式在实践中运用。让我深刻感受到理论知识与实际的电路实现是有很大区别的。这次在课程设计中出现的问题,使我知道了我所学的专业知识必须经过多实践才能真正的的掌握。

通过对题目的分析得出需要完成电路板块的总体框图以后感觉设计应该很快就能完成了。可是我们在实际的设计中遇到了许多问题。例如进行加法运算的时候可能产生进位,而且超过十的数字显示

在晶体管上的时候就会出错,像这类的问题,都需要经过查找分析,不断地进行改进方案找到最终解决方法。在解决问题过程中,我们通过互相的讨论,交换观点,查找资料来完善设计方案,因此,也有了更多的收获和思考。在进行Multisim的仿真时,电路总是运行错误,无法完成运算,我们只好将电路中的每个小部分分别进行模拟仿真,发现电路中,一个开关或门器件都有可能是运算出错。

这次试验让我知道设计并不是那么简单,也许这个问题看起来非常简单,但是不动手去做就永远无法知道这个问题后面有多少困难去解决。通过此次的设计我明白了知识的联系和积累是多么的重要,它还让我明白了逻辑组合电路功能的强大性。当然在本次课程设计中收获最多的还是对以往所学知识的更好的巩固和复习,同时又让我对已学知识的进一步研究和理解,通过学以致用我对所学的知识进行了拓展和运用,加深了理解,同时有扩大了知识面,也基本了解了电子设计的步骤及Multisim软件的运用。

五、心得

这次实验使我们有史以来,在硬件方面做的最大的一次实验,所以叫“课程设计”。这次课程设计,我们从陌生到熟悉,从熟悉到熟练,这是一个过程,在这个过程中间,我懂得了很多东西,

1.知识的匮乏:缺乏知识的迁移能力和查阅资料并取其精华而为我所用的能力。

这次实验拿到题目以后,基本形容是目瞪口呆。因为压频转换这部分电路以前从来没有接触过,需要用到模拟电路运算放大器的一些知

识。而原本对161计数器和NE555原理懂得不是透彻的我,这次要从理论的做题考试上升到课设实验这个阶层中,不仅要将它们的功能烂熟于心,更要运用相应的功能去解决实际问题。这又是一个理论到实际的飞跃。在查资料时,我也遇到了不少阻力,并曾经一度走上歧途——查到的好多东西和实验关系不大,以至于我把358的内部结构都翻了出来,可是内部的电路图是一点也看不懂,这就是“只见树木不见森林”了,真正的它实现的功能没有找到,这就是工作重心偏置导致了效率不高。

2.做事图快不求精,缺乏完善的准备工作,最终导致“欲速则不达”。

实验是最讲求实际的,在没用充分准备的情况下,一位求成只能说是心理的不成熟。布线这一过程给了我很深的教育——做试验没有偶然性,面包板不会欺骗自己,不会由着你的思维和风格区自身的调试,所以我们要老老实实的一步一个脚印的按步骤进行,才能有条不紊。

3.分工与合作的重要性

分工与合作在现实生活中运用的几乎无处不在,在实验中尤为突出。经过这次实验,我们总结道:在实验进行的每一步,都要经过长时间的讨论,才决定行动的方向。之后便是分工各自来完成各自的一部分内容。而后汇总,再讨论,继续进行…这样形成一种良性的循环。只懂合作,不懂分工,可能产生互相推拖或是两人同时做同样的事,耽搁了时间等问题。只懂分工,不懂合作,却又会是两人的内容渐渐背离。所以,合作与分工是我们在本次实验中必须用心把握的。

4.工科是以实验为基础的学科,做实验不仅能培养我们的创新能力,让我们懂得物理量之间的内在联系,功能在实际中的应用以及在有轮廓的情况下将想法细致化并寻求最佳方案,做到去粗取精,更能培养我们的忍耐力和坚忍不拔的意志。在实验的过程中,成功的结果固然重要,但更重要的是解决问题战胜困难的过程,光有勇气不行,更需要的是理性的分析和平和的心态,做实验遇到了这门多阻碍,我曾几次想把面包板摔了撂挑子不干了,可是现在回首一想,那时的心态是多幼稚,其实成功背后的酸甜苦辣,甚至脆弱和颓废都是必不可少的心理过程,也是为成功奠下的坚实的基石。只有经历过,才能真正体会并享受成功带来的欢乐。相信这也是今后工作和生活得宝贵的经验财富!

参考文献:

【1】谢自美主编.《电子线路实验.设计.测试》(第三版)武汉:华中科技大学出版社,2000。

【2】高吉祥主编.《电子技术基础实验与课程设计》(第二版)北京:电子工业出版社,2005。

【3】彭介华主编.《电子技术课程设计指导》北京:高等教育出版社,2002。

【4】陈大钦主编.《电子技术基础实验》-电子电路实验、设计及现代EDA技术(第三版)北京:高等教育出版社,2008。

【5】陈晓文《电子线路课程设计》北京:电子工业出版社,2004。

【6】何小艇主编.《电子系统设计》杭州:浙江大学出版社,2000。

【7】李银华主编.《电子线路设计指导》北京:北京航空航天大学出版社,2005。

【8】姚福安主编.《电子电路设计与实践》济南:山东科学技术出版社, 2001。

【9】毕满清主编.《电子技术实验与课程设计》北京:机械工业出版社,1995。

【10】吴慎山主编.《电子线路设计与实践》北京:电子工业出版社, 2005。

【11】李万臣主编.《模拟电子技术基础实验与课程设计》哈尔滨:哈尔滨工程大学出版社,2007

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

课程设计 题目十进制数加减计算器学院计算机科学与技术 专业计算机科学与技术 班级计算机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日

四位二进制同步加法计数器(缺0011 0100 0101 0110)

成绩评定表

课程设计任务书

摘要 本次课设题目为四位二进制加法计数器(缺0011 0100 0101 0110)。 首先在QuartusII8.1中建立名为count16的工程,用四位二进制加法计数器的VHDL语言实现了四位二进制加法计数器的仿真波形图,同时进行相关操作,锁定了所需管脚,将其下载到实验箱。 然后,在Multisim软件中,通过选用四个时钟脉冲下降沿触发的JK触发器和同步电路,画出其时序图,卡诺图,建立相关方程,做出相关计算,完成四位二进制加法计数器(缺0011 0100 0101 0110)的驱动方程。在Multisim软件里画出了四位二进制加法计数器的逻辑电路图。经过运行,分析由红绿灯的亮灭顺序及状态,和逻辑分析仪里出现波形图。说明四位二进制加法计数器顺利完成。 关键词:计数器;VHDL语言;仿真;触发器。

目录 一、课程设计目的 (1) 二、设计框图 (1) 三、实现过程 (2) 1、QUARTUS II实现过程 (2) 1.1建立工程 (2) 1.2编译程序 (7) 1.3波形仿真 (10) 1.4 仿真结果分析 (14) 1.5引脚锁定与下载 (14) 2、MULTISIM实现过程 (16) 2.1求驱动方程 (16) 2.2画逻辑电路图 (19) 2.3逻辑分析仪的仿真 (20) 2.4结果分析 (21) 2.5自启动判断 (22) 四、总结 (23) 五、参考书目 (24)

一、课程设计目的 1 了解同步加法计数器工作原理和逻辑功能。 2 掌握计数器电路的分析、设计方法及应用。 3 学会正确使用JK 触发器。 二、设计框图 状态转换图是描述时序电路的一种方法,具有形象直观的特点,即其把所用触发器的状态转换关系及转换条件用几何图形表示出来,十分清新,便于查看。 在本课程设计中,四位二进制同步加法计数器用四个CP 下降沿触发的JK 触发器实现,其中有相应的跳变,即跳过了0011 0100 0101 0110四个状态,这在状态转换图中可以清晰地显示出来。具体结构示意框图和状态转换图如下: 1010 101111001101111011110 /1 /1000 101101110010000100000/0/0/0/0/0/0/0/0/0/????←????←????←????←????←↓↑???→????→????→????→????→? B:状态转换图

简易加减计算器小程序

[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 }//*~ 运行结果为:

做一个五进制的加减法计数器

做一个五进制的加减法 计数器 标准化管理部编码-[99968T-6889628-J68568-1689N]

一、做一个五进制的加减法计数器,输入控制端为1时,做加法,为0时, 做减法,用JK触发器实现。 第一步:根据要求进行逻辑抽象,得出电路的原始状态图。 取输入数据变量为X,检测的输出变量为Z,该电路的功能是五进制计 数器。当X=1时,计数器作加“1”运算,设初态为S 0。状态由S 做加1运 算,状态转为S 1,输出为0;状态S 1 做加1运算,转为状态S 2 ,输出为0;状 态S 2做加1运算,转为状态S 3 ,输出为0;状态S 3 做加1运算,转为状态S 4 , 输出为0;当状态S 4继续做加1运算时,状态由S 4 转到S ,输出为1。当X=0 时,计数器作减“1”运算。状态由S 做减1运算,此时产生借位,状态转为 S 4,输出为1;状态S 4 做减1运算,转为状态S 3 ,输出为0;状态S 3 做减1运 算,转为状态S 2,输出为0;状态S 2 做减1运算,转为状态S 1 ,输出为0;状 态S 1做减1运算,状态由S 1 转为状态S ,输出为0。 由此得出状态转换图:第二步:状态编码。 该电路是五进制计数器,有五种不同的状态,分别用S 0、S 1 、S 2 、S 3 、 S 4 表示五种状态,这五种状态不能作状态化简。在状态编码时,依据 2n+1

最新4位数加法计算器

…………………………………………………………最新精品资料推荐…………………………………………………… 安庆师范大学 2014级单片机原理与应用 课程设计报告 课题名称4位数加法计算器的设计 姓名吴昊天、伍浩然、王鹏、万吉 学号070814018、070814008、070814005、070814001 院、系、部计算机学院物联网工程 专业物联网工程 指导教师汪文明 2016年 6月 6日

目录 一、绪言 (1) 二、系统设计 (1) 2.1设计任务 (1) 2.2方案比较与论证 (1) 2.2.1系统整体流程图 (2) 2.2.2单片机的选择方案论证 (2) 2.2.3键盘选择方案论证 (2) 2.2.4显示模块的选择方案论证 (2) 2.2.5蜂鸣器的选择方案论证 (2) 三、硬件电路设计 (2) 3.1计算器的控制电路图 (2) 3.2矩阵键盘的设计 (3) 3.3 LCD1602显示电路的设计 (3) 3.4蜂鸣器驱动电路的设计 (4) 3.5主要元器件选择 (4) 四、程序流程图 (5) 五、c语言程序设计 (5) 六、计算器的仿真 (19) 6.1 Keil调试 (19) 6.2 Proteus调试 (19) 七、结束语 (20) 八、参考文献 (21)

一、绪言 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。电子时钟是现代社会中的主要计时工具之一,广泛应用于手机,电脑,汽车等社会生活需要的各个方面,及对时间有要求的场合。本设计采用AT89C52单片机作为主要核心部件,附以上电复位电路,时钟电路及按键调时电路组成。数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。 二、系统设计 2.1 设计任务 1、通过4*4矩阵键盘输入数字及运算符; 2、可以进行4位十进制数以内的加法预算。如果计算结果超出四位数,则全部显示“E”; 3、可以进行加减乘除所有运算; 4、添加其他功能。 2.2 方案比较与论证 2.2.1 系统整体流程图 图1 系统整体流程图 2.2.2 计算器的控制方案论证 用4*4的矩阵键盘组成0-9数字键及加、减、乘、除、等于、清零按键,LCD屏幕实时显

速算,简易计算器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))

十进制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;

四位二进制加法计数器课程设计

成绩评定表 学生姓名郝晓鹏班级学号1103060129 专业通信工程课程设计题目四位二进制加法 计数器 评语 组长签字: 成绩 日期20 年月日

课程设计任务书 学院信息科学与工程学院专业通信工程 学生姓名郝晓鹏班级学号1103060129 课程设计题目四位二进制加法计数(缺0010 0011 1101 1110) 实践教学要求与任务: 1、了解数字系统设计方法。 2、熟悉VHDL语言及其仿真环境、下载方法。 3、熟悉Multisim仿真环境。 4、设计实现四位二进制加计数(缺0010 0011 1101 1110) 工作计划与进度安排: 第一周:熟悉Multisim及QuartusII环境,练习数字系统设计方法。包括采用触发器设计和超高速硬件描述语言设计,体会自上而下、自下而上设计 方法的优缺点 第二周:1.在QuartusII环境中仿真实现四位二进制加计数(缺0100 0101 1001 1010 )。 2.在Multisim环境中仿真实现四位二进制加计数,缺(0100 0101 1001 1010),并通过虚拟仪器验证其正确性。 指导教师: 201 年月日专业负责人: 201 年月日 学院教学副院长: 201 年月日

摘要 本文采用在MAXPLUSⅡ环境中用VHDL语言实现四位二进制加法计数(缺0010 0011 1101 1110),在仿真器上显示结果波形,并下载到目标芯片上,在实验箱上观察输出结果。在Multisim环境中仿真实现四位二进制加法计数器(缺0010 0011 1101 1110),并通过虚拟仪器验证其正确性。 关键词:MAXPLUSⅡ环境;VHDL语言;四位二进制加计数;Multisim环境

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

简易加减计数器

1.设计目的 1、综合运用相关课程中所学到的知识去完成设计课题。 2、学会电路的设计与仿真。 3、能自己熟练连接实现逻辑电路。 4、掌握Proteus的基本用法。 5、掌握74LS283N芯片的逻辑功能和译码显示器的使用方法。2.设计要求 1、用于两位以下十进制的加减运算。 2、以合适方式显示输入数据及计算结果。 3、设计要求被减数大于或等于减数。 3.总体设计 3.1电路方框图 图1电路方框图

3.2工作原理 先利用单刀双掷开关将加数(减数)与被加数(被减数)置入,然后通过将加数(减数)通过异或门进行逻辑组合,再通过74LS283N 实现8421码的转换,最后接上7段数码管显示结果。 4.单元电路设计与分析 4.1加法电路 加法电路原理图如图1所示: 图1加法电路 4.2减法电路 图2减法电路

4.3元件清单以及元件介绍 2、设计思路 第一步,置入两个四位二进制数。例如(1001),(0011)和(0101),(1000),同时在两个七段译码显示器上显示出对应的十进制数9,3和5,8。 第二步,通过开关选择加(减)运算方式; 第三步,若选择加运算方式所置数送入加法运算电路进行运算,同理若选择减运算方式,则所置数送入减法运算电路运算; 第四步,前面所得结果通过另外两个七段译码器显示。即: 若选择加法运算方式,则(1000)+(0110)=(1110)十进制8+6=14并在七段译码显示器上显示14。 若选择减法运算方式,则(0101)-(1000)=(10011)十进制5-8=-3,并在七段译码显示器上显示-3。 3、运算方案 方案一 通过开关J1-J8接不同的高低电平来控制输入端所置的两个一

4位数加法计算器

安庆师范大学2014级单片机原理与应用 课程设计报告 课题名称4位数加法计算器的设计姓名吴昊天、伍浩然、王鹏、万吉 学号070814018 070814008 070814005 070814001 院、系、部计算机学院物联网工程 专业物联网工程 指导教师汪文明 2016 年6月6日

一、设计任务及要求:设计任务: 1、通过4*4矩阵键盘输入数字及运算符; 2、可以进行4位十进制数以内的加法预算。如果计算结果超出四位数,则全部显示 “ E ; 3、可以进行加减乘除所有运算; 4、添加其他功能。 要求: 首先进行预设计,根据设计的任务要求,先确定设计的硬件电路方案,然后进行硬件电路的初步设计,在计算机上画出硬件电路图,在老师的指导下进行修正硬件电路图,并对所涉及的参数进行计算。 在确定硬件的基础上,要进行软件的总体设计,包括软件主流程的设计以及各子程序的设计,同时,要写出详细的操作说明,如时间的调整方法,显示窗口的时间切换等,以配合软件的设计。 然后进入硬件的调试及编程工作,设计组内的同学可根据任务分工,有调试硬件各功能模块的,如键盘子程序、显示子程序等,有进行整体程序的编制的,各模块的编制过程中要注意资源的衔接。 最后进入联机调试,联机调试的原则也要采用分步走的原则,各个功能模块要逐步套入,通过一个再增加一项功能,从而达到设计的总体要求,不要上来编制个最大的程序,最后无法查找错误。 最后写出设计报告。 指导教师签名: 2016年6月6日 、成绩 指导教师签名: 年月曰 一、绪言 (1)

二、系统设计 (1) 2.1设计任务 (1) 2.2方案比较与论证 (1) 2.2.1系统整体流程图 (2) 222单片机的选择方案论证 (2) 2.2.3键盘选择方案论证 (2) 2.2.4显示模块的选择方案论证 (2) 2.2.5蜂鸣器的选择方案论证 (2) 三、硬件电路设计 (2) 3.1计算器的控制电路图 (2) 3.2矩阵键盘的设计................................................ (3) 3.3 LCD1602显示电路的设计 (3) 3.4蜂鸣器驱动电路的设计 (4) 3.5主要元器件选择 (4) 四、程序流程图 (5) 五、c语言程序设计 (5) 六、计算器的仿真 (19) 6.1Keil 调试 (19) 6.2Proteus 调试 (19) 七、结束语 (20) 八、参考文献 (21) 一、绪言 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日

实验十进制加减法计数器

实验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时,做加法,为0时,做减法, 用J K 触发器实现。 第一步:根据要求进行逻辑抽象,得出电路的原始状态图。 取输入数据变量为X,检测的输出变量为乙该电路的功能是五进制计数器。当X=1时,计数器作加“ 1”运算,设初态为S o。状态由S o做加1运算,状态转为S i,输出为0;状态S i做加1运算,转为状态S2,输出为0;状态S2做加1运算,转为状态S3,输出为0;状态S3做加1运算,转为状态S4,输出为0;当状态S4继续做加1 运算时,状态由S4转到S0,输出为1。当X=0时,计数器作减“1”运算。状态由S0 做减1运算,此时产生借位,状态转为S4,输出为1;状态S4做减1运算,转为状态S3,输出为0;状态S3做减1运算,转为状态S2,输出为0;状态S2做减1运算,转为状态S1,输出为0;状态S1做减1运算,状态由S1转为状态 S0,输出为0。由此得出状态转换图: 第二步:状态编码。 该电路是五进制计数器,有五种不同的状态,分别用S0、S1、S2、S3、S4表示五种状态,这五种状态不能作状态化简。在状态编码时,依据2n+1

第三步:求出输出方程,状态方程和驱动方程(控制函数)。用 JK触发器构成逻辑电路,JK触发器的特性方程Q2n Q1n 00 01 Q n+1=J Q n+ K Q n。 XQ3n 00 01 11 10 1 000 0 X X X 1V X n 0000 00011110 (1) Q2n Q1n _________ (b) Q3n+1=X Q2 Q1n+ X Q3n Q2n Q1n 2n Q1n 00 01 11 10 1000 X X X 0X A X 00u0 状态转换表如下: 1 1 10 XQ3 00 01 11 10 Z=X Q n3 + X Q3 1n XQ3

4位数计算器的设计

摘要 0 1 总体任务 (1) 1.1设计目的 (1) 1.2设计内容和要求 (1) 1.3 设计思路 (1) 2 设计原理分析 (2) 2.1 计算器的工作原理 (2) 2.1.1 计算器的工作流程 (2) 2.1.2 编程实现控制 (2) 2.1.3 功能拓展 (2) 2.2 单片机计算器的基本构成及原理 (2) 3硬件电路的设计 (4) 3.1系统硬件总电路构成及原理 (4) 3.2硬件电路的部分组成元器件的简介 (4) 3.2.1AT89C51单片机 (4) 3.2.2 八段LED数码管 (4) 3.2.3 矩阵键盘 (6) 3.3 元器件清单 (7) 3.4 电路原理图 (7) 4 系统程序的简单设计 (8) 4.1 程序方框图 (8) 4.2 计算器程序 (8) 5 系统的仿真调试 (15) 6 课程设计总结 (16) 参考文献 (17)

本文论述了单片机4位数加法计算器的设计,从对设计任务的分析到画电原理图到编程和最后的仿真调试,都进行了一个简单的描述。 在设计过程中,采用Keil软件编写源程序,用Protues 7 professional的ISIS 7 professional软件画电原理图并且仿真,通过对编程时的编译和对仿真结果现象的观察,不断地对源程序以及电原理图的修改,最后成功设计出了一个能够进行4位数加法运算的计算器。该计算器通过4×4的矩阵键盘输入数字及运算符,若运算结果超过4位十进制数,则显示为E;另外,也能进行减法、乘法以及除法的运算,在进行减法运算时,若运算结果小于零,则显示其绝对值;进行除法运算时,若除数等于零,则显示E。 关键词:计算器;单片机;数码管;矩阵键盘

简易加减法计算器

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

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

3、元件的选择

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

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

加减 计数器详解

实例:以下是一个0~9999 加/减计数器的设计: 设计使用key0 为复位信号: 按下后实现计数清0。key1为暂停按钮:按下后计数暂停。key2为加、减控制按钮:不按时加计数,按下后减计数。使用27M时钟信号。计数时每秒钟10次。主模块为counter ,从模块为display。 module counter(clk,res,stp,sub,seg,com); input clk,res,stp,sub; //clk为27M时钟res(接按键0)复位信号stp(接按键1)暂停信号sub (接按键2)加/减控制端(1:加、0:减)output [7:0] seg; // 8段码显示 output [3:0] com; // 4个数码管选通信号(0 选通表示有效) reg [31:0] number; // 要输出的数字0~9999 reg [31:0] clk_count; // 时钟计数(记录经过了多少时钟周期) always @ (posedge clk) begin if(res==0) begin // 复位 clk_count = 0; number = 0; end else if(clk_count==27_000_00) begin // 每当计数到2700000时(即:每过27_000_00 / 27M 秒时执行、、、)clk_count = 0; // 重新计数 case ({number,sub}) // 组合判断number与sub 信号 ‘b0 : number = 9999; // 在number为0 ,并且继续减时number=9999 ‘b1001_1100_0011_111 : number = 0; //在number=9999,并且继续加时number=0

相关文档
最新文档