EDA课程设计数字秒表

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-1-课程设计题目数字秒表设计院系信息工程学院班级姓名指导教师-2-目录第一章:系统设计要求..............................................................................................3第二章:实验目的......................................................................................................3第三章:实验原理......................................................................................................3第四章:系统设计方案..............................................................................................3第五章:主要VHDL源程序.....................................................................................41)十进制计数器的VHDL源程序..............................................................42)六进制计数器的VHDL源程序..............................................................53)蜂鸣器的VHDL源程序..........................................................................54)译码器的VHDL源程序..........................................................................65)控制选择器的VHDL源程序..................................................................76)元原件例化的VHDL源程序..................................................................8第六章:系统仿真.......................................................................................................10第七章:系统扩展思路...............................................................................................11第八章:设计心得总结...............................................................................................11-3-数字秒表的设计一、系统设计要求1.秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。当计时达60分钟后,蜂鸣器鸣响10声。2.整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。3.秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲。二、实验目的通过本次课设,加深对EDA技术设计的理解,学会用QuartusⅡ工具软件设计基本电路,熟练掌握VHDL语言,为以后工作使用打下坚实的基础。三、实验原理秒表由于其计时精确,分辨率高(0.01秒),在各种竞技场所得到了广泛的应用。秒表的工作原理与数字时基本相同,唯一不同的是秒表的计时时钟信号,由于其分辨率为0.01秒,所以整个秒表的工作时钟是在100Hz的时钟信号下完成。当秒表的计时小于1个小时时,显示的格式是mm-ss-xx(mm表示分钟:0~59;ss表示秒:0~59;xx表示百分之一秒:0~99),当秒表的计时大于或等于一个小时时,显示的和多功能时钟是一样的,就是hh-mm-ss(hh表示小时:0~99),由于秒表的功能和钟表有所不同,所以秒表的hh表示的范围不是0~23,而是0~99,这也是和多功能时钟不一样的地方。在设计秒表的时候,时钟的选择为100Hz。变量的选择:因为xx(0.01秒)和hh(小时)表示的范围都是0~99,所以用两个4位二进制码(BCD码)表示;而ss(秒钟)和mm(分钟)表示的范围是0~59,所以用一个3位的二进制码和一个4位的二进制码(BCD)码表示。显示的时候要注意的问题就是小时的判断,如果小时是00,则显示格式为mm-ss-xx,如果小时不为00,则显示hh-mm-ss。四、系统设计方案秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。四个10进制计数器:用来分别对百分之一秒、十分之一秒、秒和分进行计数;两个6进制计数器:用来分别对十秒和十分进行计数;分频器:用来产生100HZ计时脉冲;显示译码器:完成对显示的控制。根据电路持点,用层次设计概念将此设计任务分成若干模块,规定每一模块-4-的功能和各模块之间的接口。按适配划分后的管脚定位,同相关功能块硬件电路接口连线。用VHDL语言描述所有底层模块。清零信号为异步清零。当最高位记到6时停止计数显示译码器全部显示零,并发出十声警报声。按下复位按钮后继续计数。数字秒表拟由单片的CPLD/FPGA来实现,经分析设计要求,拟定整个系统由10个模块组成,原理图如下:五、主要VHDL源程序1.十进制计数器的VHDL源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycount10isport(clk,start,clr:instd_logic;cout:outstd_logic;daout:outstd_logic_vector(3downto0));endcount10;architectureoneofcount10issignalq0:std_logic_vector(3downto0);signalq1:std_logic;begin-5-process(clk,clr)beginifclr='1'thenq0=0000;elsif(clk'eventandclk='1')thenifstart='1'thenifq0=1001thenq0=0000;q1='1';elseq0=q0+1;q1='0';endif;endif;endif;endprocess;daout=q0;cout=q1;endone;2.六进制计数器的VHDL源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycount6isport(clk,start,clr:instd_logic;cout:outstd_logic;daout:outstd_logic_vector(3downto0));endcount6;architecturetwoofcount10issignalq0:std_logic_vector(3downto0);signalq1:std_logic;beginprocess(clk,clr)beginifclr='1'thenq0=0000;elsif(clk'eventandclk='1')thenifstart='1'thenifq0=0101thenq0=0000;q1='1';elseq0=q0+1;q1='0';endif;endif;endif;endprocess;daout=q0;cout=q1;endtwo;3.蜂鸣器的VHDL源程序libraryieee;-6-useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityalarmisport(clk,I:instd_logic;q:outstd_logic);endalarm;architecturearofalarmissignaln:integerrange0to20;signalq0:std_logic;beginprocess(clk)beginifclk'eventandclk='1'thenifi='0'thenq0='0';n=0;elsifn=19andi='1'thenq0=notq0;n=n+1;elseq0='0';endif;endif;endprocess;q=q0;endar;4.译码器的VHDL源程序libraryieee;useieee.std_logic_1164.all;entitydeledisport(num:instd_logic_vector(3downto0);led:outstd_logic_vector(6downto0));enddeled;architectureaofdeledisbeginprocess(num)begincasenumiswhen0000=led=0111111;when0001=led=0000110;when0010=led=1011011;when0011=led=1001111;when0100=led=1100110;when0101=led=1101101;-7-when0110=led=1111101;when0111=led=0100111;when1000=led=1111111;when1001=led=1101111;whenothers=led=0000000;endcase;endprocess;enda;5.控制选择器的VHDL源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityseltimeisport(clr,clk:inbit;dain0,dain1,dain2,dain3,dain4,dain5:instd_logic_vector(3downto0);sel:outstd_logic_vector(2downto0);daout:outstd_logic_vector(3downto0));endseltime;architectureaofseltimeissignaltemp:integerrange0to5;beginprocess(clk)beginif(clr='1')thendaout=0000;sel=000;temp=0;elsif(clk='1'andclk'event)theniftemp=5thentemp=0;elsetemp=temp+1;endif;casetempiswhen0=sel=000;daout=dain0;when1=sel=001;daout=dain1;when2=sel=010;daout=dain2;when3=sel=011;daout=dain3;when4=sel=100;daout=dain4;when5=sel=101;daout=dain5;e

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功