数电实验二:简易计算器(实验报告)

合集下载

简单计算器实验报告

简单计算器实验报告

简单计算器实验报告简单计算器实验报告引言:在现代社会,计算器已经成为人们生活中不可或缺的工具之一。

无论是在学校、办公室还是家庭,计算器都扮演着重要的角色。

本实验旨在设计和构建一个简单的计算器,并通过实验验证其功能和准确性。

实验步骤:1. 设计计算器的外观和功能:我们首先对计算器进行了外观设计,选择了简洁、易于使用的界面。

然后确定了计算器的基本功能,包括加法、减法、乘法和除法。

2. 选择合适的硬件和软件:为了构建计算器,我们选择了合适的硬件和软件。

硬件方面,我们选用了一块Arduino开发板、液晶显示屏和按键。

软件方面,我们使用了Arduino编程语言。

3. 连接硬件和编写代码:我们将液晶显示屏和按键与Arduino开发板连接起来,并编写了相应的代码。

代码中包括了计算器的逻辑运算和界面显示。

4. 测试计算器的功能和准确性:在完成硬件连接和代码编写后,我们对计算器进行了测试。

我们输入了一系列的算术表达式,包括简单的加减乘除运算,以及复杂的多步运算。

通过与手动计算的结果进行对比,我们验证了计算器的功能和准确性。

实验结果:经过多次测试,我们的计算器表现出了良好的功能和准确性。

无论是简单的加法还是复杂的多步运算,计算器都能够正确地给出结果。

液晶显示屏清晰地显示了算术表达式和计算结果,而按键的响应速度也非常迅速。

讨论:虽然我们的计算器在功能和准确性方面表现出色,但仍有一些改进的空间。

首先,我们可以增加更多的功能,如开方、求余等。

其次,我们可以改进界面设计,使其更加美观和易于使用。

此外,我们还可以考虑加入更强大的处理器和更大的内存,以提高计算器的性能。

结论:通过本次实验,我们成功设计和构建了一个简单的计算器,并验证了其功能和准确性。

计算器在各种算术运算中表现出色,并且具有清晰的界面和快速的响应速度。

然而,我们也意识到计算器仍有改进的空间,包括增加更多功能和改进界面设计。

总的来说,本次实验为我们深入了解计算器的原理和构造提供了宝贵的经验。

简易计算器实验报告

简易计算器实验报告

简易计算器实验报告简易计算器实验报告引言:计算器是我们日常生活中常用的工具之一。

它可以帮助我们进行简单的数学运算,提高计算的效率。

在本次实验中,我们将设计并制作一台简易计算器,通过实践来掌握计算器的原理和工作原理。

实验目的:1. 了解计算器的基本原理和工作原理;2. 掌握计算器的设计和制作方法;3. 提高动手能力和创造力。

实验材料:1. 电路板;2. 按键;3. LED显示屏;4. 电容;5. 电阻;6. 电源。

实验步骤:1. 连接电路板和电源,确保电路板能够正常工作;2. 将按键连接到电路板上,用于输入数字和运算符;3. 连接LED显示屏,用于显示计算结果;4. 添加电容和电阻,用于控制电路的稳定性和电流;5. 调试电路,确保计算器能够正确运行。

实验结果:经过一番调试,我们成功制作出了一台简易计算器。

它可以进行基本的加减乘除运算,并且在LED显示屏上显示结果。

通过按键输入数字和运算符,我们可以进行各种运算,从而得到我们想要的结果。

这台计算器虽然简单,但是它的实用性和便携性都非常高。

实验分析:在本次实验中,我们主要学习了计算器的基本原理和工作原理。

计算器是通过按键输入数字和运算符,然后经过电路的计算和控制,最终在显示屏上显示结果。

在电路中,电容和电阻的作用是为了保证电路的稳定性和电流的控制。

通过这个实验,我们更加深入地了解了计算器的内部结构和工作原理。

