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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数字逻辑电路实验报告Word文件下载.docx

1、用两个74160连成的60进制计数器,原图及生成的器件如下:生成的六十进制计数器(2)校时模块校时模块设计要求实现校时,校分以及清零功能。*按下校时键,小时计数器迅速递增以调至所需要的小时位。*按下校分键,分计数器迅速递增以调至所需要的分位。*按下清零键,将秒计数器清零。注意事项: 在校分时,分计数器的计数不应对小时位产生影响,因而需要屏蔽此时分计数器的进位信号以防止小时计数器计数。 利用D触发器进行按键抖动的消除 ,因为D触发器是边沿触发,在除去时钟边沿到来前一瞬间之外的绝大部分时间都不接受输入,可以消除抖动。 计时采用1HZ的脉冲驱动计数器计数,而校时则需要较高频率的信号驱动以达到快速校时

2、的目的。因此这两种脉冲信号就需要两路选择器进行选择,条件即为是否按键。D触发器用于按键的消抖,接更高的频率用于校时和校分,二路选择器用于区分是正常计时还是校时。(3)整点报时模块计时到59分50秒时,每两秒一次低音报时,整点时进行高音报时。以不同频率的脉冲信号区分低音和高音报时。报时的条件是计数器计数至所需要的时间点,因而需要一个比较模块,将分计数器和秒计数器的输出连至比较模块输入端完成比较过程。 注: F1表示计数器分的高位,F0表示分的低位;M1表示秒的高位,M0表示秒的低位。当时间为59分00,02,04,06,08进行低音报时,当为整点时进行高音报时。SIGA为1时低音报时,SIGB为

3、1时高音报时。(4)分频模块在这个系统中需要很多种不同频率的脉冲信号,这些均可以通过一个基准频率分频器生成。分频器就是一个进制很大的计数器,利用计数器的分频功能,从不同的输出位得到所需要的脉冲信号。生成的分频器 由于clk的频率为1024hz,所以可以定义一个std_logic_vector(9 downto 0),使它不停地从0000000000加到11然后又返回0000000000,由于最低位在clk脉冲到来时从0变为1,然后又在下一个脉冲变回0,因此最低位的时钟周期为clk的时钟周期的两倍,它的频率就为clk频率的确1/2即512hz。同理,次高位的频率就为clk频率的1/2 * 1/2

4、 = 1/4,用这种方法就可以得到各种能整除1024的频率,从而实现分频。(4)动态显示模块在6个不同的时间段分别将每组时间经过七段译码后输出到6个数码管,当某一组时间的七段码到达时,只点亮对应位置上的数码管,显示相应的数字,6次一个循环,形成一个扫描序列。利用人眼的视觉暂留则可以同步显示6个数字。 CLK为时钟信号,S为计数器的小时,F为分,M为秒,SELOUT为六路选择器,选择哪个数码管工作,SEGOUT为七段译码器,使数码管显示数字。动态扫描器件(6)闹钟模块 设定的闹钟的时间应使用新的计数器进行存储,与正常的计时互不干扰。 与正常计时状态的显示切换。可以设定一个按键,用于选择是将计时时

5、间还是将闹钟时间送至动态显示模块。 应实现一个比较模块,当计时到与闹钟时间相等时,则驱动扬声器鸣叫。 闹钟响声应限定在一定时间内,且在这段时间内应随时可以通过按键取消闹时状态。闹钟调时和分以及正常计时与闹钟定时之间的选择原图及生成的器件如下: 输入端CLK为时钟信号,SD清零,NAOZHONG是使计数器正常计时和闹钟定时界面的切换,SE调闹钟的小时,SD调闹钟的分,输出端即为闹钟的小时和分。闹钟界面和正常计时界面的转换器件如下: S表示计时器的时,F表示计时器的分,M表示计数器的秒;SS表示闹钟的时,FF表示闹钟的分;Q为计时和闹钟两个界面的切换开关,ABC为输出的时间。正常计时时间和设定闹钟

6、时间的比较器件如下: S 表示正常计时的小时,F表示闹钟的分; SS表示闹钟的小时,FF表示闹钟的分;Q为闹钟的开关,D当Q为1时, 并且正常计时的时间和闹钟时间 相等时输出为1,否则为0。 三、心得和体会 经过一个星期对数字时钟实践的制作,从中学到了很多。首先是对EDA的VHDL语言的更深层次认识,本来觉得EDA编程语言比较麻烦,可是接触了以后也就觉得它还是有它方便的地方,尤其是和图形编程结合的特点。其次,这个实践其实到目前为止应该还不是一个成功的作品,还是有很多的仿真没有完成,原因可能也是自己的技术不到位。但是整个制作的过程中,它促进了同学之间的相互沟通,也让我在自己的专业知识的学习过程中

7、,更多的,更好的学习一门知识,用于以后的实践应用中,做这个数字钟的设计中包含了很多不同功能的程序,让我在其中学到了一些程序的中的思路,特别一步一步去把错误的程序改正确是一种很有成就感的事!这样让我学到了更多的知识!特别是在做数字时钟闹钟的那个模块时,我在网上查了好多程序,证实了好多错误的程序并从中更改出正确的程序!相信,现在只是一个起步,以后,我会更好的努力,学习,对EDA孰能生巧。附录:用VHDL语言写的六十进制计数器如下:library ieee;use cnt60_06 is port (clk:in std_logic; clear: c:out std_logic; k1,k0:ou

8、t std_logic_vector(3 downto 0);end cnt60_06;architecture cnt of cnt60_06 issignal q1,q0:std_logic_vector(3 downto 0);begin process(clk,clear) begin if(clear=1)then q1=0000;q0c=0 else if(clkevent and clk= if(q1=0101 and q0=1001)then-到59 elsif(q1 q0q1=q1+ elsif(q0) then=q0+ end if; k1=q1; k0=q0; end p

9、rocess;end cnt;用VHDL语言写的报时器源代码如下: library ieee;use use alert_06 isport(f1,f0,m1,m0:in std_logic_vector(3 downto 0); siga,sigb:out std_logic);end alert_06;architecture a of alert_06 is sigawhen(f1= and f0= and m1= and (m0= or m0=0010010001101000)else sigb and m0=)elseend a;用VHDL语言写的分频器的源代码如下:use fenp

10、in_06 isport (clk: hz512,hz256,hz64,hz4,hz1:end fenpin_06 ;architecture f of fenpin_06 is signal cc: std_logic_vector(9 downto 0); process(clk) if(cc=11 cc0000000000 else=cc+1; end if; hz512=cc(0); hz256=cc(1); hz64=cc(3); hz4=cc(7); hz1=cc(9);end f;用VHDL语言写的动态扫描的源代码如下:use display_06 is port(clk: s

11、:in std_logic_vector(7 downto 0); f : m : selout:out std_logic_vector(5 downto 0); segout:out std_logic_vector(6 downto 0) );end display_06 ;architecture a of display_06 issignal number:signal sel :std_logic_vector(5 downto 0);signal seg :std_logic_vector(6 downto 0);signal q :std_logic_vector(2 dow

12、nto 0);a:process(clk)if(clkqsel000000end case;end process;process if sel =then number=m(3 downto 0); elsif sel=m(7 downto 4);=f(3 downto 0);=f(7 downto 4);=s(3 downto 0);=s(7 downto 4); else 1111process(number) case number is whenseg0000000 selout=sel; segout=seg;闹钟界面和正常计时界面之间的切换源代码如下:use switch_06

13、is port(s: ss: f: ff: m: Q: A:out std_logic_vector(7 downto 0); B: C:out std_logic_vector(7 downto 0);end switch_06;architecture a of switch_06 isprocess(Q,s,ss,f,ff,m)Begin if(Q= A=ss;B=ff;C00000000A=s;=f;=m;正常计时时间和设定的闹钟时间之间的比较的源代码如下:use comp_06 is port(s,ss,f,ff:d:Q:in std_logic);end comp_06;architecture behavior of comp_06 is process(Q,s,ss,f,ff)if(rising_edge(Q)thenif(s=ss and f=ff)thendelse dend behavior;

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

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