欢迎来到天天文库
浏览记录
ID:16046570
大小:619.50 KB
页数:12页
时间:2018-08-07
《综合数字计时器的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计设计题目:综合数字计时器的设计指导老师:班级:电子0902学号:姓名:目录1课程设计目的………………………………………………12课程设计要求………………………………………………13设计原理图…………………………………………………14设计流程图…………………………………………………25系统设计方案………………………………………………26课程设计的VHDL参考程序…………………………………37系统仿真……………………………………………………68心得体会……………………………………………………99参考文献…………………………
2、…………………………10综合数字计时器的设计一、课程设计的目的1、熟悉《VHDL语言及可编程逻辑器件》课程的基本内容。了解可编程逻辑器件FPGA/CPLD结构、特点、功能描述、输出配置、一般性测试等;2、掌握Altera公司的EDA开发软MAX+PLUSⅡ的使用方法。能够熟练的安装MAX+PLUSⅡ软件,并能够在软件平台上进行逻辑设计、掌握设计项目的编译、仿真、定时分析、器件编程等;3、掌握硬件描述语言VHDL的程序结构、语言要素VHDL的描述风格、仿真、综合等。能够熟练应用VHDL语言进行简单的数字电路设计;4、掌握FPGA
3、/CPLD可编程逻辑器件的性能及配置方法,能够熟练利用GW48-PK型EDA实验系统设计数字电子系统;5、通过《可编程逻辑器件》课程设计,熟悉电子系统层次化设计与基本设计的全过程,初步具备解决实际问题的综合能力。二、课程设计的要求实验提供的时钟基准频率为1024HZ,要求实现00分00秒到23分59秒的时间计数,并在控制电路的作用下具有分、秒计时显示、清零、复位、报时等功能。(1)基本设计要求:1、有正常的分秒计时功能,分别通过四个数码管显示分秒的时间数值变化;2、设置使能控制信号en,当en=0正常工作,en=1时钟停止工作
4、;3、设置系统的清零开关clr,当clr=0正常工作,clr=1时钟的分秒计数全部清零;4、利用MAX+PLUSⅡ软件模拟各计数器的仿真波形。(2)提高部分要求:1、提供正点报时功能,当时计数在每个整分时系统可以自动报时;2、将计数器的计数范围由分秒计时扩展到时分秒的计时;3、在计数范围内预置时间,实现时钟定时提醒的功能;三、设计原理图四、系统设计流程图使能控制端信号CLK信号复位清零整点报时数字计时器定时提醒秒计数分计数时计数扬声器60进制60进制24进制七段译码显示五、系统设计方案方案一:根据总体方框图及各部分分配的功能可
5、知,本系统可以由秒计数器、分钟计数器、小时计数器、整点报时、分的调整以及小时的调整和一个顶层文件构成。采用自顶向下的设计方法,子模块利用VHDL语言设计,顶层文件用原理图的设计方法。显示:小时采用24进制,而分钟均是采用6进制和10进制的组合。方案二:根据总体方框图及各部分分配的功能可知,本系统可以由秒计数器、分钟计数器、小时计数器、整点报时、分的调整以及小时的调整和一个顶层文件构成。采用自顶向下的设计方法,子模块利用VHDL语言设计,顶层文件用原理图的设计方法。显示:小时采用24进制,而分钟和秒均60进制。根据题目设计要求,
6、采用自顶向下的设计方法,系统的整体组装设计原理图如图所示,整个系统设计划分成五大模块:clk_div1024是分频模块;计时模块;alert模块为整点报警模块;seltime模块为分时扫描模块;dispa模块为七段译码模块,其中,sel模块提供数码管片选信号。终上所述,考虑到设计时的简单性,故选择了方案二。六、课程设计的VHDL参考程序(1)秒计数器模块VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYsecon
7、dISPORT(CLK,RD:INSTD_LOGIC;SEC1,SEC0:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CO:OUTSTD_LOGIC);ENDsecond;ARCHITECTUREmiao_arcOFsecondISBEGINPROCESS(CLK,RD)VARIABLEcnt1:STD_LOGIC_VECTOR(3DOWNTO0);VARIABLEcnt0:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFRD='1'THENcnt1:="0000";cnt0:="0000"
8、;ELSIFCLK'EVENTANDCLK='1'THENIFcnt1="0101"ANDcnt0="1000"THENCO<='1';cnt0:="1001";ELSIFcnt0<"1001"THENcnt0:=cnt0+1;ELSEcnt0:="0000";IFcnt1<
此文档下载收益归作者所有