基于FPGA的数字电子时钟设计-VHDL.doc

上传人:h**** 文档编号:138435 上传时间:2018-07-10 格式:DOC 页数:24 大小:220.50KB
下载 相关 举报
基于FPGA的数字电子时钟设计-VHDL.doc_第1页
第1页 / 共24页
基于FPGA的数字电子时钟设计-VHDL.doc_第2页
第2页 / 共24页
基于FPGA的数字电子时钟设计-VHDL.doc_第3页
第3页 / 共24页
基于FPGA的数字电子时钟设计-VHDL.doc_第4页
第4页 / 共24页
基于FPGA的数字电子时钟设计-VHDL.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、草鱼 目 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 录 草鱼 草鱼 数字系统课程设计 错误 !未定义书签。 草鱼 一 、 pork题目要求 1 草鱼 1、 pork功能 1 草鱼 2、 pork工作介绍 1 草鱼 二 、 pork设计方案 1 草鱼 三 、 pork模块实现及代码 1 草鱼 1、 pork分频模块 1 草鱼 2、 pork响铃模块 3 草鱼 3、 pork数码管显示模块 6 草鱼 4、 pork流水灯显示模块 8 草鱼 5、 pork主控模块 9 草鱼 6、 por k消抖模块 : pork19 草鱼 四 、 pork仿真分析 22 草鱼 五 、 pork实物展示 22 草鱼

2、六 、 pork实验总结和感想 22 草鱼 1、 pork实验错误排查和解决 22 草鱼 2、 pork 草鱼 实验感想 23 草鱼 草鱼 1 一 、 pork题目要求 草鱼 本次设计的是 three 草鱼 star 草鱼 watch, 鲤鱼 它所具有的功能和具体的工作介绍如下 : pork草鱼 1、 pork功能 草鱼 1)具有显示年 、 p ork月 、 pork日 、 pork时 、 pork分 、 pork秒的功能 , 鲤鱼 能准确显示时间 草鱼 2)能够手动设置时间 、 p ork闹钟 。 草鱼 草鱼 3)具有闹钟功能 , 鲤鱼 可以设置闹钟的时间 , 鲤鱼 然后再实际时间与设定时间

3、相等是闹钟响 , 鲤鱼 并有闹钟开关 , 鲤鱼 可控制其是否响 , 鲤鱼 闹钟响时伴有流水灯效果 。 草鱼 草鱼 4)具有秒表功能 , 鲤鱼 可以累计计时 草鱼 2、 pork工作介绍 草鱼 此电子时钟开机后即会进入原始状态(全 0) , 鲤鱼 按下 s3 即会显示初始时间 , 鲤鱼 按下 s5 一次即会显示时分 , 鲤鱼 再按下 s5 即会显示秒 , 鲤鱼 再按下 s5 即会显示闹钟 , 鲤鱼 再按下 s5 即会显 示秒表 。 草鱼草鱼 设置秒表 : pork进入秒表界面之后 , 鲤鱼 按下 s4 后 , 鲤鱼 秒表开始计数 , 鲤鱼 再按下 s4 后 , 鲤鱼 秒表停止计数 。草鱼 再按下

4、 s4, 鲤鱼 秒表复位 。 草鱼草鱼 设置日期 、 pork时间 : pork在相应的显示界面 , 鲤鱼 按下 s4 后 , 鲤鱼 前两位数码管会跳动 , 鲤鱼 此时为可设置状态 , 鲤鱼 按下 s5 可调整时间 , 鲤鱼 再按下 s4, 鲤鱼 后两位跳动 , 鲤鱼 此时按下 s5 进行调整 , 鲤鱼 再按下 s4 即可确定 。 草鱼草鱼 设置闹钟 : pork进入闹钟界面后 , 鲤鱼 调整方法跟设置时间的方法一样 。 草鱼 打开拨盘开关 s1, 鲤鱼 d3 灯亮表示闹钟处于开启状 态 。 草鱼 到达指定时间之后 , 鲤鱼 闹钟响 , 鲤鱼 流水灯跳动 。 草鱼 关闭拨盘开关 s1, 鲤鱼

