首页 基于51单片机的八路抢答器要点

基于51单片机的八路抢答器要点

举报
开通vip

基于51单片机的八路抢答器要点题目基于单片机的八路抢答器学院名称信息工程学院XXX指导老师班级班11级电信2学号学生姓名间时1实训设计.摘要在日常生活中,我们可以在电视,或者现实生活活动现场可以看到在答题或者游戏中,他总能第一时间测到谁是第一个,让我们的世界少了那些不必要的争议,那是什么,那就是抢答器。通过一次又一次科学的进步,单片机在发展,各种功能运用到现实生活的各种领域让我们生活更加的接近理想话以及通过简单的操作完成手工无法完成或者很难做到的事情,例如家电,通信,商业,工业,航空,航天,军事以及汽车方面。当然这次我们做的是其中的一种那就是抢...

基于51单片机的八路抢答器要点
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目基于单片机的八路抢答器学院名称信息 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 学院XXX指导老师班级班11级电信2学号学生姓名间时1实训设计.摘要在日常生活中,我们可以在电视,或者现实生活活动现场可以看到在答题或者游戏中,他总能第一时间测到谁是第一个,让我们的世界少了那些不必要的争议,那是什么,那就是抢答器。通过一次又一次科学的进步,单片机在发展,各种功能运用到现实生活的各种领域让我们生活更加的接近理想话以及通过简单的操作完成手工无法完成或者很难做到的事情,例如家电,通信,商业,工业,航空,航天,军事以及汽车方面。当然这次我们做的是其中的一种那就是抢答器,它具有很高的安全性、可靠性,准确性,应用日益广泛。本次设计使用AT89C51实现一基于单片机的抢答器设计,其主要具有如下功能:(1)抢答时间调试,限时时间调试这两个功能都是要在最开始时调试。可以改变调试抢答时间和限时时间。(2)声光报警系统。抢答时间倒计时时会报警闪烁,以及蜂鸣器报警还有时间提示。(3)锁定功能。为了很好的在第一时间锁定第一位,抢答器做了很好的反馈功能,为此能够更加精确的锁定反馈第一位抢答器是由一个AT89C51、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。抢答器的功能在于反馈以及最快的时间做出选择:(1)限时时间调试·抢答时间调试功能:这是一个十分人性化的设计,他可以在不同的场合用不同的时间来限定抢答以及限时时间的调试。(2)抢答锁定功能:当按下抢答键时,抢答器会判断第一个抢答的以及显示抢答人的编号。(3)报警系统:当抢答倒计时到5秒时开始二极管开始闪烁报警蜂鸣器开始鸣叫。主要的设计实施过程:首先,选用ATMEL公司的单片机AT89C51,以及选购其他电子元器件。第二步,使用Protel设计硬件电路原理图,并设计PCB图完成人工布线。第三步,使用Medwin软件编写单片机的C语言程序、仿真、软件调试。第四部,使用PROTEUS软件进行模拟软、硬件调试。最后,联合软、硬件调试电路板,完成本次设计。2实训设计.目录概述..........................................................................................41总体设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ............................................................................41.1系统设计方案.....................................................................51.2系统总体结构框图.............................................................51.3功能显示区.........................................................................62软件设计....................................................................................62.1主程序流程图.....................................................................73仿真和调试................................................................................74附录............................................................................................93实训设计.概述随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制 单元 初级会计实务单元训练题天津单元检测卷六年级下册数学单元教学设计框架单元教学设计的基本步骤主题单元教学设计 、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。本文所涉及的是市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。本设计是基于单片机的抢答器设计方案,根据要求,给出了该单片机抢答器的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容1总体设计方案方案一:采用数字电路控制。采用数字显示电路的好处就是设计简单。用以在P0口外接电阻做输出口并接数码管来显示时间,共设了8个用户输入键,当抢答的时候,其中只有1个是有效按键,其它的都是干扰按键,若按下干扰键,将无反应只显示第一位抢答编号,如果用户抢答的时间剩下5秒(一般情况下,用户不会超过5秒,若用户觉得不便,还可以修改)电路将报警。电路由两大部分组成:显示器电路和主电源电源(UPS),其中设置时间调整是为了可以合理的调节时间更加的人性化和用于不同的场合。方案二:采用一种是用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的抢答器功能,还能添加调节功能等等。通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,故本次设计采用方案二。4实训设计.1.1系统设计方案本方案采用一种是用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的抢答显示功能。初步设计思路如下:抢答器用按钮为了更加方便直观的使用。LED数码管显示第一位抢答号以及抢答时间以及限时时间。用发光二极管代替报警的电路,发光表示倒计时已经进入5秒计时。到计时间到,系统报警。打开电源后,显示器显示“FFF”,只要第一个按下抢答器的就会显示抢答号。这样可预防抢答的时候出现不必要的麻烦。按“复位”键,清除显示器为“FFF”。按开始键开始抢答倒计时,当有人抢到第一个诞生那么主持人开始问问题,并且按下限时按钮开始倒计时,一共为二十秒,抢答人必须要在20秒内讲出答案如果进入最后5秒那么开始报警闪光提示,当闪光介绍那么就说明答题介绍并且蜂鸣器鸣叫以提示。然后进入第二轮的抢答要按下复位按钮,来更好的完成接下来的任务。1.2系统总体结构框图本次设计主控制器为AT89C51单片。5实训设计.1.3功能实现显示区在本次设计中,基于节省 材料 关于××同志的政审材料调查表环保先进个人材料国家普通话测试材料农民专业合作社注销四查四问剖析材料 的原则,暂时用发光二极管代替提示系统,发光管亮,表示5秒倒计时;灭,表示倒计时介绍。当P口输出低电平时,二极管发光,提示答题即将结束。硬件设计2.软件设计主要过程是LED数码管提示开始倒计时和限时抢答号,通过按键抢答,同时LED显示倒计时情况,按下抢答键后判断第一位抢答号,作出倒计时和抢答号已经报警提示处理。由于采用多个按键来完成抢答,那么其中一个第一个完成按键的会在数码管上显示抢答号。在抢答过程中,首先要进入开始抢答的步骤,接着根据抢答号由显示的抢答人来答题,直到回答出或者倒计时结束,才能完成抢答过程。进入抢答号的判断比较处理状态并给出相应的处理过程。6实训设计.2.1程序流程图3仿真和调试采用Keil和Protues软件相结合进行仿真。数码管初始化显示“FFF”:7实训设计.按下开始按钮后,进入抢答倒计时:选手在20秒内抢答,如8号选手:进入倒计时(5s):8实训设计.非正规抢答,如6号选手:4附录()源代码:#include#defineucharunsignedchar#defineuintunsignedintchars;ucharnum=0;chartime=20;//抢答时间chardatitime=30;//答题限时时间uinttt,t1;//T0,T1定时器定一秒时bitflag,s_flag=1,b_flag,fall_flag;//标志位bitK_startcountflag,K_timecountflag;//时间调整标志位sbitK0=P3^0;sbitbeep=P3^7;//蜂鸣器输出口sbitrled=P3^1;//指示灯输出口sbitK1=P1^0;sbitK2=P1^1;sbitK3=P1^2;sbitK4=P1^3;sbitK5=P1^4;sbitK6=P1^5;sbitK7=P1^6;sbitK8=P1^7;sbitK_Time=P3^2;//答题计时键sbitK_startcount=P3^3;//开始抢答时间调整键9实训设计.sbitK_timecount=P3^4;//答题计时时间调整键voiddelay(ucharms){uchary;for(;ms>0;ms--)for(y=120;y>0;y--);}ucharcodetabledu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharcodetablewe[]={0XFE,0XFD,0XFB,0XF7};voidT0_Init(void){TMOD=0X01;TH0=(65536-2000)/256;TL0=(65536-2000)%6;TH1=(65536-2000)/256;TL1=(65536-2000)%6;ET0=1;ET1=1;EA=1;P0=0;}voidKey_Scan(void)//开始键扫描{if(K0==0){delay(10);if(K0==0){while(!K0);TR0=1;s=time;tt=0;flag=1;s_flag=1;b_flag=1;num=0;beep=1;rled=1;fall_flag=0;//清除违规标志位K_startcountflag=0;10实训设计.K_timecountflag=0;}}}voidScan(void)//八路热键扫描(哪个键先按下,哪个优先级最高){if(K1==0){delay(10);if(K1==0){while(!K1);num=1;//数码管显示1号TR0=0;//关闭定时器0,时间停止TR1=1;//打开定时器1,使扬声器响一声s_flag=0;//关闭开始键标志位,使再按其他七个键不会响应}}下面七个键的处理同上//if(K2==0){delay(10);if(K2==0){while(!K2);num=2;TR0=0;TR1=1;s_flag=0;//重要}}if(K3==0){delay(10);if(K3==0){while(!K3);num=3;TR0=0;TR1=1;s_flag=0;}}if(K4==0){11实训设计.delay(10);if(K4==0){while(!K4);num=4;TR0=0;TR1=1;s_flag=0;}}if(K5==0){delay(10);if(K5==0){while(!K5);num=5;TR0=0;TR1=1;s_flag=0;}}if(K6==0){delay(10);if(K6==0){while(!K6);num=6;TR0=0;TR1=1;s_flag=0;}}if(K7==0){delay(10);if(K7==0){while(!K7);num=7;TR0=0;TR1=1;s_flag=0;12实训设计.}}if(K8==0){delay(10);if(K8==0){while(!K8);num=8;TR0=0;TR1=1;s_flag=0;}}}voiddisplay(void){if(flag==1)//开始键按下,开始计时抢答{if(num!=0)//如果有人抢答,则显示相应的几号{P0=tabledu[num];//显示几号抢到了P2=tablewe[0];delay(2);P0=0;P2=0XFF;}else//否则没人抢答,则前面不显示几号{P0=0;P2=0XFF;}P0=tabledu[s/10];//下面为显示抢答倒计时P2=tablewe[2];delay(2);P0=0;P2=0XFF;P0=tabledu[s_x0010_];P2=tablewe[3];delay(2);P2=0XFF;P0=0;}else//如果开始键没有按下,则显示FFF(若有违规者,则显示违规号码及FF)或时间调整13实训设计.{if(fall_flag==1)//违规显示{if(num!=0){P0=tabledu[num];//显示几号违规了P2=tablewe[0];delay(2);P0=0;P2=0XFF;P0=tabledu[15];//下面显示FF,表示违规了P2=tablewe[2];delay(2);P0=0;//消隐P2=0XFF;P0=tabledu[15];P2=tablewe[3];delay(2);P0=0;P2=0XFF;}else{P0=0;P2=0XFF;}}else//没有人违规才显示调整时间{if(K_startcountflag==1){P0=0X6D;//第一位数码管显示_x0005_(S)(表示抢答时间调整)P2=tablewe[0];delay(2);P0=0;P2=0XFF;P0=tabledu[time/10];//下面显示调整的抢答时间P2=tablewe[2];delay(2);P0=0;P2=0XFF;P0=tabledu[time_x0010_];P2=tablewe[3];delay(2);14实训设计.P0=0;P2=0XFF;}elseif(K_timecountflag==1){P0=0X07;//第一位与第二位数码管合起来显示T,表示答题时间调整P2=tablewe[0];delay(2);P0=0;P2=0XFF;P0=0X31;P2=tablewe[1];delay(2);P0=0;P2=0XFF;P0=tabledu[datitime/10];P2=tablewe[2];delay(2);P0=0;P2=0XFF;P0=tabledu[datitime_x0010_];P2=tablewe[3];delay(2);P0=0;P2=0XFF;}else//否则显示FFF{P0=tabledu[15];P2=tablewe[0];delay(2);P0=0;P0=tabledu[15];P2=tablewe[2];delay(2);P0=0;//消隐P2=0XFF;P0=tabledu[15];P2=tablewe[3];delay(2);P0=0;P2=0XFF;}}15实训设计.}}voidTime_Scan(void)//调整时间键扫描{if(K_startcount==0)//抢答时间调整{delay(10);if(K_startcount==0){while(!K_startcount);time++;if(time==50){time=20;}K_startcountflag=1;//将抢答时间标志位置1K_timecountflag=0;//同时关闭答题时间标志位}}if(K_timecount==0)//答题时间调整{delay(10);if(K_timecount==0){while(!K_timecount);datitime++;if(datitime==60){datitime=30;}K_timecountflag=1;K_startcountflag=0;}}}voidmain(void){T0_Init();while(1){Key_Scan();//开始键扫描if((flag==0)&(s_flag==1))//当开始键没按下及没有人违规时才可进行时间调整{Time_Scan();16实训设计.}if((flag==1)&(s_flag==0))//当开始键按下及有人抢答才进行开始回答计时倒计时{if(K_Time==0){delay(10);if(K_Time==0){while(!K_Time);s=datitime;TR0=1;tt=0;TR1=1;}}}if((flag==0)&(s_flag==1))//违规{Scan();if(num!=0)//开始键没有按下时,有人按下了抢答器,则置违规标志位{fall_flag=1;rled=0;}}if((flag==1)&(s_flag==1))//如果开始键按下且抢答键没有人按下,则进行八路抢答键扫描{Scan();}display();//显示到数码管上}}voidtimer0(void)interrupt1{TH0=(65536-2000)/256;//2msTL0=(65536-2000)%6;if(b_flag)//开始(START)键按下,嘟一声(长1秒),表示开始抢答{beep=~beep;}elsebeep=1;if(s<5)//抢答时间快到报警,隔1秒响一声且红灯闪烁,响三声17实训设计.{if(s%2==0){b_flag=1;rled=0;}else{b_flag=0;rled=1;}}tt++;if(tt==500)//1秒{tt=0;s--;b_flag=0;//关闭开始键按下响一秒的嘟声if(s==-1){s=20;TR0=0;flag=0;//显示FFFs_flag=1;num=0;rled=1;}}}voidtimer1(void)interrupt3//定时器1处理有人按下抢答器嘟一声(长1秒){TH1=(65536-2000)/256;TL1=(65536-2000)%6;beep=~beep;t1++;if(t1==500){t1=0;TR1=0;}}18实训设计.
本文档为【基于51单片机的八路抢答器要点】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_808969
暂无简介~
格式:doc
大小:178KB
软件:Word
页数:0
分类:
上传时间:2019-07-18
浏览量:1