位串行数字锁电路实验报告:.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大连理工大学城市学院 数字电路与系统课程设计 设计题目:设计8位串行数字锁电路 学 院:电子与自动化学院 专 业: 自动化 学 生: 刘楠楠 同 组 人: 董静文、石 姗 指导教师: 于海霞 完成日期:2014年4月27日 目 录 第一章 设计任务 1.1项目名称 3 1.2项目设计说明 3 1.2.1设计任务和要求 3 1.2.2进度安排 3 第二章 需求分析 4 2.1设计原理 4 2.2分解设计 5 第三章 系统功能模块设计 5 3.1系统流程图 5 3.2输入输出信号定义 6 3.3模块功能 6 3.31模块一 6 3.32模块二 6 3.33模块三 7 第四章 整体功能实现 7 4.1整体原理图设计 8 4.2程序编译与仿真 9 第五章调试并分析结果 9 第六章 结论 11 附录 13 第一章 设计任务 1.1项目名称:设计8位串行数字锁电路 本项目的主要内容是设计并实现8位串行数字锁电路。该电路将所学的数字电路与系统大部分知识和VHDL语言结合。 1.2项目设计说明:本项目用来实现设计8位串行数字锁电路 1.2.1设计任务和要求 ⑴开锁代码为8位二进制数,当输入代码的位数和位值与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮开所指示灯LT。否则,系统进入“错误”状态,并发出报警信号。 ⑵开锁程序由设计者确定,并要求锁内给定的密码是可调的,且预置方便,保密性好。 ⑶串行数字锁的报警方式是点亮指示灯LF,并使喇叭名叫来报警,直到按下复位开关,报警才停止。此时,数字锁又自动进入等待下一次开锁的状态。 1.2.2进度安排 第一次课:预答辩,制定计划分组 第二次课:详细设计 第三次课:设计,编程,调试 第四次课:程序测试机,硬件连续调试 第五次课:普通题检查 第六、七次课:提高题设计 第八次课:答辩 第二章 需求分析 2.1设计原理 数字密码锁原理框图如图1所示。由时钟脉冲发生器、按键、指示灯和控制部分等组成。开关的消抖动电路放在控制部分考虑,时钟输入CLK由外部时钟脉冲发生器的输出提供。设计中的指示灯就是发光二极管,共计10个,用来指示系统的工作状态。其中8个为一组,用来显示已经输入密码的个数,剩余两个,一个为开锁绿色指示灯LT;另一个为报警红色指示灯LF。控制部分是VHDL语言设计的核心部分,主要由方波生成模块FEN、消抖同步模块XIAOPRO和密码锁逻辑控制模块CORNAA这4个模块构成,可以完成密码的修改、设定及非法入侵报警、驱动外围电路等功能。 2.2分解设计 本设计主要包括方波生成模块,消抖同步模块和密码锁逻辑控制模块 方波生成模块FEN分频占空比为1:5000000的方波,用于消除抖动。 消抖同步模块实现了消除抖动并且同步的功能。 密码锁逻辑控制模块是整个设计的核心,它实现密码锁的逻辑功能。 第三章系统功能模块设计 3.1系统流程图 3.2输入输出信号定义 表1 数字密码锁控制器输入输出信号定义 信号 输入输出 定义 CLR 输入 复位信号 CLK 输入 时钟输入信号 load 输入 密码设置开关 K1 K0 输入 代表1和0的按键开关 LT 输出 开锁指示灯 LF 输出 报警指示灯 lamp 输出 密码输入显示灯 arm 输出 报警输出信号 3.3模块功能 3.31模块一:方波生成模块 方波生成模块FEN分频占空比为1:5000000的方波,用于消除抖动。分频电路的输入时钟CLK是由外部时钟提供的,外部时钟周期取200ns。(程序见附录) 3.32模块二:消抖同步模块 对于K1和K0信号,它们分别代表1和0的按键开关,可以直接送入密码锁逻辑控制模块CORNAA。但由于它们是由按键产生的,其产生时刻和持续时间长短是随机的,并且存在因开关簧片反弹引起的电平抖动现象.因此,必须在每个开关后面安排一个消抖和同步化电路模块XIAOPRO,目的是保证系统能捕捉到输入脉冲,同时,保证每按一次健只形成一个宽度固定的脉冲。在XIAOPRO模块中,因为变量的赋值是直接的,立即生效的,它在某一时刻仅包含一个值,而信号的赋值是有一个值,而信号的赋值是有一定附加时延的,故当时钟脉冲下降沿到来时,变量temp2和temp3在赋值语句执行后立即分别得到新值:tmp1的值和tmp2的非值,而输入信号a经过一定时延赋值给信号tmp1,实现了消除抖动并且同步的功能。(程序见附录) 3.32模块三:密码锁逻辑控制模块 模块CORNAA是整个设计的核心,它实现密码锁的逻辑功能。开锁代码为8位二进制数,当输入代

文档评论(0)

风凰传奇 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档