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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于vhdl时钟的设计与制作(附完整代码).doc)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于vhdl时钟的设计与制作(附完整代码).doc

1、机电工程系 《EDA》 实 验 报 告 实验题目: 时钟的设计与制作 班级:08通信 姓 名: 学 号: 一、实验要求 1、实现功能: (1)运用动态扫描对8个数码管进行显示操作; (2)通过两个按键对时钟的时间进行调整,处于被调整状态下的位能闪烁。 2、硬件知识要求: (1)掌握数码管的动态扫描; (2)熟悉各个管脚所接的硬件; (3)掌握按键去抖动原理; (4)熟悉程序到实验箱的下载; 3、软件知识要求: (1)掌握各种编程语句的使用方法; (2)掌握判断语句的嵌套; 二、各个信号所对应功能 CLK1:1KHZ ——作为动态显示扫描时

2、钟及500ms计数时钟 CLK2:1HZ -—作为时钟控制信号 CS1:自动秒个位进十位控制;CS2:自动秒进分控制位;Cm1:自动分个位进十位控制 Cm2:自动分进时控制位 ; Ch1:自动时个位进十位控制位 Key1,key2:按键1,按键2 Ck1,按键1去抖动后控制位 K1:00正常显示,01调秒同时秒位闪烁,10调分同时分位闪烁, 11调时同时时位闪烁 Ck2:按键二按下产生一个上升沿脉冲从而作为手动调整时钟的脉冲 Cp:闪烁控制位,500ms取反一次 Clk02:选用按键脉冲或自动自动脉冲的进位寄存器控制秒个位 Cs02:选用按键脉冲或自动自动脉冲的进

3、位寄存器控制分个位 Cm02:选用按键脉冲或自动自动脉冲的进位寄存器控制时个位 s1,s2,m1,m2,h1,h2:送显示的寄存器 s01,s02,m01,m02,h01,h02:时钟秒、分、时寄存器 s001,s002,m001,m002,h001,h002:闪烁用时钟秒、分、时寄存器(闪烁频率为2hz)。当处于调整状态的时送到相应的显示寄存器。 abc:74ls138控制信号,由clk1控制。 Led7s:显示 Disp:所要显示的数值 三、实验程序及部分仿真波形图 library ieee; use ieee.std_logic_1164。all; use ie

4、ee.std_logic_unsigned.all; entity colock is port(clk1,clk2,key1,key2: in std_logic; abc:out std_logic_vector(2 downto 0); led7s:out std_logic_vector(6 downto 0) ); end entity; architecture one of colock is signal ctrl:std_logic_vector(3 downto 0); signal clk02,cs02,cm02,cs1,cs2,cm

5、1,cm2,ch1,cp,k2,ck1,ck2:std_logic; signals1,s2,m1,m2,h1,h2,s01,s02,m01,m02,h01,h02,s001,s002,m001,m002,h001, h002,p1,p2,disp:std_logic_vector(3 downto 0); signal ctrl0:std_logic_vector(8 downto 0); signal tmp1,tmp2:std_logic_vector(9 downto 0); signal k1:std_logic_vector(1 downto 0); beg

6、in ——当处于按键调时状态时,根据K1的值来确定所调整的位,被调整的位送按键2产生的脉冲(CK2),其余进位脉冲赋0屏蔽掉 process(k1,clk2,clk02,cs2,cm2,ck2) begin case k1 is when ”00” =〉 clk02<=clk2;cs02〈=cs2;cm02〈=cm2; when ”01" =〉 clk02〈=ck2;cs02〈=’0';cm02〈='0’; when ”10" =〉 clk02〈=’0’;cs02<=ck2;cm02〈='0'; when "11” =〉 clk02〈=’0';cs02<=’0';cm

7、02〈=ck2; when others => clk02〈=clk2;cs02〈=cs2;cm02<=cm2; end case ; end process; —-500进制计数器,每500ms对CP进行取反一次,用于闪烁控制 process(clk1) begin if rising_edge(clk1) then if ctrl0<499 then ctrl0〈=ctrl0+1; else ctrl0〈=”000000000”;cp〈=not cp; end if ; end if; end process; ——数码管动态扫描,接

8、138的输入端 process(clk1) begin if rising_edge(clk1) then if ctrl<9 then ctrl<=ctrl+1; else ctrl<=”0000"; end if ; end if ; end process; abc〈=ctrl(2 downto 0); --秒个位的计数 process(clk02) begin if rising_edge(clk02) then if s01〈”1001" then s01〈=s01+1;cs1<=’0'; else s01<=”00

9、00”;cs1〈='1’; end if; end if; end process; ——秒十位的计数 process(cs1) begin if rising_edge(cs1) then if s02〈"0101" then s02〈=s02+1;cs2<=’0’; else s02〈=”0000”;cs2<='1'; end if; end if; end process; -—分个位的计数 process(cs02) begin if rising_edge(cs02) then if m01〈"100