实验总结:通过本次实验,我们成功制作了一台简易计算器,并且对计算器的原理和工作原理有了更深入的了解。

实验过程中,我们不仅提高了动手能力和创造力,还培养了解决问题的能力。

计算器作为一种常见的工具,它的设计和制作过程并不复杂,但是它的实用性和便携性却非常高,为我们的生活带来了很大的便利。

未来展望:通过这次实验,我们对计算器的原理和工作原理有了初步的了解。

在未来,我们可以进一步深入研究计算器的更高级功能和更复杂的电路设计。

同时,我们也可以将这种简易计算器的设计思想应用到其他领域,如电子设备、机器人等,从而提高我们的创造力和创新能力。

数电实验二:简易计算器(设计报告)

数电实验二:简易计算器(设计报告)

数电实验2设计报告实验名称:简易计算器 实验目的:1.熟练掌握综合逻辑电路的设计方法及调试方法2.掌握Verilog HDL 数字系统设计方法3.熟悉PLD 实验箱的结构和使用及QuartusII 软件的基本操作4.掌握采用Quartus II 软件和实验箱设计实现逻辑电路的基本过程设计任务及要求:利用LPM 例化元件和适当的中小规模时序、组合逻辑电路设计一个4位简易计算器,实现2个4位二进制数的加、减、乘、除运算,完成主要模块的波形仿真,并将设计下载到实验箱进行功能测试。

要求:1、 用8个开关分别作为2个4位输入数据2、 运算结果用数码管显示电路设计过程:1、 设定加、减、乘、除四个LPM 例化元件加法器:2个四位二进制输入(加数、被加数),1个4位二进制输出(和)减法器:2个四位二进制输入(减数、被减数),1个4位二进制输出(差)乘法器:2个四位二进制输入(乘数、被乘数),1个8位二进制输出(积)除法器:24位二进制输出(分别代表商和余数)2、加入组合逻辑电路和4选一数据选择器,控制进行运算的种类(1)组合逻辑电路输入:功能:为了利用矩阵键盘对计算器对输入数字的加减乘除进行控制,我们画了这个组合逻辑电路,将矩阵键盘的行管脚和列管脚分别为输入后,当(1,1)位置的按键按下,则输出端输出2位2进制数11(控制减法操作),当(2,2)位置的按键按下,则输出端输出2位2进制数10(控制加法操作),当(3,3)位置的按键按下,则输出端输出2位2进制数01(控制乘法操作),当所有按键都没有按下时,输出默认为00,即控制除法操作。

(2)4选一数据选择器功能X1,y1为想要计算的两个4位2进制数,当S0,S1为11的时候,将X1,y1送入减法器输入端,当S0,S1为10的时候,将X1,y1送入加法器输入端,当S0,S1为01的时候,将X1,y1送入乘法器输入端,当S0,S1为00的时候,将X1,y1送入除法器输入端。

电子综合实践之计算器报告

电子综合实践之计算器报告

电子综合实践实验报告简易计算器的设计专业:电子信息工程设计人:XXX学号:0708060022指导老师:XXX一、设计目的随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。

电子产品的更新速度快就不足惊奇了。

计算器在人们的日常中是比较的常见的电子产品之一。

可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的四位数计算器,同时让学习者熟悉AT系列单片机的使用,学习如何掌握好进而设计好单片机的最小系统该设计系统是以AT89S51为单片机,P0口作为输入端,外接4X4的键盘,通过键盘扫描来对输入数的控制,在P1口,P2口接了驱动电路。

用来保证LED的工作正常。

计算器将完成的功能有加,减,乘,除,报错等功能。

二、设计要求1.以电子技术基础的基本理论为指导,将设计实验分为基础型和系统型两个层次,基础型指基本单元电路设计与调试,系统型指若干个模拟、数字基本单元电路组成并完成特定功能的电子电路的设计、调试;2.学习电子系统电路的焊接调试技术;3.拓展电子电路的应用领域,能设计、制作出满足一定性能指标或特定功能的电子电路设计任务。

