- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
.
J I A N G S U U N I V E R S I T Y
数字逻辑课程设计
-多功能数字钟
学院名称: 计算机科学与通信工程
专业班级: 通信0902
学生姓名:
学生学号:
指导老师: 赵念强
完成日期: 2011年7月2日
多功能数字钟课程设计实验报告
实验目的:
学会应用数字系统设计方法进行电路设计;
进一步提高MAX+plus II 10.0 BASELINE软件的开发应用能力;
培养学生书写综合实验报告的能力。
实验要求:
根据实验任务,选择最佳设计方案,综合运用MAX+plus II 10.0 BASELINE软件的各种设计方法设计出层次分明、结构清楚、电路优化、VHDL语言描述简洁的完整设计文件。通过仿真直至下载来验证设计的正确性。
实验任务及要求
能进行正常的时、分、秒计时功能
用M6M5做24小时计数器的显示器;
用M4M3做60分钟计数器的显示器;
用M2M1做60秒钟计数器的显示器。
能利用实验系统上的按键实现“校时”、“校分”功能
按下“SA”键时,计时器迅速递增,并按24小时循环,计满23小时后再回00;
按下“SB”键时,计时器迅速递增,并按60分钟循环,计满59分钟后再回00;但不向高位进位。
按下“SC” 键后,秒清零。要求按下“SA”和“SB”均不会产生数字跳变(“SA”、“SB”按键是有抖动的,必须地“SA”、“SB”进行消抖处理, 消抖电路用D触发器构成。 原理:一个触发器CP(64HZ)内,屏蔽所有的抖动脉冲)。
计时(24进制计数器),计分(60进制计数器)、计秒(60进制计数器)模块可由10进制计数器连接构成,也可用VHDL语言完成(可以参考教材P341,例8.2.1 多功能电子钟的设计)。10进制计数器需自己设计(用VHDL语言,与所做实验74160计数器相同),不能调用系统库。
其他如分频电路、提供报时控制信号、闹时电路等模块用VHDL语言实现。
能利用实验板上的扬声器作整点报时
当计时到达59’50”、 51”、 52”、 53”、54”、55”、 56”、 57”、 58”、59”鸣叫,鸣叫声频可定为500HZ;
到达00分00秒时为最后一声整点报时。整点报时的频率可定为1KHZ。报时信号从ISP1032的PIN68输出,PIN68与扬声器的输入电路相连,激励扬声器;
闹时
闹时的最小时间间隔为十分钟。
闹时长度为一分钟。
闹时声响可以是单频。
闹时时声响也可以是双频交替的警笛声。
使用MAX+plus II 10.0 BASELINE软件设计符合上述功能的多功能数字钟,并用层次化设计方法设计该电路。
报时功能。闹时功能用功能仿真的方法验证,可通过观察有关波形确认电路设计是否正确。
7. 使用设计思路----层次化的思想: 计时(间)模块、时间校对模块、报时模块、分频模块、动态显示模块
完成全部电路设计后在EP1KTC144-3 实验系统上下载,验证设计的正确性。
四.顶层图及相关模块说明:
1. 顶层图:
说明:程序下载后自动进入计时状态,sa,sb,sc可分别调时,分,秒。
2.各模块说明:
(1)进制模块:
1.十进制源程序:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity ls160 is
port
(
data : in std_logic_vector(3 downto 0);
clk,ld,p,t,clr : in std_logic;
count : buffer std_logic_vector(3 downto 0);
tc:out std_logic);
end ls160;
architecture behavior of ls160 is
begin
tc=1 when (count =1001 and p=1 and t=1 and ld=1 and clr=1) else 0;
cale:
process(
文档评论(0)