EDA数字秒表设计.doc_第1页
EDA数字秒表设计.doc_第2页
EDA数字秒表设计.doc_第3页
EDA数字秒表设计.doc_第4页
EDA数字秒表设计.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

北 华 航 天 工 业 学 院综合实践总结报告 综合实践名称: EDA技术与实践 数字秒表设计 综合实践地点、时间 教二EDA实验室 11-12-2学期第1215周 专业班级: * 姓名: * 学号: * 同组人员: * 指导教师姓名: * 完 成 时 间: 2012 年 5 月 日目 录一、概述二、综合实践目的.三、综合实践具体内容和纪录1、硬件电路设计.2、程序设计及仿真波形3、数字秒表的原理图4、主程序.165、实验步骤.18四、综合实践总结及分析19五、综合实践所需仪器设备22六、参考资料22一、概述秒表的逻辑结构主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。在整个秒表中最关键的是如何获得一个精确的100Hz计时脉冲,除此之外,整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。当计时达60分钟后,蜂鸣器报警。二、综合实践目的1掌握多位计数器相连的设计方法2掌握十进制、六进制计数器的设计方法3巩固多位共阴极扫描显示数码管的驱动及编码4掌握扬声器的驱动5. 掌握EDA技术的层次化设计方法 三、综合实践具体内容和记录1、硬件电路设计 计数器设计这里需要四个十进制计数器(分别作为数字秒表的百分之一秒、十分之一秒、秒和分)和两个六进制计数器(分别作为数字秒表的十秒和十分),当要停止计数时,START端置0;当要计数器清零时,CLR端置0.(1)十进制计数器 (2)六进制计数器(3)蜂鸣器当数字秒表计时达60分钟的时候会产生一个进位信号,进位信号接I端,此蜂鸣器相当于一个分频器,即输出的Q端与QER(0)等价,Q端会有交替的十个高低电平,所以蜂鸣器会响十下。(4)分频器此分频器主要是产生100HZ的信号来加在计数器两端,100HZ的信号加在选择器上使扫描稳定。(5)显示译码器NUM3.0接上面选择器的Y3.0端,而LED6.0接数码管的abcdefg段。(6)选择器选择器的六个输入端分别连着六个计数器,SEL端实现对这六个端的选择,例如当SEL=000时候,选择DAIN03.0,且SEL端接3-8译码器的A2、A1、A0端,Y3.0接七段译码器。2、程序设计及仿真波形十进制计数器(count10.vhd)四个10进制计数器:用来分别对百分之一秒、十分之一秒、秒和分进行计数,其程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity count10 isport( clr,start,clk:in std_logic; cout:out std_logic; daout:buffer std_logic_vector(3 downto 0);end count10;architecture behave of count10 isbeginprocess(clr,start,clk)beginif clr=1 then daout=0000; elsif ( clkevent and clk=1) then if start=1 then if daout=1001 then daout=0000;cout=1; else daout=daout+1;cout=0; end if; end if;end if;end process;end behave;波形:六制计数器(count6vhd)两个6进制计数器:用来分别对十秒和十分进行计数,其程序如下: 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:out 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=0101 then temp=0000; cout=1; else temp=temp+1; cout=0; end if; end if; end if; end process;daout=temp; end behave;波形:蜂鸣器(alarm.vhd)其程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity alarm isport(clk,I:in std_logic; q:out std_logic );end alarm;architecture behave of alarm issignal n:integer range 0 to 20;signal q0:std_logic;beginprocess(clk)begin if clkevent and clk=1thenif i=0 then q0=0;n=0;elsif n=19 and i=1 thenq0=not q0;n=n+1;else q0=0;end if;end if;end process;q=q0;end behave;波形:分频器(fenpin100)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fenpin100 isport (clr,clk:in std_logic ; q:buffer std_logic);end fenpin100;architecture behave of fenpin100 issignal counter:integer range 0 to 12499;beginprocess (clr,clk)beginif(clkevent and clk=1) then if clr=1 then counter=0; elsif counter =12499 then counter=0; q=not q; else counterledledledledledledledledledledled=1111111; end case; end process;end behave; 波形:选择器(seltime.vhd)其程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity seltime 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 seltime;architecture behave of seltime is signal temp:integer range 0 to 5;begin process(clk) begin if (clr=1) then daout=0000; sel=000; temp=0; elsif (clk=1and clkevent) then if temp=5 then temp=0; else tempsel=000;daoutsel=001;daoutsel=010;daoutsel=011;daoutsel=100;daoutsel=101;daout=dain5; end case; end if; end process;end behave;波形:3、数字秒表的原理图4、主程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity zhu isport(stop,start,clk:in std_logic;sel:out std_logic_vector(2 downto 0);led:out std_logic_vector(6 downto 0);speakr:out std_logic);end zhu;architecture cheng of zhu iscomponent FENPIN100port (clr,clk:in std_logic ; q:buffer std_logic);end component;component count10port( clr,start,clk:in std_logic; cout:out std_logic; daout:buffer std_logic_vector(3 downto 0);end component;component count6port (clk,clr,start:in std_logic; daout:out std_logic_vector(3 downto 0); cout:out std_logic ); end component;component seltimeport(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 component;component deledport(num:in std_logic_vector(3 downto 0); led:out std_logic_vector(6 downto 0); end component;component alarmport(clk,I:in std_logic; q:out std_logic );end component;signal sm:std_logic_vector(13 downto 0);beginyj0: FENPIN100 port map(stop,clk,sm(0);yj1: count10 port map(stop,start,sm(0),sm(9),sm(1);yj2: count10 port map(stop,start,sm(9),sm(10),sm(2);yj3: count10 port map(stop,start,sm(10),sm(11),sm(3);yj4: count6 port map(stop,start,sm(11),sm(4),sm(12);yj5: count10 port map(stop,start,sm(12),sm(13),sm(5);yj6: count6 port map(stop,start,sm(13),sm(6),sm(8);yj7: seltime port map(stop,sm(0),sm(1),sm(2),sm(3),sm(4),sm(5),sm(6),sel(0)or sel(1)or sel(2),sm(7);yj8: deled port map(sm(7),led(0.6);yj9: alarm port map(sm(0),sm(8),speaker);end cheng;5、实验步骤1.根据电路持点,用层次设计概念将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口。2.了解软件的元件管理深层含义,以及模块元件之间的连接概念,对于不同目录下的同一设计,如何熔合。3.适配划分前后的仿真内容有何不同概念,仿真信号对象有何不同,让学生有更深一步了解。熟悉了CPLD设计的调试过程中手段的多样化。4.按适配划分后的管脚定位,同相关功能块硬件电路接口连线。5 所有模块全用VHDL语言描述。四、综合实践总结及分析 1、系统仿真结果:2、 通过硬件测试,得到如下测试结果:(1)数码管能够正确显示秒表数字。(2)给启动端(start)高电平时,能够启动计时;低电平时,能够暂停计时。(3)给清零端(stop)低电平时,能够进行秒表清零操作。(4)当计时达60分钟时,蜂鸣器鸣响10声(因为频率较大,所以时间较小,导致听到的不是连续的十声)3、实验连线:下载程序到主芯片后,按适配划分后的管脚定位,连接线路。输入接口:1代表归零,启动信号RESET、START的管脚分别连接按键开关2 蜂鸣器鸣响信号SPEAKER接蜂鸣器的输入3代表计数时钟信号CLK的管脚同2.5MHZ时钟源相连 输出接口:代表扫描显示的驱动信号管脚SEL2,SEL1,SEL0和AG分别连接到数码管相应接口。4、总结:1 严禁带电插拔“JTAG”下载电缆!为了安全地使用下载电缆,防止损坏下载电缆中的器件和计算机主板的并口,应在计算机及实验箱均断电的情况下,插入或拔出下载电缆。插入下载电缆的步骤:确认完全断电下载电缆并口与计算机并口相连下载电缆JTAG口与实验箱的JTAG口相连接通实验箱电源接通计算机电源;拔出下载电缆的步骤:关闭实验箱电源拔下JTAG电缆插头实验箱内部连线接通实验箱电源进行功能验证。测试完毕,先断掉EDA实验箱的电源,再把JTAG电缆的小插头插入实验箱的JTAG插座,然后接通实验箱电源,准备下一次的设计下载。2 所有文件应放在同一个文件夹下,文件夹名应符合要求,文件名应与实体名一致,先录入底层文件,把某个底层文件设为当时的顶层,保存、编译、仿真、退出,再录入另一个底层文件,这样把所有的文件都一一录入,最后录入顶层文件,并保存、编译、仿真,再下载顶层文件到指定器件,实现功能。5、心得体会:通过这次课

温馨提示

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

评论

0/150

提交评论