ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:563.86KB ,
资源ID:17646758      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17646758.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VHDL设计方案多功能数字钟文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VHDL设计方案多功能数字钟文档格式.docx

1、 begin if clk_inevent and clk_in=1 then cou=cou+1。 end if。 end process。 process(cou) clk_out=cou(21)。end architecture behivor。完成4Mhz到1hz的转换仿真结果略。二、计时器(模60,模24,模12)模60设计的电路图如下模24/12计数器如下合成模块分别如下仿真波形如下M60波形分析:ql3.0从0变到9,qh3.0从0变到5,当clk经过60个周期后,co输出一个脉冲。从而实现模60计数器的功能。M24/12模12计数器(sv6=0)模24计数器(sv6=1)由于要

2、进行24/12小时制的转换,所以加入开关sv6来控制转换模24和模12计数器。由波形图可以看出,模24和模12功能均已实现。计时器总电路为三、动态显示功能1、由sv3和sv8来控制转换正常计数器、闹钟、秒表的转换。当sv3=0、sv8=0时,显示正常计时器;当sv3=0、sv8=1时,显示秒表;当sv3=1时,显示闹钟。实现此功能的VHDL语言如下:entity mand is sv3,sv8 : sl,sh,ml,mh,hl,hh,ap,d,rsl,rsh,rml,rmh,rhl,rhh,rap,rd,swa,swb,swc,swd:in std_logic_vector(3 downto

3、0)。 asl,ash,aml,amh,ahl,ahh,aap,ad: out std_logic_vector(3 downto 0) )。end mand。architecture arc of mand is signal tmp:std_logic_vector(3 downto 0)。process(sv3) if(sv3=0)then if sv8= then asl=sl。ash=sh。aml=ml。amh=mh。 ahl=hl。ahh=hh。aap=ap。ad=d。 else=swa。=swb。=swc。=swd。=1010。0000 end if。=rsl。=rsh。=rml

