多功能数字钟的设计.EDA课程设计.doc_第1页
多功能数字钟的设计.EDA课程设计.doc_第2页
多功能数字钟的设计.EDA课程设计.doc_第3页
多功能数字钟的设计.EDA课程设计.doc_第4页
多功能数字钟的设计.EDA课程设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EDAEDA 课程设计报告书课程设计报告书 课题名称课题名称 多功能数字钟的设计多功能数字钟的设计 姓姓 名名王兴俊王兴俊 学学 号号 081220138081220138 院院 系系物理与电信工程系物理与电信工程系 专专 业业电子信息工程电子信息工程 指导教师指导教师周来秀讲师周来秀讲师 20112011 年年 6 6 月月 1313 日日 20082008级学生级学生 EDAEDA 课程设计课程设计 2 一 一 设计任务及要求 设计任务及要求 设计任务 利用 Quartus II 软件设计一个多功能数字钟 设计要求 所设计数字钟是基于现实基础上的多功能数字钟 基本上能实现一 般 多功能数字钟的功能 包括翻页显示时间和日期 调整时间及日期等等 利用 Quartus II 强大的编程功能以及完整的仿真系统进行仿真设计 通过仿真设计 校正达到设计要求 指导教师签名 年 月 日 二 指导教师评语 二 指导教师评语 指导教师签名 年 月 日 三 成绩三 成绩 验收盖章 年 月 日 3 多功能数字钟的设计多功能数字钟的设计 王兴俊王兴俊 湖南城市学院物理与电信工程系电子信息工程专业 湖南益阳 41300 1 设计目的 EDA 是电子设计自动化的缩写 在 20 世纪如年代初从计算机辅助设计 计 算机辅助制造 计算机辅助测试和计算机辅助工程的概念发展而来的 传统意 义上或者狭义上的 EDA 技术是指可编程技术 是以计算机为工具 融合了应用 电子技术 计算机技术 智能化技术的最新成果而开发出的电子 EDA 通用软件 包 设计者在 EDA 软件平台上 用硬件描述语言 VHDL 完成设计文件 然后由计 算机自动地完成逻辑编译 化简 分割 综合 优化 布局 布线和仿真 直 至对于特定目标芯片的适配编译 逻辑映射和编程下载等工作 利用 EDA 技术 进行电子系统的设计 具有以下几个特征 用软件的方式设计硬件 用软 件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的 设计 过程中可用有关软件进行各种仿真 系统可现场编程 在线升级 整个系 统可集成在一个芯片上 体积小 功耗低 可靠性高 因此 EDA 技术是现代 电子设计的发展趋 利用 EDA 设计电子产品已经是势在必得了 2 设计的主要内容和要求 a 数字钟能够显示年 月 天 小时 分钟 秒 在数字钟正常工作时可以 对数字钟进行快速校正 即拨动开关可对其进行校正 在数字钟正常工作 情况下 可以对其进行不断电复位 以使时 分 秒显示回零 b 对数字钟采用层次化的方法进行设计 要求设计层次清晰 合理 构成整个 设计的功能模块既可采用原理图输入法实现 也可采用文本输入法实现 c 对设计电路进行功能仿真 d 将仿真通过的逻辑电路下载到 EDA 实验系统 对其功能进行验证 4 3 整体设计方案 基本设计方案 多功能数字钟具有时间显示和日历显示的功能 而时间模 块和日历模块有很多相似的地方 如果再进行细分 则他们都着类似的模块 所以采用模块设计将大大简化多功能数字钟的程序设计 时显示器 时译码器 时计数器 分显示器秒显示器 时显示器 时显示器 秒译码器 秒计数器 分译码器 分计数器 校时电路校年电路 分频器 日显示器月显示器年显示器 日译码器 月译码器年译码器 日计数器月计数器年计数器 振荡器 图 3 1数字钟整体设计方框图 4 硬件电路的设计 4 1 分频器模块的设计 图 4 1 分频器模块 因为试验箱上晶振为 20MHz 对于秒表的计时和进行数码管的动态扫描来 说 频率都太大了 因此要将 20MHz 进行分频处理 本次设计将分成 1KHz 和 1Hz 两个频率 5 4 2 计数器模块的设计 图 4 2 计数器模块 在数字钟的设计中 计数器模块是最常见和最为通用的 在本次设计中用 到了模为 24 60 99 12 和 31 五个计数器 因为他们都是大同小异的 所以 这里只列出了模为 24 的计数器 即小时计数器 4 3 动态扫描模块的设计 图 4 3 动态显示模块 因为本次课程设计有多组数据要显示 显示方式为数码管动态显示 比之 于静态显示 动态显示有着不可替代的优点 占用数据线少 功耗小等特点 6 4 4 开关选择模块的设计 图 4 4开关选择模块 因为本次课程设计要实现两个功能 时间显示和日历显示 通过开关 KEY 来 切换 4 5 译码器模块的设计 图 4 5 译码器模块 要想将时间或日历在数码管上显示出来 译码器模块必不可少 本次课程 设计使用的事共阴数码管 7 5 软件设计 5 1 分频器模块的设计的源程序 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC ARITH ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY FREQ IS PORT CLK IN STD LOGIC 时钟输入 CLK1KHZ CLK1HZ BUFFER STD LOGIC END FREQ ARCHITECTURE BEHAVE OF FREQ IS SIGNAL CLK1MHZ STD LOGIC 中转量 SIGNAL Q STD LOGIC VECTOR 4 DOWNTO 0 SIGNAL Q1 STD LOGIC VECTOR 9 DOWNTO 0 SIGNAL Q2 STD LOGIC VECTOR 9 DOWNTO 0 SIGNAL DIR FLAG STD LOGIC 方向标志 BEGIN PROCESS CLK 把 20MHZ 的频率变为 1MHZ BEGIN IF CLK EVENT AND CLK 1 THEN IF Q 10011 THEN Q 00000 CLK1MHZ 1 ELSE Q Q 1 CLK1MHZ 0 END IF END IF END PROCESS PROCESS CLK1MHZ IS 把 1MHZ 的频率变为 1KHZ BEGIN IF CLK1MHZ EVENT AND CLK1MHZ 1 THEN IF Q1 1111111111 THEN Q1 0000000000 CLK1KHZ 1 ELSE Q1 Q1 1 CLK1KHZ 0 END IF END IF 8 END PROCESS PROCESS CLK1KHZ IS 把 1KHZ 的频率变为 1HZ BEGIN IF CLK1KHZ EVENT AND CLK1KHZ 1 THEN IF Q2 1111111111 THEN Q2 0000000000 CLK1HZ 1 ELSE Q2 Q2 1 CLK1HZ 0 END IF END IF END PROCESS END BEHAVE 5 2 计数器模块设计程序 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY HOUR IS 实体 定义输入和输出 PORT CLK EN IN STD LOGIC 输入时钟 高电平有效的使能信号 CO OUT STD LOGIC H1 H0 OUT STD LOGIC VECTOR 3 DOWNTO 0 时高位 低位 END HOUR ARCHITECTURE HOUR ARC OF HOUR IS 结构体 BEGIN PROCESS CLK VARIABLE CNT1 CNT0 STD LOGIC VECTOR 3 DOWNTO 0 记数 BEGIN IF CLK EVENT AND CLK 1 THEN 上升沿触发 IF EN 1 THEN 同时 使能 为 1 IF CNT1 0010 AND CNT0 0011 THEN CNT1 0000 高位 低位同时为 0 时 CNT0 0000 CO 1 ELSIF CNT0 1001 THEN 低位小于 9 时 低位记数累 加 CNT0 CNT0 1 CO 0 9 ELSE CO 0 CNT0 0000 CNT1 CNT1 1 高位记数累加 END IF END IF END IF H1 CNT1 H0 CNT0 END PROCESS END HOUR ARC 5 3 动态扫描模块设计程序 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL USE IEEE STD LOGIC ARITH ALL ENTITY SELTIME IS PORT CLK IN STD LOGIC SEC1 SEC0 MIN1 MIN0 H1 H0 IN STD LOGIC VECTOR 3 DOWNTO 0 DAOUT OUT STD LOGIC VECTOR 3 DOWNTO 0 SEL OUT STD LOGIC VECTOR 2 DOWNTO 0 END SELTIME ARCHITECTURE FUN OF SELTIME IS SIGNAL COUNT STD LOGIC VECTOR 2 DOWNTO 0 BEGIN SEL 111 THEN COUNT 000 ELSE COUNTDAOUTDAOUTDAOUTDAOUTDAOUTDAOUTDAOUTDAOUT SEC0 END CASE END PROCESS END FUN 5 4 开关选择模块的设计程序 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY SWITCH IS 实体 定义输入和输出 PORT SECOND DAY IN STD LOGIC VECTOR 3 DOWNTO 0 DOUT OUT STD LOGIC VECTOR 3 DOWNTO 0 SELS SELD IN STD LOGIC VECTOR 2 DOWNTO 0 SELOUT OUT STD LOGIC VECTOR 2 DOWNTO 0 KEY IN STD LOGIC END SWITCH ARCHITECTURE BEHAVE OF SWITCH IS 结构体 BEGIN PROCESS KEY BEGIN IF KEY 1 THEN DOUT SECOND SELOUT SELS ELSE DOUT DAY SELOUT QQQQQQQQQQQ 12 完成节点选择 点击 OK 完成节点添加 选择仿真时间 视电路实际要求确定仿真时间长短 在当前主菜单 Edit 的 下拉菜单中选中 End Time 弹出结束时间对话框 在提示窗 Time 中输入仿 真结束时间 即可修改仿真时间 本次设计仿真时间设置为 1ms 用同样的方 法设置网格的大小 本次设计仿真设置为 200ns 对有关的初值进行设置 设置完成后保存文件后进行波形仿真直到本实验 电路的仿真结果报告中无错误 无警告 最后仿真效果如图 6 2 所示 图 6 1 为 电路原理图 图 6 1多功能数字钟电路原理图 图6 2数字钟仿真结果 13 7 使用说明 本人设计的数字钟电路主要由译码显示器 年 月 日 时 分 秒 计数器等组成 其中clk为晶振 频率为20M 输入端 clrsecond为 秒清零开关 setmimute为分钟调节开关 sethour为小时调节开关 setday为日 调节开关 setmonth为月调节开关 setyear为年调节开关 key为日历显示和时 间显示切换开关 dout 6 0 为数码管段选输出端 selout 2 0 为数码位选输出端 8 设计总结 对于此次多功能数字钟的设计 我感慨颇多 通过这次课程设计使我懂得 了理论与实际相结合是很重要的 只有理论知识是远远不够的 我学到很多很 多的东西 同时不仅可以巩固以前所学过的知识 而且学到了很多在书本上所 没有学到过的知识 在实验中 通过查阅 数字逻辑设计实验与 EDA 技术 VHDL 程序实例 等相关资料 不仅对这种语言更加了解 也提高了自己的实 际动手能力和独立思考的能力 在设计的过程中遇到了很多问题 同时在设计 的过程中发现了自己的不足之处 对所学过的知识理解得不够深刻 掌握得不 够牢固 对程序中出现的错误如何修改 怎样生成元件还不是很熟 为了这 次课程设计 相当于把以前所学过的知识重新温习了一遍 在这两个星期的学习中 通过自己的学习和与同学的讨论 学会了如何来 设计一个电路和元件有了深刻的理解 并巩固了对 Quartus 软件的应用 也 终于觉得平时所学的知识有了实用的价值 达到了理论与实际相结合的目的 不仅学到了不少知识 而且锻炼了自己的能力 使自己对以后的路有了更加清 楚的认识 同时 对未来有了更多的信心 也感谢我的指导老师对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论