三﹑主要功能:主要完成0~9999整数的一次加/减/乘/除运算,使用8快LED显示器显示数据,具体如下:加法运算能运行0~9999之间任何两数值之间运算,较普通,减法运算结果可以实现计算结果的负数显示,除法运算结果为0~9999并保留四位小数,乘法运算时即使超出四位也要能计算出来,即最多能显示8位计算结果能对错误进行提示,比如被除数是0则显示“error”,设有清零键,其它的未用到的数码管显示空白四﹑按键排布:因为使用的是4*4键盘,所以要删除部分不太重要的键,如小数点不使用,具体按键安排如下:0/1/2/34/5/6/78/9/+/-×/÷/=/复位五、电路的整体设计:1、电路的总体原理框图:2、工作原理及焊接原理框图如图所示。

数电实验简易计算器

数电实验简易计算器

北京邮电大学数电综合实验报告题目:简易计算器学院:信息与通信工程学院班级:学号:班内序号:姓名:数字电路综合实验报告简易计算器一、实验课题及任务要求设计并实现一个简易计算器。

基本要求:1.利用4X4 小键盘作为输入,包括:数字键0-9,清除键,等号键及‘+’‘-’‘*’运算符号键;2.实现输入为99 以内自然数的加、减、乘运算;3.能够实现多次连续计算(无优先级,从左到右计算结果),如:12+34×2-78=14;4.最大结果为99999(五位),溢出报警;5.用数码管显示输入的数字和结果,最左侧数码管用来表示数字的正负,其他五位数码管表示结果;结果的绝对值大于99999时,数码管显示‘Error’。

提高要求:1.实现输入为9999 以内自然数的加、减法;2.除法运算,不能除尽时小数保留1 位有效数字;3.能够区分运算优先级(先乘除,后加减),如:12+34×2-78=2 ;4.自拟其他功能。

二、系统设计2.1系统总体框图2.2逻辑流程图2.3MDS图2.4分块说明程序主要分为6个模块:分频器模块,键盘扫描模块,防抖模块,控制模块,数码管模块,报警模块。

VHDL文件devider包括分频器模块,keyboard包括键盘扫描模块,datain 包括防抖模块,控制模块,数码管模块,报警模块。

1.分频器模块系统时钟是50MHz,利用分频器得到25赫兹的时钟用于键盘扫描;100赫兹的时钟用于键盘去抖;1000赫兹的时钟用于数码管显示。

2.键盘扫描模块本模块主要完成是4×4键盘扫描,然后获取其键值,并对其进行编码,从而进行按键的识别。

键盘扫描的实现过程如下:对于4×4键盘,连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可。

为了完成这一识别过程,在时钟的上升沿输出列扫描信号其中一列输出低电平,另外三列输出高电平;在时钟的下降沿读入行值,当四行全为1时,表明无键按下;若某一列的行值为0,表示该行有键被按下。

计算器设计实验报告

计算器设计实验报告

计算器设计实验报告计算器设计实验报告第一部分:引言计算器是一种广泛应用于日常生活和工作中的电子设备。

它能够进行基本的数学运算,如加减乘除,以及更复杂的科学计算,如对数、三角函数等。

本实验旨在设计一个简单的计算器,以了解计算器的工作原理,并通过实践来提高我们的电子设计和编程能力。

第二部分:设计思路在设计计算器之前,我们首先需要确定所需的功能和要使用的技术。

基于我们的目标是设计一个简单的计算器,我们决定使用数字显示屏、按键和微控制器来实现。

数字显示屏是用于显示计算结果和用户输入的设备,我们选择了七段数码管作为显示器。

按键则用于接收用户输入的数字和操作符。

微控制器是计算器的核心部件,它负责接收按键输入,进行计算,并将结果显示在数码管上。

第三部分:实验步骤1. 硬件设计我们首先设计了数字显示屏的电路。

通过连接七段数码管和相应的电阻,我们能够控制数码管的亮灭,从而显示不同的数字和符号。

