1、 课课 程程 设设 计计 报报 告告 课程设计名称:单片机系统综合课程设计单片机系统综合课程设计 课程设计题目:四路抢答器的设计与实现 院(系):计算机学院 专 业: 班 级: 学 号: 姓 名: 指导教师: 完成日期: -I- 目目 录录 第第 1章章 总体设计方案总体设计方案 1 1.1 设计原理. 1 1.2 设计思路. 1 1.3 实验环境. 2 第第 2章章 详细设计方案详细设计方案 3 2.1 硬件电路设计. 3 2.2 主程序设计. 6 2.2 功能模块的设计与实现. 7 第第 3章章 结果测试及分析结果测试及分析 12 3.1 结果测试. 12 3.2 结果分析. 12 参考文
2、献参考文献 13 附附 录录 14 源程序 . 14 主要元器件清单 . 22 电路图 . 23 -1- 第 1 章 总体设计方案 1.1 设计原理设计原理 根据课程设计任务书的内容与要求,要实现四路抢答器的设计。主持人按下 抢答开始开关,数码管从 10s 开始倒计时,此时选手可以抢答,相应的 LED 亮, 单数码管显示其选手号,双数码管从 30s 开始进行答题倒计时,答题时间到则单 数码管闪烁显示选手号 5 次,再回到初始状态,若时间到但没有人抢答则回到初 始状态(所有灯灭,检测主持键是否按下) 。若主持人尚在念题还未按下抢答开始 开关,某选手违规抢答,则单数码管闪烁显示其选手号 5 次后回
3、到初始状态。一 共设置六个开关,用按键开关输入抢答信号,经单片机的处理, 输出控制信号。 硬件部分主要由单片机 8031、数码管、按键开关、LED 小灯和若干导线组成。 1.2 设计思路设计思路 采用 C 语言程序设计结合硬件电路设计方法,利用伟福 Lab6000 实验箱 上已有芯片 8031 来实现四路抢答器的设计, 其中包括主持人按键及各功能键 的设计、触发中断定时、数码管动态显示、相应的 LED 灯亮灭的情况。 (1)提出方案提出方案 首先,设置一个主持人按键开关,当主持人按下开始键后,触发定时器 T0 进行 10s 抢答倒计时, 若有选手按下抢答键则触发定时器 T1 进行 30s 答题
4、 倒计时。同时,与选手相对应的 LED 灯亮、数码管显示选手号;若 30s 内选 手没有答题完毕,则数码管闪烁其选手号 5 次。其次,若 10 秒内没有选手按 下抢答器,则回到初始状态,进行下一题抢答。最后,若主持人没有按下开 始键就有选手按下抢答键,则数码管将会闪烁显示其选手号 5 次后回到初始 状态。 (2) 方案论证方案论证 四路抢答器设计的方案论证如下: -2- 首先,设计 6 个按键,分别为主持人开始键 start、清零键 clear,选手抢答键 key1key4,6 个按键分别接在 8031 的 P0.0 P0.处。只有主持人按下 start 键后 才可以开始抢答,否则属于违规抢答
5、。clear 键是选手在 30 秒内答题结束,主持 按下 clear 键,系统自动回到初始状态。 其次,将 8031 的 P3.0 P3.3 口分别连接 4 个 LED 小灯,当有选手按下抢答 键时与其相对应的 LED 小灯亮(初始状态时 4 个 LED 灯是熄灭状态) 。 再次,使用 8031,将其内部的定时器 T0 设置为 10 秒倒计时,当主持人按下 开始键后立即启动定时器 T0; 并将定时器 T1 设置为 30 秒倒计时, 若有选手按下 抢答键后立即启动定时器 T1,开始 30 秒答题倒计时。 最后,将 8031 的片选端 CS 连接到数码管的 LED/CS/端,最右端的双数码管 用来
6、显示倒计时时间,右端起第三个数码管显示选手号。当若有选手违规抢答, 则单数码管会闪烁其选手号 5 次; 若选手在 30 秒内没有答题结束, 则单数码管也 会闪烁其选手号 5 次。 如果 10 秒定时时间已到,没有人抢答,表示本次抢答无效,系统将会自动恢 复到初始状态, 继续进行新一轮答题。 并且该设计使用 8031 单片机作为控制系统 核心。可以实现信号识别,控制以及在数码管上显示结果等功能。 四路抢答器的设计,由芯片初始化模块、按键模块、计时模块、显示模块四 部分组成,按键模块和显示模块通过若干导线与控制模块相连接。当主持人宣布 抢答开始的时候,按下开始按键,此时系统进入抢答状态,若选手按下抢答键, 相应的信息送往单片机,再由单片机输出到显示数码管上。第一个按下抢答按键 的选手信息,经过单片机的控制,在数码管上显示相应的号码,并锁存,同时禁 止其他选手按键的输入。 1.3 实验实验环境环境 硬件环境:伟福 Lab6000 实验箱,PC 机。 软件环境:WAVE6000 应用软件。 -3- 第 2 章 详细设计方案 2.1 硬件电路设计硬