倒计时抢答器_第1页
倒计时抢答器_第2页
倒计时抢答器_第3页
倒计时抢答器_第4页
倒计时抢答器_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

课程设计说明书课程设计说明书 课程 课程 EDA 技术基础技术基础 题目 题目 抢答计时器的设计抢答计时器的设计 学生姓名 学生姓名 单永恒单永恒 学学 号 号 201056110222 班班 级级 电信电信 1002 专专 业 业 电子信息科学与技术电子信息科学与技术 指导教师 指导教师 贺贺 慧慧 勇勇 2012 年年 12 月月 21 日日 长长沙沙理理工工大大学学课课程程设设计计任任务务书书 物理与电子科学 学院学院 电信 专业专业 1002 班班 姓名姓名 单永恒 课程名称课程名称 EDAEDA 技术基础技术基础 题题 目目 抢答计时器的设计抢答计时器的设计 同组设计者 单永恒 陈杰 岳克栋 张浩 岳婷 要求 设计一个8路抢答计时器 1 当有某一个参赛者下按抢答开关时 相应显示灯亮 并伴有声响 且此时抢答器不 再接受其他输入信号 2 电路具有回答问题时间控制功能 要求回答问题时间小于等于120s 时间显示采用 倒计时方式 当达到限定时间时 发出声响以示警告 3 主持人复位功能和启动抢答功能 发挥部分 1 记录本次抢答成功者的抢答延时 精确到0 01s 主持人可在复位前查看 2 记录各参赛者本次抢答延时 精确到0 01s 主持人可在复位前翻查 工作计划 1 时间 本课程设计安排2周时间 2011 12 5 2011 12 16 2 进度安排 第1周周一周二 查阅资料 拿出整体设计方案 划分模块 第1周周三至周五 各模块的设计 调试 验证 第2周周三前完成项目整体调试和测试 第2周周三周四文档写作整理 第2周周五 答辩讨论 指导教师 贺慧勇 唐立军 文勇军 周晓萍 唐俊龙 2011 年 11 月 20 日 教研室意见 同意 教研室主任 文勇军 2011 年 11 月 23 日 长沙理工大学课程设计成绩评定表长沙理工大学课程设计成绩评定表 学生姓名 单永恒 学号 201056110222 专业班级 电信 1002 课程设计题目 抢答计时器的设计 评分项目要求分值得分 学习态度学习态度认真 遵守纪律 10 设计方案调研充分 方案设计合理 20 工作量完成了任务书规定的工作量 实际 设计 调试效果好 40 设计报告 完全符合撰写规范要求 结构严谨 逻辑性强 层次清晰 表述准确 文字流畅 20 答辩 准备充分 概念清楚 能准确流利 地回答各种问题 10 总分 备注 成绩 指导教师 年 月 日 目录目录 1 1 课程设计说明封面课程设计说明封面 1 1 2 2 课程设计任务书课程设计任务书 2 2 3 3 长沙理工大学课程设计成绩评定表长沙理工大学课程设计成绩评定表 3 3 4 4 摘要摘要 6 6 5 5 实现功能与设计思路实现功能与设计思路 6 6 6 6 方案确定与模块划分方案确定与模块划分 6 6 7 7 硬件设计与资源分配硬件设计与资源分配 6 6 8 8 整体的仿真验证 整体的仿真验证 7 7 9 9 分析仿真分析仿真 11 11 1010 仿真结果仿真结果 11 11 1111 学习心得学习心得 11 11 参考文献资料参考文献资料 13 13 摘要摘要 分析了具有倒计时功能数字式抢答器的设计需求 给出了采用CPLD 复杂可编程逻辑器 件 的系统设计方案 详细介绍了用VHDL 超高速集成电路硬件描述语言 进行其核心设计 CPLD 内 部功能模块的具体设计及实现方法 总结了采用CPLD基于VHDL语言的系统设计优点 指出 了现代 数字系统设计的特点及发展趋势 本内容主要做整体的仿真验证 当清零信号到来时能否把输出复位 开始信号到来时能否 开始计时抢答 分析代码 分析宏观操作与代码之间的转换 并用vhdl语言描述出来 找出量的逻辑关系 做仿真验证 验证能不能达到设计要求 找出问题解决问题 总结归纳 记下自己的心得 关键词 抢答器 VHDL CPLD 模块化 实现功能与设计思路实现功能与设计思路 要求设计一个8人 组 参加的智力竞赛抢答器 电路输出具有唯一性和时序第一的特征 且 电路具有回答问题时间控制功能 要求回答问题时间小于120 s显示为0 120 时间显示 采用倒计时方式 根据设计要求分析定义系统功能如下 a 具有8人抢答器功能 可设开关设阵列K1 K8对应8个抢答选手 或组别 当一人 组 抢 答后 有锁存功能 数码管稳定显示与输入开关编号相对应的数字 1 8 并能保持显示 之后的抢答按键输入无效 b 具有手动解锁功能 设置主持人控制按键Reset 用于控制整个系统清零和抢答有效控制 显示结果能由解锁控制按键清除 数码管显示 解锁之后进行下一轮抢答 c 主持人发出开始命令 8人 组 开始抢答 其中一人先按下抢答键 蜂鸣器发出鸣叫 数码管显示该选手号码 倒计时开始并显示倒计时值 其他人再按键 系统不再响应 直 至主持人按键清零并鸣响警告 系统解锁 下一轮抢答开始 方案确定与模块划分 根据以上功能要求与设计思路 该系统共分6个组成部分 脉冲振荡电路 手动解锁电路 主持人控制 8人 组 抢答开关阵列电路 数码显示电路 蜂鸣器声响电路 硬件设计与资源分配 a 脉冲振荡电路用于产生标准50MHZ时钟信号 为系统提供CLK 信号 b 主持人控制电路 由解锁开关按键Reset实现 当按键按下时为低电平有效 c 8人抢答电路 由开关阵列实现 8 个按键 当按键按下时为低电平有效 d 蜂鸣器声响电路 送低 高电平时 可使蜂鸣器发出声响或不发声 e 数码显示电路 4个共阴极LED 发光二极管 实现 分别显示抢答选手号 倒计时的高位 中位和低位时间值 整体的仿真验证 整体的仿真验证 实验步骤 实验步骤 当第一路抢答信号到来时 输出蜂鸣 然后锁存这一信号 当第二路信号到来时不做响应当第一路抢答信号到来时 输出蜂鸣 然后锁存这一信号 当第二路信号到来时不做响应 当主持人解锁后锁存解锁开始下一题的抢答 当主持人解锁后锁存解锁开始下一题的抢答 LIBRARYLIBRARY IEEE IEEE USEUSE IEEE STD LOGIC 1164 ALL IEEE STD LOGIC 1164 ALL USEUSE IEEE STD LOGIC UNSIGNED ALL IEEE STD LOGIC UNSIGNED ALL ENTITYENTITY yyyy ISIS PORT s INPORT s IN STD LOGIC VECTOR 7STD LOGIC VECTOR 7 DOWNTODOWNTO 0 0 定义端口定义端口portport reset start INreset start IN STD LOGIC STD LOGIC LED OUTLED OUT STD LOGIC VECTOR 7STD LOGIC VECTOR 7 DOWNTODOWNTO 0 0 bell outbell out STD LOGIC STD LOGIC ENDEND yy yy ARCHITECTUREARCHITECTURE shanshan OFOF yyyy ISIS 定义全局信号定义全局信号 signalsignal g g STD LOGIC VECTOR 7STD LOGIC VECTOR 7 DOWNTODOWNTO 0 0 SIGNALSIGNAL P STD LOGIC P STD LOGIC BEGINBEGIN PROCESS s reset g PROCESS s reset g 对敏感量对敏感量s s resetreset g g的进程的进程 BEGINBEGIN IF IF reset 0 THENreset 0 THEN 清零信号清零信号 g 00000000 P 0 T 0 g 00000000 P 0 T 0 ELSIFELSIF START 1 THENSTART 1 THEN 开始信号开始信号 对对8 8路信号的抢答鉴别和锁存路信号的抢答鉴别和锁存 IF s 0 1 ORIF s 0 1 OR g 0 1 ANDg 0 1 AND 鉴别第鉴别第1 1路信号和锁存路信号和锁存 NOT g 1 1 ORNOT g 1 1 OR g 2 1 ORg 2 1 OR g 3 1 ORg 3 1 OR g 4 1 ORg 4 1 OR g 5 1 ORg 5 1 OR g 6 1 ORg 6 1 OR g 7 1 g 7 1 THENTHEN g 0 1 g 0 1 ENDEND IF IF IF s 1 1 ORIF s 1 1 OR g 1 1 ANDg 1 1 AND 鉴别第鉴别第2 2路信号和锁存路信号和锁存 NOT g 0 1 ORNOT g 0 1 OR g 2 1 ORg 2 1 OR g 3 1 ORg 3 1 OR g 4 1 ORg 4 1 OR g 5 1 ORg 5 1 OR g 6 1 ORg 6 1 OR g 7 1 g 7 1 THENTHEN g 1 1 g 1 1 ENDEND IF IF IF s 2 1 ORIF s 2 1 OR g 2 1 ANDg 2 1 AND 鉴别第鉴别第3 3路信号和锁存路信号和锁存 NOT g 0 1 ORNOT g 0 1 OR g 1 1 ORg 1 1 OR g 3 1 ORg 3 1 OR g 4 1 ORg 4 1 OR g 5 1 ORg 5 1 OR g 6 1 ORg 6 1 OR g 7 1 g 7 1 THENTHEN g 2 1 g 2 1 ENDEND IF IF IF s 3 1 ORIF s 3 1 OR g 3 1 ANDg 3 1 AND 鉴别第鉴别第4 4路信号和锁存路信号和锁存 NOT g 0 1 ORNOT g 0 1 OR g 1 1 ORg 1 1 OR g 2 1 ORg 2 1 OR g 4 1 ORg 4 1 OR g 5 1 ORg 5 1 OR g 6 1 ORg 6 1 OR g 7 1 g 7 1 THENTHEN g 3 1 g 3 1 ENDEND IF IF IF s 4 1 ORIF s 4 1 OR g 4 1 ANDg 4 1 AND 鉴别第鉴别第5 5路信号和锁存路信号和锁存 NOT g 0 1 ORNOT g 0 1 OR g 1 1 ORg 1 1 OR g 2 1 ORg 2 1 OR g 3 1 ORg 3 1 OR g 5 1 ORg 5 1 OR g 6 1 ORg 6 1 OR g 7 1 g 7 1 THENTHEN g 4 1 g 4 1 ENDEND IF IF IF s 5 1 ORIF s 5 1 OR g 5 1 ANDg 5 1 AND 鉴别第鉴别第6 6路信号和锁存路信号和锁存 NOT g 0 1 ORNOT g 0 1 OR g 1 1 ORg 1 1 OR g 2 1 ORg 2 1 OR g 3 1 ORg 3 1 OR g 4 1 ORg 4 1 OR g 6 1 ORg 6 1 OR g 7 1 g 7 1 THENTHEN g 5 1 g 5 1 ENDEND IF IF IF s 6 1 ORIF s 6 1 OR g 6 1 ANDg 6 1 AND 鉴别第鉴别第7 7路信号和锁存路信号和锁存 NOT g 0 1 ORNOT g 0 1 OR g 1 1 ORg 1 1 OR g 2 1 ORg 2 1 OR g 3 1 ORg 3 1 OR g 4 1 ORg 4 1 OR g 5 1 ORg 5 1 OR g 7 1 g 7 1 THENTHEN g 6 1 g 6 1 ENDEND IF IF IF s 7 1 ORIF s 7 1 OR g 7 1 ANDg 7 1 AND 鉴别第鉴别第8 8路信号和锁存路信号和锁存 NOT g 0 1 ORNOT g 0 1 OR g 1 1 ORg 1 1 OR g 2 1 ORg 2 1 OR g 3 1 ORg 3 1 OR g 4 1 ORg 4 1 OR g 5 1 ORg 5 1 OR g 6 1 g 6 1 THENTHEN g 7 1 g 7 1 ENDEND IF IF ENDEND IF IF P S 0 ORP S 0 OR S 1 ORS 1 OR S 2 ORS 2 OR S 3 ORS 3 OR S 4 ORS 4 OR S 5 ORS 5 OR S 6 ORS 6 OR S 7 S 7 如果有按键蜂如果有按键蜂 鸣响鸣响 bell pbell p OROR T T LED G LEDaaaaaaaaaaaaaaaaAA 1111110 ENDEND CASE CASE ifif clk eventclk event andand clk 1 ANDclk 1 AND START 1 START 1 thenthen 当开始信号到来时输出当开始信号到来时输出 1000hz1000hz的方波信号 考虑到仿真的方便这里把原来的的方波信号 考虑到仿真的方便这里把原来的1hz1hz改为改为1000hz1000hz ifif count 50000000count 50000000 thenthen count count 1 elsecount count 1 else count 0 endcount 0 end if if ifif count 24999999count 24999999 thenthen b 1 elseb 1 else b 0 endb 0 end if if endend if if endend process process process b RESET process b RESET 120s120s倒计时由倒计时由3 3个信号在每个脉冲周期做自减倒计时个信号在每个脉冲周期做自减倒计时 beginbegin IFIF RESET 0 THENRESET 0 THEN X 0000 Y 0010 Z 0001 T 0 o 0000 X 0000 Y 0010 Z 0001 T 0 o 0000 赋初值赋初值120s120s ELSifELSif b eventb event andand b 0 b 0 thenthen x x 1 x x 1 ifif x 0000 x 0000 thenthen x 1001 y y 1 x 1001 y y 1 如果如果x x为零置为零置9 9 ifif y 0000 then y 0000 then y 1001 z z 1 y 1001 z z 1 如果如果y y x x为零为零z z做减一 做减一 IFIF X 0000 AND X 0000 AND Y 0000 ANDY 0000 AND Z 0000 THENZ 0000 THEN T 1 o 1111 T 1 oLLLLLLLLLLLLLLLLLLLLllmmmmmmmmmmmmmmmmmmmmmmhhhhhhhhhhhhhhhhhhhhhh 1000000 如果是其他值则输出如果是其他值则输出0 0 ENDEND CASE CASE endend process process 结束进程结束进程 ENDEND shan shan 结束结束 分析仿真验证 分析仿真验证 Clk 50MHZ始终信号 reset在20ns时清零bell为低电平led全灭 在50ns时是s 3 为高电平 但led并没反应原因是start 0 意思是支持人还没有开始抢答所以抢答无效符合要求 在60ns时s 0 给定高电平此时抢答有效对应蜂鸣响对应的led点亮 在70ns时又有抢答信号到来但此时锁存器已经把s 0 的状态记录下来所以此时没有点亮 对应的led 但蜂鸣再次响起证明有选手按下抢答键 于此同时由于清零信号和开始信号都已经到来初始值120s倒计时开始了 在 500us 时 L 由 0 跳变为 9 与此同时 M 由 2 跳变为 1 H 没有变化 符合倒计时初值在 1hz 信号作用下做周期的自减由 120 119 118 在 120ms 时 L M Z 都跳变为 0 同时蜂鸣响起提醒答题者时间到了 学习心得 学习心得 通过此次的实习 学到了很多 比如把复杂的问题分模块分工合作 利用团队的优势互 帮互助 共同学习 最开始我记得我们毫无头绪 在网上找了一些资料但是大部分看不懂 我们当时也挺灰 心 只能对照网上的模仿 分模块貌似是很多资料都这么写的 现在回想起来其实自己不 应该急忙下手写代码 而是要想好整体的逻辑结构和框架 以及基础的语言基础和编程技 术 接着是紧张的写代码 一串串字符在眼里跑来跑去我也不知道自己写到哪了 更可笑的 是自己根本看不懂 也许你会问既然看不懂那怎么做出这个模块啊 答案就是从改错开始 的 当运行编译的时候自己的心都崩溃了 居然有 82 个错误 尼玛这是什么情况 各种错 误都有 有字母打错的有语法错误当然更有逻辑错误 没办法只能一次次的编译一次次的 修改 可怜我的这台电脑运行上百次的编译居然没感觉到累 好吧我承认自己的意志不如 电脑 从另一方面说电脑机器般的做重复动作都没有怨言自己到可以学学这种精神 最头疼的是看到错误而不知道真正错在哪 因为你改了这个可能另一个又会报错 好吧 没办法自己去问老师 老师过来一看 3 下 5 除 2 的就说出了关键 但是很悲剧的是老师说 的听不懂于是自己假装听懂了自己私底下查书 查来查去还是每个影子 就这样每个知识 点都要亲自去学习这可能就是我们实习的目的吧 有时候挺佩服老师的在老师眼里自己只是一个菜 而且是不起

温馨提示

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

评论

0/150

提交评论