【精编完整版】多功能数字时钟的设计_EDA毕业论文报告(3)

2018-11-27 09:38

S2 S3 S4 S5 S8 SEG_SEL[0] SEG_SEL[1] SEG_SEL[2] spk Clk

Location Location Location Location Location Location Location Location Location Location PIN_AH6 PIN_AH7 PIN_AH8 PIN_AG10 PIN_AG7 PIN_C22 PIN_D22 PIN_G9 PIN_L23 PIN_A14 Yes Yes Yes Yes Yes Yes Yes Yes Yes (4)分配完成后再进行一次编译以使管脚分配生效。

4.3.3下载与仿真

用下载线将电脑USB接口和试验箱VGA接口相连接,点击Tools=>Programmer按

钮将Output File内的文件添加进去,再点击Start按钮将结果下载到试验箱内。 观察并操作试验箱看仿真结果能否满足数字时钟的设计需求。

5 心得与体会

这次的EDA课程设计是我大学的第三次课程设计,由于刚开始设计思路不清

晰,对Quartus II 12.1sp1仿真软件的运用也不熟练而且相关的知识准备也不充分,所以拿到设计题目后感觉不知所措,不知道如何开始。但是通过一段时间的查阅资料和请教同学老师我发现设计多功能数字时钟也并不十分困难,在他们的帮助与指导下我的课程设计也就顺利的一步步展开。

通过这次课程设计让我体会到在实际的操作过程中,要把理论中所学的知识灵活地运用起来,在程序调试中会遇到各种各样的问题,而耐心就是我们最好的帮手,遇事不能急、不能慌,慢慢分析才能解决问题。这次课程设计提高了我解决问题的能力,使我学会了在设计中怎样去查找问题,然后怎样解决问题。

这次课程设计让我可以熟练的掌握了Quartus II 12.1sp1仿真软件的操作,也了解了如何运用VHDL语言和FPGA芯片去解决实际问题,总之通过这次课程

设计自己还是有了不小的收获与提高。

6 参考文献

1 《SOPCIIEDA实验指导书》(第二版) 2 《SOPCII使用手册》(第二版) 3 elecedaedanew_m

4 《EDA技术基础》. 谭会生编著. 湖南大学出版社,2004

5 《EDA技术实用教程》(第三版),潘松、黄继业编著 ,科学出版社 ,2010

7附录

附录一 VHDL程序清单

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity zjh is

port( Clk : in std_logic; --时钟输入 S8 : in std_logic; --复位输入

S1,S2 : in std_logic; --Change Hour, Minute S3,S4,S5 : in std_logic; --Change Year, Month and Day spk : out std_logic; --蜂鸣器

led : out std_logic_vector(3 downto 0); --整点输报时输出

Display : out std_logic_vector(7 downto 0); --七段码管显示输出

SEG_SEL : buffer std_logic_vector(2 downto 0); --七段码管扫描驱动

keyc : out std_logic_vector(3 downto 0); keyr : out std_logic_vector(15 downto 0); K1 : in std_logic --显示切换 );

end zjh;

architecture behave of zjh is

signal Disp_Temp : integer range 0 to 15; signal Disp_Decode : std_logic_vector(7 downto 0); signal SEC1,SEC10 : integer range 0 to 9; signal MIN1,MIN10 : integer range 0 to 9; signal HOUR1,HOUR10 : integer range 0 to 9; signal Year1,Year10 : integer range 0 to 9; signal Month1,Month10: integer range 0 to 9; signal Day1,Day10 : integer range 0 to 9;

signal Music_Count : std_logic_vector(2 downto 0);

signal Clk_Count1 : std_logic_vector(13 downto 0); --时钟的分频计数器

signal Clk1Hz : std_logic;

signal led_count : std_logic_vector(2 downto 0); signal led_display : std_logic_vector(3 downto 0);

signal cdount : std_logic_vector(3 downto 0); signal dount : std_logic_vector(12 downto 0); signal s : std_logic_vector(3 downto 0); signal m,d,y : integer range 0 to 31; begin

process(Clk) begin

if(Clk'event and Clk='1') then if(Clk_Count1<10000) then Clk_Count1<=Clk_Count1+1; else

产生1Hz

end if; end if; end process;

Clk1Hz<=Clk_Count1(13); process(Clk1Hz,S8) begin

if(S8='0') then --系统复位 SEC1<=0; SEC10<=0; MIN1<=0; MIN10<=0; HOUR1<=0; HOUR10<=0; Year10 <= 1; Year1 <= 3; Month10 <= 0; Month1 <= 1; Day10 <= 0; Day1 <= 1;

elsif(Clk1Hz'event and Clk1Hz='1') then -- if (K1= '1') then

if(S3='0') then --调节年 if(Year1=9) then Year1<=0;

Year10<=Year10+1;

elsif(Year10=9 and Year1=9) then Year1<=0; Year10<=0; else

正常运行

Year1<=Year1+1; end if; end if;

if(S4='0') then --调节月 if(Month1=9) then Month1<=0;

Month10<=Month10+1;

elsif(Month10=1 and Month1=2) then Month1<=0; Month10<=0; Year1<=Year1+1; else

Month1<=Month1+1; end if; end if;

if(S5='0') then --调节日 if(Day1=9) then Day1<=0; Day10<=Day10+1;

elsif(Day10=3 and Day1=1) then Day1<=0; Day10<=0;

Month1<=Month1+1; else

Day1<=Day1+1; end if; end if; elsif (K1 = '0') then

if(S1='0') then --调节小时


【精编完整版】多功能数字时钟的设计_EDA毕业论文报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:专升本病理解剖学模拟题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: