1、3、能利用扬声器做整点报时:(1)当计时到达5950”时开始报时,频率可为500Hz;计满23小时后回零;计满59分钟后回零。(2)到达5959”时为最后一声整点报时,整点报时的频率可定为lKHz。4定时闹钟功能5、用层次化设计方法设计该电路,用硬件描述语言编写各个功能模块。6、报时功能。报时功能用功能仿真的仿真验证,可通过观察有关波形确认电路设计是否正确。三、 时间进度安排1周:(1) 完成设计准备,确定实施方案;(2) 完成电路文件的输入和编译;(4) 完成功能仿真。2周:(1) 完成文件至器件的下载,并进行硬件验证;(2) 撰写设计说明书。四、 主要参考文献(1)谭会生、瞿遂春,EDA技
2、术综合应用实例与分析,西安电子科技大学出版社,2004(2)曹昕燕、周凤臣等,EDA技术实验与课程设计,清华大学出版社,2006指导教师签字: 2010年9月5日引言:人类社会已进入到高度发达的信息化社会。信息化社会的发展离不开电子信息产品开发技术、产品品质的提高和进步。实现这种进步的主要原因就是电子设计技术和电子制造技术的发展,其核心就是电子设计自动化(EDA)技术,EDA技术的发展和推广应用又极大地推动了电子信息产业的发展。为保证电子系统设计的速度和质量,适应“第一时间推出产品”的设计要求,EDA技术正逐渐成为不可缺少的一项先进技术和重要工具。目前,在国内电子技术教学和产业界的技术推广中已
3、形成“EDA热”,完全可以说,掌握EDA技术是电子信息类专业学生、工程技术人员所必备的基本能力和技能。实验原理:用层次化设计的方法以VHDL语言编程实现以下功能:【1】 具有“时”、“分”、“秒”计时功能;时为24进制,分和秒都为60进制。【2】 具有消抖功能:手工按下键盘到是否这个过程大概50ms左右,在按下开始到弹簧片稳,定接触这段时间为5-10ms,从释放到弹片完全分开也是5-10ms,在达到稳定接触和完全分开的微观过程中,电平是时高时低的,因此如果在首次检测到键盘按下时延时10ms再检测就不会检测到抖动的毛刺电平了。64Hz的信号周期为15.6ms,正适合做消抖信号。【3】 具有校时和
4、清零功能,能够用4Hz脉冲对“小时”和“分”进行调整,并可进行秒清零;【4】 具有整点报时功能。在59分51秒、53秒、55秒、57秒发出低音512Hz信号,在59分59秒发出一次高音1024Hz信号,音响持续1秒钟,在1024Hz音响结束时刻为整点。【5】 具有一键设定闹铃及正常计时与闹铃时间的显示转换。闹时时间为一分钟。 程序流程: 秒计数器模块设计:模块图如图1。六十进制带进位计数器,可清零,clk输入信号为1Hz脉冲,当q0计满9后q1增加1,当q0满9且q1记满5,q1、q0同时归零,co输出为高电平。q1为十位q0为个位。图1程序如下:library ieee;use ieee.s
5、td_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity second IS port(clk,clr:in std_logic; co:out std_logic; cq0:out std_logic_vector(3 downto 0); cq1:out std_logic_vector(3 downto 0);END second;ARCHITECTURE behave of second is SIGNAL d: std_logic_vector(3 downto 0);
6、SIGNAL g:BEGIN process(clk,clr,d,g) BEGIN if (clr =1) then d =0000; g elsif(clkEVENT and clk=)then if(d=9 and g=5)then co= else 0 end if; if(d=9)then d if(g=5)then g else=g+1;=d+1; end process; cq0=d;cq1=g;end behave;仿真结果如下图2 :图2分计数器同上。注:不同之处为分的clk输入信号为秒的进位信号。entity minute ISEND minute;ARCHITECTURE
7、behave of minute is时计数器:模块图如图3。24进制无进位计数器,当计数信号计到23后再检测到计数信号时会自动归零。带清零,clk输入为分秒进位相与的结果。q1为十位,q0为个位。图3USE IEEE.STD_LOGIC_ARITH.ALL;entity hour IS port(clk3,rst3,m: cq4: cq5:END hour;ARCHITECTURE behave of hour is process(clk3,rst3,m,d,g) if (rst3 = elsif(clk3EVENT and clk3= if(m= if(d=9 or (d=1 and g
8、=1)then if(g=1)then if(d=9 or (d=3 and g=2)then if(g=2)thenend if;end process; cq4cq5 当m=0时,实现模12计数,当m=1时实现模24计数,cout2作为clk3时钟信号,rst3是复位信号, cq4,cq5输出信号最后接在动态译管码芯片上。得出实验要求的小时计时器:仿真波形如下图4:图4分频器:模块图如图5。由四个分频器构成,输入信号in_clk为1024Hz脉冲信号。把输入的1024Hz信号分频为四个脉冲信号,即1Hz的秒脉冲,4Hz的校时、校分脉冲,64Hz的消抖脉冲,以及512Hz的蜂鸣器低音输入。图
9、5entity div isport(in_clk:clk_1,clk_4,clk_64,clk_512:out std_logic);end div;architecture one of div issignal q512,a,b,c:std_logic;signal c1,c4,c64:integer range 512 downto 0;beginprocess(in_clk) if in_clkevent and in_clk= then q512=7 then c64=0;c=not c;else c64=127 then c4b=not b;else c4=511 then c1a=not a;else c1=c1+1;clk_512=q512;clk_1=a;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1