首页 EDA课程设计-多功能数字时钟

EDA课程设计-多功能数字时钟

举报
开通vip

EDA课程设计-多功能数字时钟EDA课程设计-多功能数字时钟 苏州科技学院天平学院 EDA电子综合设计 院 系: 天平学院 专 业: 物联网 班 级: 学 号: 姓 名: 苏州科技学院EDA电子综合设计 第一部分:设计说明 1.1设计任务 设计一款数字电子时钟,具体要求如下: 1:输入条件:50MHz时钟,2个输入按键; 2:功能实现:具有显示时、分、秒功能;采用LED数码管显示;具有闹钟 与对时功能,对时精确到分,闹钟设置与对时采用按键作为输入信号。 3:采用altera公司的quartusII软件进行编程与仿真,设计...

EDA课程设计-多功能数字时钟
EDA课程设计-多功能数字时钟 苏州科技学院天平学院 EDA电子综合设计 院 系: 天平学院 专 业: 物联网 班 级: 学 号: 姓 名: 苏州科技学院EDA电子综合设计 第一部分:设计说明 1.1设计任务 设计一款数字电子时钟,具体要求如下: 1:输入条件:50MHz时钟,2个输入按键; 2:功能实现:具有显示时、分、秒功能;采用LED数码管显示;具有闹钟 与对时功能,对时精确到分,闹钟设置与对时采用按键作为输入信号。 3:采用altera公司的quartusII软件进行编程与仿真,设计语言可以选择 VerilogHDL或VHDL。 1.2目的与意义 随着半导体技巧、集成技巧和盘算机技巧的迅猛发展,电子系统的设计方法和设计手段都产生了很大的变更。可以说电子EDA技巧是电子设计领域的一场革命。传统的“固定功效集成块十连线”的设计方法正逐步地退出历史舞台,而基于芯片的设计方法正成为现代电子系统设计的主流。作为高级院校有关专业的学生和宽大的电子工程师懂得和攀握这一先进技巧是势在必行,这不仅是进步设计效率的需要,更是时代发展的需求,只有攀握了EDA技巧才有能力参和世界电子工业市场的竞争,才干生存和发展。随着科技的进步,电子产品的更新日新月异,EDA技巧作为电子产品开发研制的源动力,已成为现代电子设计的核心。所以发展EDA技巧将是电子设计领域和电子产业界的一场重大的技巧革命,同时也对电 课程的教学和科研提出了更深更高的请求。非凡是EDA技巧在我国尚未普及,把握和普及这一全新的技巧,将对我国电子技巧的发展具有深远的意义。 通过综合设计,力争掌握使用EDA工具设计数字系统电路的基本方法,包括原理 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 的确定、详细设计中的编程与仿真等一系列过程,为以后进行工程实践问题的研究打下设计基础。 1 苏州科技学院EDA电子综合设计 第二部分 原理方案设计 设计一个多功能数字时钟,具有时分、秒计数显示、闹钟功能。能够利用按键实现对闹钟时间的设定并在当前显示时间到时后能够进行闹钟提示。能够利用按键实现“较时”、“较分”功能,随时对数码管的显示进行校正和校对。数字中系统主要由系统时钟,三个功能按键(mode,turn,change),FPGA,数码管和蜂鸣器部分组成。 显示模块 分 频 模 块 蜂计时模块 闹钟模块 鸣 器 控制模块 图1 多功能数字时钟整体模块图 2.1分频模块方案设计 分频模块用于为系统的实现提供稳定的工作频率和计时信号源,产生分频为1HZ频率的信号作为计时模块的信号源。 分频算法设计:定义变量并根据需要得到的分频信号设定计数值,对该变量进行加或减计数,每到达一次计数值点,将该变量清零或重置,并且对输出信号取一次反,即可以得到所需的分频信号。 在这里使用任意分频计数器。定义变量并且设定一个上限值,每次加计数到该上限值时,输出该计数值的最高位。 2 苏州科技学院EDA电子综合设计 2.2显示模块 计时模块是对1s的信号源进行秒计时,计时满后向上进位的设计 思想 教师资格思想品德鉴定表下载浅论红楼梦的主题思想员工思想动态调查问卷论语教育思想学生思想教育讲话稿 。译码显示模块采用的是数码管的动态扫描方式。 2.3控制模块 设置三个按键,一个作为功能控制信号,按键每次加一,加到三在归零。为0:计时功能; 为1:闹铃功能; 为2:手动校对功能。 一个按键选择是调整时间,还是分钟,若长时间按住该键,可使秒信号清零,用于精确调时。 一个按键用于手动调整,每按一次,计数器加1,如果长按,则连续快速加1;用于快速调时和定时。 3 苏州科技学院EDA电子综合设计 第三部分 详细设计过程 图2 顶层模块 3.1分频模块 3.1.1模块功能描述 该模块为任意分频计数器,在这里使用了两个分频模块,分别输出1Hz和500hz的时钟信号。 功能:对输入时钟clock进行F_DIV倍分频后输出clk_out。其中F_DIV为分频系数,分频系数范围为1~2^n (n=F_DIV_WIDTH)若要改变分频系数,改变参数F_DIV或F_DIV_WIDTH到相应范围即可。若分频系数为偶数,则输出时钟占空比为50%;若分频系数为奇数,则输出时钟占空比取决于输入时钟占空比和分频系数(当输入为50%时,输出也是50%)。 3.1.2模块设计思想 定义变量为分频系数,若位偶数,则产生分频系数的一半个时钟周期为高电平,分频系数的一半个时钟周期为低电平;若为奇数,则相应地偏移一个。 4 苏州科技学院EDA电子综合设计 3.1.3设计关键 知识点 高中化学知识点免费下载体育概论知识点下载名人传知识点免费下载线性代数知识点汇总下载高中化学知识点免费下载 若分频系数为偶数,则输出时钟占空比为50%;若分频系数为奇数,则输出时钟占空比取决于输入时钟占空比和分频系数(当输入为50%时,输出也是50%)。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity fenpin is port(clk50MHz:in std_logic; clk1Hz,clk500Hz:out std_logic ); end fenpin ; architecture cml of fenpin is begin process (clk50MHz) variable count1: integer range 0 to 25000000; variable q1: std_logic; begin if clk50MHz' event and clk50MHz='1' then if count1=25000000 then q1:=not q1; count1:=0; else count1:=count1+1; end if; end if; clk1Hz<=q1; end process; process(clk50MHz) variable count500: integer range 0 to 50000; variable q500: std_logic; begin if clk50MHz' event and clk50MHz='1' then if count512=50000 then q500:=not q500; count500:=0; else count500:=count500+1; end if; 5 苏州科技学院EDA电子综合设计 end if; clk500Hz<=q500; end process; end cml; 3.2显示模块 3.2.1模块功能描述 该模块设计为时钟显示模块,一共8个共阳极数码管,显示格式为XX.XX.XX。 3.2.2模块设计思想 整个时钟的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时,小时的范围为0~23时。 由于分钟和秒钟显示的范围都是从0~59,可以用一个4位的二进制码显示十位,用一个四位的二进制码(BCD码)显示个位;对于小时因为他的范围是从0~23,同样可以用一个4位的二进制码显示十位,用一个4位的二进制码(BCD码)显示个位。 3.2.3设计关键知识点 由于动态扫描,需要一个频率较高的时钟信号用于刷新显示。送入显示的数高低4位分离开来,分别用于显示十位和个位。 图5 显示模块xianshi 6 苏州科技学院EDA电子综合设计 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity xianshi is port(clk:in std_logic; h0,h1,min0,min1,sec0,sec1:in std_logic_vector(3 downto 0 ); daout:out std_logic_vector(6 downto 0 ); sel:out std_logic_vector(5 downto 0 ) ); end xianshi; architecture cml of xianshi is signal data:std_logic_vector(3 downto 0 ); signal order:std_logic_vector(2 downto 0 ):="000"; begin process(clk) begin if clk' event and clk='1' then case order is when "000"=>data<=h1;sel<="011111"; when "001"=>data<=h0;sel<="101111"; when "010"=>data<=min1;sel<="110111"; when "011"=>data<=min0;sel<="111011"; when "100"=>data<=sec1;sel<="111101"; when "101"=>data<=sec0;sel<="111110"; when others=>data<="1000";sel<="111111"; end case; if order="101" then order<="000"; else order<=order+1; end if; end if; end process ; process(data) begin case data is when "0000" =>daout <= "0000001"; when "0001" =>daout <= "1001111"; when "0010" =>daout <= "0010010"; when "0011" =>daout <= "0000110"; when "0100" =>daout <= "1001100"; when "0101" =>daout <= "0100100"; when "0110" =>daout <= "0100000"; when "0111" =>daout <= "0001111"; 7 苏州科技学院EDA电子综合设计 when "1000" =>daout <= "0000000"; when "1001" =>daout <= "0000100"; when others =>daout <= "1111111"; end case; end process ; end cml ; 3.3时钟控制模块 3.3.1模块设计功能 该模块设计为多功能数字钟的控制模块。 各信号引脚功能定义为: mode:功能控制信号;为0:计时功能; 为1:闹铃功能; 为2:手动校对功能; turn:在手动校对时,选择是调整时间,还是分钟,若长时间按住该键,可使秒信号清零,用于精确调时; change:手动调整时,每按一次,计数器加1,如果长按,则连续快速加1;用于快速调时和定时; hour,min,sec:时,分,秒显示信号; alert:扬声器驱动信号;用于产生闹铃音和报时音;闹铃音为持续20秒的急促的“嘀嘀嘀”音 ,若按住“change”键,可屏蔽该闹铃音;整点报时音为“嘀嘀嘀嘀嘟”四短一长音; LD_alert:接发光二极管,指示是否设置了闹钟功能; LD_hour:接发光二极管,指示当前调整的是小时信号; LD_min: 接发光二极管,指示当前调整的是分钟信号。 3.3.2模块设计思想 mode按键每触发一次,定义一个变量m自加,从0加到2;加满2,重新置为0。用case语句产生3种模式。 8 苏州科技学院EDA电子综合设计 图6 时钟模块 ALERT library ieee; use ieee.std_logic_1164.all; entity ALERT is port(h1,h0,m1,m0,s1,s0:in std_logic_vector(3 downto 0); clk:in std_logic; q500:out std_logic); end ALERT; architecture sss_arc of ALERT is begin process(clk) begin if clk'event and clk='1' then if h1="0001" and h0="0110" and m1="0101" and m0="1001" and s1="0101" then if s0="0001" or s0="0011" or s0="0101" or s0="0111" then q500<='1'; else q500<='0'; end if; end if; end if; end process; end sss_arc; 3.4校时闪烁电路 9 苏州科技学院EDA电子综合设计 3.4.1模块设计功能 如果正在进行校时,flashjiaoshi将实现使当前正在校时项(小时或分钟)以1Hz的频率闪烁,以便于操知道正在被校正. 3.4.2模块设计思想 3.5时计数器 分计数器 秒计数器 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity hour is port(en,clk:in std_logic; h0,h1:buffer std_logic_vector(3 downto 0 ) ); end hour; architecture cml of hour is begin process(en,clk,h0,h1) begin if en='0' then h0<="0000"; h1<="0000"; elsif clk'event and clk='1' then if h0="0011" and h1="0010" then h0<="0000"; h1<="0000"; elsif h0="1001" then h0<="0000"; h1<=h1+1; 10 苏州科技学院EDA电子综合设计 else h0<=h0+1; end if; end if; end process ; end cml; library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity mine is port(en,clk:in std_logic; co:out std_logic; min0,min1:buffer std_logic_vector(3 downto 0 ) ); end mine; architecture cml of mine is signal min0_t,min1_t:std_logic_vector(3 downto 0 ); begin process(en,clk,min0,min1) begin if en='0' then min0<="0000"; min1<="0000"; elsif clk'event and clk='1' then if min0="1001" and min1="0101" then min0<="0000"; min1<="0000"; co<='1'; elsif min0="1001" then min1<=min1+1; min0<="0000"; else 11 苏州科技学院EDA电子综合设计 min0<=min0+1; co<='0'; end if; end if; end process ; end cml; library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity second is port(clr,clk:in std_logic; co:out std_logic; sec0,sec1:buffer std_logic_vector(3 downto 0 ) ); end second; architecture cml of second is signal sec0_t,sec1_t:std_logic_vector(3 downto 0 ); begin process(clr,clk,sec0,sec1) begin if clr='0' then sec0<="0000"; sec1<="0000"; co<='0'; elsif clk'event and clk='1' then if sec0="1001" and sec1="0101" then sec0<="0000"; sec1<="0000"; co<='1'; elsif sec0="1001" then sec1<=sec1+1; sec0<="0000"; else 12 苏州科技学院EDA电子综合设计 sec0<=sec0+1; co<='0'; end if; end if; end process ; end cml; 13 苏州科技学院EDA电子综合设计 第四部分 功能仿真 4.1分频仿真波形 由于50MHz分频为4Hz分频系数太大,这里以50分频为例。 图7 50分频示例 在clk_out的半个周期内,clk出现了25个周期,50分频是正确的。 4.2计时仿真 时计数 分计数 秒计数 图8 时间 计数 4.3闹钟仿真 图9 闹钟仿真波形 设定闹铃时间为22:22,当时间到点时q500输出高电平,时间没到时q500输 出低电平。 14 苏州科技学院EDA电子综合设计 显示模块仿真 Sel循环选择数码管,daout输出相应的数据。 第五部分 总结 在学习的过程中,我深深体会到,学习不单单要将理论知识学扎实了,更重要的是实际动手操作能力,学完了课本知识,我并没有觉得自己有多大的提高,感觉学到的很没用,我们现在学到的还很少,只是编写一些简单的程序。相反的,每次做完实验之后,都会感觉自己收获不少,每次都会有问题。 或许在今后的工作中会用到这些编程,在这几次反复的操练中,铭记于心。多学一点,多认真一些,或许未来有所改变。 15
本文档为【EDA课程设计-多功能数字时钟】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_083599
暂无简介~
格式:doc
大小:144KB
软件:Word
页数:18
分类:生活休闲
上传时间:2017-10-06
浏览量:44