10、1” then m01〈=m01+1;cm1〈=’0'; else m01<="0000”;cm1〈='1’; end if; end if; end process; —-分十位的计数 process(cm1) begin if rising_edge(cm1) then if m02<”0101" then m02〈=m02+1;cm2〈=’0’; else m02〈="0000”;cm2〈='1'; end if; end if; end process; ——小时个位的计数 process(cm02) beg

11、in if rising_edge(cm02) then if h02〈"0010” then if h01〈”1001” then h01<=h01+1;ch1〈=’0’; else h01<="0000”;ch1<=’1’; end if ; else if h01<"0011”then h01<=h01+1;ch1<='0'; else h01<=”0000”;ch1〈=’1’; end if; end if; end if; end process; ——小时十位的计数 proces

12、s(ch1) begin if rising_edge(ch1) then if h02<"0010” then h02<=h2+1; else h02〈=”0000”; end if; end if; end process; -—按键一去抖动 process(clk1) begin if rising_edge(clk1) then tmp1(0)〈=key1;tmp1(9 downto 1)〈=tmp1(8 downto 0); if tmp1="1111111111” then ck1<=’1’;else ck1〈='0';

13、 end if ; end if; end process; -—按键一实现功能 process(ck1) begin if rising_edge(ck1) then k1<=k1+1; end if ; end process; ——按键二去抖动,并产生一个时钟上升沿脉冲 process(clk1) begin if rising_edge(clk1) then tmp2(0)〈=key2;tmp2(9 downto 1)〈=tmp2(8 downto 0); if tmp2=”1111111111” then ck2〈='1’;else

14、 ck2〈=’0’; end if ; end if; end process; ——闪烁程序,当CP=0时送显示数据,当CP=1时送灭灯指令 process(cp,s01,s02,m01,m02,h01,h02) begin case cp is when ’0'=> s001〈=s01;s002<=s02;m001<=m01;m002〈=m02;h001〈=h01;h002〈=h02; when’1'=> s001<=”1011";s002〈=”1011";m001〈="1011”;m002〈="1011”;h001〈=”1011";h002<=”1011”; w

15、hen others => s001<=”1011";s002<="1011”;s001〈=”1011”;s002<=”1011";m001〈=”1011”;m002〈="1011”;h001〈=”1011”;h002<="1011"; end case; end process; ——当没有进行调整则送正常显示数据,当进行调整时对相应位送闪烁数据进行显示 process(k1,s01,s02,m01,m02,h01,h02,s001,s002,m001,m002,h001,h002) begin case k1 is when ”00" =〉 s1〈=s01;s2〈=s02;

16、m1〈=m01;m2<=m02;h1〈=h01;h2〈=h02; when "01" => s1<=s001;s2〈=s002;m1〈=m01;m2〈=m02;h1〈=h01;h2<=h02; when ”10" =〉 s1〈=s01;s2〈=s02;m1〈=m001;m2<=m002;h1〈=h01;h2〈=h02; when ”11” =〉 s1<=s01;s2<=s02;m1<=m01;m2<=m02;h1<=h001;h2〈=h002; when others =〉 s1<=s01;s2〈=s02;m1〈=m01;m2<=m02;h1<=h01;h2<=h02; en

17、d case ; end process; --横杠闪烁 process(cp) begin case cp is when ’0’=> p1 〈="1010”;p2 〈="1010”; when ’1’=〉 p1 〈="1011”;p2 〈="1011”; when others=〉 p1 〈=”1100”;p2 〈=”1100"; end case; end process; —-动态扫描时每个数码管送相应的显示数据 process(ctrl,s1,s2,p1,m1,p2,m2,h1,h2) begin case ctrl is when "

18、0000" =〉disp〈=s1; when ”0001" =〉disp<=s2; when ”0010” =>disp〈=p1; when "0011" =〉disp〈=m1; when "0100" =〉disp〈=m2; when ”0101” =>disp〈=p2; when "0110" =〉disp〈=h1; when ”0111” =〉disp〈=h2; when others =〉disp〈=”1100”; end case; end process;] —-显示数据对应的段码 process(disp) begi

19、n case disp is when"0000”=〉led7s〈="0111111"; when”0001”=〉led7s〈="0000110"; when"0010”=〉led7s〈="1011011"; when”0011"=>led7s〈="1001111”; when"0100”=>led7s〈="1100110"; when”0101”=〉led7s〈="1101101”; when"0110”=〉led7s<=”1111101"; when”0111”=〉led7s〈="0000111”; when”1000"=>led7s〈=”11111

20、11”; when”1001”=>led7s〈=”1101111”; when”1010"=〉led7s<="1000000"; when”1011"=〉led7s<="0000000”; when others =〉led7s〈="0000000"; end case ; end process; end architecture one; 1. 第五章 心得体会 7 通过此次课程设计使我更加深刻的认识EDA电子电路设计的各个模块。时钟程序的编写按键调整时间同时让处于调整的位闪烁体会到各个进程之间通过控制信号建立起来的紧密联系,以及通过移位来达到按键的去抖动。进行硬件调试时了解到芯片跟外围设备之间的连接程序功能由简单到复杂,通过课堂提问一步步完善时钟的各个模块,将本学期所学到的内容串到一起,最终完成课程设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服