欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    多功能单片机8路抢答器.docx

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

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

    多功能单片机8路抢答器.docx

    1、多功能单片机8路抢答器摘 要本文分别从硬件和软件两个介绍了一种采用单片机制作的抢答器的设计思路与功能。该抢答器除了基本的抢答功能之外,还实现其它多种功能。这些附加功能的实现使其在使用过程中更加的方便与智能化。这也符合电子设备的发展步伐。它在硬件方面主要由AT89SC52单片机、MAX7219显示驱动、LCD显示器组成。除了具有基本的抢答功能之外,还具有定时报警的功能,和数显的功能,当抢答开始后,系统会自动倒计时,并且时间是可以预设的,期间有人抢答的话系统会停止计时,如果期间没人抢答,系统会有短暂的报警,提示抢答结束。在软件方面主要由程序流程图与部分功能介绍来进行解读。本设计中大部分的较为复杂的

    2、逻辑控制,都是用相应的汇编程来控制实现的。通过一系列的汇编程序,来控制、实现相应的逻辑功能。关键词:抢答器;单片机AT89SC52;时间控制;LCD显示。 AbstractThis paper respectively from two introduces a hardware and software made by single chip microcomputer design ideas and function of the buzzer.The buzzer in addition to the basic vies to answer first function, and o

    3、ther functions.The realization of the function of these additional to make it in use process more convenient and intelligent.This also accord with the development of electronic equipment.It in the aspect of hardware mainly driven by AT89SC52 microcontroller, MAX7219 display, LCD display.In addition

    4、to the basic vies to answer first function outside, still have timing alarm function, and the function of the digital display, when the contest began, the system will automatically countdown, and time can be preset, someone vies to answer first during system will stop time, if nobody vies to answer

    5、first, during the system will have a brief report to the police, prompt vies to answer first.On software is mainly composed of program flow chart and part function is introduced to interpret.Most of the design of more complex logic control, is done with the corresponding programming to control the i

    6、mplementation.Through a series of assembler, to control and implement corresponding logic functions.Keywords:The Buzzer; Single Chip AT89C52; Duration Control; LCD Display.目 录绪 论 1选题背景与意义 1课题简介 11.总体系统设计 21.1 设计内容 21.2 设计目标 21.3 设计抢答器原理方框图 32.抢答器各模块设计及介绍 42.1 单片机模块 42.1.1 AT89C52主要性能参数 42.1.2 AT89C5

    7、2功能特性介绍及P0、P1口介绍 52.1.3 AT89C52引脚介绍 52.1.4 结合在方案中需要使用的引脚对抢答器工作流程进行分析 72.1.5 单片机模块工作流程图 122.2 MAX7219显示驱动模块 132.2.1 MAX7219引脚说明 132.2.2 基本的工作方法 142.2.3 MAX7219初始化 152.2.4 显示驱动程序介绍 162.3 lcd显示器介绍 172.3.1 LCD和LED的区别 172.3.2 单片机和分立元件之间的选择 172.3.3 显示电路设计和LCD的引脚功能说明 182.3.4 液晶显示模块 183.抢答器电路原图及仿真 203.1 抢答器

    8、原理图 203.2仿真软件介绍 203.3 仿真测试效果 21结 论 24致 谢 25参考文献 26附 录 27绪 论选题背景与意义抢答器是一种常见的电子产品,尤其是在各类智力竞猜中,在电视和学校中我们会经常看到一些智力抢答的节目,如果要是让抢答者用举手等方法,主持人很容易误判,会造成抢答的不公平,比赛中为了准确、公正、直观地判断出第一抢答者,所设计的抢答器通常由数码显示、灯光、音响等多种手段指示出第一抢答者。为了使这种不公平不发生,只有靠电子产品的高准确性来保障抢答的公平性。为了实现选手的公平性,性能优良的抢答器往往更能得到各单位的青睐。很明显,在先前学习过程中的基于74系列电路的抢答器方案

    9、虽然在只基于硬件的条件下就能实现大部分功能,似乎更加省事,但仔细比较下两种方案,不难发现,由于单片机具有可编程定时器和中断设备,便于实现编程和时间的精确控制。通过硬件与软件相结合的方式能使方案电路结构简单,易于实现,采用LCD显示且具有简单精准的报警电路。并且该方案还有一个很重要的特点在于具有灵活性,可以随意的进行时间设定,更加适应社会要求。课题简介课题名称:多功能单片机抢答器主要任务:通过硬软件相结合实现集定时、计时、报警、数码显示等功能为一体的抢答器。开发思路:(1)以AT89C52系列单片机为核心部件 (2)用中小规模集成电路为硬件基础 (3)以LCD作为显示设备 (4)以汇编语言实现逻

    10、辑编程1.总体系统设计1.1 设计内容 (1)可同时供8名选手参加比赛,其相应的编码分别是0、1、2、3、4、5、6、7,各用一个抢答按钮,按钮的编号与选手的编号相对应。分别是S0、S1、S2、S3、S4、S5、S6、S7。 (2)给主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。 (3)抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时蜂鸣器给出音响提示。此外,要封锁输入电路,禁止其他选手抢答。优先抢答选手的编号一直保持到主持人将系统清零为止。 (4)画出各单元电路图和总体逻辑框图,描述各单元

    11、功能,合理选用电路器件,画出完整的电路设计图。 (5)列出完整的语言逻辑程序 (6)写出设计总结报告1.2 设计目标(1) 如果想调节抢答时间或答题时间,按抢答时间调节键或答题时间调节 键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下加1s键,如果想减一秒按一下-1s键,时间LED上会显示改变后的时间,调整范围为0s99s, 0s时再减1s会跳到99,99s时再加1s会变到0s。 (2) 主持人按抢答开始键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s抢答时间),不进行抢答查询,所以只

    12、有第一个按抢答的选手有效。倒数时间到小于5s会每秒响一下提示音。 (3) 如倒计时期间,主持人想停止倒计时可以随时按停止按键,系统会自动进入准备状态,等待主持人按抢答开始进入下次抢答计时。 (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调整。 (6) 当参赛选手在回答问题时要求使用锦囊,则

    13、主持人按下抢答开始键,计时重新开始。1.3 设计抢答器原理方框图如图1-1所示为八路多功能抢答器设计的原理框图:抢答输入显示输出控制输入输出锁存单片机控制看语音输出图1-1 八路多功能抢答器设计的原理框图当主持人宣布抢答开始的时候,按下开始按钮,此时电路进入抢答状态,选手的输入采用了扫描式的输入,之后把相应的信息送往单片机,再由单片机输出到显示输出电路中。此时有人第一按下相应的抢答按钮,经过单片机的控制选择,在八段显示器上显示相应的号码,并锁存,同时禁止其他按钮的输入。通过主持人的相关操作,以及选手的抢答,显示模块与语音模块应能迅速做出正确回应。如主持人按下开始,语音模块立刻给以语音提示,显示

    14、模块立刻显示抢答倒计时;当有选手抢答,显示模块应马上显示最先抢答的选手号,并进入答题倒计时 而这一切,都有赖于本设计的核心模块51单片机来控制。通过一系列的汇编程序,来控制、实现相应的逻辑功能。2.抢答器各模块设计及介绍2.1 单片机模块采用MCS-51系列单片机AT89S51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改性。 CS-51单片机特点如下:(1)可靠性好:单片机按照工业控制要求设计,抵抗工业噪声

    15、干扰优于一般的CPU ,程序指令和数据都可以烧写在ROM许多信号通道都在同一芯片,因此可靠性高。(2)易扩充:单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统.(3)控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。 所以采用单片机AT89S51组成的最小系统(AT89S51加复位电路和外界晶体振荡器)为主要部件,加按键作为选手抢答和主持人控制、4位共阴数码管为显示选手的编号和剩余的抢答时间。AT89SC52的引脚图如图2-1所示: 图2-1 89C52单片机引脚图2.1.1 AT89C52主要性能参数1它与M

    16、CS-51单片机产品兼容 28K字节在系统可编程Flash存储器 31000次擦写周期 4全静态操作:0Hz33Hz 5三级加密程序存储器 632个可编程I/O口线 7三个16位定时器/计数器 8八个中断源 9全双工UART串行通道 10低功耗空闲和掉电模式 11掉电后中断可唤醒 12看门狗定时器 13双数据指针 14掉电标识符2.1.2 AT89C52功能特性介绍及P0、P1口介绍At89sc52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允

    17、许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89SC52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一

    18、切工作停止,直到下一个中断或硬件复位为止。8位微控制器 8K 字节在系统可编程Flash AT89S52。P0 口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(

    19、吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。2.1.3 AT89C52引脚介绍(1) VCC:供电电压。(2) GND:接地。(3) P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0口能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。(4) P1口:P1

    20、口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流。在FLASH编程和校验时,P1口作为第八位地址接收。 (5) P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。P2口的管脚被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存

    21、储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。(6) P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。P3口也可作为AT89C52的一些特殊功能口,管脚备选功能如下: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入)

    22、 P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 (7) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平。 (8) ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, AL

    23、E只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 (9) /PSEN:外部程序存储器的选通信号。在外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,两次有效的/PSEN信号将不出现。 (10) /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH)工作,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 (11)XTAL1:

    24、振荡器反相放大器的及内部时钟发生器的输入端。(12)XTAL2:振荡器反相放大器的输出端。特殊功能寄存器:在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFE)。并非所有的地址都被定义,从80HFFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。AT89C52除了与AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定

    25、时/计数器2 的控制和状态位位于T2CON,T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2 在16 位捕获方式或16 位自动重装载方式下的捕获/自动重装载寄存器。2.1.4 结合在方案中需要使用的引脚对抢答器工作流程进行分析本设计采用P3.2、P3.3分别接抢答时间调节和答题时间调节按钮,即通过外部中断0、外部中断1分别控制抢答、答题时间的调整。因此,设计的软件部分可分为工作模块、外部中断0模块、外部中断1模块。对流程图的分析,也分三部分来介绍。(1)工作时(非调节时间时)的流程平时正常工作时,程序的流程图绘制如图2-2:对工作流程图中的某些部分解释如下:初始化部分:包括对定时计

    26、数器的工作方式、初始化数值的设置,还包括对抢答时间与答题时间的预设,另外,还应对外部中断0、外部中断1进行开放。抢答倒计时、回答倒计时部分:由于二者功能的相似性,本设计将二者在一个子程序倒计时程序中一起编写。犯规程序部分:包括对犯规选手号的显示、报警器的间断工作。另外,由于在设计要求主持人能随时对工作过程终止,因此,要不断查询停止键的状态,一旦按下,便回到初始化后的状态;在倒计时过程中还要不断将与5S比较,当小于5S时,还需调用发声程序;小于5S后, 又需要不断将与0较,当其等于零时,立即返回。图2-2 工作流程图(2)外部中断0(抢答时间调整)流程外部中断0(抢答时间调整)的流程图见图2-3

    27、:Y图2-3 INT0流程图一旦因P3.2对应键的按下,便进入INT0中断过程。通过不断对P3.4(加1s)和P3.5(减1s)进行不断的查询,来对抢答时间进行调整:发现P3.4按下,就对原抢答时间加1s, 发现P3.5下,就对原抢答时间减1s并调用显示程序。根据设计要求,当加至99s时,若再加1s,则时间变为0;当减至0s后,若再减一秒,时间变为99s。因此,流程中应该对当前时间于99s或0s比较,再作出相应处理。另外,在中断过程中还需要不时对停止按钮进行查询,一旦发现其按下,立即中断返回。由于本中断过程在返回前一直是循环执行的,因此,只需要在每次循环末查询一次即可,如流程图所示(3)外部中

    28、断1(答题时间调整)流程外部中断1(答题时间调整)流程与外部中断1流程大同小异。与抢答时间调整类似,一旦因P3.3对应的按钮按下,便进入INT1中断过程。通过不断对P3.4(加1s)和P3.5(减1s)进行不断的查询,来对抢答时间进行调整:发现P3.4按下,就对原抢答时间加1s, 发现P3.5下,就对原抢答时间减1s并调用显示程序。当加至99s时,若再加1s,则时间变为0;当减至0s后,若再减一秒,时间变为99s。因此,流程中应该对当前时间于99s或0s比较,再作出相应处理。同上,在中断过程中,也还需要不时对停止按钮进行查询,一旦发现其按下,立即中断返回。其程序流程参见下图 图2-4:Y图2-

    29、4 INT1流程图2.1.5 单片机模块工作流程图单片机模块工作流程图如下图2-5所示:图2-5 程序流程图2.2 MAX7219显示驱动模块2.2.1 MAX7219引脚说明引脚说明见表2-1表2-1 MAX7219引脚说明引脚号名称功能说明1Din串行数据输入端在CLK的上升沿数据被锁入芯片内部16位移位寄存器。2358.10.11DIG0DIG78位LED位选线,从共阴极LED中吸入电流。49GND地线(两个GND必须连在一起)。12Load锁入输入的数据在Load上升沿最后的16位串行数据被锁入。13CLK时钟输入,最高时钟频率为10MHZ,在CLK的上升沿数据被锁入内部移位寄存器,在

    30、CLK的下降沿,数据从Dout脚被输出。1417 2023SegASegG.DP7段驱动和小数点驱动18Iset该脚通过一个电阻与V+相连,设置峰值段电流。19V+电源电压,+5V。24Dout串行数据输出。输入到Din的数据在16.5个时钟周期后在Dout脚发出,该脚用于与级联扩展2.2.2 基本的工作方法与8031单片机连接采用三线串行接口,典型应用电路如表2-2所示。表2-2 16位数据包的数据格式表_Y&F_eN;y-jGuestD0D7D8D11D12D13D14D15LSB DATA MSBADDRESSD7D0:8位数据位,D7最高位,D0最低位;D11D8:4位地址位;D15D

    31、12:无关位,通常全取1。MAX7219通过D11D84位地址位译码,可寻址14个内部寄存器,分别是8个LED显示位寄存器,5个控制寄存器和1个空操作寄存器。LED显示寄存器由内部88静态RAM构成,操作者可直接对位寄存器进行个别寻址,以刷新和保持数据,只要V超过2V(一般为5V)。_a y6i/e8G(rW0n_Guest控制寄存器包括:译码模式,显示亮度调节,扫描限制(选择扫描位数),关断和显示测试寄存器。 EETOP专业博客-电子工程师自己的家园1w_m_0-?7B_-v&L_t PGueste(|_ox*U )vGuestMAX7219的驱动程序首先必须对5个控制寄存器(地址分配见表2-3)初始设置即初始化,各控制寄存器设置含义如下:译码模式选择寄存器(地址=F9H);5G)s_JwG_m+C_GuestEETOP专业博客-电子工程师自己的家园_x_G/U9Y3O_|共有4种译码模式供选择,当数据位全0


    注意事项

    本文(多功能单片机8路抢答器.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开