4、。=rmh。=rhl。=rhh。=rap。=rd。 if(rap=0010and rhh= and rhl= ahh0001ahl end arc。2、数据选择器VHDL语言描述如下:entity chs is clk : sl,sh,ml,mh,hl,hh,ap,d: data: out std_logic_vector(3 downto 0)。 en: out std_logic_vector(7 downto 0)end chs。architecture arc of chs is signal tt:std_logic_vector(2 downto 0)。 signal t: int

5、eger range 0 to 30000。 process(clk) if(clkevent and clk= t=t+1。 if t=30000 then ttdataen111111100011111110101011111011011111101111001110111110111011111110=ap+10。1011111111101111111 end case。 end arc。3、译码显示器的VHDL语言如下:entity seg7 isport(a: f:out std_logic_vector(6 downto 0)。 end seg7。architecture arc

6、of seg7 is process(a) begin case a is whenf合成模块分别为mand、chs、seg7总电路合成图为四、校分校时电路设计电路如下:电路分析:为了保证时钟同步性,时钟的选取依然为1hz,所以o3.0均为1hz,o0为所采取出正常频率,o1为校分频率,o2为校时频率,o3为校天频率(星期)。电路中的四个D触发器是简易的防颤抖装置,保证o3.0的正常输出。Sv1和sv2是整个电路功能的控制器。当sv1sv2=00时,计数器正常工作;当sv1sv2=10时,进行校分工作;当sv1sv2=01时,进行校时工作;当sv1sv2=11时,进行校天工作。在进行这些工作时

7、,秒钟都停止。合成模块为setclock仿真波形如下:五、整点报时功能VHDL语言:entity call is okhz,tkhz : mh,ml,sh,sl: y1: out std_logicend call。architecture arc of call isprocess(okhz,tkhz,mh,ml,sh,sl)if(mh=and ml= and sh= case sl isy1= end arc 。合成模块如下:其中okhz代表频率为1khz的信号(由4K分频器获得),tkhz代表频率为2khz的信号(由2khz分频器获得)。仿真结果为:当分钟为“59”,秒钟的高位是“5”时

8、,秒钟的低位为“2”、“4”、6”、”8”时,输出y1为低频信号;当秒钟的低位为“9”时,输出为高频信号。从而实现整点报时功能。六、闹钟功能电路图如下电路说明:由于闹钟只需要设置分钟、小时,所以分钟、始终为正常计数器,采用原来校分校时的方法来设定闹钟时间。这里用sv3和sv4构成一个24译码器来控制校准的对象。当sv3=0,sv4=0时,停止校准,分钟,时钟保持数字不变;当sv3=1,sv4=0时,校准分钟,时钟不变;当sv3=0,sv4=1时,校准时钟,分钟不变。在闹钟功能中,由于用不到秒钟,所以秒钟始终显示“”(BCD码表示为1010,)故上图中的ringsec模块就是实现秒钟置“”功能,

9、其VHDL语言为:entity ringsec is en : rsl,rsh:end ringsec。architecture arc of ringsec isprocess(en) if(en=)then rsl rsh合成模块如上图所示(ringsec)。为了实现闹钟功能,我们还要设计一个比较模块,当计时器与闹钟的时钟、分钟都相等的时候给蜂鸣器一个信号,使其发声。其VHDL语言如下:entity cmp is ml,mh,hl,hh,o,rml,rmh,rhl,rhh,ro: in std_logic_vector(3 downto 0)。 r:end cmp。architecture

10、 arc of cmp isprocess(clk) if(ml=rml and mh=rmh and hl=rhl and hh=rhh)then r=clk。 else rend process。合成模块为cmp:波形为由波形可见,当计时器与闹钟的时钟、分钟都相等的时候,输出r会有一个信号。七、秒表功能设计电路图如下合成模块为stw:八、24小时制转12小时制功能用一个sv6开关来控制24小时制和12小时制。当sv6=0时为12小时制;当sv6=1时为24小时制。1、24小时制转12小时制的模块(chg)entity chg is sv6 : hh,hl,ap: chh,chl,cap:e

11、nd chg。architecture arc of chg is process(sv6,hh,hl,ap) if(sv6=)then原来是24小时制,sv6变为0,需要进行24转12的工作 case hh ischhchlcap小时高位为0时不需要变化,只需再显示一个“A”,即cap=”0001” if hlthen chh cap else chhthen chl=hl+8。 chh2021点的变化 else chl2223点的变化null。 else原来是12小时制,sv6变为1,需要进行12转24的工作 if ap=AM的转换,数字都不变,只是不显示“A”,显示“”then then

12、 chh=hh+1。=hl+2。下午18点的转换=hl-8。=hh+2。下午811点的转换换成24小时制后,原来现实A、P的管显示“”2、当变化sv6时,还要对原来计时器的电路(包括闹钟中的计时电路)中的小时位进行摸12和摸60的转换。转换电路如下(newm24):其中左上角的dmc模块是作为数据选择器74157控制信号发声器(即单脉冲发声器),其内部电路如下所示(dmc)Newm24模块合成为Newm24和dmc的仿真结果如下:Newm24电路说明:为了能在拨动开关sv6的同时进行模24模12转换,必须在开关拨动的同时使其能产生一个时间长度大于计时器一个周期,不大于其两个周期的单脉冲信号,从

13、而保证在计时器时钟边沿到来时,能将chg所产生的转换信号置数到计数器。(上图中的chh3.0和chl3.0为上述VHDL语言所编程序中的输出信号)。当sv6发生变化时,dmc会产生一个值为0的单脉冲,置数端信号为0,计数器将chh3.0、chl3.0分别置入计时器时钟的十位和个位;当sv6不变时,数据选择器选择的数均为“0000”,计数器正常计数至11或23时发生置数,正常计数。合成后的总电路图为开关对应功能表Sv1、sv2当sv1sv2=11时,进行校天工作Sv3、sv8由sv3和sv8来控制转换正常计数器、闹钟、秒表的转换。当sv3=1时,显示闹钟Sv5控制秒表Sv3、sv4sv3和sv4构成一个24译码器来控制校准的对象。当sv3=0,sv4=1时,校准时钟,分钟不变Sv6当sv6=1时为24小时制(五)遇到的困难各个模块之间的链接修改了很多次,提前没有整体构思好,单个模块设计好以后总是会在模块间的组合上出现接口不对应的情况。在24/12小时制模块chg的设计中,不同的时间转换考虑的不周全(例如下午17点和下午811点的变化不一样)自己对知识的掌握还是不够好,有许多模块设计了很长的时间(无论是构思还是具体编程)。(六)对课程的建议EDA课程上完以后,我感觉这门课程实际应用很强。非常锻炼动手能力,与其他的课程很不一样。希望学校增加该课的课时。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1