八路抢答器电路设计_第1页
八路抢答器电路设计_第2页
八路抢答器电路设计_第3页
八路抢答器电路设计_第4页
八路抢答器电路设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

0项目申请书姓名班级学号项目名称八路抢答器内容提要随着我国经济和文化事业的发展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等。抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辨认出选手号码。系统由单片机STC89C51、数码管、蜂鸣器报警模块、按键模块所组成。系统能完成以下功能。系统由一个四位共阳数码管、10个按键以及单片机组成,10个按键中其中八个为选手按键,一个主持人按键,一个复位按键,在主持人没有按下按键,假如有选手按下按键,则视为违规抢答,数码管上会显示“FF”和违规选手的编号。当主持人按下按键后,系统会自动从30秒倒数,在30秒内假如有选手按下按键,数码管则会显示选手编号和剩余时间。技术路线和技术关键1、查阅资料,了解更多的抢答器知识;2、市场调查,掌握产品在市场的需求与发展前景;3、购买元器件;4、做出产品硬件电路;5、调试电路。技术关键1、完成键盘的设计,分配好各个按键输入对应单片机各口的控制信息;2、完成数码管显示电路的设计,实现具体的信息的显示。应用前景抢答器作为一种电子产品,单片机的应用领域变得越来越广,为适应各种竞赛场合,这种用单片机设计的抢答器具有电路简单、元件普通、易于购买等特点,广泛应用于各种智力和知识竞赛场合。指导老师意见签名月10日教研室意见同意签名5月10日1开题报告姓名学号班级项目名称八路抢答器主要研究(设计)内容系统由单片机STC89C51、数码管、蜂鸣器报警模块、按键模块所组成。系统能完成以下功能。系统由一个四位共阳数码管、10个按键以及单片机组成,10个按键中其中八个为选手按键,一个主持人按键,一个复位按键,在主持人没有按下按键,假如有选手按下按键,则视为违规抢答,数码管上会显示“FF”和违规选手的编号。当主持人按下按键后,系统会自动从30秒倒数,在30秒内假如有选手按下按键,数码管则会显示选手编号和剩余时间。方法及其预期目的1、确定硬件系统的设计方案;2、确定软件部分的设计方案。目的本设计主要采用MCS51系列单片机作为主控芯片,能够实现倒计时,数据显示,抢答等功能。项目特色和重点难点采用51系列的单片机,该单片机是一个高可靠性,超低价,无法解密,高性能的8位单片机,32个IO口,且STC系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试。采用LED数码管动态扫描,LED数码管价格虽适中,对于显示数字也最合适,而且采用动态扫描法与单片机连接时,占用单片机口线少。显示清晰。采用常见的独立按键输入模式,根据需要一共要用9个按键进行功能输入。课题进度计划58515查阅文献资料、完成开题报告;516521了解系统设计中的基本概念;522530确定系统方案,确定设备选型及元器清单;531610撰写论文;611615论文修改;618答辩。指导教师意见同意开题指导教师签字5月15日2前言二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”。在知识竞赛中,往往会用到抢答器。故此我们就选择利用单片机编程来设计抢答器,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题。本系统采用单片机作为整个控制核心。控制系统的四个模块为显示模块、存储模块、语音模块、抢答开关模块。该系统通过开关电路四个按键输入抢答信号,利用一个数码管来完成显示功能,用按键来让选手进行抢答,在数码管上显示哪一组先答题的,从而实现整个抢答过程。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理,输出控制信号,单片机控制的智能抢答器设计。本系统设计制作一个基于单片机的8路抢答器。能实现以下几种3功能(1)键盘扫描,显示当前按键。(2)检测是否有参赛者违规操作,如果在主持人按下开始按键以前按下则利用蜂鸣器报警并显示参赛者编号。(3)当主持人按下开始按键后,计数器开始倒数,在30秒倒数结束之前如果有参赛者按下按键,则在数码管上显示参赛者编号和剩余的时间。4目录第一章引言411目的和意义412研究概况及发展趋势513本系统主要研究内容5第二章总体方案论证与设计721主控模块的选型和论证722显示模块的选型和论证723按键模块的选型和论证824系统整体设计概述9第三章系统硬件电路设计1131主控模块11311STC89C52单片机主要特性12312STC89C51单片机的中断系统14313单片机最小系统设计1532数码管模块设计16321数码管原理介绍16322数码管电路设计1733键盘模块设计1834蜂鸣器模块设计19第四章系统软件设计2041系统软件总体设计2042程序设计原理21第五章系统调试2351硬件调试2352软件调试2353调试结果24附录28系统整体原理图29系统源程序305第一章引言11目的和意义二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”。在知识竞赛中,往往会用到抢答器。故此我们就选择利用单片机编程来设计抢答器,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题。本系统采用单片机作为整个控制核心。控制系统的四个模块为显示模块、存储模块、语音模块、抢答开关模块。该系统通过开关电路四个按键输入抢答信号,利用一个数码管来完成显示功能,用按键来让选手进行抢答,在数码管上显示哪一组先答题的,从而实现整个抢答过程。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理,输出控制信号,单片机控制的智能抢答器设计。612研究概况及发展趋势抢答器作为一种电子产品,早已广泛应用于各种智力和知识竞赛场合,但目前所使用的抢答器有的电路比较复杂难以制作,可靠性低,实现起来很困难;有些则用一些专用的集成块,而专用集成块的购买又很困难。而单片机自20世纪70年代问世以来,以其极高的性价比,受到国内外的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、价格低、环境要求不高、可靠性高、灵活性好、开发较为容易。这些优点使得单片机的应用领域变得越来越广,为适应各种竞赛场合,这种用单片机设计的抢答器具有电路简单、元件普通、易于购买等特点,很好的解决了制作者制作困难和难于购买的问题。在国内外已经开始了普遍的应用。今天随着科技的不断进步抢答器的制作也更加追求精益求精,人们摆脱了耗费很多元件仅来实现用指示灯和一些电路来实现简单的抢答功能,使第一个抢答的参赛者的编号能通过指示灯显示出来,避免不合理的现象发生。但这种电路不易于扩展,而且当有更高要求时就无法实现,例如参赛人数的增加。随着数字电路的发展,数字抢答器诞生了,它易于扩展,可靠性好,集成度高,而且费用低,功能更加多样话,是一种高效能的产品。13本系统主要研究内容本系统设计制作一个基于单片机的8路抢答器。能实现以下几种功能(1)键盘扫描,显示当前按键。7(2)检测是否有参赛者违规操作,如果在主持人按下开始按键以前按下则利用蜂鸣器报警并显示参赛者编号。(3)当主持人按下开始按键后,计数器开始倒数,在30秒倒数结束之前如果有参赛者按下按键,则在数码管上显示参赛者编号和剩余的时间。8第二章总体方案论证与设计根据所要实现的功能划分,系统一共需要以下几个模块主控模块、显示模块、按键模块,以下就针对这几个模块的选型和论证进行讨论。21主控模块的选型和论证方案一采用MSP430系列单片机,该单片机是TI公司1996年开始推向市场的一种16位超低功耗的混合信号处理器。其内部集成了很多模拟电路、数字电路和微处理器,提供强大的功能。不过该芯片昂贵不适合一般的设计开发。方案二采用51系列的单片机,该单片机是一个高可靠性,超低价,无法解密,高性能的8位单片机,32个IO口,且STC系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试。因此选用方案二中的51系列单片机作为主控芯片。22显示模块的选型和论证方案一采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较合适,如采用在显示数字显得太浪费,且价格也相对较高,所以不用此种作为显示。方案二采用LED数码管动态扫描,LED数码管价格虽适中,对于显示数9字也最合适,而且采用动态扫描法与单片机连接时,占用单片机口线少。显示清晰。方案三采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,对于本设计而言一个LCD1602的液晶屏即可,价格较高所以本设计中方案三中的LED数码管作为显示模块。23按键模块的选型和论证方案一采用常见的独立按键输入模式,根据需要一共要用9个按键进行功能输入。方案二采用矩阵键盘作为输入,矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4416个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。10图21矩阵键盘电路结构框图由于本设计本身要控制的地方不算很多,因此就算按键使用独立键盘也有大量剩余的IO口,因此选用独立按键作为键盘模块。24系统整体设计概述本系统以STC89C51单片机为控制核心,对系统进行初始化,主要完成对键盘的响应、数码管显示等功能的控制,起到总控和协调各模块之间工作的作用。单片机通过驱动蜂鸣器发响声。单片机主控模块数码管模块按键模块蜂鸣器报警模块供电电源图22系统结构框图系统由单片机STC89C51、数码管、蜂鸣器报警模块、按键模块所组成。系统能完成以下功能。系统由一个四位共阳数码管、10个按键以及单片机组成,10个按键中其中八个为选手按键,一个主持11人按键,一个复位按键,在主持人没有按下按键,假如有选手按下按键,则视为违规抢答,数码管上会显示“FF”和违规选手的编号。当主持人按下按键后,系统会自动从30秒倒数,在30秒内假如有选手按下按键,数码管则会显示选手编号和剩余时间。12第三章系统硬件电路设计31主控模块主控模块模块在整个系统中起着统筹的作用,需要检测键盘,温度传感器等各种参数,同时驱动液晶显示相关参数,在这里我们选用了51系列单片机中的STC89C51单片机作为系统的主控芯片。51系列单片机最初是由INTEL公司开发设计的,但后来INTEL公司把51核的设计方案卖给了几家大的电子设计生产商,譬如SST、PHILIP、ATMEL等大公司。因此市面上出现了各式各样的均以51为内核的单片机。这些各大电子生产商推出的单片机都兼容51指令、并在51的基础上扩展一些功能而内部结构是与51一致的。STC89C51有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。STC89C52的存储器系统由4K的程序存储器掩膜ROM,和128B的数据存储器RAM组成。STC89C51单片机的基本组成框图见图33。时钟电路ROM/EPROM/FLASH4KBRAM128BSFR21个定时个/计数器2CPU总线控制中断系统5个中断源2个优先级串行口全双工1个4个并行口XTAL2XTAL1RSTEAALEPSENP0P1P2P3VSSVCC图31STC89C51单片机结构图13311STC89C52单片机主要特性1一个8位的微处理器CPU。2片内数据存储器RAM128B,用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89系列单片机最多提供1K的RAM。3片内程序存储器ROM4KB,用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31等。目前单片机的发展趋势是将RAM和ROM都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。SST公司推出的89系列单片机分别集成了16K、32K、64KFLASH存储器,可供用户根据需要选用。4四个8位并行IO接口P0P3,每个口既可以用作输入,也可以用作输出。5两个定时器计数器,每个定时器计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52系列单片机都会提供3个16位定时器/计数器。6五个中断源的中断控制系统。现在新推出的单片机都不只5个中断源,例如SST89E58RD就有9个中断源。7一个全双工UART通用异步接收发送器的串行IO口,用于实现单片机之间或单机与微机之间的串行通信。8片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHZ。SST89V58RD最高允许振荡频率达40MHZ,因而大大的提高了指令的执行速度。P1024MS67CKRETXALVNU单图32STC89C51单片机管脚图14部分引脚说明1时钟电路引脚XTAL1和XTAL2XTAL218脚接外部晶体和微调电容的一端;片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。要检查振荡电路是否正常工作,可用示波器查看XTAL2端是否有脉冲信号输出。XTAL119脚接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,该引脚必须接地。2控制信号引脚RST,ALE,PSEN和EARST/VPD9脚RST是复位信号输入端,高电平有效。当此输入端保持备用电源的输入端。当主电源VCC发生故障,降低到低电平规定值时,将5V电源自动两个机器周期24个时钟振荡周期的高电平时,就可以完成复位操作。RST引脚的第二功能是VPD,即接入RST端,为RAM提供备用电源,以保证存储在RAM中的信息不丢失,从而合复位后能继续正常运行。ALE/PROG30脚地址锁存允许信号端。当8051上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率FOSC的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。平时不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因而ALE信号可以用作对外输出时钟或定时信号。如果想确定8051/8031芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。如有脉冲信号输出,则8051/8031基本上是好的。ALE端的负载驱动能力为8个LS型TTL低功耗甚高速TTL负载。此引脚的第二功能PROG在对片内带有4KBEPROM的8751编程写入固化程序时,作为编程脉冲输入端。PSEN29脚程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引肢接EPROM的OE端见后面几章任何一个小系统硬件图。PSEN端有效,即允许读出EPROMROM中的指令码。PSEN端同样可驱动8个LS型TTL负载。要检查一个8051/8031小系统上电后CPU能否正常到EPROMROM中读取指令码,也可用示波器看PSEN端有无脉冲输出。如有则说明基本上工作正常。EA/VPP31脚外部程序存储器地址允许输入端/固化编程电压输入端。当EA引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当PC程序计数器的值超过0FFFH对158751/8051为4K时,将自动转去执行片外程序存储器内的程序。当输入信号EA引脚接低电平接地时,CPU只访问外部EPROM/ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无片内ROM的8031或8032,需外扩EPROM,此时必须将EA引脚接地。此引脚的第二功能是VPP是对8751片内EPROM固化编程时,作为施加较高编程电压一般12V21V的输入端。3输入/输出端口P0/P1/P2/P3P0口P00P07,3932脚P0口是一个漏极开路的8位准双向I/O口。作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。当P0口作为输入口使用时,应先向口锁存器地址80H写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向口的含义。在CPU访问片外存储器时,P0口分时提供低8位地址和8位数据的复用总线。在此期间,P0口内部上拉电阻有效。P1口P10P17,18脚P1口是一个带内部上拉电阻的8位准双向I/O口。P1口每位能驱动4个LS型TTL负载。在P1口作为输入口使用时,应先向P1口锁存地址90H写入全1,此时P1口引脚由内部上拉电阻拉成高电平。P2口P20P27,2128脚P2口是一个带内部上拉电阻的8位准双向I/O口。P口每位能驱动4个LS型TTL负载。在访问片外EPROM/RAM时,它输出高8位地址。P3口P30P37,1017脚P3口是一个带内部上拉电阻的8位准双向I/O口。P3口每位能驱动4个LS型TTL负载。P3口与其它I/O端口有很大的区别,它的每个引脚都有第二功能,如下P30RXD串行数据接收。P31RXD串行数据发送。P32INT0外部中断0输入。P33INT1外部中断1输入。P34T0定时/计数器0的外部计数输入。P35T1定时/计数器1的外部计数输入。P36WR外部数据存储器写选通。P37RD外部数据存储器读选通。312STC89C51单片机的中断系统STC89C51系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;由中断优先级寄存器IP安排各中16断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。STC89C51单片机内集成有两个可编程的定时/计数器T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。313单片机最小系统设计P102345MOSI67CK8RET9XALVNUYHZPFWBU图33单片机最小系统电路图图35为单片机最小系统电路图,单片机最小系统有单片机、时钟电路、复位电路组成,时钟电路选用了12MHZ的晶振提供时钟,作用为给单片机提供一个时间基准,其中执行一条基本指令需要的时间为一个机器周期,单片机的复位电路,按下复位按键之后可以使单片机进入刚上电的起始状态。图中10K排阻为P0口的上拉电阻,由于P0口跟其他IO结构不一样为漏极开路的结构,因此要加上拉电阻才17能正常使用。32数码管模块设计321数码管原理介绍数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极COM的数码管,共阳数码管在应用时应将公共极COM接到5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极COM的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要584018根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“A,B,C,D,E,F,G,DP“的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12MS,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。图34四位数码管内部结构图322数码管电路设计如下图所示为一位共阳数码管的硬件电路连接图,由于数码管内19部实际为8个LED灯,如果把LED的阴级直接单片机的IO的口,会使LED通过的电流过大从而把数码管烧毁,因此在设计的时候在LED的阴级和单片机的IO之间加上了限流电阻从而起到限流作用。根据经验,这里选取了1K电阻。程序编写的时候我们预先根据要显示的字符,编写了个对应要显示的数组,这样可以使程序更加简化。B9F10G5ED2AC4DP3B7AC6U单QNKRV图35四位共阳数码管硬件电路连接图33键盘模块设计SWG20图36键盘模块电路图硬件电路设计图如上图所示。把单片机的P20P27端口通过8联拨动拨码开关连接到“44行列式键盘”,其中P20P23作为列线,P24P27作为行线,系统首先通过CPU对全部键盘进行扫描,即把第一根行线置为“0”状态,其余行线置于“1”状态,读入输入缓冲器的状态,若其状态全为“1”表明该行无键按下,再将第二根行线置为“0”状态,同样读入输入缓冲器的状态,如其状态也全为“1”,则置第一根行线置为“0”状态,以此类推5。如读入输入缓冲器的状态不全为“1”,确定哪一根列线为“0”状态,当某个键的行线和列线都为“0”状态时,表明该键按下。34蜂鸣器模块设计本设计带有蜂鸣器报警功能,当主持人没有按下抢答器的时候,用户抢答的话与蜂鸣器发声提醒。由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用三极管开关电路来驱动。本处选用的是8550三极管,它是一个PNP型的三极管,当基极给低电平的时候三极管导通,这时候蜂鸣器发声,当给高电平的时候,三极管关闭,蜂鸣器不发声。蜂鸣器模块的电路图如下图所示。21LS1BUZERQ32N9064K7R8VCGDP图37蜂鸣器驱动电路图22第四章系统软件设计41系统软件总体设计主持人按下其他人按下N显示犯规选手,蜂鸣器响Y设置定时器YN选手按下显示按下选手Y时间递减N倒计时到N关闭定时器Y结束开始图41系统流程图开始的时候,系统主持人按下开始按键,如果再没有按下开始按键的时候有用户抢答的话,系统会显示犯规选手和蜂鸣器发声提示,当主持人按下按键的时候,系统进行倒数,如果再倒数的时间内有用户抢答的话会显示选手的编号和剩余时间,如果超过抢答时间,系统会显示FF并蜂鸣器发声。2342程序设计原理软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。软件任务分析环节是为软件设计做一个总体规划。从软件的功能来看可分为两大类一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示,打印,输出控制和通信等,另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件。这两类软件的设计方法各有特色,执行软件的设计偏重算法效率,与硬件关系密切,千变万化。软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义(输入输出定义)。在各执行模块进行定义时,将要牵扯到的数据结构和数据类型问题也一并规划好。各执行模块规划好后,就可以监控程序了。首先根据系统功能和键盘设置选择一种最适合的监控程序结构。相对来讲,执行模块任务明确单纯,比较容易编程,而监控程序较易出问题。这如同当一名操作工人比较容易,而当一个厂长就比较难了。软件任务分析的另一个内容是如何安排监控软件和各执行模块。整个系统软件可分为后台程序(背景程序)和前台程序。后台程序指主程序及其调用的子程序,这类程序对实时性要求不是太高,延误几十MS甚至几百MS也没关系,故通常将监控程序(键盘解释程序),显示程序和打印程序等与操作者打交道的程序放在后台程序中执行;24而前台程序安排一些实时性要求较高的内容,如定时系统和外部中断(如掉电中断)。也可以将全部程序均安排在前台,后台程序为“使系统进入睡眠状态”,以利于系统节电和抗干扰。智力竞赛抢答器要求有记忆功能,一次时间设置完,复位后不需重新进行时间设定,通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示字型码。当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功,同时显示其分数,分数的加减可有裁判手动进行。采取独立式键盘,可以实现8路抢答。在显示时使用的是七段数码管显示在本设计中根据实际情况采用的是动态显示方法。臂并通过查表发将其在数码管上显示出来,其中P1口为字型码输入端,P2口低6位为字选段输入端。通过查表将字型码送给7段数码管显示的数字。软件去抖动,如果“开始键”按下就向下执行,否则就跳到开始。采用发声报警,起到报警作用。主持人按“抢答开始“键,并立刻进入抢答倒计时(预设30S抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设30S抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。如倒计时期间,主持人想停止倒计时可以随时按“停止“按键,系统会自动进入准备状态,等待主持人按“抢答开始“进入下次抢答计时。25第五章系统调试51硬件调试抢答器的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚要注意处理,否则会刺破带有包皮的导线,则会对电路造成短路现象。在本抢答器的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都是可以避免的,以下为主要的问题(1)数码管选用的时候没有注意采用的是共阴还是共阳,导致调试的时候数码管一直不能显示。解决把共阴数码管换成数码管。(2)最开始的时候以为单片机IO口直接可以驱动蜂鸣器发声,后来调试的时候久久不能出声音。解决经过查找相关资料,知道扬声器需要三极管来驱动,后来把三极管放大器加上系统便可以正常工作。52软件调试抢答器是多功能的数字型,可以完成记录最先按下抢答器的选手,并能记录违规操作的选手。抢答器功能很多,所以对于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。在软件的调试过程中主要遇到的问题如下1烧入程序后,LED数码管显示闪动,而且亮度不均匀。26解决首先对调用的延时进行逐渐修改,可以解决显示闪动问题。其次,由于本作品使作动态扫描方式显示的数字,动态扫描很快,人的肉眼是无法看出,但是调用的显示程序时,如果不在反回时屏蔽掉最后的附值,则会出现很亮的现象,所以在显示的后面加了屏蔽子令,最后解决了此问题。2当用户按下按键的时候,单片机读取的数值跟设定的数值不对。解决重新检查矩阵键盘电路的连接,重新建立一个新的对应关系。53调试结果(1)在测试中遇到LED数码管为不显示时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏(2)LED数码管显示不正常,还有亮度不够,首先使用试测仪对电路进行测试,观察电路是否存在短路现象。查看烧写的程序是否正确无误,对程序进行认真修改。经过一系列的问题查找后系统最终能正常工作,并完成所有的功能。27以下为系统仿真图P24P25P26P27P20P21P2P23P0P01P02P03P04P05P06P07P10P1P12P13P14P15P16P17P20P21P2P2324P25P26P27P30P31P32P3P34P35P36P37P110P1416P1712P1315P30XTAL218XTAL119ALE30EA31PSEN29RST9P0/AD039P01/A138P02/AD237P03/A336P04/AD435P05/A534P06/AD63P07/A732P10/T21P1/T2EX2P123P134P145P156P167P178P30/RXD10P31/TX1P32/INT012P3/IT113P34/T014P37/RD17P36/W16P35/T115P27/A1528P20/A821P21/A92P2/A1023P23/A124P24/A1225P25/A1326P26/A1427U1AT89C52234567891RP1RESPACK8X1CRYSTALC130PFC230PFC310UR110KLS1SOUNDER图51系统仿真图28第六章总结通过这次毕业设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力,将以前学过的零散的知识串到一起。经过我长时间的设计及调试,本系统基本能实现抢答器的所有功能。但由于仿真系统原因,本设计音频效果不是很好。不足之处有硬件的稳定性有待进一步提高;系统人性化还不足。我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。基本掌握了PROTEL99SE原理图的方法,并设计了一个单片机最小系统。通过开发板的设计和硬件搭建的过程,使我对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,如LED数码管,键盘等。并且我学会了分析问题解决问题的能力,加深了对所学理论知识的理解和运用。我的动手能力得到了很大的提高,创新意识得到了锻炼。29参考文献1彭伟单片机C语言程序设计实训100例电子工业出版社2009年2吴运昌模拟电子线路基础广州华南理工大学出版社,2004年3阎石数字电子技术基础北京高等教育出版社,1997年4张晓丽等数据结构与算法北京机械工业出版社,2002年5马忠梅等ARM/显示选手的数码管SBITSEG_2P13/显示倒计时的时位SBITSEG_3P12/显示倒计时的个位SBITKEY_9P17/主持人的按键SBITBEEPP14/蜂鸣器DEFI

温馨提示

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

评论

0/150

提交评论