接下来,我们设计了按键的电路。

每个按键都与微控制器的引脚相连,当按键被按下时,引脚会接收到一个电平信号,微控制器通过检测引脚状态来确定用户的输入。

2. 软件编程在硬件设计完成后,我们开始编写微控制器的程序。

程序的主要任务是接收按键输入,并根据用户的操作进行相应的计算。

首先,我们设置了一个变量来存储用户的输入,然后通过检测按键状态来更新这个变量。

当用户按下数字键时,程序将数字添加到变量中;当用户按下操作符键时,程序将根据当前的操作符和变量进行相应的计算。

最后,程序将计算结果显示在数码管上。

我们使用了一个函数来将计算结果转换为七段数码管的控制信号,并通过相应的引脚将信号发送到数码管。

第四部分:实验结果经过一段时间的设计和调试,我们成功地完成了计算器的制作。

它能够准确地接收用户的输入,并进行相应的计算。

计算结果也能够正确地显示在数码管上。

我们进行了一系列测试来验证计算器的功能和性能。

测试包括基本的加减乘除运算,以及一些复杂的科学计算,如对数和三角函数。

简易计算器实训报告

简易计算器实训报告

简易计算器实训报告
一、实训目的:熟悉基本的Python编程知识和数据类型的使用,掌握基本的计算器功能实现
二、实训步骤:
1.首先导入math模块,因为本次实训中需要使用到math模块中的一些函数,如sqrt()
2.定义四个基本运算函数:add()、sub()、mul()、div(),并使用if语句判断用户需要执行的运算操作
3.如果用户输入的操作符不是四个基本运算符之一,则提示用户输入正确的操作符,直到用户输入正确的符号为止
4.通过while循环实现:如果用户输入的数字不是float类型或者用户输入的操作符不是字符串类型,则一直提示用户输入正确的数字或者操作符
5.通过格式化字符串实现结果的输出,保留两位小数
6.通过input()函数实现用户输入数字和操作符的交互
三、实训感想:
通过本次实训,我对Python编程语言有了更深入的了解和掌握,并且熟练掌握了Python中的数据类型、运算符和基本函
数的使用方法。

另外,本次实训也提高了我对问题解决的能力和编程思路,让我更加深入地理解了编程思维的本质。

最后,我希望自己能够不断地学习和探索,进一步扩展自己的编程知识,提升自己的实践能力和创新能力。

计算器实验报告

计算器实验报告
当一次运算完毕的时候,可以利用
bcs ="0";
cs ="0";
sign =null;
来保证下一次的计算可以顺利的进行而不占用资源。
六.操作说明
1.数字键0——9用于数字的键入,可键入个位数,也可连续键入多位数。
2.“.”用于小数点的键入
3.“+”“-”“*”“/”“=”“√””1/x”分别用于加、减、乘、除\相等开方及求倒的运算。
5.求倒:result = ((double)1/double.Parse (bcs)).ToString;
6.开方:result =Math.Sqrt(double.Parse(bcs)).ToString();
五.难点,出现的问题
当计算器设计好以后,对于backspace控件的控制存在一个问题。例如:当输入-0.011时,按backspace控件退格时,会出现-0的情况,而实际运算中却是不允许出现这样的情况的。为此,解决这个问题采用了
if(textBox1.Text =="0"|| textBox1.Text == result || textBox1.Text =="-0"||textBox1.Text =="-0.")
{
textBox1.Text = "0";
}
语句来控制此类问题的出现,当然,红色字体中的-0.在某些计算器中是出现过的,所以可有可无,这样,当backspace控件退回到“.”时,便可以直接放回为0.
教师评语:
指导教师
(签字)
评分
批改日期
2.减法:result = (double.Parse(bcs) -double.Parse(cs)).ToString();
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数电实验2实验报告
1、设计修改方案
(1)加入编码器连接4选一数据选择器,控制进行运算的种类
(2)修改了输出端数据选择器的程序,使得当计算器没有任何输入时,结果显示保持为0,并且利用芯片自身的灭零管脚,让显示结果中,当十位为零时,十
位的零不显示。

