欢迎来到天天文库
浏览记录
ID:13809287
大小:10.30 MB
页数:12页
时间:2018-07-24
《多功能秒表计数器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、深圳大学实验报告课程名称:基于VHDL编程的FPGA设计实验名称:多功能秒表计数器学院:信息工程学院专业:电子信息工程班级:2010级电子2班组号:指导教师:报告人:学号:实验时间:2012年11月16日星期三实验地点南区N411实验报告提交时间:2012.11.28实验要求:题目、多功能秒表计数器基本要求(必选):设计一个秒表,它具有计时功能。此秒表有两个按键(reset,start)按下reset键后,秒表清零,按下start键后,开始计时,再次按下start键后,停止计时,用FPGA开发板上
2、的两个七段数码管显示时间(以秒为单位),计时由0到99循环。高级要求(可选):实现基本要求的前提下,增加一个按键(select),用于轮流切换两个七段数码管分别显示百分之一秒,秒,或对于Nexys2和Nexy3开发板,按下select键之后,四个七段数码管同时显示秒和百分之一秒。规格说明:1.通过按下reset键,将秒表清零,准备计时,等检测到start键按下并松开后,开始计时。如果再次检测到start键按下并松开后,停止计时。通过不断检测start键,来确定秒表是否开始计时。2.在秒表计时时,七段
3、数码管能够循环的由00…99,00…99…。3.开始默认两个七段数码管显示秒,在检测到select键按下并松开后,数码管切换到显示百分之一秒,当再次检测到select键按下并松开后,数码管切换到重新显示秒。4.在秒表停止时,数码管依然能够正常切换显示秒,百分之一秒。5.本实验使用FPGA开发板:Nexys2或Nexys3或旧板(建project时,需要选择该芯片的型号)。实验内容:A.VHDL程序代码libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;entityCount
4、erisGeneric(N:integer:=250000);Port(clk,reset,start,sel:instd_logic;ANO:outstd_logic_vector(3downto0);digit:outstd_logic_vector(7downto0));endCounter;architectureBehavioralofCounterissignalClk_1hz:std_logic:='0';signalClk_1Hhz:std_logic:='0';signalClk_
5、1Khz:std_logic:='0';signaldigit3:integerrange0to10:=0;signaldigit2:integerrange0to10:=0;signaldigit1:integerrange0to10:=0;signaldigit0:integerrange0to10:=0;signalR_flag:integerrange0to10:=0;signalS_flag:integerrange0to10:=0;signalX_flag:integerrange0to
6、10:=0;begin-------------------分频器-------------------process(clk)variablecount0:integerrange0to25000000:=0;variablecount1:integerrange0to25000000:=0;variablecount2:integerrange0to25000000:=0;beginif(clk'eventandclk='1')thencount0:=count0+1;count1:=count
7、1+1;count2:=count2+1;----------------频率_秒----------------if(count0=24999999)thenClk_1hz<=notClk_1hz;count0:=0;endif;----------------频率_秒------------------------------频率_白分秒---------------if(count1=249999)thenClk_1Hhz<=notClk_1Hhz;count1:=0;endif;------
8、--------频率_白分秒-----------------------------频率_数码管---------------if(count2=24999)thenClk_1Khz<=notClk_1Khz;count2:=0;endif;--------------频率_数码管---------------endif;endprocess;-------------------分频器-----------------------------------reset
此文档下载收益归作者所有