原文在自己下载.抢答器的设计一,设计要求1,画出电路原理图;2,元件及参数选择;3,SCH文件生成与打印输出;二, 技术指标1,设计6组参赛的抢答器,每组设置一个抢答按钮.2,电路具有第一抢答信号鉴别与锁存功能,抢答成功后,显示组别,发出声音. 3,设置记分电路,每组开始预置100分,抢答后由主持人记分,答对一次加10分,答错一次减10分.4,设置犯规电路,对提前抢答或超时抢答的组别发出声音.抢答器的设计摘要:传统的抢答器都是导线布线,受现场环境影响很大.本文介绍的六路无线抢答器,是以8051单片机为核心制成的,其功能为连续可调的0到9秒的 ,抢答有效有高频铃声并显示组别,抢答无效有低频铃声也是显示组别,并且有计分功能,预置100分,答对为加10分,答错为减10分,由主持人手动复位,加减分,所以此抢答操作方便,在很多的场所都可以使用,并且给人的视觉效果非常好.关键字:抢答器,智能抢答器,无线编解码,单片机.一,引言抢答器广泛用于电视台,商业机构及学校,为竞赛增添了刺激性,娱乐性,在一定程度上丰富了人们的业余生活.二,总体设计方案1.设计思路本课题我主要采用单片机电路来实现的.主要设计思路是:在主持人下达命令后,能够准确判断出第一抢答信号并将其锁存,同时将输入信号封锁,使其它抢答无效.主持人没有下达命令时抢答视为犯规.并显示犯规组别,发出低频铃声,抢答成功后对第一信号译码,显示组别并发出高频铃声.定时电路由设置的时间为9秒.计分电路有三个数码管显示.下次抢答时必须由主持人再次操作清除和开始状态开关.2.总体设计框图图1总体框图3.设计原理分析整个流程过程主要四大块:显示部分,计时部分,预置部分,控制部分.电源用正5伏,8051主控制器,当主持人按下复位键后,定时器开始计时,在0~9秒的时间内如果没有人抢答则为弃权,如果有人按键定时器停止计时间,自动显示组别并发出高频铃声,如果答对主持人按键加10分,答错则减10分,然后按复位键开始下一轮抢答.三,主要元件介绍分析芯片:8051芯片含有40个管脚,其中32个管脚是P0,P1,P2,P3,四个I/O接口,两个时钟电路引脚XTAL1,XTAL2,四个控制引脚RST, ALE,PSEN和EA,一个电源引脚和一个接地引脚.其中XTAL1,XTAL2引脚用来控制时钟电路,RST是复位信号输入端,当此输入端保持两个机器周期的高电平时,就可以完成复位操作,ALE端是地址锁存允许信号端,PSEN程序存储允许输出信号端,EA外部程序存储器地址允许输入端.含有20个接口,8个输入端,8个输出端,一个电源接口和一个接地口,LE和OE接口. 3.数码管:数码管有8个输入接口和一个共阴极端,8个输入端分别接A,B,C,D,E,F,G七个显示管和一个小数点端DP.图2数码管4.扬声电路:该电路由一个作为驱动作用的三极管,一个电阻和一个喇叭组成.5.计分电路:该集成电路具有"清零",预置数,加计数和减计数四个功能.进行预置时,在P0口输入100,当抢答成功的时候手动加10分,不成功时候减10分.当需要加分时,按键使P0口输入高电平,在程序寄存器中送入10,则显示器个位进1,显示加10分.当需要减分的时,按键使P0口输入低电平在程序寄存器中送入10,则显示器十位减10分,则显示少10分.四,程序介绍1.定时整定:复位键复位以后,处理器收到整定时间的信号,这样给片内用于定时设置的单元连续的加1操作,其过程的状态显1位显示器显示,当断开整定开关程序转入下一步的访问.2.组别显示:当有人抢答时,则停止定时显示组别,抢答有效发出高频铃声(输出2KHZ脉冲),无效为低频铃声(输出为1KHZ脉冲),此处用了一个键操作程序,还有一个脉冲信号输出程序.3.加减分程序:先预置100分,若抢答成功,主持人按键加10分,若回答错误则减10分,若犯规则执行显示组别,发出低频铃声.4.消噪子程序:以防止误动作,查询得到组别号码,暂存于单片机内指定单元,同时完成下述操作:关闭定时钟,封闭抢答查询,以保证以后 抢答无效.YNYNYNYN图3程序流程图五,源程序清单:ORG 0000HAJMP MAINORG 000BHAJMP MAINORG 3000HMAIN:MOV SP,#2FHMOV B,#5AH ;中断90次MOV TOMD,#01HMOV TL0,#0B0HMOV TH0,#3CHSETB TR0SETB ET0SETB EASJMP $RE: MOV TL0,#0B0HMOV TH0 #3CHDJNA B,LOOPCLR TR0LOOP: SETB RESETLJMP MAINORG 2000HSETB TOMDMOV TMOD #01HCPL P0MOV DPTR,#7F04H ;把地址送到DPTRMOV A,#0BH ;送10次循环MOV @DPTR,AINC DPTRMOV A,#40HMOV @DPTR,AMOVX DPTR,#7F00HRESETORG4000HMOV A,#00H ;向数据输出输入口送0MOV SUBF,AKL0: JNB TI,KL0 CLR TIKL1: JNB ;键是否按下JB : ACALL D10MS ;延时10秒JNB : ACALL D10MSJNB : ACALL D10MSKL4: JNB A,R4 ;取键号ADD A,R3SUBB A,#0AH ;是命令键吗JNC KL6 ;转向命令键处理MOV DPTR,#TABL #TABL ;字型码表初值送DPTRADD A,#0AH ;恢复键号MOVC A,@A+DPTR ;取字型数据MOV R0,60H ;取显示缓冲区指针MOV @R0,A ;将字型码入显示缓冲区INC R0 ;显示缓冲区地址加1CJNE R0,#60H,KD ;判断是否到最高位MOV 60H,#58H ;保存显示缓冲区地址KD : MOV 60H,R0KD1: ACALL LED ;调用显示子程序RETKL6: MOV B,#03 ;修正命令键地址转移表指针MUL ABMOV DPTR,LTB ;地址表转移指令送DPTRLJMP @A+DPTRTABL: DB CCH,86H,92H,CFHDB 80H,8FH,E0H,A4HLED: SETB P0 ;开放显示器MOV R7,#03 ;显示位数送R7LED1: MOV A,@R0 ;送显示数据MOV SUBF,ALED2: JNB TI,LED2CLR TIINC R0DJNZ R7,LED1CLR P0RETORG 5000HMOVX @DPTR,#100HMOV A,@DPTRMOV P0,DPTRLED: SUBB P0,#10HAJMP KF0RG 6000HKE: MOV A,#0B6H ;输入控制字MOVX @DPTR,A ;方式控制字输入MOV DPTR,#7FFEH ;指向计数器MOV A,#0D0H ;1MS周期计数值MOV @DPTR,AMOV A,#02H MOV @DPTR,A ;1KHZ方波输出KF: MOV A,#0B6H MOVX @DPTR,A MOV DPTR,#7FFFHMOV A,#0E0HMOV @DPTR,AMOV A,#02HMOV @DPTR,A ;2KHZ方波输出ORG 7000HSETB R7,#1EHDL: MOV R6,DL1DJNZ R7,DLCLR 8000HSTART: LJMP MAINLJMP PG INT0NOPNOPLJMP ERRLJMP PGT0NOPNOPLJMP ERRRESETEND总结与体会经过近两周的努力,在老师和同学的帮助下,我基本上完成了设计任务.通过这次课程设计,我充认识到了自学的重要性,以及学以致用的道理.我在图书馆查阅了大量的资料,同时也认识到了图书馆的重要作用.在今后的学习过程中,应该多到图书馆看一些专业方面的书籍,以丰富自己的知识.也使我加深了对单片机及接口技术的理解和应用.由于知识水平的局限,设计中可能会存在着一些不足,我真诚的接受老师和同学的批评和指正.最后衷心感谢老师的悉心指导和同学门的热心帮助!参考文献:[1]李朝青主编,《单片机原理与接口技术》,北京航天航空大学出版社,1994[2]何立民主编,《单片机应用与设计》,北京航天航空大学出版社,1990[3]邹逢兴编著,《计算机硬件技术基础实验教程》,高等教育出版社,1994