欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    AT89C51 课程设计 单片机-抢答器.docx

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

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

    AT89C51 课程设计 单片机-抢答器.docx

    抢答器设计内容提耍:电子智能抢答计分器在抢答过程中,为了知道哪组或哪位选手先答题,必须要设计个系统来完成这个任务。假如在抢答中,道视觉是很难推断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可辨别出哪组优先答题。本设计运用AT89C51单片机来设计智能抢答潺,组数可以在八组以内随意运用。并且具有倒计时和时间设置及报警功能。利用AT89C51单片机对信号进展锁存、显示等功能。分别从硬件和软件两方面阐述了该限制系统的设计方法,并经过调试和运行使该系统到达预期目标,具有反响快、功能齐全、好用性强的特点。一、系统总体方案设计电子智能抢答计分器在抢答过程中,为了知道哪一组或哪一位选手先答网,必须要设计一个系统来完成这个任务。为了完成这个任务设计时系统能显示抢答组号、各组计分并能计分显示以及竞赛完毕时能发出报警声三个要求:电子智能抢答计分器主要是由硬件局部和软件局部构成,硬件和软件分开设计:系统综枢图如下:图1-1系统框架图抢答辑的工作原理抢答涔的工作原理是利用总片机的定时器TO、Tl中断完成,其余状态循环调用显示子程序,用4个共阴极1.ED数码管来显示,用PO口作为数码管的八个段选,用P2口中的、P2.1、P2.2、作为4个数码管其中3个位选,Pl口接4个按键,供应选手抢答,P3.0-P3.5四个接四个按钺,供应开场、完毕、答题时间调整、抢答时间调整,加1、减1调整之用。抢答功能:通过四路按键协作程序来实现抢答功能。当主持人按下抢答键开场抢答后,此时任一路按下按钮均闭锁其它各路,由程序对键盘译码并显示最先按下抢答键的路数及其当前时间。抢答限时:主持人按下抢答键后,设置5秒为抢答时间(此时间可在1-99秒之间修改)。假设5秒内无人抢答,倒计时为0时发出报警,说明该抢答题目作废。此时闭锁全部抢答按键,只有当主持人再次按卜抢答推开场卜一次抢答方可抢答。答题限时:中选手按下按钮时,启动倒计时(此倒计时时间可在1-99秒之间修改),倒计时为0时发出报警,说明答题时间到。二、系统硬件设计1、限制系统及所需元件>XTA1.l×TA1.2RSTPOO/ADOPO1/AD1PO2/AD2P03/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P21/A9P2.2/A10PSENP23/A11A1.EEAP2.4/A12P25/A13P2.6/A14P2.7/A15P1.0P3.0RxDP1.1P3.1/TXDP1.2P3.2INTOP1.3P3.3NT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6WRP1.7P37/RD293031123456789_<D9芯片的选择抢答器电路的核心是89C51单片机,其内部带有4KB的F1.ASHROM,无需外扩程序存储器:抢答器没有大量的运算和暂存数据现有的128B篇内RAM已经能满意容量需求,故不需外扩片外RAM.系统配有8位8段数码显示管,管采纳共阴数码管,作为时钟的显示输出。限制系统主要由单片机应用电路、存储器、接口电路、显示接口电路组成:其中单片机采纳的是AT89C51单片机使系统工作的核心,它主要负责限制各个局部协调工作。所需元件:该系统的核心器件是AT89C51.其外部接上匆位电路、上拉电阻、数码管、按钮及扬声器“元件为:晶体振荡管XI,电容Cl、C2、C3,电阻RPl,P3.0和P3.1有裁判限制分别是抢答停顿和开场犍:Pl.O-Pl.7是8组抢答的输入口:P2.0-P2.3口为数码管的段选口:位选口用的是PO.O-PO.6口输出,外部中断0、1和P3.3,P34为抢答记时调整口,实现的对个队进展计时,并且加减调整,外部中断O,1实现了答题时间调整OP3.4、P3.5分别实现了时间的加一和减一:P3.6为蛉鸣器为制口.智能抢答罂用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,采纳单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。片内带有IKB的FIaSh存储器,并允许在系统内改写或用编程器编程。该智力竞赛抢答涔的精确度很高,其误差主要由晶振自身的误差所造成。AT89C51雎片机由微处理器,存储器,"0口以及特别功能存放器SFR等局部构成。其存储器在物理上设计成程序存储涔和数据存储落两个独立的空间,片内程序存储器的容量为4KB,片内数据存储器为128个字节。89C51单片机有4个8位的并行1/0口:PO11,Pl口,P2口和用口。各个接口均由接口锁存器,输出驱动器和输入缓冲器组成。Pl门是唯一的但功能口,仅能用作通用的数据输入/输出口P3是双功能口除了具有数据输入/输出功能外,每条接口还具有不同的其次功能,如P3.0是串行输入口线,P3.1口是串行输出口线.在须要外部程序存储存储器和数据存储器扩展时,I,0可作为分时复用的低8位地址/数据总线,P2口可作为高8位的地址总线。P3口也可作为AT89C51的些特别功能口,同时为闪嫖编程和编程校验接收些限制信号。复位电路的设计该更位电路采纳上电自动登位和手动包位两种发位方式,图中网络标号所指9连接到单片机的发位引脚。要实现更位只需在,51系列单片机的RESET引脚上加上5ms的高电平就可以了。上电发位是利用电容的充电来实现的,即上电瞬间RESET端的电位与VCC一样,随着电容上储能增加,电容电压也渐渐增大,充电电流减小,RESET端的电位.这样就会建立一个脉冲电压,调整电容与电阻的大小可对脉冲的持续时间进展调整.通常假设采纳12MHZ的晶振时,更位元件参数为22uF的电解电容和IOkQ的电阻。按钮复位电路是通过按下纪位按钮时,电源对RESET端维持两个机器周期的高电平实现其位的。晶振电路的设计MSC-51单片机的定时限制功能是用时钟电路和振荡器完成的,而依据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式.本设计中采纳内部时钟方式。单片机内部有个反相放大罂,XTA1.KXTA1.2分别为反相放大器的输入端和输出端,外接定时反响元件组成振荡器1内部时钟方式),产生.时钟送至单片机内部各元件。时钟频率越高,单片机限制器的限制节拍就越快,运算速度也就越快。一般来说单片机内部有一个带反响的线性反相放大器,外界晶振或接陶及振荡器)和电容就可组成振荡器,如图2-2所示。加电以后延时一段时间(约IOmS)振荡器产生时钟,不受软件限制,图中YI为晶振,真荡产生的时钟频率主要由YI确定。电容C1.C2的作用有两个:是帮助振荡器起振,二是对振荡器的频率起微调作用,典型值为30pF0品振电路的设计如图2-2所示:图2-2品振电路原理图数码显示管用来作为时间的显示输出,一般用7段数码显示管.本次设计中采纳7段共阻数码显示管应用简洁、牢靠性高、本钱低,作为显示输出。连接时段选信号接在PO口的七个I0±,Pl是准双向I/O接口在输出驱动局部具有郭动4个TT1.负载的实力,即输出电流不大于400uA,所以在接电阻时选择接51Oa限流电阻。而在位选方面采纳单片机P2的I/O门作为位选信号的输出口。软件设计主程序的设计此程序的刚好采纳定时涔TO和TI中断完成,其余状态循环谢用显示子程序。系统主程序流程图如图3-1所示。图3-1系统主程序流程图由于采纳软件动态扫描实现数据显示,显示用十进制BQ)码的数据对应段码存放在RoN表中,显示时,先取出70H75H某一地址中的数据,然后查得对应的显示段码从PO口输出P2将对应的数码管选中,就能显示该地址单元的数据值。4.3定时器TO、Tl中断效劳程序的设计定时器TO用于响铃程序,定时罂Tl用于计时程序。当答题剩余5秒种时P3.6口不断取反使喇叭发出肯定频率的声音,提示选手。中断效劳程序流程图如图3-2所示。图3-2中断效劳程序流程图4.4程序清单定时器TI时间初值设50ms时间初值为I,Z的计算方法为12"-Z)×12=12×50×10结果Z=15536D=3CB0HOKEQU20H;抢答开场标记位RINGEQU22H;响铃标记位ORG0000HAJMPMAINORG0003HAJMPINTOSUBORGOOOBHJMPTOINTORGOOl311JMPINT1SUBORGOOlBHAJMPTlINTORGOOlOHMAIN:MOVRl.430MOVR2,#60MOVTMOD,#1IHMOVTHO,SOFOIiMOVT1.0,S0FFHMOVTH1,#3CHMOVT1.1,3OBOHSETBEASETBETOSETBETlSETBEXOSETBEXlC1.ROKC1.RRINGSETBTRlSETBTRO=查询程序-=>-START:MOVR5,SOBHMOVR4,30BH;初设抢答时间为30s;初设答题时间为60s;设置定时器T0/T1模式1:越高发声频率越高,越尖:50ms为一次溢出中断:允许四个中断,TOT1INTO/INTl;一开场就运行定时器,以开场显示i:未开场抢答时候显示砰干MOVR3,0BHAC1.1.DISP1.AYJBP3.O,NEXTMddddddACA1.1.DE1.AYJBP3.O,NEXTC1.1.BRK;按键发声MOVA1RlMOVR6,A:送R1->R6,因为Rl中保存了抢答时间SETBOK;抢答标记位.用于COUNT只程序中推断是否查询抢答MOVR3,P0AH:抢答只显示计时,灭号数JMPCOUNT:进入倒计时程序,”查询有效抢答的程序.在COUNT里面NEXT:JNBPl.0,FA1.SEIJNBPl.1,FA1.SE2JNBPl.2,FA1.SE3JNBP1.3,FA1.SE4AJMPSTARTTZl:JMPFA1.SE7TZ2:JMPFA1.SE8=非法抢答处理程序=FA1.SEl:ACA1.1.BARK::按键发声MovR3,WlHAJMPERRORF1.SE2:ACA1.1.BARKMOVR3,#0211AJMPERRORFA1.SE3:ACA1.1.BAKKMoVR3,*03HAJMPERRORP1.SE4:ACA1.1.BARKMOVR3,#04HAJMPERROR=INTo(抢答时间Rl调整程序>=INTOSUB:MOVAtRlMOVB,MAHDlVABMOVR5,AMOVR4,BMOVR3,SOAHACA1.1.DISP1.Y;先在两个时间1.ED上显示RIJNBP3.4,INCO;P3.4为+Is键,如按下跳到INCOJNBP3.5,DECO;P3.5为TS键,如按下跳到DECOJNBP3.1,BACKO;P3.1为确定键,如按下跳到BACKOAJMPINT0SUBINCO:MOVA1RICJNEA,rt63H,ADDO;假如不是99,R2加1,假如加到99,Rl就置0,重新加起。MOVR1.rtOOHACA1.1.DE1.AYlJMPINT0SUBADDO:INCRlACA1.1.DE1.AYlJMPINT0SUBDECO:MOV,R1JZSETRl:假如Rl为0,Kl就近99DECRlACA1.1.DE1.AYlAJMPINT0SUBSETRl:MOVRl,#6311C1.1.DE1.AYlAJMPINT0SUBBACKO:RETI=1NTI(答比时间R2调整程序=.INTISUB:MOV,R2MOVB,#0AHDlVABMOVR5,AMOVRl,BMOVR3,#0AHACA1.1.DISP1.AYJNBP3.4,INCIJNBP3.5,DEClJNBP3.I1BACKlAJMP1NT1SUBINCl:MOV,R2CJNE,#6311,ADDlMOVK2,#0011ACA1.1.DE1.Y1AJMPINT1SUBADDl:INCR2AC1.1.DE1.AY1JMPINT1SUBDECI:MOVA,R2JZSETR2DECR2ACA1.1.DE1.AYlJMPINT1SUBSETR2:MOVR2,#63HACA1.1.DE1.AYlAJMPINT1SUBBACKl:RETI=倒计时程序(抢答倒计时和答友倒计时都跳到改程序)=COUNT:MOVROdOOH;建置定时器中断次数MOVTl11,#3CHMoVT1.1,#OBOH;重置定时器RecountiMOVa,R6:R6保存了倒计时的时间,之前先将抢答时间或答电时间给R6MOVB,SOAHDIVAB;除非常出个位/十位MOV3011,A;十位存于(30H)MOV3111,B;个位存于(31H)MOVR5.30H:取十位MOVR4,31H:取个位MOVA.R6SUBBA,#07HJNC1.ARGER:大于5s跳到1.ARGER,小于等于5s会提示MOVA1ROC1.RRINGJMPCHECKIT1.1.:CJNE,#14H,CHECK下面是Is的状况,响并显示号数并清RO,亚新计SETBKINGMOVA,R6JZQUIT:计时完毕MOVRO1SOOHDECR6;一秒标记减1AJMPCHECKMRGER:MOVA,ROCJNE,414H.CHECK假如IS向下运行,否不跳到查"停/显示"DECR6:计时一秒R6自动减1MOVRO1#00HCHECK:JNBP3.1,QCIT;如按下停顿键退出C1.1.DISP1.AYJBOK,ACCO1.T假如是抢答倒计时,如是那么查询抢答,否者跳过查询接着倒数(这里起到锁抢答作用)AJMPRECOUNTAccoutjnbpi.o,trueiJNBP1.1.TRUE2JNBP1.2,TRUE3JNBPl.3,TRUE4JNBP1.4,TR1.E5JNBPl.5,TR1.E6JNBPl.6,TZ3JNBPI.7,TZ4AJMPRECOUNTTZ3:JMPTRUE7TZ4:JMPTRUE8QUIT:C1.ROK:假如按下了"停顿键”执行的程序:按键发声C1.RRINGAJMPSTART=正常抢答处理程序=TRUEl:ACA1.1.BARK抢答时间R2送R6MOVR3t#0111C1.ROK因为答题的计时不再查询抢答,所以就锁r抢答M0rA1R2MOYR6,AJMPCOUNTTRUE2:CA1.1.BRKMOVA,R2MOVR6,MOVR3,«0211C1.ROKJMPCOUNTTRUE3:ACA1.1.BRK;MOV,R2MOVR6,MOVR3,«0311C1.ROKAJMPCOUNTTR1.BkACA1.1.BARK;MOVA,R2MOVR6,MOVR3,UOlIIC1.ROKAJMPCOUNT=犯规抢答程序=ERROR:MOVRO,«0011MOVTH1.#3CH:犯规号数暂存与(34H):05s向下运行-灭并停哨三灯全灭MOVT1.l,WBOHMOV34H,R3HERE:MOVA,ROCJNE,#OAH,F1.ASHC1.RRINGMOVR3,#0AHMOVR4,#0AHMOVR5,SOHAJMPCHECKlF1.ASH:CJNEA,#14H,CHECK1下面是Is的状况,响并显示号数并消RO,M新计SETBRINGMOVRO,=OOHMOVR3.34H:取回号数MOVR5,#OBHMOVR4,COBH:显示FF和号数JMPCHECKlCHECKl:JNBP3.I1QUITlACA1.1.DISP1.AYAJMPHEREQlITl:C1.RRINGC1.ROKAJMPSTART=显示程序=DlSP1.AY:MOVDPTR,SDATl查表显示程序,利用Po口做段选码口输出/P2低:.位做位选码输出,MOVA,R3MOVCA,A+DPTRMOVP2,rtfeliMOVPO,八ACA1.l.DE1.AYMOVDPTRMDAT2MOVA,R5MOVCA,A+DPTRMOVP2,#OfdHMOVPO,ACA1.1.DB1.AYMOVA,R4MOVCA,+DPTRMOVP2,#OfbHMOVPO,C1.1.DE1.AYRETDATkDBOOh106h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,OOH,71H了灭”,T,"2","3","4"J5","6一7","8",W,"灭一F"DT2U)B3fh,Of>h,5bh,4fh,66h,6dh,7dh,07h,7fh,6h,OOH,7111;第一个为零,其他与上一样,因为十位假如为零显示熄灭=加诚时间延时(起到不会按下就加N个数)=DE1.AYl:MOV35H,W8H1.OOPO:ACA1.1.DISP1.AYDJNZ3511,1.OOPORET="-延时(显示和去抖动用到)DE1.AY:MOV32Hzl2H1.OOP:MOV33H,POAFH1.OOPl:DJNZ33H,1.OOPlDJNZ32H,1.OOPRETB=发声程序=HBRK:SETBRINGACA1.1.DEUYlACA1.1.DE1.Y1C1.RRING;按键发声RET=-T0溢出中断(响铃程序)=TOINT:MOVTHO,#OECHMOVT1.O1COFFHJNBRING1OUT;OUT:RETI-Tl溢出中断(计时程序)=TlINT:MOVTHl1JiSCHMOVT1.l1JiOBOHINCRORETIEND完毕语经过将近二周的堆片机课程设计,最终完成了四路抢答器的设计,虽然没有完全到达设计要求,但还是收获良多。通过这次课程设计,使我更进一步地熟识f单片机芯片的工作原理和其详细的运用方法“单片机课程设计重点就在于软件算法的设计,须要有很奇妙的程序算法,这熬炼r自己独立思索问题的实力和通过查看相关资料来解决问题的习惯。还有了解了课程设计的一股步界,和设计中应留意的问题。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论学问用到实际当中,学习单片机更是如此,程序只有在常常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。

    注意事项

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

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开