当前位置:文档之家› 数电课程设计报告万年历

数电课程设计报告万年历

北京工商大学
《数字电子技术基础》课程设计报告
学院:计算机与信息工程学院
专业:信实
学生姓名:薛子朦
学号:1004060121
课程设计题目: 1.具有运算及存储功能的计算机
2.数字万年历
设计时间:2012/12.23至2012/12.26
题目要求:一.运算存储计算机
自行设计指令,实现两个数字相加或相减的运算,指令得到译码后控制存储器的相关元件,使数据输入目的地并用代码存在存储
器里,用0、1字符串来表示;最后运算的结果要有所表示;可参考冯
诺依曼计算机体系结构。

二.数字万年历
实现万年历数字显示功能,能显示准确的年(平年闰年)、
月(大小月)、星期、日、小时、分钟、秒,并能实现上闹钟功能。

一、设计目的
1、掌握不同集成芯片的逻辑功能及使用方法
2、掌握加法器、存储器的工作原理
3、掌握数字电子钟及万年历的组成及工作原理
4、数字电子钟及万年历的设计与制作
5、熟悉multisim电子电路设计及仿真软件的应用
6、灵活运用课本知识解决实际问题
7、锻炼主动思考的思维方式
二、设计思路---运算、存储计算机
1.74LS283超前进位并行加法器的串接可以计算八位二进制数的加法运算
2.将输出的八位二进制数转换成三位十进制数,通过数码管显示
3.通过8421BCD码编码器,将十进制数转化成四位二进制数
4.选择74LS283超前进位并行加法器的组合形成8421BCD码加法器
5.编码器与74LS283加法器相接,通过8421BCD码加法器串接可以计算三位十进制数的加法运算,输出结果通过数码管显示
八位二进制加数 与被加数输入八位二进制数 加法运算九位二进制数到三位十进制BCD 码的转换三位数码管显示输出四位数码管显示输出三位十进制加数 与被加数输入三位十进制BCD 码 加法运算 设计思路---数字万年历 1、设计60进制秒计数器,用来实现秒-分及分-时的计数功能 2、设计24进制时计数器,用来实现时-日的计数功能 3、设计31、30、29、28制天计数器,用来实现不同月份的月计数功能 4、设计12机制月计数器,用来实现月-年计数功能 5、设计7进制周计数器,用来实现日-周计数功能 6、设计闰年平年不同月份不同进制逻辑电路 7、设计调整时间电路 8、整合所有电路并根据演示需要增加控制开关 三、系统综述(运算、存储计算机) 控制电路是总体电路的枢纽,是控制电路开启和关闭的部分。

电路的控制可以采用多种方式,诸如开关、脉冲等。

本次设计主要侧重于三位十进制数(000到255)的输入,于是就要通过一个双掷开关来实现高低电平的输入,双掷开关
的另外两头一个接高电平5伏电压,一个接地,通过开关的开和关来实现1和0的输入,这样就实现了电路的控制。

本次设计一共用到54个双掷开关,其型号为SPDT。

开关从下往上、从左往右依次来表示二进制数1到9的输入,其中开关都断开表示0的输入。

在如图所示的部分开关电路中,J1到J9别表示1到9,实现了0到9的输入。

编码电路是总体电路的第二部分,其主要作用是实现十进制数到二进制数的转换,本次设计中要用到的是10线-4线优先编码器74LS147,通过输入一个十进制数转换到了四位二进制数,由于74LS147的输入和输出都是低电平有效,因此输出的是四位十进制数的反码,而后面要进行计算,则此时必须将输出的四个数接到非门,然后输出,这次设计中用到的非门为74LS05,可以实现反码的转换。

加法电路是总电路的第三部分,也是总电路的中心环节,74LS283是中规模四位二进制超前进位加法器,它实现的是四位二进制数的相加,但是题目中要设计的是12位BCD码的相加,这样就需要用到3个加法器。

BCD码是用4位二进制数表示1位十进制数,4位二进制数内部为二进制,BCD码之间是十进制,即逢10进1。

采用判“9”电路,当和数大于9时,8421BCD码即产生进位,而此时十六进制则不一定产生进位,因此需要对二进制数进行修正,即加上6(0110),让其产生一个进位,当和数小于9时,则不需要修正。

将大于9的最小项列在卡诺图里,同时,还要考虑到,若相加产生进位,则同样出现大于9的结果,综合考虑,可得卡诺图为:
S1S000 01 11 10
S3S2
00 01 11 10 通过上述的卡诺图,可得到修正和数的条件为L=C 3+S 3S 2+S 3S 1,于是可通过一个非门(74LS05)、三个与非门(74LS00和74LS10)和两个加法器来74LS283来构建成一个新的加法器,这个新的加法器就可以实现一位8421BCD 码的加法计算。

