




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要本课程设计主要介绍了运用EDA技术实现“电子时钟”的设计,以达到对EDA技术的熟练掌握,提升对EDA技术及应用课程所学的内容的掌握和应用,文介绍一种利用FPGA可编程逻辑器件设计数字电子时钟的方法及过程。文中包含各部分程序及经过max-plusII仿真的波形。通过对max-plusII的使用熟悉max-plusII仿真软件的工作方法及应用。关键字:EDA FPGA 电子时钟 max-plusII目录摘要1.设计方案及原理11.1设计方案11.2设计原理12. 设计过程32.1顶层设计32.2各个模块程序及波形32.2.1小时模块32.2.2分钟模块52.2.3秒钟模块62.2.4数码管译码模块82.2.5数码管片选模块92.2.6数码管扫描模块102.2.7分频模块112.3硬件电路图14总结15参考资料16附录 简易时钟电路图17附录 元件清单181.设计方案及原理1.1设计方案根据电路特点,可用层次化结构化设计概念。将此项设计任务分成若干模块:(1)时钟模块:由外部晶振提供; (2)秒钟模块:对秒进行60循环计数,并向分钟产生进位,同时具有调分功能; (3)分钟模块:对分进行60循环计数,并向小时产生进位,同时具有调时功能; (4)小时模块:对小时进行24进制循环计;。(5)10分频器和4分频器:将外部时钟分频为1Hz的时钟信号;(6)6选1扫描显示:(7)7段数码管译码器:译出数码管要显示的数字。1.2设计原理电子钟是一个将“时”“分”显示于人的视觉器官的计时装置。它的计时周期为24小时;显示满刻度为23时59分59秒,秒由两个数码管显示,将标准秒信号送入“秒计数器”,每累加60秒发送一个“分脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计数器,可实现对一天24小时的累计。译码显示电路将“时”“分”“秒”计数器的输出状态六段显示译码器译码。通过六位七段显示器显示出来。数字钟结构组成框图如图1.2.1。24进制小时计数器60进制分计数器60进制秒计数器时译码显示分译码显示秒译码显示选 择 器选 择 器sethoursetminNNNNNNNCOCO校时控制校分控制1HZ图 1.2.1 数字钟结构方框图2. 设计过程2.1顶层设计顶层文件是将各个模块连接在一起的模块。其中,clk提供时钟信号,setmin用来调节分钟,sethour用来调节小时。输出cout2.0是片选信号,输出a6.0连接7段数码管的7个引脚。其顶层文件的电路图如图2.1.1。图 2.1.1 顶层图2.2各个模块程序及波形2.2.1小时模块小时模块的电路图如图2.2.1,其中,H13.0是小时的高位,H03.0是小时的低位。当H03.0计到9时向高位进一。当H13.0与H03.0分别计到0010和0011时,自动为0000。图 2.2.1 小时模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour is port(clk:in std_logic; h1,h0:out std_logic_vector(3 downto 0);end hour;architecture art of hour issignal cnt1,cnt0:std_logic_vector(3 downto 0);beginprocess(clk)beginif clkevent and clk=1 then if cnt1=0010 thenif cnt0=0011 thencnt0=0000;cnt1=0000;else cnt0=cnt0+1; end if;elsif cnt0=1001 thencnt0=0000;cnt1=cnt1+1;elsecnt0=cnt0+1;end if;end if;h1=cnt1;h0=cnt0;end process;end art;小时模块的波形图如图2.2.2。图 2.2.2小时模块波形2.2.2分钟模块分钟模块的电路图如图2.2.3,其中,MIN13.0是分钟的高位,MIN03.0是分钟的低位。当MIN13.0计到9时向高位进一。当MIN13.0与MIN03.0分别计到0101和1001时,自动为0000。SETHOUR是调时控制。其分钟模块的电路图如图2.2.3。图 2.2.3分钟模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minu is port(sethour,clk:in std_logic; min1,min0:out std_logic_vector(3 downto 0); c0:out std_logic);end minu;architecture art of minu issignal cnt1,cnt0:std_logic_vector(3 downto 0);signal cc1,cc2:std_logic;begincc2=(sethour and clk);c0=(cc1 or cc2);process(clk,sethour)beginif clkevent and clk=1 thenif cnt1=0101 thenif cnt0=1001 thencc1=1;cnt0=0000;cnt1=0000; else cnt0=cnt0+1;cc1=0;end if; elsif cnt0=1001 thencnt0=0000;cnt1=cnt1+1;cc1=0;elsecnt0=cnt0+1;cc1=0;end if;end if;min1=cnt1;min0=cnt0;end process;end art;分钟模块的波形图如图2.2.4。图2.2.4分钟模块波形2.2.3秒钟模块秒钟模块的电路图如图2.2.5,其中,SEC13.0是秒钟的高位,SEC03.0是秒钟的低位。当SEC13.0计到9时向高位进一。当SEC13.0与SEC03.0分别计到0101和1001时,自动为0000。SETMIN是调时控制。秒钟模块的电路图如图2.2.2。图2.2.5 秒钟模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second is port(clk,setmin:in std_logic; sec1,sec0:out std_logic_vector(3 downto 0); c0:out std_logic);end second;architecture art of second issignal cnt1,cnt0:std_logic_vector(3 downto 0);signal cc1,cc2:std_logic;begincc2=(setmin and clk);c0=(cc1 or cc2);process(clk,setmin)beginif clkevent and clk=1 thenif cnt1=0101 and cnt0=1000 thencc1=1;cnt0=1001;elsif cnt01001 thencnt0=cnt0+1;cc1=0;elsecnt0=0000;if cnt10101 thencnt1=cnt1+1;cc1=0;elsecnt1=0000;cc1=1;end if; end if;end if;sec1=cnt1;sec0qqqqqqqqqqq=0000000; end case; end process;end one;2.2.5数码管片选模块数码管片选模块用来选择数码管哪一时刻有效。其电路图如图2.2.8。图2.2.8数码管片选模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cn6 is port(clk : in std_logic; cout : out std_logic_vector(2 downto 0);end cn6;architecture rtl of cn6 is signal q : std_logic_vector(2 downto 0);begin process(clk) begin if(clkevent and clk=1) then if(q=5) then q=000; else q=q+1; end if; end if; end process;coutcout:=a; when 001=cout:=b; when 010=cout:=c; when 011=cout:=d; when 100=cout:=e; when others=cout:=f; end case; q =cout; end process;end rtl;2.2.7分频模块10分频电路用来对时钟信号十分频。10分频电路如图2.2.11。图2.2.11 10分频电路library ieee;use ieee.std_logic_1164.all;entity fen10 is port(clk:in std_logic ;q:out std_logic);end fen10;architecture fen_arc of fen10 isbegin process(clk) variable cnt:integer range 0 to 9;beginif clk event and clk=1thenif cnt9 then cnt:=cnt+1;q=0;elsecnt:=0;q=1;end if;end if;end process;end fen_arc;十分频器波形图如图2.2.12。图2.2.12 十分频器波形图四分频模块电路图如图2.2.13。图 2.2.13四分频模块library ieee;use ieee.std_logic_1164.all;entity fen4 is port(clk:in std_logic ;q:out std_logic);end fen4;architecture fen_arc of fen4 isbegin process(clk) variable cnt:integer range 0 to 3;beginif clk event and clk=1thenif cnt3 then cnt:=cnt+1;q=0;elsecnt:=0;q=1;end if;end if;end process;end fen_arc;图2.2.13四分频模块波形2.3硬件电路图本电路采用FPGA芯片EP1K10TC144-1,外加有源晶振。图 2.2.14 硬件电路图总结通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误的存在,但是在我细心的检查下,终于找出了错误和警告的所在,排除困难后,程序编译就通过了。 在刚开始做实验的时,做起来感觉有点困难,很多的步骤都不记得,但是还是摸索着继续做完了实验,后来的实验就容易多了。 在这次实验中也遇到了不少问题,开始的时候我先是决定做数字钟这个实验,但是从我在图书馆查阅的资料来看,不是程序不完整就是其中有错误,后来终于找到了一个比较完整的程序,但是其中又多出了有关七段共阴极扫描数码管的片选程序以及七段译码程序所以就不用再编程序来完成这两个操作了。我查了其他的有关资料然后对其程序进行了修改,把上述两个程序删除了。然后对顶层文件的各端口进行了修改,比如增添了三个输出端口SECOND6.0、MIN6.0、HOUR6.0等。然后将各模块考虑后正确选择了硬件模式5,根据其功能要求选择了引脚,并查出了引脚号。在对程序进行修改后,以及正确选择硬件模块后,就对其进行了硬件测试,并且最后硬件测试结果与期望得到了功能要求一致。总的来说,这次设计的数字钟还是比较成功的。从这次实验中我学到了很多东西,不仅对EDA实验有所了解,而且还把实验和理论结合起来实用,对EDA有了较深入的了解。不仅学到了不少知识,而且锻炼了自己的实际动手的能力,还提高了自己思考和独立的能力。使自己对以后的学习道路有了个更加清楚的认识,同时,对未来也有了更多的信心。感谢老师的指导!参考资料1康华光 主编,电子技术基础-数字部分M.高等教育出版
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牛津深圳版初中英语单词表九年级下册
- 目标突破课件:3.4.1 同类项
- 河南省泌阳县2025年上半年公开招聘村务工作者试题含答案分析
- 2025年度健身中心场地租赁合同
- 2025版商铺租赁合同租赁期间合同解除条件承诺
- 2025版文化公司创意人员追诉期劳动合同示范
- 2025版租赁合同涵盖租赁物保险与风险承担
- 2025版养老院社会捐助服务合同
- 2025版银行信用卡分期付款合同规范模板下载
- 2025版三方大数据分析销售合作协议范本
- 蒋诗萌小品《谁杀死了周日》台词完整版
- 6G网络中的垂直通信和切片技术
- 入学安全第一课幼儿园
- 社区健康服务与管理教案
- 《社区康复》课件-第一章 总论
- 机械设备维护保养手册
- 人教版初中英语七至九年级单词汇总表(七年级至九年级全5册)
- 微积分的产生与发展
- 消防安全隐患排查投标方案(技术标)
- 22S803 圆形钢筋混凝土蓄水池
- 钢管顶管施工方案
评论
0/150
提交评论