EDA课程设计数字秒表设计_第1页
EDA课程设计数字秒表设计_第2页
EDA课程设计数字秒表设计_第3页
EDA课程设计数字秒表设计_第4页
EDA课程设计数字秒表设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE6北华航天工业学院《EDA技术综合设计》课程设计报告报告题目:数字秒表设计作者所在系部:电子工程系作者所在专业:自动化作者所在班级:B08221作者姓名:李龙指导教师姓名:崔瑞雪完成时间:2010/12/3内容摘要秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。当计时达60分钟后,蜂鸣器鸣响10声。除此之外,整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。四个10进制计数器:用来分别对百分之一秒、十分之一秒、秒和分进行计数;两个6进制计数器:用来分别对十秒和十分进行计数;分频器:用来产生100HZ计时脉冲;显示译码器:完成对显示的控制。根据电路持点,用层次设计概念将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口。。按适配划分后的管脚定位,同相关功能块硬件电路接口连线。用VHDL语言描述所有底层模块。清零信号为异步清零。当最高位记到6时停止计数显示译码器全部显示零,并发出十声警报声。按下复位按钮后继续计数。关键词:秒表、计数器、蜂鸣器、显示器

目录十进制计数器‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧5六进制计数器‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧6选择数码管‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧8显示数码管‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧9响铃装置‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧10总设计电路图‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧11实验总结‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧12参考文献‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧12课题名称数字秒表设计完成时间2指导教师崔瑞雪职称副教授学生姓名李龙班级B08221总体设计要求和技术要点秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。当计时达60分钟后,蜂鸣器鸣响10声。除此之外,整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲。工作内容及时间进度安排周一器件的熟悉及连接,调试程序的可运行性。周二秒表的运行及验收。课程设计成果1.与设计内容对应的软件程序2.课程设计报告书3.成果使用说明书4.设计工作量要求课程设计任务书十进制计数器模块libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitycount10isport(clr,start,clk:instd_logic;cout:outstd_logic;daout:bufferstd_logic_vector(3downto0));endcount10;architecturebehaveofcount10isbeginprocess(clr,start,clk)beginifclr='1'thendaout<="0000";elsif(clk'eventandclk='1')thenifstart='1'thenifdaout="1001"thendaout<="0000";cout<='1';elsedaout<=daout+1;cout<='0';endif;endif;endif;endprocess;endbehave;六进制计数器模块libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitycount6isport(clr,start,clk:instd_logic;cout:outstd_logic;daout:bufferstd_logic_vector(3downto0));endcount6;architecturebehaveofcount6isbeginprocess(clr,start,clk)beginifclr='1'thendaout<="0000";elsif(clk'eventandclk='1')thenifstart='1'thenifdaout="0101"thendaout<="0000";cout<='1';elsedaout<=daout+1;cout<='0';endif;endif;endif;endprocess;endbehave;六进制计数器模块(当最高位为六时清零)libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycount6_2isport(clk,start,clr:instd_logic;cout:outstd_logic;daout:outstd_logic_vector(3downto0));endcount6_2;architecturetwoofcount6_2issignalq0:std_logic_vector(3downto0);signalq1:std_logic;beginprocess(clk,clr)beginifclr='1'thenq0<="0000";q1<='0';elsifclk'eventandclk='1'thenifstart='1'thenifq0="0101"thenq0<="0000";q1<='1';elseq0<=q0+1;q1<='0';endif;endif;endif;endprocess;daout<=q0;cout<=q1;end;选择模块libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entityseltimeisport(clr,clk:instd_logic;dain1:instd_logic_vector(3downto0);dain2:instd_logic_vector(3downto0);dain3:instd_logic_vector(3downto0);dain4:instd_logic_vector(3downto0);dain5:instd_logic_vector(3downto0);dain6:instd_logic_vector(3downto0);sel:outstd_logic_vector(2downto0);daout:outstd_logic_vector(3downto0));endseltime;architecturebehaveofseltimeissignalcount:std_logic_vector(2downto0);beginsel<=count;process(clr,clk)beginifclr='1'thencount<="000";elsif(clk'eventandclk='1')thenifcount="110"thencount<="000";elsecount<=count+1;endif;endif;casecountiswhen"001"=>daout<=dain1;when"010"=>daout<=dain2;when"011"=>daout<=dain3;when"100"=>daout<=dain4;when"101"=>daout<=dain5;when"110"=>daout<=dain6;whenothers=>null;endcase;endprocess;endbehave;数码管显示模块libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitydeledisport(num:instd_logic_vector(3downto0);led:outstd_logic_vector(6downto0));enddeled;architecturebehaveofdeledisbeginprocess(num)--abcdefgbegincasenumiswhen"0000"=>led<="1111110";when"0001"=>led<="0110000";when"0010"=>led<="1101101";when"0011"=>led<="1111001";when"0100"=>led<="0110011";when"0101"=>led<="1011011";when"0110"=>led<="1011111";when"0111"=>led<="1110000";when"1000"=>led<="1111111";when"1001"=>led<="1111101";whenothers=>null;endcase;endprocess;endbehave;Alarm模块libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entityalarmisport(clk,i:instd_logic;q:outstd_logic);endalarm;architecturebehaveofalarmissignalcount:integerrange0to20;signalq0:std_logic;beginprocess(clk,i)beginif(clk'eventandclk='1')thenifi='0'thencount<=0;q0<='0';elsifi='1'thenifcount<=19thencount<=count+1;q0<=notq0;endif;endif;endif;endprocess;q<=q0;endbehave;实验总结这次课程设计历时两天,通过这次的学习,发现了自己的很多不足(你的不足之一就是欠认真,请重写报告,其他不足我还未发现,若有,自己偷着改吧),自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还需要提高。通过这次学习,我不仅学会了使用Max+plusⅡ软件进行仿真,进一步学会了EDA的理论知识。这次课程设计让我理解到理论与实际

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论