课程设计报告设计题目:基于51单片机的四路抢答器姓名:邵东东学号:2220093697指导老师:田园日期:2012年7月20日 目录概述…………………………………………………………………………………………2设计原理……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………5三、系统的调试…………………………………………………………………………………6四、仿真图………………………………………………………………………………………7五、个人总结……………………………………………………………………………………7六、附录………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………11参考文献…………………………………………………………………………………………16一、概述随着信息时代的到来,电子技术在社会生活中发挥着越来越重要的作用。抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,广泛应用于各种知识竞赛、文娱活动等场合。本设计利用8951单片机作为核心部件进行逻辑控制及信号产生的四路抢答器。本设计主要完成:1、设计4组参赛的抢答器,每组设置一个抢答按钮;2、电路具有第一抢答信号鉴别能力,抢答成功后,显示组别,发出声音;3、系抢答开始后能进行5秒倒计时,以使抢答者有充分是时间决定是否抢答;4、如果在倒计时期间有参赛者按下,则本轮抢答失败,需复位重新抢答。二、:voidmain(){ j[0]=10; j[6]=11; j[7]=11; sec=8; buzzer=1; chaos_flag=0;//超时标志位 qiang_flag=0;//抢答标志位 start_flag=0;//开始标志位 inti0(); while(1) { buffer_zone(); display(); if(sec>0) //超时标志位处理 chaos_flag=0; else { chaos_flag=1; if(qiang_flag==0) P3=0xfe; //有人抢答指示 else P3=0xf7; //无人抢答指示} keyscan(); } }。图2数码管显示仿真图显示程序如下:voiddisplay() { temp=0xfe; for(k=0;k<8;k++) { P2=temp; P0=i[j[k]]; delay(2); temp=_crol_(temp,1); } },是为了让选手有充分的准备,这部分虽然简单,但是必不可少。倒计时程序如下:voiddjs(){switch(a){case5:{P0=0x6D;}/*数码管显示5*/ break; case4:{P0=0x66;} break; case3:{P0=0x4f;} break; case2:{P0=0x5b;} break; case1:{P0=0x06;} break; case0:{P0=0x3f;}/^数码管显示0*/ break; default:break;}},用到的按键比较少,故本设计采用独立式键盘,接口原理如图:图3独立式键盘接口键值读取是本次设计非常重要的一部分,这部分程序比较冗长,这里限于篇幅,不再引出程序。附录一会有完整的程序展示。系统的调试系统调试包括硬件调试和软件调试,而且两者是密不可分的。硬件调试是我们进行本次课程设计的第一项工作,通过系统给的调试程序,我们轻松完成了硬件调试。软件调试一般包括分块调试和联机调试两个阶段。程序的分块调试一般在单片机开发装置上进行,可根据所调程序功能的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行。如果执行结果与预期的不一致,可以通过单步运行或设置断点的方法,查出原因并加以改正,直到运行结果正确为止。四、仿真图图4仿真图五、个人总结单片机作为我们的专业课之一,虽然我对这门课没什么兴趣,觉得那些知识枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。在这学期的课程设
基于C51的四路抢答器课程设计报告 来自淘豆网m.daumloan.com转载请标明出处.