单片机课程设计:八位竞赛抢答器

上传人:沈*** 文档编号:87852301 上传时间:2022-05-10 格式:DOC 页数:25 大小:1,007.50KB
返回 下载 相关 举报
单片机课程设计:八位竞赛抢答器_第1页
第1页 / 共25页
单片机课程设计:八位竞赛抢答器_第2页
第2页 / 共25页
单片机课程设计:八位竞赛抢答器_第3页
第3页 / 共25页
点击查看更多>>
资源描述
word学号: 2013 - 2014学年 第2学期单片机应用技术课 程 设 计 报 告题 目:八位竞赛抢答器专 业:班 级:姓 名:指导教师:成 绩:电气工程学院2014年月日25 / 25课 程 设 计 任 务 书学生班级:学生:学号:设计名称:八位竞赛抢答器起止日期: 指导教师:设计要求:以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0S7表示。 1.设置一个系统去除和抢答控制开关S,开关由主持人控制。 2.抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统去除为止。 3.抢答器具有定时抢答功能,且一次抢答的时间由主持人设定如30秒。当主持人启动“开始键后,定时器进展减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。 4.参赛选手在设定的时间进展抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统去除为止。 5.如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。八位竞赛抢答器摘要本设计是以八路抢答为根本理念。考虑到需设定限时回答的功能,利用AT89C51单片机与外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进展计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。先进展系统硬件设计,该电路由显示电路,抢答电路,晶振电路等局部组成,然后进展系统软件设计,进展软件的仿真,这次课程设计不仅能锻炼我们的动手能力,而且能够培养我们对问题的思考能力以与对知识的进一步了解。关键词:AT89C51;抢答器;计时;报警目 录第1章系统总体设计51.1 八位竞赛抢答器的工作原理51.2 八位竞赛抢答器的总体框图5第2章系统硬件的设计62.1工作原理62.2 晶振电路62.3 抢答电路72.4显示电路82.5控制电路的设计9第3章系统软件设计10第4章系统软件仿真134.1KeiluVision2软件134.2 Proteus软件仿真144.3 仿真结果分析15总结16参考文献17附录18第1章 系统总体设计1.1 八位竞赛抢答器的工作原理抢答器的工作原理是采用单片机最小系统,用程序查询方式使动态显示倒计时时间并且同时使LED灯亮。主持人按下开始抢答键才可以抢答。主持人没有按下开始抢答按P3.0,有人抢答如此抢答违规,报警并该组LED灯亮,主持人按下开始抢答开关重新抢答。主持人按下开始抢答按纽P3.0,扬声器响声提示,数码管30秒倒计时抢答,扬声器响声提示并该组LED灯亮,30秒有人抢答如此开始60秒倒计时60秒必须回答完问题,最后五秒倒计时警报。从而完成一次抢答或者一次知识竞赛的任务。1.2 竞赛抢答器总体框图AT89C51晶振电路抢答电路复位电路显示电路图1 总体设计框图第2章 系统硬件设计工作原理通过键盘改变抢答的时间,原理与闹钟时间的设定一样,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1超过30时置0。同时单片机不断进展按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停止计数,同时将选手编号按键号和抢答时间分别显示在LED上。晶振电路该晶振电路使用的是部时钟电路,晶振的频率为12MHZ,提供89C51的时钟脉冲使89C51工作。复位电路使用的是按键与上电复位,复位电路是单片机初始化,使单片机重新开始执行程序。当复位开关按下RST由低电平变为高电平,如此程序从头开始执行,在此次课程设计电路中当一个问题完毕主持人后按下复位开关后进展下一题的准备。晶振电路电路图如下页图2所示:图2 晶振电路电路图抢答电路AT89C51的P1口做一个为选手抢答的输入按键引脚,P1.0至P1.7轮流输出低电位,给每一个选手编号1至8,当选手按下按钮时,P1口个端口的电平变化从P1口输入,经单片机处理后从P0输出由LED灯显示出来此组。抢答电路电路图如图3:图3 抢答电路电路图显示电路此电路包括显示和驱动,显示采用数码管和LED灯,驱动用P2和P0口,违规者编号和正常抢答者编号将通过与P0口相连的LED灯显示出来,抢答30秒倒计时和回答如下问题时间60秒倒计时由P3口上的数码管采用动态显示。为了保证LED灯和数码管有适宜的压降在连接电路为它们相应地串连上了电阻。显示电路电路图如图4:图4 显示电路电路图2.5 控制电路的设计当赛事进展时,提示开始作答和复位时还需要主持人对抢答器进展控制,其提示是通过扬声器发出声音来实现的。这就需要我们进展控制电路的设计。其电路图如图5:图5 控制电路第3章 系统软件设计智力竞赛抢答器要求有计时记忆功能,一次时间设置完,复位后不需重新进展时间设定,通过键盘扫描输出按键信息,当在扫描到有人按下了答题键,马上关调用显示程序、封锁键盘。再通过单片机将它转换成能在七段数码管上显示字型码。非 法 抢 答 模 块正 确 抢 答 模 块 调 整 抢 答 时 间 调 整 回 答 时 间 数据显示模块系 统 初 始 化 模 块按 键 模 块图6 软件设计当抢答完毕时,会在数码管上显示抢答者数字提示以表示抢答成功.在显示时使用的是七段数码管显示,在本设计中根据实际情况采用的是动态显示方法.并通过查表法将其在数码管上显示出来,其中P1口为字型码输入端,P2口低6位为字选段输入端.通过查表将字型码送给7段数码管显示的数字。软件去抖动,如果开始键按下就向下执行,否者跳到开始。采用倒计时程序,使其具有倒计时功能。回答倒计时30秒。抢答时间5秒。采用发声警报由于没有驱动器,因此就用绿灯换了,起到报警作用。其程序的流程图如下页图7初始化显示FFF开始键按下?加一键按下?减一键按下?去抖动回答时间非法抢答处理调整抢答时间显示犯规正常显示抢答号并倒计时Y YY图7 程序流程1、如果想调节抢答时间或答题时间,按抢答时间调节键或答题时间调节键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下加1s键,如果想减一秒按一下-1s键,时间LED上会显示改变后的时间,调整围为0s99s,0s时再减1s会跳到99,99s时再加1s会变到0s。2、主持人按抢答“开始键,会有提示音,并立刻进入抢答倒计时预设30s抢答时间,如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时预设60s抢答时间,不进展抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5s会每秒响一下提示音。3、如倒计时期间,主持人想停止倒计时可以随时按停止按键,系统会自动进入准备状态,等待主持人按抢答开始进入下次抢答计时。4、如果主持人未按抢答“开始键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FFF和犯规号数并响个不停,直到按下停止键为止。第4章 系统软件仿真4.1 KeiluVision2软件本课题用到了伟福软件,集成调试环境,集成了编辑器、编译器、调试器,支持软件模拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。树状结构显示,一目了然,支持ASM汇编、C语言,多语言多模块源程序混合调试,在线直接修改、编译、调试源程序,错误指令定位。功能很强大。用于对程序的调试、编译和生成HEX文件。其界面如:图8 KeiluVision2软件界面4.2 Proteus软件仿真系统仿真还用到了Proteus软件,可通过仿真可以完全显示出所设计系统的功能,对于程序的调试等有很大的帮助。系统仿真时首先要在使用伟福编译器,把所写的程序进展编译,同时在仿真器里设置生成hex文件,编译无错误时进展Proteus仿真,加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile栏中添加上面编译好的目标代码文件“;在“ClockFrequency栏中输入晶振频率为12MHz。仿真:单击按钮,启动仿真,结果如下页图所示:图9 仿真结果图4.3 仿真结果分析通过电路的仿真,可以看出基于AT89C51单片机控制的抢答器在PROTEUS软件上很好的实现抢答报警、抢答成功显示、抢答倒计时等一系列功能。当仿真运行开始时,各个模块处于初始阶段。此时无状态显示,但此时抢答键和蜂鸣器都处于开启状态,假设此时有选手按下抢答键,如此蜂鸣器会发出报警声音,并且在数码管上显示规的选手编号。主持人重新按下开始键,此时表示抢答正式开始,并且数码管显示倒计时,同时蜂鸣器发出声音提醒选手抢答正式开始了。选手抢答成功,同时也进入倒计时答题时间。从仿真的测试结果来看,此设计还是能比拟好的实现预期目标。总 结通过这一周的课程设计,我学到了不少的知识。把以前没有学好的模拟电路的知识进展了补充和加强。这使我受益很大。加深了我对于单片机和数字电路的认识,相信在以后的学习和工作中碰到这些根底的元器件我会更加得心应手。通过查阅大量的资料,我获得了以前在课堂上学不到的东西,我想这对于以后的毕业设计,或者工作也好,都是很有帮助的。我很认真地对待这个过程中的每一个细节,希望自己能做得更好。希望今后还有这样的机会,能够让我学到更多的知识。在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构与掌握了各芯片的工作原理和其具体的使用方法。在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,因此在实际的电路连接中往往容易遗漏。在设计电路的连接图中出错的主要原因都是接线和芯片的接触不良以与接线的错误所引起的,在以后的设计过程中进展了修改、改正。参 考 文 献1伟,单片机原理与应用,机械工业,20052鑫,单片机原理与应用,电子工业,20053国清,数学电路与逻辑设计中国矿业大学,20044任致程,经典集成电路400例机械工业,20025薛栋梁,单片机原理与应用,中国水利水电,20016吴金戎,庆阳等,8051单片机实践与应用,清华大学,2001附 录1总电路图图10 总电路图2程序代码1主程序OKEQU20HRINGEQU22HORG0000HAJMPMAINORG0003HAJMPINT0SUBORG000BHAJMPT0INTORG0013HAJMPINT1SUBORG001BHAJMPT1INTORG0040HMAIN:MOVR1,#30MOVR2,#60MOVTMOD,#11HMOVTH0,#0F0HMOVTL0,#0FFHMOVTH1,#3CHMOVTL1,#0B0HSETBEASETBET0SETBET1SETBEX0SETBEX1CLROKCLRRINGSETBTR1SETBTR02查询程序START:MOVR5,#0BHMOVR4,#0BHMOVR3,#0BHACALLDISPLAYP3.0,NEXTACALLDELAYP3.0,NEXTACALLBARKMOVA,R1MOVR6,ASETBOKMOVR7,#01HMOVR3,#0AHAJMPCOUNTNEXT:JNBP1.0,FALSE1JNBP1.1,FALSE2JNBP1.2,FALSE3JNBP1.3,FALSE4JNBP1.4,FALSE5JNBP1.5,FALSE6JNBP1.6,FALSE7JNBP1.7,FALSE8AJMPSTART3非法抢答处理程序FALSE1:MOVR3,#01HAJMPERRORFALSE2:MOVR3,#02HAJMPERRORFALSE3:MOVR3,#03HAJMPERRORFALSE4:MOVR3,#04HAJMPERRORFALSE5:MOVR3,#05HAJMPERRORFALSE6:MOVR3,#06HAJMPERRORFALSE7:MOVR3,#07HAJMPERRORFALSE8:MOVR3,#08H4抢答、回答时间调整程序=INT0(抢答时间R1调整程序)=INT0SUB:MOVA,R1MOVB,#0AHDIVABMOVR5,AMOVR4,BMOVR3,#0AHACALLDISPLAYJNBP3.4,INC0JNBP3.5,DEC0JNBP3.1,BACK0AJMPINT0SUBINC0:MOVA,R1CJNEA,#63H,ADD0MOVR1,#00HACALLDELAY1AJMPINT0SUBADD0:INCR1ACALLDELAY1AJMPINT0SUBDEC0:MOVA,R1JZSETR1DECR1ACALLDELAY1AJMPINT0SUBSETR1:MOVR1,#63HACALLDELAY1AJMPINT0SUBBACK0:RETI;=INT1(回答时间R2调整程序)=INT1SUB:MOVA,R2MOVB,#0AHDIVABMOVR5,AMOVR4,BMOVR3,#0AHACALLDISPLAYJNBP3.4,INC1JNBP3.5,DEC1JNBP3.1,BACK1AJMPINT1SUBINC1:MOVA,R2CJNEA,#63H,ADD1MOVR2,#00HACALLDELAY1AJMPINT1SUBADD1:INCR2ACALLDELAY1AJMPINT1SUBDEC1:MOVA,R2JZSETR2DECR2ACALLDELAY1AJMPINT1SUBSETR2:MOVR2,#63HACALLDELAY1AJMPINT1SUBBACK1:RETI5倒计时程序REPEAT:MOVA,R2MOVR6,ACLRRINGCOUNT:MOVR0,#00HMOVTH1,#3CHMOVTL1,#0B0HRECOUNT:MOVA,R6MOVB,#0AHDIVABMOV30H,AMOV31H,BMOVR5,30HMOVR4,31HMOVA,R6SUBBA,#07HJNCLARGERMOVA,R0CJNEA,#0AH,FULLCLRRINGAJMPCHECKFULL:CJNEA,#14H,CHECKSETBRINGMOVA,R6JZQUITMOVR0,#00HDECR6AJMPCHECKLARGER:MOVA,R0CJNEA,#14H,CHECKDECR6MOVR0,#00HCHECK:JNBP3.1,QUITJNBOK,CHECKKAJMPNEXTTCHECKK:JNBP3.0,REPEATNEXTT:ACALLDISPLAYOK,ACCOUTAJMPRECOUNTACCOUT:MOVA,36HJNBACC.0,TRUE1JNBACC.1,TRUE2JNBACC.2,TRUE3JNBACC.3,TRUE4JNBACC.4,TRUE5JNBACC.5,TRUE6JNBACC.6,TZ1JNBACC.7,TZ2AJMPRECOUNTTZ1:JMPTRUE7TZ2:JMPTRUE8QUIT:CLROKCLRRINGAJMPSTART6正常抢答处理程序TRUE1:ACALLBARKMOVA,R2MOVR6,AMOVR3,#01HCLROKAJMPCOUNTTRUE2:ACALLBARKMOVA,R2MOVR6,AMOVR3,#02HCLROKAJMPCOUNTTRUE3:ACALLBARKMOVA,R2MOVR6,AMOVR3,#03HCLROKAJMPCOUNTTRUE4:ACALLBARKMOVA,R2MOVR6,AMOVR3,#04HCLROKAJMPCOUNTTRUE5:ACALLBARKMOVA,R2MOVR6,AMOVR3,#05HCLROKAJMPCOUNTTRUE6:ACALLBARKMOVA,R2MOVR6,AMOVR3,#06HCLROKAJMPCOUNTTRUE7:ACALLBARKMOVA,R2MOVR6,AMOVR3,#07HCLROKAJMPCOUNTTRUE8:ACALLBARKMOVA,R2MOVR6,AMOVR3,#08HCLROKAJMPCOUNT7犯规抢答程序ERROR:MOVR0,#00HMOVTH1,#3CHMOVTL1,#0B0HMOV34H,R3HERE:MOVA,R0CJNEA,#06H,FLASH;0.3sCLRRINGMOVR3,#0AHMOVR4,#0AHMOVR5,#0AHAJMPCHECK1FLASH:CJNEA,#0CH,CHECK1SETBRINGMOVR0,#00HMOVR3,34HMOVR5,#0BHMOVR4,#0BHAJMPCHECK1CHECK1:JNBP3.1,QUIT1ACALLDISPLAYAJMPHEREQUIT1:CLRRINGCLROKAJMPSTART8其他功能程序=显示程序=DISPLAY:MOVDPTR,#DAT1MOVA,R3MOVCA,A+DPTRMOVP2,#0feHMOVP0,AACALLDELAY2MOVDPTR,#DAT2MOVA,R5MOVCA,A+DPTRMOVP2,#0fdHMOVP0,AACALLDELAY2MOVA,R4MOVCA,A+DPTRMOVP2,#0fbHMOVP0,AACALLDELAY2RETDAT1:DB00h,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,00H,71HDAT2:DB3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,00H,71H=发声程序=BARK:SETBRINGACALLDELAY1ACALLDELAY1CLRRINGRET=TO溢出中断(响铃程序)=T0INT:MOVTH0,#0ECHMOVTL0,#0FFHJNBRING,OUT;CPLP3.6OUT:RETI;=T1溢出中断(计时程序)=T1INT:MOVTH1,#3CHMOVTL1,#0B0HEND3评语表指导教师评语课程设计成绩指导教师签字2014年 月 日
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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