2、实验数据及分析
(1)修改后电路图(附后)
(2)仿真波形
设置输入2个4位二进制数为0110(十进制6)和0010(十进制2),计算方式控制SW[3:0]设为0111,即模拟除法操作,加入时钟信号。

①模拟除法波形:
可以看到十位(商)的数码管显示中,1、2、3、4、7段亮,显示为数字3,而个位(余数)显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6除2商3余0。

满足计算要求。

②模拟乘法波形:(SW[3:0]设为1011,其他输入同上)
可以看到个位的数码管显示中,1、4、5、6段亮,显示为C(化为十进制为12),而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6乘2等于0C,即等于12。

当改变输入4和2是,显示结果为8,。

满足计算要求。

③模拟加法波形:(SW[3:0]设为1101,其他输入同上)
可以看到个位的数码管显示中,1、2、3、4、5、6、7段全亮,显示为数字8,而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6加2等于08,即等于8。

满足计算要求。

④模拟减法波形:(SW[3:0]设为1110,其他输入同上)
可以看到个位的数码管显示中,2、3、6、7段亮,显示为数字3,而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6减2等于03,即等于3。

满足计算要求。

从上面加减乘除四种功能运算的波形仿真可以看出,本实验设计能够正确完成对输入数字的上述四种运算。

满足题目要求。

(3)硬件测试
修改后的管脚分配如下:
按照以上管脚分配将电路拷入实验箱。

8个拨码开关分为两组用于设置想要输入的两个4位二进制数。

当4个单独的负脉冲按键都没有被按下时,电路默认为除法操作,将左边四个拨码开关拨为“0110”(即X=6),右边4个拨码开关拨为“0010”(即Y=2)时,数码管显示30,说明6除2商3余0,结果正确,该输入X=4,Y=3,则显示11,即4除3商1余1,结果正确。

保持X=4,Y=3当按下最左边的负脉冲按键时,执行减法操作,数码管显示为1,即4-3=1,修改X=8,Y=3后,数码管显示5,即8-3=5,结果正确。

同理,拨动拨码开关使X=4,Y=3,当按下左数第二个的负脉冲按键时,执行加法操作,数码管显示为7,即4+3=7,重复置数测试结果都正确。

当按下左数第三个的负脉冲按键时,执行加乘操作,使X=4,Y=2,数码管显示为8,X=6,Y=2时,数码管显示为C(12),重复测试结果正确。

并且除了除法操作以外,其余计算中当十位为0时,则十位的0自动熄灭。

总之,经过实验箱硬件测试,本次试验设计的简易计算器完全符合选题要求,功能正确~
3、总结与体会
(1)故障分析及解决方案
简易计算器作为第二次选题试验,难度在所有选题中并不算高,而且设计思路很明确。

但是在整个为期4天的设计测试过程中依然遇到很很多很多的问题,在波形模拟正确的前提下,进行硬件测试的过程也出现了了很多故障。

首先就是加减乘除的控制问题,由于8个拨码开关全部用于置数,那么控制计算方式的开关就只能用矩阵键盘。

但是按照组合电路设计好并分配管脚后不管按不按键盘,计算
方式都默认为除法没有任何改变。

后来在老师的指导下使用了边上四个单独的负脉冲按键,并且用程序编了一个编码器。

第一次测试失败的原因是貌似那个试验箱的四个负脉冲按键不好使,当时觉得是程序不对,后来我们组另一个人在他箱子上测试可以控制,这才算解决问题。

另外还有显示的环节,数码管不管怎么样都显示两个8,电路程序模拟波形都没问题,后来问别的同学才发现CLK输入没加分频器,直接50MHZ就进去了,使数码管显示混乱,加了7个10分频的74290后,显示就正常了。

(2)心得体会。

相关文档
最新文档