《数字逻辑课程设计报告--数字跑表.docx》由会员分享,可在线阅读,更多相关《数字逻辑课程设计报告--数字跑表.docx(11页珍藏版)》请在优知文库上搜索。
1、数字逻辑课程设计报告题目:数字跑表目录1设计任务书32总体方案设计32.1 功能和逻辑需求分析32.2 总体方案设计73单元模块设计83.160 分/秒模块设计83.161 秒模块电路设计84.总体电路设计95电路调试与测试104.1 分/秒模块104.2 百分秒单元模块10106总结1设计任务书设计一个能显示分、秒、百分秒的数字跑表,要求:D具有开始计时/暂停/继续的功能;2)用6个数码管分别显示百分秒、秒和分钟。2总体方案设计2.1 功能和逻辑需求分析1 .数字跑表需要两个60进制数来实现秒和分钟的计数,同时一个100进制数来实现百分秒的计数,所以我们用可编辑器件两个GAL16V8和一个G
2、AL22V10设计成计数器,使能产生60进制、100进制,在TDS-4实验箱上6个数码管显示,实现数字跑表功能。原理框图如下:ABEI-HDL代码出口下:分/秒:MODULEcnt_60declarationsclockPIN1;cenPIN2;cleanPIN3;q6.q4PIN18.16istypereg,;q3.qPIN15.12istypereg;jmPIN19istype,reg,;Dl=q6.q4;D0=q3.q;equationsDl.clk=clock;DO.clk=clock;WHEN!cleanTHEN(Dl:=0;DO:=0;ELSEWHEN!cenTHEND1:=D1;
3、DO:=D0;ELSEWHEN(D0=9)THEND0:O;WHEN(Dl=5)THENDl:=0;jm:=l;)ELSED1:=D1+1;ELSE(DO:=DO+1;D1:=D1;END百分秒;MODULEent100declarationsclockPIN1;cleanPIN2;q7.q4PIN21.18istype,reg,:q3.qPIN17.14istype,reg,;jPIN23istype,reg,;Dl=q7.q4;D0=q3.q;equationsDl.clk=clock;DO.clk=clock;WHEN!cleanTHENDl:=0;DO:=0;ELSE(WHEN(D0=
4、9)THENDO:=0;WHEN(Dl=9)THEN(Dl:=0;jm:=l;ELSED1:=D1+1;ELSE(DO:=DO+1:D1:=D1;END2.通过利用74LS00与非门来控制脉冲输入,来实现跑表的暂停和启动。如图:2.2总体方案设计3单元模块设计3.160分/秒模块设计如图所示,使用GALl6V8芯片,其中引脚10和11接地,1278连接晶体管,引脚3实现清零功能,引脚19产生进位信号。20接5V3.2百分秒模块电路设计如图所示,采用了GAL22V10使用百进制,其中引脚12和13接地,引脚24连接5V引脚2实现清零功能,引脚23产生进位信号,引脚14-21连接晶体管,引脚1接分
5、频器产生的100HZ的频率4.总体电路设计5电路调试与测试5.1 分/秒模块把代码烧录在芯片后,我们按照电路图把引脚接好,把进位信号接到LED灯。通过分频器产生脉冲接到引脚1,经过测试,实现了60秒的计数,而且每满60,LED灯亮一次。5.2 百分秒单元模块把代码烧录在芯片后,我们按照电路图把引脚接好,把进位信号接到LED灯。通过分频器产生脉冲接到引脚1,经过测试,实现了100秒的计数,而且每满100,LED灯亮一次。6总结在此次的数字跑表设计过程中,让我们学会了在实践中发现错误,并解决错误,提高了我们动手能力和实际解决问题的能力。刚开始课程设计的时候,感觉还是比较吃力,因为对ABEL-HDL
6、语言的语法还不大了解,如果不用可编辑的GAL芯片来完成实验,会使实验变得复杂,而且芯片导线多了很难保证都合格可用。所以经过团队的商量,我们都决定自学ABEL-HDL语言,并且初步把题目的要求分成了3个模块,并在实验当天有了初步的方案并把代码打好并编译成功。然而实验当天又让我们看到理论与实践的差别,理论固然重要,但实践过程中却会出现不少我们忽略的问题,如芯片烧坏,导线坏了,进位不稳定等问题,一开始都找不出什么原因。但这并没使我们放弃,我们都抽出了空余时间到实验室把芯片,导线,电路箱都测试后再做实验,因为这些器件的损坏很难发现,一根导线的损坏都会致使实验失败。经过多次测试,终于解决了一些问题,而且增加了老师要求的清零功能,较好的完成了实验。虽然,在实验过程中困难重重,但我们也是越挫越勇,而且在近期末时期能完成它,也算是一个挑战了