数电实验二:简易计算器(实验报告)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)心得体会