基于单片机的八路抢答器的设计

上传人:gbs****77 文档编号:10265719 上传时间:2020-04-10 格式:DOC 页数:34 大小:2.50MB
返回 下载 相关 举报
基于单片机的八路抢答器的设计_第1页
第1页 / 共34页
基于单片机的八路抢答器的设计_第2页
第2页 / 共34页
基于单片机的八路抢答器的设计_第3页
第3页 / 共34页
点击查看更多>>
资源描述
摘 要 随着科学技术的发展和普及 各种各样的竞赛越来越多 其中抢答器的作用也越 来越重要 本文设计出以 AT89C51 单片机为核心的八路抢答器 采用了数字显示器直 接指示 自动锁存显示结果 并自动复位的设计思想 它能根据不同的抢答输入信号 经过单片机的控制处理并产生与输入信号相对应的输出信号 最后通过 LED 数码管显 示相应的路数 即使两组的抢答时间相差几微秒 也可分辨出是哪组优先按下的按键 充分利用了单片机系统结构简单 功能强大 可靠性好 实用性强的特点 本设计是以抢答为出发点 考虑到根据需要设定限时回答的功能 利用 89C51 单 片机及外围接口实现的抢答系统 利用单片机的定时器 计数器定时和记数的原理 将 软 硬件有机地结合起来 使得系统能够正确地进行计时 同时使数码管能够正确地 显示时间 用开关做键盘输入 蜂鸣器发声提示 同时系统能够实现 在抢答中 只 有开始后抢答才有效 如果在开始抢答前抢答为无效 满时后系统计时自动复位及主 控强制复位 按键锁定 在该状态下 按键是无效的 关键词 抢答器 单片机 LED 数码显示管 定时器 计数器 ABSTRACT With the development and popularization of science and technology all kinds of competitions become more and more so responder is more and more important This paper designed eight way Responder based on AT89C51 MCU with digital display direct instructions automatic latch showed results and automatic reset design ideas It can according to different contest input signal by MCU control handle and produce different with the input signal corresponding output signal finally LED digital pipe display by the corresponding points even if the two groups of vies differs a few microseconds also time can distinguish which group of priority press buttons fully utilize the signal chip microcomputer system structure is simple powerful good reliability and practicability strong characteristic This design is for the starting point Responders considering the set limit to answer in 89C51 single chip microcomputer and function use of peripheral interfaces scare answering system of the microcontroller timer counter timing and numeration principle software and hardware organically and makes the system can correctly to the time at the same time making digital tube can properly show time With a switch does keyboard output the speaker happen hint And the system can realize in the contest only after beginning vies to effective if at the stat of the contest for the invalid former contest full automatic rest and clock after the system master mandatory rest key lock in this effective condition buttons invalid Key words Responder Single chip microcomputer LED digital display tube Timer counter 目 录 第一章 绪论 1 1 1 抢答器发展概况 1 1 2 本课题研究的意义 1 1 3 系统设计的功能 2 第二章 单片机系统原理 3 2 1 单片机的原理 3 2 1 1 单片机的简介 3 2 1 2 单片机的分类 3 2 2 单片机的工作过程 4 2 3 单片机的引脚及其作用 5 第三章 八路抢答器的电路设计 7 3 1 电路设计原理 7 3 2 八路抢答器模块化设计 7 3 3 时钟与复位模块 8 3 3 1 时钟模块 8 3 3 2 复位模块 9 3 4 显示模块 9 3 5 按键输入模块 11 3 5 1 键盘的去抖动 11 3 5 2 按键电路图 12 3 6 报警模块 12 第四章 软件设计 14 4 1 系统程序设计 14 4 2 抢答器主程序流程图 15 4 3 非法抢答查询子程序 15 4 4 抢答时间调整子程序 16 第五章 软件仿真及程序调试 17 5 1PROTEUS软件仿真 17 5 2KEIL软件的使用 17 谢 辞 19 参考文献 20 附 录 21 附录 1 电路原理图 21 附录 2 程序清单 22 大连交通大学 2013 届本科毕业生毕业设计 1 第一章 绪论 1 1 抢答器发展概况 当今的社会竞争日益激烈 选拔人才 评选优胜 知识竞赛之类的活动愈加频繁 比赛中为了准确 公正 直观地判断出第一抢答者 这就要有一种抢答设备作为裁判 员 于是抢答器应用而生 早期的抢答器只由几个三极管 可控硅 发光管等组成 能通过发光管的指示辨 认出选手号码 现在大多数抢答器均使用单片机 如 MCS 51 型 和数字集成电路 并增 加了许多新功能 如选手号码显示 抢答前或抢答后的计时 选手得分显示等功能 随着我国抢答器市场的迅猛发展 与之相关的核心生产技术应用与研发必将成为 业内企业关注的焦点 技术工艺 是衡量一个企业是否具有先进性 是否具备市场竞 争力 是否能不断领先于竞争者的重要指标依据 了解国内外抢答器生产核心技术的 研发动向 工艺设备 技术应用及趋势对于企业提升产品技术规格 提高市场竞争力 十分关键 目前市场上抢答器种类繁多 功能各异 价格差异也很大 那么选择一款 真正适合的抢答器就非常重要 抢答器一般分为电子抢答器和电脑抢答器 目前电子抢答器的中心构造一般都是 由数字电子集成电路组成 其搭配的配件不同又分为 非语音非记分抢答器和语音记 分抢答器 非语音记分抢答器构造很简单 就是一个抢答器的主机和一个抢答按钮组 成 在抢答过程中选手是没有记分的显示屏 语音记分抢答器是由一个抢答器的主机 主机的显示屏以及选手的记分显示屏等构成 具有记分等功能 电子抢答器多适用于 学校和企事业单位举行的简单的抢答活动 电脑抢答器又分为无线电脑抢答器和有线 电脑抢答器 无线电脑抢答器是由主机和抢答器专用的软件和无线按钮构成 无线电 脑抢答器利用电脑和投影仪 可以把抢答气氛活跃起来 一般多使用于电台等大型的 活动 有线电脑抢答器也是由主机和电脑配合起来 电脑再和投影仪配合起来 利用 专门研发的配套的抢答器软件 可以十分完美的表现抢答的气氛 1 2 本课题研究的意义 抢答器是一种应用非常广泛的设备 在各种竞赛 抢答场合中 它能迅速 客观 地分辨出最先获得发言权的选手 无论是军队还是电视节目中 都可能会举办各种各样 的智力竞赛 都会用到抢答器 如果要是让抢答者用举手等方法 主持人很容易误判 会造成抢答的不公平 为了使这种不公平不发生 只有靠电子产品的高准确性来保障 抢答的公平性 比赛中为了准确 公正 直观地判断出第一抢答者 所设计的抢答器 通常由数码显示 灯光 音响等多种手段指示出第一抢答者 抢答器作为一种电子产品 早已广泛应用于各种智力和知识竞赛场合 但目前所 使用的抢答器有很多的缺点 有的电路较复杂不便于制作 可靠性低 实现起来很困难 大连交通大学 2013 届本科毕业生毕业设计 2 有的则用一些专用的集成块 而专用集成块的购买又很困难 而我所设计的八路智能 抢答器 具有元件普通 易于购买等优点 很好地解决了制作困难和难于购买的问题 在知识比赛中 特别是做抢答题目的时候 在抢答过程中 为了知道哪一组或哪 一位选手先答题 必须要设计一个系统来完成这个任务 如果在抢答中 靠视觉是很 难判断出哪组先答题 怎样来设计抢答器 能使以上问题得以解决 即使两组的抢答 时间相差几微秒 也可分辨出哪组优先答题 通过研究并在设计验证后发现 采用单 片机技术设计的抢答器与传统的抢答器相比 首先 电路连接简单 因为大多数功能 单元都通过程序设计在单片机内部 第二 工作性能可靠 抗干扰能力优于传统抢答 器 并能够解决以上提出的问题 所以本研究是一个实用的工程设计 具有创新性 1 3 系统设计的功能 根据一般比赛对抢答器功能的要求 本文设计出的抢答器系统功能如下 1 抢答器可以同时供 8 名选手或 8 个代表队比赛 分别用 8 个按钮 S1 S8 表示 2 主持人可以通过智能抢答器的按键设定每道题的抢答时间和回答时间 3 具有清零和非法抢答控制功能 设置一个系统清除和抢答控制开关 并由主持 人操控 避免选手在主持人说 开始 前提前抢答 违反规则 4 当主持人启动 开始抢答按键 后 定时器进行减计时 在 20 秒内无人抢答 表示所有参赛选手或参赛队对本题弃权 抢答时间耗尽后禁止抢答 5 倒计时 5 秒时 如果仍无人抢答 则系统每 1s 报警一次 用以提示参赛选手 6 抢答器具有锁存与显示功能 即选手按下按键 锁存相应选手的参赛编号 并 在 LED 数码管上显示 一直保持到主持人将系统清除为止 同时扬声器发出报警声响 提示 选手抢答实行优先锁存 其他按键者将不能响应 以便公平地选择第一个抢答 者 7 参赛选手在设定的时间内进行抢答 抢答有效 显示器上显示选手的编号 同 时进入回答问题的 30s 倒计时 回答问题时可以选择启用锦囊 即答题时间变为 60 秒 8 倒计时期间 如果主持人想终止倒计时 可以按下 停止 键 系统会自动进 入准备状态 本设计中主要硬件设备 AT89C51 单片机 8 输入与非门 74HC30 共阴极 LED 数码 管 12MHz 晶振 74LS04 反相器 按键若干 报警喇叭 变压器 整流器 电容 电 阻 7805 稳压芯片 大连交通大学 2013 届本科毕业生毕业设计 3 第二章 单片机系统原理 2 1 单片机的原理 2 1 1 单片机的简介 目前 80C51 单片机在工业检测领域中得到了广泛的应用 因此我们可以在许多单 片机应用领域中 配接各种类型的接口 构成综合应用系统 以增强其功能 89C51 是 Intel 公司生产的一种单片机 在一小块芯片上集成了一个微型计算机的各个组成 部分 每一个单片机包括 一个 8 位的微型处理器 CPU 一个 128 字节的片内数据存储 器 RAM 4k 片内程序存储器 ROM 四个 8 位并行的 I O 接口 P0 P3 每个接口既可以输 入 也可以输出 两个定时器 记数器 五个中断源的中断控制系统 一个全双工 UART 的串行 I O 口 片内振荡器和时钟产生电路 但石英晶体和微调电容需要外接 最高 允许振荡频率是 12MHZ 以上各个部分通过内部总线相连接 下面简单介绍下其部分功 能 中央处理器 CPU 是单片微型计算机的指挥 执行中心 由它读人用户程序 并逐 条执行指令 它是由 8 位算术 逻辑运算部件 简称 ALU 定时 控制部件 若干寄存 器 A B B5W 5P 以及 16 位程序计数器 PC 和数据指针寄存器 DM 等主要部件组成 算术逻辑单元的硬件结构与典型微型机相似 它具有对 8 位信息进行 四则运算和逻辑与 或 异或 取反 清 0 等运算 并具有判跳 转移 数据传送 等功能 此外还提供存放中间结果及常用数据寄存器 控制器部件是由指令寄存器 程序计数器 PC 定时与控制电路等组成的 指令寄存器中存放指令代码 枷执行指令 时 从程序存储器中取来经译码器译码后 根据不同指令由定时与控制电路发出相应 的控制信号 送到存储器 运算器或 I O 接口电路 完成指令功能 程序计数器 PC 才程序计数器 PC 用来存放下一条将要执行的指令 共 16 位 可对以 K 字节的程序存 储器直接寻址 C 指令执行结束后 PC 计数器自动增加 指向下一条要执行的指令地址 CPU 功能 总的来说是以不同的方式 执行各种指令 不同的指令其功自略异 有 的指令涉及到枷各寄存器之间的关系 有的指令涉及到单片机核心电路内部各功能部 件的关系 有的则与外部器件如外部程序存储器发生联系 事实上 CRJ 是通过复杂的 时序电路完成不同的指令功能 所谓 CRJ 的时序是指控制器控照指今功能发出一系列 在时间上有一定次序的信号 控制和启动一部分逻辑电路 完成某种操作 2 1 2 单片机的分类 单片机作为计算机发展的一个重要领域 应用一个较科学的分类方法 根据目前 发展情况 从不同角度单片机大致可以分为通用型 专用型 总线型 非总线型及工控 型 家电型 大连交通大学 2013 届本科毕业生毕业设计 4 1 通用型 专用型 这是按单片机适用范围来区分的 例如 80C51 是通用型单片机 它不是为某种专 用途设计的 专用型单片机是针对一类产品甚至某一个产品设计生产的 例如为了满 足电子体温计的要求 在片内集成 ADC 接口等功能的温度测量控制电路 2 总线型 非总线型 这是按单片机是否提供并行总线来区分的 总线型单片机普遍设置有并行地址总 线 数据总线 控制总线 这些引脚用以扩展并行外围器件都可通过串行口与单片机 连接 另外 许多单片机已把所需要的外围器件及外设接口集成一片内 因此在许多 情况下可以不要并行扩展总线 大大减省封装成本和芯片体积 这类单片机称为非总 线型单片机 3 控制型 家电型 这是按照单片机大致应用的领域进行区分的 一般而言 工控型寻址范围大 运 算 能力强 用于家电的单片机多为专用型 通常是小封装 低价格 外围器件和外设 接口集成度高 显然 上述分类并不是惟一的和严格的 例如 80C51 类单片机既是通用型又是 总线型 还可以作工控用 2 2 单片机的工作过程 单片机自动完成赋予它的任务的过程 也就是单片机执行程序的过程 即一条条 执行指令的过程 所谓指令就是把要求单片机执行的各种操作用命令的形式写下来 这是由设计人员赋予它的指令系统所决定的 一条指令对应着一种基本操作 单片机 所能执行的全部指令 就是该单片机的指令系统 不同种类的单片机 其指令系统亦 不同 为使单片机能自动完成某一特定任务 必须把要解决的问题编成一系列指令 这些指令必须是选定单片机能识别和执行的指令 这一系列指令的集合就成为程序 程序需要预先存放在具有存储功能的部件 存储器中 存储器由许多存储单元 最 小的存储单位 组成 就像一幢大楼由许多房间组成一样 指令就存放在这些单元里 单元里的指令取出并执行就像大楼的每个房间的被分配到唯一一个房间号一样 每一 个存储单元也必须被分配到唯一的地址号 该地址号称为存储单元的地址 这样只要 知道了存储单元的地址 就可以找到这个存储单元 其中存储的指令就可以被取出 然后再被执行 程序通常是顺序执行的 所以程序中的指令也是一条条顺序存放的 单片机在执 行程序时要能把这些指令一条条取出并加以执行 必须有一个部件能追踪指令所在的 地址 这一部件就是程序计数器 PC 包含在 CPU 中 在开始执行程序时 给 PC 赋以 程序中第一条指令所在的地址 然后取得每一条要执行的命令 PC 之中的内容就会自 动增加 增加量由本条指令长度决定 可能是 1 2 或 3 以指向下一条指令的起始地 大连交通大学 2013 届本科毕业生毕业设计 5 址 保证指令顺序执行 2 3 单片机的引脚及其作用 89C51 单片机的引脚图如下 图 2 1 89C51 单片机的引脚图 Vcc 40 脚 接 5V 电源正端 Vss 20 脚 接 5V 电源正端 XTAL1 19 脚 接外部石英晶体的一端 在单片机内部 它是一个反相放大器的 输入端 这个放大器构成采用外部时钟时 对于 HMOS 单片机 该引脚接地 对于 CHOMS 单片机 该引脚作为外部振荡信号的输入端 XTAL2 18 脚 接外部晶体的另一端 在单片机内部 接至片内振荡器的反相放 大器的输出端 当采用外部时钟时 对于 HMOS 单片机 该引脚作为外部振荡信号的输 入端 对于 CHMOS 芯片 该引脚悬空不接 控制信号或与其它电源复用引脚有 RST VPD ALE P PSEN 和 EA VPP 等 4 种形式 1 RST VPD 9 脚 RST 即为 RESET VPD 为备用电源 所以该引脚为单片机 的上电复位或掉电保护端 当单片机振荡器工作时 该引脚上出现持续两个机器周期 的高电平 就可实现复位操作 使单片机复位到初始状态 当 VCC 发生故障 降低到 低电平规定值或掉电时 该引脚可接上备用电源 VPD 5V 为内部 RAM 供电 以保证 RAM 中的数据不丢失 2 ALE P 30 脚 当访问外部存储器时 ALE 允许地址锁存信号 以每机 器周期两次的信号输出 3 PSEN 29 脚 片外程序存储器读选通输出端 低电平有效 当从外部程序 存储器读取指令或常数期间 每个机器周期 PESN 两次有效 以通过数据总线口读回指 令或常数 当访问外部数据存储器期间 PESN 信号将不出现 4 EA Vpp 31 脚 EA 为访问外部程序储器控制信号 低电平有效 当 EA 端 大连交通大学 2013 届本科毕业生毕业设计 6 保持高电平时 单片机访问片内程序存储器 4KB MS 52 子系列为 8KB 若超出该范 围时 自动转去执行外部程序存储器的程序 当 EA 端保持低电平时 无论片内有无程 序存储器 均只访问外部程序存储器 对于片内含有 EPROM 的单片机 在 EPROM 编程 期间 该引脚用于接 21V 的编程电源 Vpp 输入 输出 I O 引脚 P0 口 P1 口 P2 口及 P3 口 1 P0 口 39 脚 22 脚 P0 0 P0 7 统称为 P0 口 当不接外部存储器与不扩 展 I O 接口时 它可作为准双向 8 位输入 输出接口 当接有外部程序存储器或扩展 I O 口时 P0 口为地址 数据分时复用口 它分时提供 8 位双向数据总线 对于片内含有 EPROM 的单片机 当 EPROM 编程时 从 P0 口输入指令字节 而当检验程 序时 则输出指令字节 2 P1 口 1 脚 8 脚 P1 0 P1 7 统称为 P1 口 可作为准双向 I O 接口使用 对于 MCS 52 子系列单片机 P1 0 和 P1 1 还有第 2 功能 P1 0 口用作定时器 计数器 2 的计数脉冲输入端 T2 P1 1 用作定时器 计数器 2 的外部控制端 T2EX 对于 EPROM 编程和进行程序校验时 P0 口接收输入的低 8 位地址 3 P2 口 21 脚 28 脚 P2 0 P2 7 统称为 P2 口 一般可作为准双向 I O 接 口 当接有外部程序存储器或扩展 I O 接口且寻址范围超过 256 个字节时 P2 口用于 高 8 位地址总线送出高 8 位地址 对于 EPROM 编程和进行程序校验时 P2 口接收输入 的 8 位地址 4 P3 口 10 脚 17 脚 P3 0 P3 7 统称为 P3 口 它为双功能口 可以作为 一般的准双向 I O 接口 也可以将每 1 位用于第 2 功能 而且 P3 口的每一条引脚均可 独立定义为第 1 功能的输入输出或第 2 功能 P3 口的第 2 功能见下表 表 2 1 单片机 P3 口管脚含义 引脚 第 2 功能 P3 0 RXD 串行口输入端 P3 1 TXD 串行口输出端 P3 2 INT0 外部中断 0 请求输入端 低电平有效 P3 3 INT1 外部中断 1 请求输入端 低电平有效 P3 4 T0 定时器 计数器 0 计数脉冲端 P3 5 T1 定时器 计数器 1 计数脉冲端 P3 6 WR 外部数据存储器写选通信号输出端 低电平有效 P3 7 RD 外部数据存储器读选通信号输出端 低电平有效 综上所述 MCS 51 系列单片机的引脚作用可归纳为以下两点 1 单片机功能多 引脚数少 因而许多引脚具有第 2 功能 大连交通大学 2013 届本科毕业生毕业设计 7 2 单片机对外呈 3 总线形式 由 P2 P0 口组成 16 位地址总线 由 P0 口分时复 用作为数据总线 大连交通大学 2013 届本科毕业生毕业设计 8 第三章 八路抢答器的电路设计 3 1 电路设计原理 为使硬件电路设计尽可能简洁合理 应主要以下几点 1 工业上尽可能采用功能强的芯片 以简化电路 功能强的芯片可以代替若干普 通芯片 随着生产工艺的提高 新型芯片的价格不断下降 并不一定比若干普通芯片 价格的总和高 2 留有设计余地 在设计硬件电路时 要考虑到将来修改扩展的方便 因为很少 有一锤定音的电路设计 如果现在不留余地 将来可能要为一点小小的修改或扩展而 被迫进行全面返工 3 程序空间 选用片内程序空间足够大的单片机 否则因为程序空间不够使不得 不进行空间扩展 4 RAM 空间 大部分 51 系列单片机的内部 RAM 不多 当要增强软件数据处理功能 时 往往觉得不足 如果系统配置了外部 RAM 则建议多留一些空间 如选用 8155 作 I O 接口 就可以增强 256 字节 RAM 如果有大批数据需要处理 则应配置足够的 RAM 如 6264 62256 等 随着软件设计水平的提高 往往只要改变或增加软件中的数 据处理算法 就可以使系统功能提高很多 而系统的硬件不必做任何更换就使系统升 级换代 只要在硬件电路设计初期考虑到这一点 就应该为系统将来升级留足够的 RAM 空间 哪怕多设计一个 RAM 的插座 暂不插芯片也好 5 I O 端口 在样机研制出来后进行现场试用时 往往会发现一些被忽视的问题 而这些问题不是靠单纯的软件措施来解决的 如有些新的信号需要采集 就必须增加 输入检测端 有些物理量需要控制 就必须增加输出端 所以一般在设计硬件电路时 就预留出一些 I O 端口 核心控制模块 按键输入模块 时钟与复位 模块 显示模块 报警模块 图 3 1 主要功能模块原理框图 3 2 八路抢答器模块化设计 该抢答器系统的硬件设计是以单片机为中心控制模块 采用模块化设计的八路抢 答器 具有五个模块 分别为 按键输入模块 显示模块 时钟与复位模块 报警模 块 核心控制模块 大连交通大学 2013 届本科毕业生毕业设计 9 系统的主要功能模块原理框图如图 3 1 所示 按键输入模块共有 14 个按键 分为抢答按键和控制按键 抢答按键共有八个 分 别为 S1 S8 供抢答选手进行抢答使用 P1 口为八个按键抢答信号的输入口 低电平 有效 控制按键有六个 分别为 S9 S14 其中 S9 和 S10 分别为 抢答时间调整键 和 回答时间调整键 其对应的 I O 接口分别为 P3 3 和 P3 4 S11 和 S12 分别为 时间 加 1 和 减 1 按键 其对应的 I O 接口分别为 P3 5 和 P3 6 S13 和 S14 分 别为 抢答开始按键 和 抢答停止按键 其对应的 I O 接口分别为 P3 0 和 P3 1 显示模块本系统采用四个共阴极 LED 数码管显示 一个数码管用来显示抢答到问 题的选手的号码 两个用来显示倒计时时间 一个未使用的数码管作为以后的扩展使 用 时钟与复位模块包括时钟电路和复位电路 单片机的最小系统就是由时钟电路 复位电路及单片机构成 单片机的时钟信号用来提供单片机片内各种操作的时间基准 单片机的时钟信号通常用两种电路形式得到 内部振荡方式和外部振荡方式 复位操 作则使单片机的片内电路初始化 使单片机从一种确定的初态开始运行 根据应用的 要求 复位操作通常有两种基本形式 上电复位或开关复位 当 51 系列单片机的复位 引脚 RST 全称 RESET 出现 2 个机器周期以上的高电平时 单片机就执行复位操作 如 果 RST 持续为高电平 单片机就处于循环复位状态 报警模块在本系统中为附加模块 它的主要用途就是起到提示并引起人们的注意 它只有在两种情况下才发出报警 一是 开始抢答 按键没有按下时 选手就按下了 抢答键 报警电路发出报警 提示有选手发生抢答 二是每道题的抢答时间和问题 的回答时间在倒计时 5 秒时 报警电路发出报警 提示选手倒计时的时间即将耗尽 核心控制模块就是人们所谓的 CPU 它是整个系统的总控制部分 本系统的核心控 制模块为 51 系列的单片机 只有我们通过软件程序的编写 并将程序写入单片机 该 系统才会正确的工作 3 3 时钟与复位模块 3 3 1 时钟模块 图 3 2 时钟电路 单片机必须在时钟的驱动下才能工作 AT89C51 单片机的时钟产生方法有两种 内部时钟方式和外部时钟方式 无论何种形式 都需要外部附加电路 产生时钟脉冲 大连交通大学 2013 届本科毕业生毕业设计 10 本系统中采用的是内部时钟方式 时钟电路如图 3 2 所示 从时钟电路的示意图中可以看到 单片机所跨接的晶体振荡器旁边还有两个电容 器 C1 和 C2 C1 和 C2 被称为谐振电容 主要作用有两点 一是可以促使单片机系统 快速起振 二是 C1 C2 具有对频率进行微调作用 有利于单片机系统振荡频率的稳 定 维持单片机的正常运行 谐振电容的容值选择 与所用的晶体振荡器的频率值有 关 晶体振荡器的振荡频率越高 相应的谐振电容的容值也要提高 二者如果配合的 好 可以发挥谐振电容的积极作用 反之 自激振荡器频率的稳定性将受到影响 经 过大量的实际应用 晶体振荡器的频率与谐振电容的容值之间形成了一定的固定搭配 例如 当晶体振荡器的频率为 12MHz 时 谐振电容的容值一般为 30pF 左右 理论上单片机的运算速度越快越好 即晶体振荡器的频率越高越好 但是 在有 些情况下 单片机的外围设备的速度无法匹配单片机的运行速度 综合考虑 本文中 的晶体振荡频率设计为 12MHz 其机器周期为 1us 谐振电容的容值选定为 30pF 3 3 2 复位模块 单片机的第 9 脚 RST 为硬件复位端 只要将该端持续 2 个机器周期的高电平即可 实现复位 复位后单片机的各状态都恢复到初始化状态 其电路图如图 3 3 所示 图 3 3 复位电路 3 4 显示模块 数码管发光原理分两种情况 共阴极型 a b c d e f g 各引脚输入高电平 有效 只要哪个引脚输入为高电平 对应的二极管就会发亮 共阳极型结构数码管的 a b c d e f g 各引脚输入低电平有效 只要哪个引脚输入低电平 对应的二 极管就会发亮 通过点亮不同的发光段可组成不同的字形 输入到数码管 dp g f e d c b a 的二进制码称为字段码 或称字形码 数码管显示的结果为 字形 本文显示电路使用七段数码管 7SEG MPX4 CC 它是共阴极的 由高电电平点亮 大连交通大学 2013 届本科毕业生毕业设计 11 在这里我们使用的是七段数码管显示 通常在显示上我们采用的方法一般包括两 种 一种是静态显示 一种是动态显示 其中静态显示的特点是显示稳定不闪烁 程序 编写简单 但占用端口资源多 动态显示的特点是显示稳定性没静态好 程序编写复 杂 但是相对静态显示而言占用端口资源少 在本设计中根据实际情况采用的是动态 显示方法 图 3 4 七段数码显示管 并通过查表法 将其在数码管上显示出来 其中 P0 口为字型码输入端 P2 口低 3 位为 字选段输入端 在这里我们通过查表将字型码送给 7 段数码管 数码管显示原理如下 表3 1 显示字形字段码对应关系 字体 显示字型 共阳极段选码 共阴极段选码 0 C0H 3FH 1 F9H 06H 2 A4H 5BH 3 B0H 4FH 4 99H 66H 5 92H 6DH 6 82H 7DH 7 F8H 07H 8 80H 7FH 9 90H 6FH F 8EH 71H 灭 FFH 00H MOV A R5 MOVC A A DPTR 查字型 MOV P2 0FDH 送位选码 大连交通大学 2013 届本科毕业生毕业设计 12 MOV P0 A 送字型码 ACALL DELAY 调延时 去闪烁 3 5 按键输入模块 3 5 1 键盘的去抖动 组成键盘的按键有触点式和非触点式两种 单片机中应用的一般是由机械触点构成的 按键如图3 5 所示 当开关S1断开时 单片机接入口输入为高电平 S1闭合时 单片机 接入口输入为低电平 图3 5 按键图 由于按键是机械触点 当机械触点断开 闭合时 会有抖动 P1输入端的波形如 图3 6所示 这种抖动对于人来说是感觉不到的 但对单片机来说 则是完全可以感应 到的 因为单片机处理的速度是在微秒级 而机械抖动的时间至少是毫秒级 对单片 机而言 这已是一段 漫长 的时间了 如果键处理程序采用中断方式的话 在响应 按键时就可能会出现问题 也就是说按键有时灵 有时不灵 其实就是这个原因 你 只按了一次按键 可是单片机却已执行了多次中断的过程 若执行的次数正好是奇数 次 那么结果正如你所料 若执行的次数是偶数次 那就不对了 而如果键处理程序 采用查询方式的话也会存在响应按键迟钝的现象 甚至可能会漏掉信号 图3 6 抖动波形图 为了使 CPU 能正确地读出按键接入口的状态 对每一次按键只作一次响应 就必 须考虑如何去除抖动 也就是消除在按键过程中产生的 毛刺 现象 常用的去抖动 的方法有两种 硬件方法和软件方法 单片机设计中常用软件法 因此 对于硬件方 法我们在此不做介绍 软件去除抖动其实很简单 这里采用最常用的方法 即延时重 复扫描法 延时法的原理为 因为 毛刺 脉冲一般持续时间短 约为几 ms 而我们 按键的时间一般远远大于这个时间 所以当单片机检测到有按键动静 按键按下或释放 后再延时一段时间 这里我们取 10ms 后再判断此电平是否保持原状态 如果是则为有效 按键 否则无效 不过一般情况下 我们通常不对按键释放的后沿进行处理 实践证 大连交通大学 2013 届本科毕业生毕业设计 13 明 也能满足一定的要求 3 5 2 按键电路图 八路智能抢答器设计中由于按键较少 端口资源丰富 因此采用了独立键盘的方 式 无双功能和多功能设计 本设计中有 8 个抢答按键输入 一个开始按键 一个结 束按键 此外还有抢答时间调整键 回答时间调整键 加一按键减一按键各一个 按 键连接图如图 3 7 所示 图 3 7 按键电路图 在图 3 7 中 8 个抢答按键分别接入单片机的 P1 0 P1 7 端口 单片机通过读取 P1 0 P1 7 的值来判断当前输入的是 8 个抢答按键中的哪一个 抢答时间调整和回答时间调 整接到单片机的 P3 3 和 P3 4 接口 加一及减一按键接到单片机的 P3 5 和 P3 6 接口 开始及结束按键接到单片机的 10 11 脚 这里用到了单片机 10 11 脚复合功能中的 IO 端口功能 单片机通过读取 10 11 脚的 P3 0 P3 1 的 IO 端口值来判断当前是否处 于抢答开始状态或抢答结束状态 3 6 报警模块 实现单频音报警的接口电路比较简单 其发音元件通常可采用压电蜂鸣器 当在 蜂鸣器两引脚上加 3 15V 直流工作电压 就能产生 3KHz 左右的蜂鸣振荡音响 大连交通大学 2013 届本科毕业生毕业设计 14 图 3 8 报警电路 压电式蜂鸣器结构简单 耗电少 更适于在单片机系统中应用 压电式蜂鸣器 约需 10mA 的驱动电流 可在某端口接上一只三极管和电阻组成的驱动电路来驱动 在图 3 8 中 P 3 7 接三极管基极输入端 当 P3 7 输出高电平 1 时 三极管导 通 蜂鸣器通电发音 当 P3 7 输出低电平 0 时 三极管截止 蜂鸣器停止发音 在本系统中 当抢答时间和答题时间倒计 5 秒时就调用报警子程序发声报警 大连交通大学 2013 届本科毕业生毕业设计 15 第四章 软件设计 4 1 系统程序设计 本系统由于较简单 程序内容相对较少 本着简单易懂的原则 所以采用汇编语 言实现其软件的设计 进行汇编语言程序的编写应遵循以下四个步骤 构思 其主要工作是分析题意 制作程序流程图 流程图的逻辑必须符合题意要 求 布局 其主要工作是分配单片机资源 包括程序地址分配 片内储存单元分配 如确定每个程序段起始地址 确定某一片内 RAM 单元作为数组指针等 编写 根据布局安排 将程序流程图转换为单片机指令 做到在流程图各环节相 应指令对应的同时 提高运用指令的技巧性 修改 对程序进行编译和试运行 如果运行不正确的话 一定要找出其中的差异 来 要知道 编写程序就是不断的尝试错误 在调试中不断修改 提高程序的可靠性 和程序结构的合理性 该系统应用程序由主程序和子程序模块组成 系统应用程序采用结构化模块设计 从功能上看 主要包括 主程序 电源检测程序 报警程序 控制程序等 下边对程 序流程进行介绍 图 4 1 主程序流程图 大连交通大学 2013 届本科毕业生毕业设计 16 4 2 抢答器主程序流程图 智能抢答器在正常工作的情况下 首先对控制系统进行初始化 然后进行键盘扫 描 判断主持人是否按下了 开始抢答 按键 如果按键没有按下 则执行非法抢答 查询子程序 判断是否有选手发生了抢答现象 如果 开始抢答 按键按下则执行倒 计时子程序和显示子程序 并调用正常抢答处理子程序 其中倒计时程序包括抢答倒 计时和回答倒计时 任何控制系统开始正常工作前都必须要进行初始化 在其它应用程序确定之后 本部分程序设计在于协调各部分程序之间的关系 以促使各部分程序之间有序运行 达到进一步优化程序设计的目的 该智能抢答器的初始化子程序主要是两个定时器和 两个外部中断的初始化 主程序流程图如图 4 1 所示 4 3 非法抢答查询子程序 在主持人未按下 抢答开始键 时 为防止参赛选手发生抢答 专门设计了非法 抢答查询子程序 当有选手发生抢答时 系统会将选手的号码保持下来 并送到 LED 显示装置进行显示 同时调用非法抢答子程序 非法抢答查询子程序流程图如图 4 2 所示 返回 开始 大连交通大学 2013 届本科毕业生毕业设计 17 图 4 2 非法抢答查询子程序流程图 4 4 抢答时间调整子程序 该智能抢答器的抢答时间是可以根据实际需要进行调整的 如果想调节抢答时间 按下 抢答时间调整键 此时 LED 显示装置会显示当前抢答时间的设定值 如果想 加 1S 按下 加 1 键 如果想减 1S 按下 减 1 键 LED 显示装置会自动显示修改 后的抢答时间 抢答时间的设定值范围是 0 99S 0S 再减 1S 会变成 99S 同理 99S 再加 1S 会变成 0S 回答时间的调整与此类似 抢答时间调整子程序流程图如图 4 3 所 示 开始 结束 图 4 3 抢答时间调整子程序流程图 大连交通大学 2013 届本科毕业生毕业设计 18 第五章 软件仿真及程序调试 随着仿真软件的广泛推广应用 为我们的设计带来了极大的方便 软件仿真及程 序调试这一部分是焊接实物前必须要做的一步 本设计采用的是 Proteus 仿真软件进 行八路抢答器的模拟仿真 用 Keil 软件对程序进行编译和调试 5 1Proteus 软件仿真 进行 Proteus 软件仿真的步骤如下 1 打开 Proteus 软件选择新建设计 如下图 图 5 1 新建 Proteus 设计 2 选择默认模板 DEFAULT 保存设计 接着设定图纸大小 执行菜单 系统 设置图纸大小 弹出对话框 在此对话框中选择 A4 单击 确定 3 添加所需的元器件 单片机 AT89C51 30Pf 电容 CAP 12MHz 晶振 CRYSTAL 共阴极七段数码管 7SEG MPX4 CC HITEMP10U50V 八输入与非门 74HC30 六反相器 74LS04 扬声器 SPEAKER 电阻 RES 按键 BUTTON 添加步骤 在器件选择按钮 中单击 P 弹出对话框 在关键字框中输入所需元器件的名称就可以 找到相关元器件 然后双击元器件名称就可以添加元器件 4 将器件放置到绘图区 放置电源 地 然后进行连线 最后设置 修改原件 属性 完成以上步骤 5 当原理图链接成功后 将 Keil 软件生成的 HEX 文件添加到仿真原理图的单 片机中 经过调试就可以看到仿真结果 5 2Keil 软件的使用 使用 Keil 软件编程步骤如下 1 双击 Keil 的快捷方式 运行 Keil 软件 2 建立一个新工程 如下图 图 5 2 大连交通大学 2013 届本科毕业生毕业设计 19 图 5 2 新建一个工程 3 然后输入你要保存工程文件的名字 blqdq 4 这时会弹出一个对话框 要求选择单片机的型号 选择 Atmel 的 89C51 单片 机 右边栏是对这个单片机的基本的说明 然后点击确定 5 单击 file 菜单 再在下拉菜单中单击 New 选项并保存空白档 命名为 blqdq asm 6 回到编辑界面后 单击 Target 1 前面的 号 然后在 Source Group 1 上单击右键 在弹出的菜单中单击 Add file to Group Source Group 1 7 将 blqdq asm 文件添加上就会发现 Source Group 1 文件夹中多了一个 子项 blqdq asm 8 编写程序 在输入程序时 由于事先保存待编辑的文件 Keil c51 会自动识 别关键字 并以不同的颜色标示 这样会使编写时少犯错误 有利于提高编程效率 9 单击 Project 菜单 再在下拉菜单中单击 built target 选项进行编 译 10 对程序进行调试直到编译结果为 0 错误 0 警告 然后单击 Project 菜 单 再在下拉菜单中单击 Options for Target Target 1 在 Output 中单 击 Create HEX File 选项 点击确定使程序编译后产生 HEX 代码 供下载器软件使 用 如图 5 3 大连交通大学 2013 届本科毕业生毕业设计 20 图 5 3 生成 HEX 文件 19 谢 辞 毕业设计是对我们知识运用能力的一次全面的考核 也是对我们进行科学研究基 本功的训练 培养我们综合运用所学知识独立地分析问题和解决问题的能力 为以后 撰写专业学术论文和工作打下良好的基础 通过这一阶段的努力 我的毕业论文终于 完成了 这意味着大学生活即将结束 在大学阶段 我在学习上和思想上都受益非浅 这除了自身的努力外 与各位老师 同学和朋友的关心 支持和鼓励是分不开的 论文得以完成 要感谢的人实在太多了 首先我要感谢我的母校 大连交通大 学 是她为我们提供了学习知识的土壤 使我们在这里茁壮成长 其次我要感谢学院 的老师们 他们在平时里不仅教会我们专业方面的知识 而且教会我们做人做事的道 理 尤其要感谢我的导师赵冰老师 在论文的写作过程中 赵冰老师倾注了大量的心 血 从选题到开题报告 从写作提纲到一遍又一遍地指出论文中的具体问题 严格把 关 循循善诱 赵老师一丝不苟精益求精的作风 严谨求实的态度 踏踏实实的精神 深深地感染和激励着我 他不仅授我以文 而且教我做人的道理 对赵老师的感激之 情是无法用言语表达的 在此我表示衷心的感谢 此外 我还要感谢在毕业论文写作 中给予我帮助的各位同学 由于经验的匮乏 难免有许多考虑不周全的地方 正是由 于你们的帮助和支持 我才能克服一个个的困难和疑惑 直至论文的顺利完成 正是 由于你们 我才能在各方面取得显著的进步 在此向你们表示我由衷的谢意 在论文即将完成之际 我的心情无法平静 从开始进入课题到论文的顺利完成 有许多师长 同学 朋友给了我无言的帮助 在这里请接受我诚挚的谢意 同时也感谢学院为我提供良好的做毕业设计的环境 最后再次感谢我的大学和所有帮助过我并给我鼓励的老师 同学和朋友 谢谢你 们 20 参考文献 1 余发山 单片机原理及应用技术 M 徐州 中国矿业大学出版社 2008 2 徐建军 MCS 51 系列单片机应用及接口技术 M 北京 人民邮电出版社 2003 3 李光飞 单片机课程设计实例指导 北京 北京航天航空大学出版社 2004 4 冯育长 单片机系统设计与实例指导 西安 西安电子科技大学出版社 2007 5 余永权 ATMEL89 系列单片机应用技术 M 北京航空航天大学出版社 2002 6 孙育才 MCS 51 系列单片微型计算机及其应用 M 东南大学出版社 1998 7 张志良 单片机原理与控制技术 第二版 M 机械工业出版社 2005 8 楼然苗 51 系列单片机设计实例 M 北京航空航天大学出版社 2002 9 王兆安 黄俊 电力电子技术 M 机械工业出版社 2003 10 叶斌 电力电子应用技术及装置 M 机械工业出版社 1999 11 王福瑞 单片微机测控系统设计大全 M 北京航空航天大学出版社 1999 12 胡汉才 单片机原理及其接口技术 M 清华大学出版社 1996 13 Hondoh Wada Andoh A vortex floweter with spectral analysis signal processing Sensor for Industry Processing of the First ISA IEEE Conference 2001 35 40 21 附 录 附录 1 电路原理图 22 附录 2 程序清单 主程序 OK EQU 20H 抢答开始标志位 RING EQU 22H 响铃标志位 DATAO EQU 36H 抢答按键口数据存放地址 ORG 0000H AJMP MAIN ORG 0003H AJMP INTT0 ORG 000BH AJMP T0INT ORG 001BH AJMP T1INT ORG 0040H MAIN MOV R1 20 初设抢答时间 20s MOV R2 30 初设答题时间 30s MOV 38H 60 启用锦囊时间为 60s MOV TMOD 11H 设置为定时器 方式 1 MOV TH0 0F0H MOV TL0 0FFH 越高发声频率越高 MOV TH1 3CH MOV TL1 0B0H 50ms 为一次溢出中断 SETB EA SETB ET0 SETB ET1 允许两个中断 T0 T1 CLR OK CLR RING SETB TR1 SETB TR0 一开始就运行定时器 以显示 FFF 如果想从新计数 重置 TH1 TL1 就可以了 查询程序 START MOV DATAO 0FFH 初始化 MOV R5 0bH MOV R4 0bH MOV R3 0bH ACALL DISPLAY 未开始抢答时显示 FFF JNB P3 3 SELSUB0 JNB P3 4 TZ3 倒计时调整 JB P3 0 NEXT ACALL DELAY JB P3 0 NEXT 去抖动 如果按下 开始键 就向下执行 否则跳到非法 抢答查询 SETB EX0 开放 INT0 ACALL BARK 按键发声 23 MOV A R1 MOV R6 A 送 R1 到 R6 因为 R1 中保存了抢答时间 SETB OK 抢答标志位 在使用锦囊时用作判断是抢答倒计时还是 回答倒计时 MOV R3 0AH 抢答只显示计时 灭号数 AJMP COUNT 进入倒计时程序 查询有效抢答 NEXT JNB P1 0 FALSE1 JNB P1 1 FALSE2 JNB P1 2 FALSE3 JNB P1 3 FALSE4 JNB P1 4 FALSE5 JNB P1 5 FALSE6 JNB P1 6 TZ1 JNB P1 7 TZ2 AJMP START TZ1 AJMP FALSE7 TZ2 AJMP FALSE8 TZ3 AJMP SELSUB1 非法抢答处理程序 FALSE1 MOV R3 01H AJMP ERROR FALSE2 MOV R3 02H AJMP ERROR FALSE3 MOV R3 03H AJMP ERROR FALSE4 MOV R3 04H AJMP ERROR FALSE5 MOV R3 05H AJMP ERROR FALSE6 MOV R3 06H AJMP ERROR FALSE7 MOV R3 07H AJMP ERROR FALSE8 MOV R3 08H AJMP ERROR SELSUB0 抢答时间 R1 调整程序 SELSUB0 MOV A R1 MOV B 0AH DIV AB MOV R4 A MOV R5 B MOV R3 0AH ACALL DISPLAY 先在两个时间 LED 上显示 R1 JNB P3 5 INC0 P3 5 为 1s 按下跳到 INC0 24 JNB P3 6 DEC0 P3 6 为 1s 按下跳到 DEC0 JNB P3 1 BACK0 P3 1 为确定键 按下跳到 BACK0 AJMP SELSUB0 INC0 MOV A R1 CJNE A 63H ADD0 如果 R1 不是 99 R1 就加 1 如果是 99 R1 就置 0 MOV R1 00H ACALL DELAY1 AJMP SELSUB0 ADD0 INC R1 ACALL DELAY1 AJMP SELSUB0 DEC0 MOV A R1 JZ SETR1 DEC R1 ACALL DELAY1 AJMP SELSUB0 SETR1 MOV R1 63H ACALL DELAY1 AJMP SELSUB0 BACK0 AJMP START SELSUB1 回答时间 R2 调整程序 SELSUB1 MOV A R2 MOV B 0AH DIV AB MOV R4 A MOV R5 B MOV R3 0AH ACALL DISPLAY JNB P3 5 INC1 JNB P3 6 DEC1 JNB P3 1 BACK1 AJMP SELSUB1 INC1 MOV A R2 CJNE A 63H ADD1 MOV R2 00H ACALL DELAY1 AJMP SELSUB1 ADD1 INC R2 ACALL DELAY1 AJMP SELSUB1 DEC1 MOV A R2 JZ SETR2 DEC R2 ACALL DELAY1 25 AJMP SELSUB1 SETR2 MOV R2 63H ACALL DELAY1 AJMP SELSUB1 BACK1 AJMP START 启用锦囊程序 REPEAT MOV A 38H MOV R6 A CLR RING 倒计时程序 COUNT MOV R0 00H 重置定时器中断次数 MOV TH1 3CH MOV TL1 0B0H 重置定时器 RECOUNT MOV A R6 R6 保存了倒计时的时间 MOV B 0AH DIV AB 除 10 分出十位和各位 MOV 30H A 十位存到 30H MOV 31H B 个位存到 31H M
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!