【EDA综合课程设计-数字秒表】

上传人:庄** 文档编号:234828561 上传时间:2022-01-04 格式:DOC 页数:13 大小:93KB
返回 下载 相关 举报
【EDA综合课程设计-数字秒表】_第1页
第1页 / 共13页
【EDA综合课程设计-数字秒表】_第2页
第2页 / 共13页
【EDA综合课程设计-数字秒表】_第3页
第3页 / 共13页
【EDA综合课程设计-数字秒表】_第4页
第4页 / 共13页
【EDA综合课程设计-数字秒表】_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《【EDA综合课程设计-数字秒表】》由会员分享,可在线阅读,更多相关《【EDA综合课程设计-数字秒表】(13页珍藏版)》请在金锄头文库上搜索。

1、北 华 航 天 工 业 学 院EDA技术综合设计课程设计报告报告题目: 数字秒表 作者所在系部: 电子工程系 作者所在专业: 电子信息工程 作者所在班级: B10211 作 者 姓 名 : 指导教师姓名: 完 成 时 间 : 2012.12.13 内 容 摘 要近几年EDA技术发展十分迅速,在未来的三至五年EDA技术会像单片机一样成为社会的主流。应用VHDL语言设计数字系统,很多设计工作可以在计算机上完成,从而缩短了数字系统的开发时间。我们尝试利用VHDL为开发工具设计数字秒表。秒表的逻辑结构较简单,它主要由十进制分频器、计数器、六进制计数器、数据选择器、和显示译码器等组成。在整个秒表中最关键

2、的是如何获得一个精确的100HZ计时脉冲,除此之外,整个秒表还需有一个启动信号和一个清零信号,以便秒表能随意停止及启动。 秒表有共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便与同显示译码器连接。关键词: VHDL,数字秒表,QuartusII,时序仿真图。 目 录一、实验目的 1二、硬件要求 1三、方案论证 1 四、模块说明 1分频器 1六进制计数器 2十进制计数器 3控制选择器 4 译码器 5 蜂鸣器模块 6五、整体连接图 7六、实验步骤 8七、实验结果 8八、实验总结 8 九、参考文献8 三课程设

3、计任务书课题名称秒表接口设计完成时间2012.1213指导教师职称副教授学生姓名班 级B10211总体设计要求和技术要点总体设计要求: 通过本课程的学习使学生掌握可编程器件、EDA开发系统软件、硬件描述语言和电子线路设计与技能训练等各方面知识;提高工程实践能力;学会应用EDA技术解决一些简单的电子设计问题。技术要点:1秒表有共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便与同显示译码器的连接。2开关设置秒表报警器,每10秒钟,蜂鸣器鸣响1声,发光二极管闪烁。当计时达60分钟后,蜂鸣器鸣响10声。工作内容

4、及时间进度安排工作内容:在软件上编辑、编译程序,并仿真到达实验要求。进度安排;课下编写程序,并要求程序能通过编译仿真;第十五周在实验箱上下载调试程序;验收。课程设计成果1与设计内容对应的软件程序2课程设计报告书3成果使用说明书4设计工作量要求一、 实验目的学习使用VHDL语言设计题目,掌握VHDL语言的编程方法以及EDA芯片的下载仿真。二、硬件要求(1)主芯片EPF10K10LC84-4。(2)蜂鸣器。(3)8位八段扫描共阴极数码显示管。(4)二个按键开关(清零,开始/暂停)。三、方案论证数字秒表计时控制电路控制状态机计时电路显示电路分频电路计数器六进制计数器扫描电路七段译码器十进制计数器 系

5、统组成框图四、模块说明秒表的设计共化分为6个模块:分频器(cfp),六计数器(count6),十计数器(count10),六选一选择器,译码器。下面具体分析各个模块的原理、内容和功能。1.分频器(cfp)能够实现对10MHZ 的clk时钟信号进行分频,从而得到0.01秒的计数脉冲信号即100hz的脉冲信号。图1为分频器的仿真波形图。library ieee;use ieee.std_logic_1164.all;entity cfp is port(clk: in std_logic; q0: buffer std_logic);end cfp; architecture a of cfp i

6、s signal counter:integer range 0 to 49999; begin process(clk) begin if (clk=1 and clkevent) then if counter=49999 then counter=0; q0= not q0; else counter=counter+1; end if; end if; end process;end a; 图1. 分频器的仿真波形2.六计数器(COUNT601)能够实现6进制循环计数,功能是秒到分和分到时的进制计数。图2为六计数器的仿真波形图library ieee;use ieee.std_logi

7、c_1164.all;use ieee.std_logic_unsigned.all;entity count6 is port (clk,clr,start:in std_logic; daout:out std_logic_vector(3 downto 0); cout:buffer std_logic );end count6;architecture behave of count6 is signal temp:std_logic_vector(3 downto 0);beginprocess(clk,clr) begin if clr=1 then temp=0000; cout

8、=0; elsif clkevent and clk=1 then if start=1then if temp=0101 then temp=0000; cout=1; else temp=temp+1;cout=0; end if; elsif start=0 then temp=temp;cout=cout; end if; end if; end process;daout=temp;end behave; 图2. 六进制计数器的仿真波形3.十进制计数器(COUNT24) 能够实现10进制循环计数,实现0.01秒到0.1秒、0.1秒到1秒、1秒到10秒、一分到10分的进制计数,图3为十

9、计数器的仿真波形图。 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count6 is port (clk,clr,start:in std_logic; daout:out std_logic_vector(3 downto 0); cout:buffer std_logic );end count6;architecture behave of count6 is signal temp:std_logic_vector(3 downto 0);beginprocess(clk

10、,clr) begin if clr=1 then temp=0000; cout=0; elsif clkevent and clk=1 then if start=1then if temp=0101 then temp=0000; cout=1; else temp=temp+1;cout=0; end if; elsif start=0 then temp=temp;cout=cout; end if; end if; end process;daout=temp;end behave; 图3. 十进制计数器的仿真波形4.控制选择器能够实现六路计数的循环选通即数码管将显示的数被循环选通

11、,每一路对应一个数码管。其中的sel为位选输出。图4为其仿真波形。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity konhzhi is port(clr,clk: in bit; dain0,dain1,dain2,dain3,dain4,dain5: in std_logic_vector(3 downto 0); sel: out std_logic_vector(2 downto 0); daout: out std_logic_vector(3 downto 0);end konhzhi;architecture a of konhzhi is signal temp:integer range 0 to 5;begin process(clk) begin if (clr=1) then daout=0000;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号