欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新八路抢答器课程设计.pdf

    • 资源ID:93078079       资源大小:2.10MB        全文页数:49页
    • 资源格式: PDF        下载积分:5.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要5.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新八路抢答器课程设计.pdf

    八路抢答器课程设计 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 前言 在飞速发展的当下,从家用电器到办公自动化、工业自动化以及各种智能仪表到智能接口,都少不了单片机的广泛应用。同时,单片机具有体积小、价格低、可靠性高、智能、实时、可塑性好等诸多优点,使其成为开发嵌入式要用心太软和小型智能化产品的首选机种。随着电子技术的飞速发展,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。同时楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用80C51 单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在 1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 目录 前言.1 第一章 设计目的及要求.3 1.1、设计目的.3 1.2、设计要求.3 1.2.1、课程设计要求.3 1.2.2、基本设计功能要求主要分为以下几个部分:.3 第 2 章 方案设计.4 2.1、几种常见的抢答模式.4 2.2、研究背景.4 2.3、本文研究的主要内容.4 2.4、方案论证.5 第 3 章 主要元器件介绍.6 3.1、AT80C51单片机介绍.6 3.1.1 AT80C51 芯片简介.6 3.1.2 引脚说明.7 3.2、7SEG-MPX4-CC简介.8 3.3、SOUNDER 蜂鸣器简介.9 3.4、RX8电阻块简介.9 第 4 章 硬件电路设计.10 4.1、控制和设置电路.10 4.2、外部振荡电路.10 4.3、复位电路.11 4.4、抢答输入电路.12 4.5、显示电路.12 第 5 章 软件设计及主要子程序.13 5.1、软件设计思路.13 5.2、主程模块.13 5.3、查询子程序设计.14 5.4、抢答时间设置子程序设计.15 5.5、发声子程序设计.16 5.6、响铃子程序设计.16 5.7、显示子程序设计.17 第 6 章 系统仿真与调试.18 6.1、Keil 编译.18 6.2、Protues8仿真平台.18 6.2.1、Protues8仿真简介及部分模块仿真.18 6.2.2、硬件电路总图与仿真.19 第 7 章 操作方法.22 第 8 章 课程设计总结.23 附录.24 汇编程序.24 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 PCB原理图.36 参 考 文 献.37 第一章 设计目的及要求 1.1、设计目的 1)掌握 51 系列单片机的基本硬件结构及工作原理;2)掌握 51 系列单片机的汇编语言及基本程序设计方法;3)学习并掌握使用 51 系列单片机开发控制系统的基本步骤及方法。1.2、设计要求 1.2.1、课程设计要求 能熟练运用 51 单片机实现硬件与软件结合完成电子产品的设计,把理论真正运用于实践,会用 Keil 等软件编程调试运行,熟悉应用 Proteus软件仿真。强化编程练习,注意查询方式与中断方式的区别等等。1.2.2、基本设计功能要求主要分为以下几个部分:1)抢答器同时供八名选手或八名代表在比赛中使用,分别用八个按钮 s0s7 表示;2)设置一个系统清除和抢答控制开关 s,该开关由主持人控制;3)抢答器具有定时抢答功能;且一次抢答时间由主持人设定 30 秒,当主持人启动开始键后,定时器进行显计时,并在数码管上显示计时时间。4)该系统采用 2 个数码管显示,抢答启动后,首先显示时间,当有人抢答时,显示抢答人员所对应的编号 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 5)抢答器具备锁存与显示功能,当选手按下按钮后,锁存相应的编号,扬声器发生声响提示,并在数码管上显示该选手的编号,选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 第 2 章 方案设计 2.1、几种常见的抢答模式(一)任意抢答模式:主持人念题过程或出题后说“开始”,选手随时抢答,机器判别抢答成功不判别犯规。(二)3 秒预备全自动抢答模式:指的是主持人出题后说“请准备”,然后按下“抢答启动键”机器自动发出“3 2 1 开始抢答”的语音指令,此时选手就可以抢答,机器会自动判别犯规并屏蔽(可屏蔽多组犯规)。(三)倒计时继续抢答模式:按“抢答启动”键后机器连续计时,抢答成功暂停,给选手加分或减分确认后继续抢答倒计时知道计时为 0 为止。(四)半自动(主持人)抢答模式:指的是主持人出题后说:请准备机器发出“321 开始抢答”的指令按下抢答按钮,如有犯规机器会自动播报。2.2、研究背景 抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辩认出选手号码。现在大多数抢答器均使用单片机(如 MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢按前或抢按后的计时、选手得分显示等功能。本课题利用 80C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间和选手号码。用开关做键盘输出,扬声器发生提示。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 智力竞赛抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,采用单片机 80C51,它是低功耗、高性能的 CMOS 型 8 位单片机。片内带有 4KB 的存储器,且允许在系统内改写或用编程器编程。该智力竞赛抢答器的准确度很高,其误差主要由晶振自身的误差所造成。本系统采用模块化设计智能抢答器,在抢答比赛中广泛应用,各组分别有一个抢答按钮。主持人有开始和结束、复位键。在后台主持人可以修改,抢答时间和选手回答问题的时间设置,原始状态下抢答时间为 0s,回答问题时间为0s。新时间开始有效,主持人按键开始后,选手开始抢答为有效,数码显示屏显示抢答时间倒计时和选手号,在最后扬声器发生提示。如果主持人没有按下开始键而选手就抢答视为犯规。主持人可按键结束,新一轮抢答开始。2.3、本文研究的主要内容 设计内容完全按照前面的设计要求完成,完全满足前面的设计要求。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 2.4、方案论证 方案:设计选用单片机 AT80C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的 I/O 端口,及其控制的准确性,实现基本的密码锁功能。方案完全按照第 1 章的基本设计要求设计。图 2.1 单片机控制方案 控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。其中单片机 80C51 是系统工作的核心,它主要负责控制各个部分协调工作。所需元件:该系统的核心器件是80C51。在其外围接上复位电路、上拉电阻、数码管、按钮及扬声器。元件为:晶振X1、电容 C1、C2、C3、电阻RP1、P3.0 和 P3.1 由裁判控制,分别是抢答停止和开始键。P1.0-P1.7 是 8 组抢答的输入口,P2.0-P2.3 口为数码管的段选口,位选口用的是 P0.0-P0.6 口输出,外部中断 0、1 和 P3.3,P3.4 为抢答记时调整口,实现的对个队进行计时,并且加减调整,外部中断 0,1 实现了答题时间调整.P3.4 P3.5 分别实现了时间的加一和减一.P3.6 为蜂鸣器的控制口。主 控 制 器 LED显示 声生器 键盘显示 时钟频率 复位电路 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 第 3 章 主要元器件介绍 3.1、AT80C51单片机介绍 3.1.1 AT80C51 芯片简介 AT80C51是 MCS 51 系列单片机中的一种低功耗、高性能的片内含有 4KB快闪可编程/擦除只读存储器的 8 位 CMOS 微控制器,使用高密度、非易失存储技术制造,并且与 80C51引脚和指令系统完全兼容。主要性能:与 MCS-51 微控制器产品系列兼容。片内有 4KB可在线重复编程的快闪擦写存储器存储数据保存时间为 10 年。宽工作电压范围:Vcc 可为 2.7V 到 6V全静态工作;可从0Hz至 16MHz 程序存储器具有 3 级加密保护 128*8 位内部 RAM 32条可编程 I/O线、两个 16 位定时器/计数器、中断结构具有 5 个中断源和 2 个优先级、可编程全双工串行通道、空闲状态维持低功耗和掉电状态保存存储内容。80C51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行 I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器。它们都是通过片内单一总线连接而成,其基本结构依旧是 CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。微处理器、数据存储器、程序存储器、并行 I/O 口、串行口、定时器/计数器、中断系统各部分功能及说明类似于 8951 单片机内部结构说明。特殊功能寄存器共有 21 个,用于对片内的各功能的部件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的 RAM 区。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 由上可见,80C51 单片机的硬件结构具有功能部件种类全,功能强等特点。特别值得一提的是该单片机 CPU中的位处理器,它实际上是一个完整的 1位微计算机,这个 1 位微计算机有自己的 CPU、位寄存器、I/O 口和指令集。1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而 8 位机在数据采集,运算处理方面有明显的长处。MCS-51单片机中 8 位机和 1 位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是 MCS-51单片机设计的精美之处。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 3.1.2 引脚说明 图 3.1 是标准的双列直插式集成电路芯片。图3.1 80C51引脚图 P00P07 P0口8位双向口线(在引脚的3932号端子)。P10P17 P1口8位双向口线(在引脚的18号端子)。P20P27 P2口8位双向口线(在引脚的2128号端子)。P30P37 P3口8位双向口线(在引脚的1017号端子)。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 1、P0口有三个功能:(1)外部扩展存储器时,用作数据总线(如图中的D0D7为数据总线接口)(2)外部扩展存储器时,用作地址总线(如图中的A0A7为地址总线接口)(3)不扩展时,可做一般的I/O口使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。2、P1口功能:P1口只做I/O口使用,其内部有上拉电阻。3、P2口有两个功能:(1)扩展外部存储器时,当作地址总线使用;(2)做一般I/O口使用,其内部有上拉电阻。4、P3口有两个功能:除了作为I/O口使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。5、ALE/PROG 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。PROG为编程脉冲的输入端,在89C51单片机内部有一个4KB的程序存储器(ROM),ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入进这个ROM中的呢?实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。6、PSEN 外部程序存储器读选通信号:精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作:(1)内部ROM读取时,PSEN不动作;(2)外部ROM读取时,在每个机器周期会动作两次;(3)外部RAM读取时,两个PSEN脉冲被跳过不会输出;(4)外接ROM时,与ROM的EA脚相接。7、EA/VPP 访问程序存储器控制信号:(1)接高电平时:CPU读取内部程序存储器(ROM)(2)接低电平时:CPU读取外部程序存储器(ROM)。8031单片机内部是没有ROM的,那么在应用8031单片机时,这个脚是一直接低电平的。8、RST 复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。9、XTAL1 和XTAL2:外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。10、VCC:电源端接+5V电压输入。11、GND:接地端。3.2、7SEG-MPX4-CC 简介 采用七段码 7SEG-MPX4-CC 显示,它是共阴极的由高电平点亮。图形如下:精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 图3.2 7SEG-MPX4-CC 引脚图 3.3、SOUNDER 蜂鸣器简介 外部还接有SOUNDER 蜂鸣器(由于SPEAKER缺少驱动电路,所以为了方便起见,这里使用带有自驱动的SOUNDER 蜂鸣器)用来发出报警音,并且使用LED,使其能看到发声状态。图形如下:图3.2 7SEG-MPX4-CC 引脚图 3.4、RX8电阻块简介 RX8 电阻块用于单片机 IO 用作低电平输入时是提供灌电流,电阻大小的确定一般都是根据你的拉电阻的选择,因为漏极输出的 IO 内阻相当大,等效电路的电阻就是你的拉电阻,拉电流就是你的外接电源/拉电阻,一般的 TTL 电平驱动电流在 20ma-25ma,可以视情况选择电阻的大小。图形如下:精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 图3.2 RX8电阻块 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 第 4 章 硬件电路设计 硬件电路的设计主要包括控制和设置电路设计、外部震荡电路设计、复位电路设计、抢答输入电路设计和显示电路设计。4.1、控制和设置电路 如图所示电路,80C51 单片机由微处理器,存储器,I/O 口以及特殊功能寄存器 SFR 等部分构成。其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为 4KB,片内数据存储器为 128 个字节。80C51 单片机有 4 个 8 位的并行 I/O 口:P0 口,P1 口,P2 口和 P3 口。各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。P1 口是唯一的单功能口,仅能用作通用的数据输入/输出口。P3 口是双功能口除了具有数据输入/输出功能外,每条接口还具有不同的第二功能,如 P3.0 是串行输入口线,P3.1 口是串行输出口线。在需要外部程序存储器和数据存储器扩展时,P0 可作为分时复用的低 8 位地址/数据总线,P2 口可作为高 8 位的地址总线。P3 口也可作为80C51 的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 图 4.1 控制和设置电路 4.2、外部振荡电路 单片机外部振荡电路单片机必须在 80C51 的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元。外部振荡电路如下:图 4.2 外部震荡电路 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 4.3、复位电路 外部中断和内部中断并存,单片机有硬件复位端,只要输入持续 4 个机器周期的高电平即可实现复位。硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,应为本设计功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位。只能用软复位。软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程。复位电路如下:图 4.3 复位电路 4.4、抢答输入电路 采用八个 BUTTON 按钮作为抢答的选择按键如图所示:精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 图 4.4 抢答输入电路 4.5、显示电路 采用七段码 7SEG-MPX4-CC 显示,它是共阴极的由高电平点亮。如下:图 4.5 显示电路 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 第 5 章 软件设计及主要子程序 5.1、软件设计思路 图 5.1 软件设计思路 5.2、主程模块 智力竞赛抢答器要求有计时记忆功能,一次时间设置完,复位后不需重新进行时间设定,通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示字型码。当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功。同时显示其分数,分数的加减可由裁判手动进行。采用独立式键盘,可实现八路抢答。系统初始化模按键模块 非法抢正确抢调整抢调整回数码显示模精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 在显示时使用的是七段数码管显示在本设计中根据实际情况采用的是动态显示方法,并通过查表法将其在数码管上显示出来,其中P1口为字型码输入端,P2口低6 位为字选段输入端。通过查表将字型码送给7段数码管显示的数字。软件去抖动,如果“开始键”按下就向下执行,否者跳到开始。采用倒计时程序,使其具有倒计时功能。回答倒计时30秒。抢答时间5 秒。采用发声亮灯警报,起到报警作用。显示 开始键按加一键按下?减一键按回调整去抖动 非法显示 正显示抢答 Y Y Y 初始精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 图5.2 主程序流程图 5.3、查询子程序设计 START:MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY ;未开始抢答时候显示FFF JB P3.0,NEXT;ddddddd ACALL DELAY JB P3.0,NEXT ;去抖动,如果开始键按下就向下执行,否者跳到非法 抢答查询 ACALL BARK ;按键发声 MOV A,R1 MOV R6,A ;送R1-R6,因为R1 中保存了抢答时间 SETB OK ;抢答标志位,用于COUNT 只程序中判断是否查询抢答 MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号 MOV R3,#0AH ;抢答只显示计时,灭号数 AJMP COUNT ;进入倒计时程序,查询有效抢答的程序在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 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 JNB P1.6,FALSE7 JNB P1.7,FALSE8 AJMP START 5.4、抢答时间设置子程序设计 INT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY ;先在两个时间LED 上显示R1 JNB P3.4,INC0 ;P3.4 为+1s 键,如按下跳到INCO JNB P3.5,DEC0 ;P3.5 为-1s 键,如按下跳到DECO JNB P3.1,BACK0 ;P3.1 为确定键,如按下跳到BACKO AJMP INT0SUB INC0:MOV A,R1 CJNE A,#63H,ADD0 ;如果不是99,R2 加1,如果加到99,R1 就置0,重新加起。MOV R1,#00H ACALL DELAY1 AJMP INT0SUB ADD0:INC R1 ACALL DELAY1 AJMP INT0SUB DEC0:MOV A,R1 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 JZ SETR1 ;如果R1 为0,R1 就置99,DEC R1 ACALL DELAY1 AJMP INT0SUB SETR1:MOV R1,#63H ACALL DELAY1 AJMP INT0SUB BACK0:RETI 5.5、发声子程序设计 BARK:SETB RING ACALL DELAY1 ACALL DELAY1 CLR RING ;按键发声 RET 5.6、响铃子程序设计 T0INT:MOV TH0,#0ECH MOV TL0,#0FFH JNB RING,OUT;CPL P3.6 ;RING 标志位为1 时候P3.6 口不短取反使喇叭发出一定频率的声音 OUT:RETI 5.7、显示子程序设计 DISPLAY:MOV DPTR,#DAT1;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出,MOV A,R3 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 MOVC A,A+DPTR MOV P2,#0feH MOV P0,A ACALL DELAY2 MOV DPTR,#DAT2 MOV A,R5 MOVC A,A+DPTR MOV P2,#0fdH MOV P0,A ACALL DELAY2 MOV A,R4 MOVC A,A+DPTR MOV P2,#0fbH MOV P0,A ACALL DELAY2 RET DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;灭,1,2,3,4,5,6,7,8,9,灭,F DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H;第一个为零,其他与上相同,因为十位如果为零显示熄灭 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 第 6 章 系统仿真与调试 6.1、Keil 编译 Keil C51是美国Keil Software 公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。本次设计采用汇编语言编程,生成.hex文件以供装载到Protues中的单片机进行仿真。6.2、Protues8仿真平台 6.2.1、Protues8仿真简介及部分模块仿真 Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。迄今为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在编译方面,它也支持IAR、Keil和MATLAB 等多种编译。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 目标代码的加载方法为,在Protues编辑环境双击AT89C51,弹出下图所示的对话框,在PROGRAM FILM 一栏中单击打开按钮,选中Keil中生成的lzy.hex文件,在CLOCK FREQUENCY 栏中设置系统工作频率为12MHZ,单击OK完成目标代码的加载。图 6.1 程序代码加载 6.2.2、硬件电路总图与仿真 点击运行按钮启动系统仿真,为了保护密码的隐蔽,输入密码时不显示数字而是显示一横线。硬件总图如下:精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 图 6.2 总图 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 五号违规抢答:图 6.3 五号违规抢答 时间调整:图 6.4 时间增加 图 6.5 时间减少 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 七号正在答题:图 6.6 七号正在答题 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 第 7 章 操作方法 点击运行:1、如果想调节抢答时间或答题时间,按抢答时间调节键或答题时间调节键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下加 2s键,如果想减一秒按一下-2s 键,时间 LED 上会显示改变后的时间,调整范围为 0s99s,0s 时再减 2s 会跳到 99,99s 时再加 2s 会变到 0s。主持人按抢答开始键,会有提示音,并立刻进入抢答倒计时(预设 30s 抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设 60s 抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于 5s 会每秒响一下提示音。如倒计时期间,主持人想停止倒计时可以随时按停止按键,系统会自动进入准备状态,等待主持人按抢答开始进入下次抢答计时。4、如果主持人未按抢答开始键,而有人按了抢答按键,犯规抢答,LED上不断闪烁 FF 和犯规号数并响个不停,直到按下停止 键为止。5、P3.0 为开始抢答,P3.1 为停止,p1.0-p1.7 为八路抢答输入 数码管段选P0 口,位选 P2 口低 3 位,蜂鸣器输出为 P3.6 口。P3.2 抢答时间调整结,P3.3回答时间调整,P3.4 为时间加 1 调整,P3.5 为时间减 1 调整。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 第 8 章 课程设计总结 通过这次用单片机对八路抢答器的设计与仿真,让我对电子产品的设计程序与步骤牢牢把握,也让我对 51 单片机的基本原理与设计理念有深刻的理解,第一次用 Proteus 做仿真,开始很茫然不知道从什么地方下手,在软件上经常找不到自己想要的元器件,下载了一个教程学习后很快着手。短短的一个星期,从开始选题到完成设计,虽然碰到的很多让我头痛的问题,但是通过查阅资料,温习了以前所学过的知识,用理论联系实际并结合单片机原理与接口技术课程解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识,尤其重要的是让我明白无论做什么事情都不能自认为简单或是困难,需要去实践以后才会真正理解,才能真正的解决问题。单片机课程设计是一门很实用,很难的设计。这个设计用到了单片机,电路等方面的知识,通过这次课程设计,使我对单片机及其附属电路有了一定的了解,对课本上的知识有了近一步的掌握,也深刻明白了自己的不足。完成本次课程设计的过程,是一个从无到有的过程,经历了兴奋、自信、失落、奋发、所悟、完成几个过程。刚做做课程设计时,仔细阅读设计的题目和要求,以为没什么困难的,所用的知识书上都有。可是当我动手开始做的时候,才发现其中的算法,设计是那么繁琐。经过一天的努力,毫无结果。失落的心情油然而生。于是,再到图书馆和网上查找资料,在经过借鉴很多类似的资料,文献后,总算是有点眉目了。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 埋头苦干的过程是痛苦的,尤其是在思考算法和程序框架时,迷茫,烦躁,特别是当苦思出来一个结果,又被自己推翻,心痛的无法言绘。在痛苦中挣扎,建立,推翻,参考别人的思路,建立,再次在推翻,在这不断循环中,终于最后完善了程序。其中的煎熬是很痛苦的,深刻明白攻克自己“未知领域”的困难。但当课程设计完成时,那感觉是甜蜜的,没有耕耘,哪来得收获的喜悦,不懂付出怎么能知道回报的快乐,一分耕耘一分收获,有付出才会有回报,就在这样的痛与快乐的交换中,我学到了知识,学到了做人的道理。通过这短短一周的实践,我感觉到自己从课本上学到的理论知识和实践仍有很大的差距。最少很多元器件根本不知道有什么功效,在仿真仪器中是什么代码。有的知识,自己感觉已经掌握得差不多了,但是实际操作起来就有问题出现了。我遇到了不少问题,花费了很多的时间。这让我重新反思我们的学习,深刻领悟到我们这个专业动手,实践的重要性。理论不经过实践考验,是没法实施的,就像我们编的程序,很多方面考虑的都不够,几乎没有涉及到实际应用时的防范方法措施。这次的课程设计,让我学到了很多书本上学不到的东西,学到了实际应用时,是取用成本的最小化,做设计不仅要考虑大的方面,小的方面也必须做到完美。最大的收获是 C51 语言(虽然最后还是用汇编语言编写的,但是,我也试着学用了 C51)的应用有了深刻的了解。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 附录 汇编程序 ;电气123班-胡舒怡-2012012146;八路抢答器源程序 OK EQU 20H ;抢答开始标志位 RING EQU 22H ;响铃标志位 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040H MAIN:MOV R1,#30 ;初始抢答时间30s MOV R2,#60 ;初始答题时间60s MOV TMOD,#11H ;设置未定时器/模式1 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 MOV TH0,#0F0H MOV TL0,#0FFH ;发声频率越高,声音越尖 MOV TH1,#3CH MOV TL1,#0B0H ;50ms 为一次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1 ;允许四个中断,T0/T0/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0 ;运行定时器,开始显示F FF.若重新计数,重置TH1/TL1 ;查询程序:START:MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY ;未开始时显示F FF JB P3.0,NEXT ACALL DELAY JB P3.0,NEXT ;去抖动,若按下开始就向下执行,否者跳转非法抢答程序 ACALL BARK ;按键发声 MOV A,R1 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 MOV R6,A SETB OK MOV R7,#01H MOV R3,#0AH ;抢答只显示计时 AJMP COUNT ;进入倒计时程序,查询有效抢答程序在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,FALSE7 JNB P1.7,FALSE8 AJMP START ;非法抢答处理程序: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 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 AJMP ERROR FALSE7:MOV R3,#07H AJMP ERROR FALSE8:MOV R3,#08H AJMP ERROR ;INT0(抢答时间R1调整程序):INT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY ;先在两个时间LED显示R1 JNB P3.4,INC0 ;+1s JNB P3.5,DEC0 ;-1s JNB P3.1,BACK0 ;确定键 AJMP INT0SUB INC0:MOV A,R1 CJNE A,#63H,ADD0 ;如果不是99,R2加1,若到99,R1置零 MOV R1,#00H ACALL DELAY1 AJMP INT0SUB ADD0:INC R1 ACALL DELAY1 AJMP INT0SUB DEC0:MOV A,R1 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 JZ SETR1 ;如果R1为0,R1就置99 DEC R1 ACALL DELAY1 AJMP INT0SUB SETR1:MOV R1,#63H ACALL DELAY1 AJMP INT0SUB BACK0:RETI ;INT1(抢答时间R2调整程序):INT1SUB:MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC1 JNB P3.5,DEC1 JNB P3.1,BACK1 AJMP INT1SUB INC1:MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY1 AJMP INT1SUB ADD1:INC R2 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 ACALL DELAY1 AJMP INT1SUB DEC1:MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUB SETR2:MOV R2,#63H ACALL DELAY1 AJMP INT1SUB BACK1:RETI ;倒计时程序(抢答倒计时和回答倒计时):REPEAT:MOV A,R2 MOV R6,A CLR RING COUNT:MOV R0,#00H ;重置定时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H ;重置定时器 RECOUNT:MOV A,R6 ;R6 保存倒计时时间,之前时间给R6 MOV B,#0AH DIV AB MOV 30H,A ;除十分出个位/十位 MOV 31H,B MOV R5,30H 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢37 MOV R4,31H MOV A,R6 SUBB A,#07H JNC LARGER ;大于5s跳到LARGER,小于等于5s会提醒 MOV A,R0 CJ

    注意事项

    本文(最新八路抢答器课程设计.pdf)为本站会员(c****4)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开