5、d3灯灭表示闹钟处于关闭状态 。 草鱼 草鱼 二 、 pork设计方案 草鱼 设计一个电子手表 , 鲤鱼 必然要用到计时器 , 鲤鱼 而需要设置时间和闹钟 , 鲤鱼 又需要控制器来控制系统所处的状态 。 草鱼 我们采用外部一个按键来切换系统的状态 , 鲤鱼 用另一个按键来调整时间和启动秒表 , 鲤鱼 再有一个按键来确认操作 , 鲤鱼 并返回显示状态 , 鲤鱼 继续等待命令 。 草鱼 在控制器中 , 鲤鱼 需要接受外部信号 , 鲤鱼 并给出信号给计时器 , 鲤鱼 使其做出相应的动作 。 草鱼 草鱼 草鱼 三 、 pork模块实现及代码 草鱼 本设计主要分成分频模块 , 鲤鱼 响铃模块 , 鲤鱼

6、数码管显示模块 , 鲤鱼 流水灯显示模块 , 鲤鱼 主控模块和消抖模块 。 草鱼 各个模块的分析和代码如下 : pork草鱼 1、 p ork分频模块 草鱼 此模块主要通过连接外部 50MHz 时钟信号来控制计数频率 , 鲤鱼 使其产生不同频率的信号 ,鲤鱼 用来进行显示时间和日期 。 草鱼 只要检测时钟上升沿到来 , 鲤鱼 计数器就加 1, 鲤鱼 直至计到相应的数字 ,鲤鱼 又从 0 开始计时 。 草鱼草鱼 代码如下 : p ork草鱼 草鱼 library 草鱼 ieee;pork草鱼 use 草鱼 ieee.std_logic_1164.all;pork草鱼 use 草鱼 ieee.st

7、d_logic_arith.all;pork草鱼 use 草鱼 ieee.std_logic_unsigned.all;pork草鱼 -Frequency 草鱼 Divide 草鱼 entity 草鱼 clkdiv 草鱼 is 草鱼 草鱼 port(草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 clk_50MHz:in 草鱼 std_logic;pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 clk_2KHz:out 草鱼 std_logic;pork草鱼 2 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 clk_100Hz:out

8、草鱼 std_logic;pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 clk_1Hz:out 草鱼 std_logic;pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 clk_4Hz:out 草鱼 std_logic_vector(7 草鱼 downto 草鱼 0);pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 clk_4Hz2:out 草鱼 std_logic;pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 clk_xH

9、z:out 草鱼 std_logic 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 );pork草鱼 end 草鱼 clkdiv;pork草鱼 草鱼 architecture 草鱼 behav 草鱼 of 草鱼 clkdiv 草鱼 is 草鱼 草鱼 begin 草鱼 草鱼 草鱼 process(clk_50MHz)草鱼 草鱼 草鱼 VARIABLE 草鱼 time_flag: 草鱼 integer 草鱼 RANGE 草鱼 0 草鱼 草鱼 TO 草鱼 500000;pork 草鱼 -100HZ 草鱼 草鱼 草鱼 VARIABLE 草鱼 time_flag1: 草鱼 integ

10、er 草鱼 RANGE 草鱼 0 草鱼 TO 草鱼 50000000;pork 草鱼 -1HZ 草鱼 草鱼 草鱼 VARIABLE 草鱼 time_flag2:integer 草鱼 RANGE 草鱼 0 草鱼 TO 草鱼 25000;pork 草鱼 草鱼 -2KHZ 草鱼 草鱼 草鱼 VARIABLE 草鱼 time_flag3: 草鱼 integer 草鱼 RANGE 草鱼 0 草鱼 TO 草鱼 12500000;pork 草鱼 -4HZ 草鱼 草鱼 草鱼 VARIABLE 草鱼 time_flag4: 草鱼 integer 草鱼 RANGE 草鱼 0 草鱼 草鱼 TO 草鱼 5000000

11、;pork 草鱼 -10HZ 草鱼 草鱼 草鱼 草鱼 草鱼 begin 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 if(rising_edge(clk_50MHz) 草鱼 )then 草鱼 草鱼 草鱼 草 鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 time_flag:=time_flag+1;pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 time_flag1:=time_flag1+1;pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 time_flag2:=time_flag2+1;pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼

12、 time_flag3:=time_flag3+1;pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 time_flag4:=time_flag4+1;pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 if 草鱼 time_flag=250000 草鱼 THEN 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 clk_100Hz草鱼 en1 草鱼 en1草鱼 en1 草鱼 en1seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_out

13、put 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草 鱼seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_out

14、put 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_out

15、put 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 seven_seg_output 草鱼 =“11111111“;pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 end 草鱼 case;pork草鱼 - 草鱼 if(alarm_switch=1)then 草鱼 clk_led=1;pork草鱼 - 草鱼 else 草鱼 clk_led=0;pork草鱼 - 草鱼 end 草鱼 if;pork草鱼 9 草鱼 end 草鱼 process;pork草鱼 草鱼 end 草鱼

16、decode_arch;pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 5、 p ork主控模块 : pork草鱼 此模块用来控制时钟当前工作状态 , 鲤鱼 并对各种工作状态下的操作指令进行接受和处理 。 草鱼草鱼 ( 1)输入信号有 : p ork草鱼 Clk: p o rk时钟信号 ; pork草鱼 setsnd: p o rk闹铃开关信号 ; pork草鱼 setsnd= 1时 , 鲤鱼 闹铃开 ; pork草鱼 setsnd= 0时 , 鲤鱼 闹铃关 。 草鱼草鱼 sum: p o rk切换按键 1 的按下数 ; pork草鱼 sum=1 时 , 鲤

17、鱼 时钟工作在时间显示状态 ; pork草鱼 sum=2 时 , 鲤鱼 时钟工作在时间的时调整状态 ; pork草鱼 sum=3 时 , 鲤鱼 时钟工作在时间的分调整状态 ; pork草鱼 sum=4 时 , 鲤鱼 时钟工作在闹铃的时设定状态 ; pork草鱼 sum=5 时 , 鲤鱼 时钟工作在闹铃的分设定状态 ; pork草鱼 sum=6 时 , 鲤鱼 时钟工作在秒表状态 。 草鱼草鱼 Sum1: p o rk启动停止按键 2 的按下数 ; pork草鱼 sum=1 表示启动 , 鲤鱼 时间开始变化 ; pork草鱼 sum=2 表示停止 , 鲤鱼 时间调整或设定完毕 。 草鱼草鱼 Sum

18、2: p o rk确认键 3 的按下数 : pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 Sum2=1, 鲤鱼 表示操作完毕 , 鲤鱼 使 sum=1, 鲤鱼 时钟回到时间显示状态 , 鲤鱼 并使 sum1=0.草鱼 Hour: p ork时 ; pork草鱼 Min: p o rk分 ; pork草鱼 Sec: p ork秒 。 草鱼草鱼 ( 2)输出信号 : p ork草鱼 Rst: p ork复位信号 , 鲤鱼 用来消除秒表的记录 , 鲤鱼 使其变为 0; pork草鱼 Showchu: p o rk显示选择信号 , 鲤鱼 用来切换秒表状态和其他状态的显示 ; pork草鱼 Begincn

19、t: p ork秒表启动信号 ; pork草鱼 Load: p ork时间重置信号 , 鲤鱼 用于将显示时间改变到经调整设置得到的新时间 ; pork草鱼 Clear: p ork按键记录清除信号 ; pork草鱼 Sound: p o rk闹铃信号 , 鲤鱼 达到设定的闹铃时间时 , 鲤鱼 该信号是蜂鸣器鸣叫 ; pork草鱼 Output1: p o rk经处理后的时 ; pork草鱼 Output2: p o rk经处理后的分 ; pork草鱼 Output3: p o rk经处理后的秒 ; pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 key3_reset: 草鱼 草鱼 复位

20、信号 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 key2_change: 草鱼 确定按键 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 key1_state: 草鱼 草鱼 状态按键 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 clk_100Hz、 porkclk_1Hz、 porkclk_xHz、 porkclk_4Hz、 porkclk_2kHz: pork不同频率信号的输入 。 草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 alarm_switch:闹钟的开关 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 song_switch:音乐开关 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 enclock: 草鱼 闹钟信号 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 ring:草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 zheng_ring:out 草鱼 std_logic;pork草鱼

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。