本次设计中,要进行运算的是十二位字码的相加,需要将三个这样的新加法器串联在一起,于是,将与非门出来的线与加法器向高位的进位端出来的线共同接到一个或门(74LS32)的两个入线端,然后将出线端接到下一个新加法器的低位进位输入端,这样就完成了8421BCD 码的计算。

译码电路是总体电路的第四部分,作用在于将加法器输出得到的十二位数通过译码器再转换为三位十进制数。

输出电路是总电路的最后一部分,它的作用是显示最后的计算结果。

当BCD 码是0000时,显示0;当BCD 码是0001时,显示1;当BCD 码是0010时,显示2;当BCD 码是0011时,显示3;当BCD 码是0100时,显示4;当BCD 码是0101时,显示5;当BCD 码是0110时,显示6;当BCD 码是0111时,显示7;当BCD 码是1000时,显示8;当BCD 码是1010时,显示9。

上述关系即为最后显示电路的实现关系。

1 1 1 1 1 1
系统框图:
个位(十位、百位)部分相加的真值表
加数被加数和
0000 0000 0000
0001 0000 0001
0001 0001 0010
0010 0001 0011
0010 0010 0100
0011 0010 0101
0011 0011 0110
0100 0011 0111
0100 0100 1000
0101 0100 1001
0101 0101 10000
0110 0101 10001
0110 0110 10010
0111 0110 10011
0111 0111 10100
1000 0111 10101
1000 1000 10110
1001 1000 10111
1001 1001 11000 显示部分

自行设计指令:15+1=16,显示结果如下
经编码、译码后存入计算机
编码部分
三、设计过程(万年历)
1、60进制计数器
设计图:
两个芯片之间采用串行进位方式,接成60进制计数器。

2、二十四进制计数器
3、天计数器及周计数器
备注:该部分单独可以实现,但是总电路图中没有连出。

4、闰年平年各月份不同进制逻辑控制电路设计
通过二与门,三与门,将28日,29日,30日,31日的特征信号输出;特征信号引入数据选择器,由地址信号进行选择,然后接回控制日期的160芯片。

数据选择器的A、B信号由“月”的特征信号及”闰年”的特征信号,通过逻辑电路给出,通过不同信号选择不通进制。

如下:
A B 进制
0 0 28
0 1 29
1 0 30
1 1 31
而闰年信号通过再加一个四进制计数器,平年输出信号为0,闰年输出信号为1,另其与月份信号够成选择信号,实现各进制的转换。

对于大小月,首先列出真值表
十位个位月份大小月
Q3Q2Q1Q0Q3Q2Q1Q0
0 0 0 0 0 0 0 1 1 31
0 0 0 0 0 0 1 0 2
0 0 0 0 0 0 1 1 3 31
0 0 0 0 0 1 0 0 4 30
0 0 0 0 0 1 0 1 5 31
0 0 0 0 0 1 1 0 6 30
0 0 0 0 0 1 1 1 7 31
0 0 0 0 1 0 0 0 8 31
0 0 0 0 1 0 0 1 9 30
0 0 0 1 0 0 0 0 10 31
0 0 0 1 0 0 0 1 11 31
0 0 0 1 0 0 1 0 12 30
数字万年历总设计图
分解:(年、月部分)
分解:(针对年、月的选择判断)
分解:(分、秒、时)
四.总结
在具体设计的过程中出现了许多难题。

我不断提出新的问题,然后去论证、推翻,再接着提出新的问题。

在这个循环往复的过程中,从宏观到微观上都对电路电子设计有了初步的概念与认知。

由于长时间生病我没有对出现的问题实施解决方案,比如说定时闹钟方案的实施以及为了图省事把万年历变成10年历;生病和时间紧不应该成为借口,如果基础知识扎实的话要做出来结果不成问题。

Multisim软件是可以将一个系统分为好几个子模块的,而且连线之间也可以规则化;这一点在即将完成时才知道,导致我之前做的所有“不规则”图形都
要被推翻,我试着改变设计图,最终还是没能够在验收的时候全部改完;这也是当初考虑问题不周到、对系统不熟悉就急于上手导致的闹剧。

两个系统的原理还是比较清晰的;我在仿真的过程中遇到最大的困难就是对于芯片本身的了解没有做足功课,比如在使用74LS160和74LS161两种芯片的时候,基于印象而没有查找资料,于是出久久调试不出来、最后才想到…总之本次课程设计任务使我了解到自己知识上的漏洞并且掌握了教训,行动之前的思考和准备功课非常重要。

相关主题