抢答器~C51~带程序.doc_第1页
抢答器~C51~带程序.doc_第2页
抢答器~C51~带程序.doc_第3页
抢答器~C51~带程序.doc_第4页
抢答器~C51~带程序.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前言 在电视和学校中我们会经常看到一些智力抢答的节目,如果要是让抢答者用举手等方法,主持人很容易误判,会造成抢答的不公平,比赛中为了准确、公正、直观地判断出第一抢答者,所设计的抢答器通常由数码显示、灯光、音响等多种手段指示出第一抢答者。为了使这种不公平不发生,只有靠电子产品的高准确性来保障抢答的公平性。 功能分为基本功能和扩展功能,基本功能是能够实现抢答器的功能,扩展功能进一步丰富了抢答器的功能,更佳人性化。基本功能可以有同时供8名选手比赛,分别用8个按钮S0 S7表示;设置一个系统复位按钮和抢答控制按钮 ,这组开关由主持人控制;抢答器具有锁存与显示功能。即选手按动按钮,扬声器发出声响提示,锁存相应的选手号码并且通过数码管显示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。扩展功能有抢答器具有定时抢答功能,且抢答的时间由主持人设定(如30秒)。当主持人按下启动键后,定时器进行倒计时;参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。 此设计可以用三种方法实现:数字电路,单片机,PLC。其中PLC方案与单片机方案原理相似,但成本太高,故不采用此方案,在此不另作比较。主要在数字电路和单片机两个方案中选择。 AT89C52 是美国ATMEL 公司生产的低电压,高性能CMOS 8 位单片机,片内含8k bytes 的可反复擦写的Flash 只读程序存储器和256 bytes 的随机存取数据存储器(RAM),器件采用ATMEL 公司的高密度、非易失性存储技术生产,与标准MCS-51 指令系统及8052产品引脚兼容,片内置通用8 位中央处理器(CPU)和Flash 存储单元,功能强大AT89C52 单片机适合于许多较为复杂控制应用场合。 基于单片机的八路抢答器是针对目前的抢答器市场而设计的,其高度的准确性,低廉的成本,是绝对有竞争优势,其市场前景巨大。通过本课题的训练,不仅可以研制出一套八路抢答器,还可以使我们通过对单片机电路的设计与编程,达到理论与实践相结合的目的,强化我们四年中的学习知识,能提高解决实际问题的能力。第一章 设计的依据 1.1 课题的提出 在电视和学校中我们会经常看到一些智力抢答的节目,如果要是让抢答者用举手等方法,主持人很容易误判,会造成抢答的不公平,比赛中为了准确、公正、直观地判断出第一抢答者,所设计的抢答器通常由数码显示、灯光、音响等多种手段指示出第一抢答者。为了使这种不公平不发生,只有靠电子产品的高准确性来保障抢答的公平性。 1.2 实现的系统功能简介功能分为基本功能和扩展功能,基本功能是能够实现抢答器的功能,扩展功能进一步丰富了抢答器的功能,更佳人性化。1.基本功能:(1)同时供8名选手比赛,分别用8个按钮S0 S7表示。(2)设置一个系统复位按钮和抢答控制按钮 ,这组开关由主持人控制。(3)抢答器具有锁存与显示功能。即选手按动按钮,扬声器发出声响提示,锁存相应的选手号码并且通过数码管显示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。2.扩展功能:(1)抢答器具有定时抢答功能,且抢答的时间由主持人设定(如30秒)。当主持人按下启动键后,定时器进行倒计时。(2)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。第二章 总体方案确定 2.1 方案论证 此设计可以用三种方法实现:数字电路,单片机,PLC。其中PLC方案与单片机方案原理相似,但成本太高,故不采用此方案,在此不另作比较。 2.1.1数字电路总体方案如下图所示为数字电路总体方框图。其工作原理为:接通电源后,主持人将开关拨到清除状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置开始状态,宣布开始抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作清除和开始状态开关。图2.1.1 数字电路方案2.1.2 MCS-51方案该方案主要由 抢答、声音警示、灯光指示和计时电路组成,借助较少的外围元件完成抢答的整个过程。系统框图如下图所示。 图2.1.2 单片机方案 2.2 方案确定通过三个方案比较,单片机控制的设计方案外围的元件也很少,成本比较低,制作简单,实现的功能灵活。由于是单片机控制,对抢答器队参赛选手的动作的先后有很强的分辨力,即使先后只相差几毫秒,抢答器也能分辨出来,抢答器直接显示动作选手的编号和答题时间,并保持到主持人清零为止。所以我选择采用单片机控制的方案来完成抢答器电路。第三章 硬件设计 3.1 整体电路设计 整个系统可以分为五部分:抢答电路,主持人控制按钮,单片机最小系统,显示电路,蜂鸣器。如下图所示 图3.1 整体电路3.2 复位电路设计 复位电路采用经典的51系列单片机的复位方法:上电复位和开关复位。通电后,给电容充电,在此过程中,单片机复位;运行时,按下复位按钮,RST端口变为高电平,进行复位。复位电路和晶振电路如下: 图3.2 复位电路和晶振电路3.3 显示电路的设计 显示电路和扬声器电路如下图所示: 图3.3.1 显示电路 图3.3.2 扬声器电路3.4 控制电路实现 主持人的按键有四个,分别是:开始、复位、加1、减1。按键一般按下的过程中有抖动,需要消抖处理,本设计中采用了并联电容处理,实际调试过程中证明效果很好,故软件不需要再次做消抖处理。 图3.4.1 选手按键电路 图3.4.2 主持人控制电路3.5 硬件电路设计小结 经过几十个昼夜奋战,硬件电路终于调试成功,想想开始的时候什么都不确定,第一次焊接好了之后,到处都是问题,到现在的稳定运行,真的有一种莫大的满足感。特别是消抖这一块,一直是我们设计不稳定运行的主因,在指导老师的悉心指导下,在院系领导的关怀下,我们的问题也一一迎刃而解。第四章 软件设计 4.1 总体设计 第五章 电路调试 51硬件调试基本电路板检查:根据前面的研究完成各个电路模块的原理设计并生成PCB图,制作电路板,进行实验调试。(1)检查印制板的印制线是否有断路,是否有毛刺,是否与其它线或是焊盘粘连,焊盘是否有脱落,过孔是否有未金属化现象等等。(2) 先用万用表复核目测中认为可疑的连接或是接点,检查它们的通短状态是否与设计规定相符。再检查各种电源线与地线之间是否有短路现象,如有再仔细检查出并排除。短路现象一定要在器件安装及加电前检查出。(3)路接通电源后,用手摸一下芯片是否发热,如果发热,立即关掉电源,稍后再进行再次检测;如果没有发热,再测试芯片的VCC端电压是否达到设计要求,接地端是否都接地。主控模块调试:在本次设计中,主控模块是非常重要的部分,它不仅是本次设计的核心,同时在后面的8255A显示也是起关键的作用。在本次硬件调试中也遇到了问题,接上电源的时候,数码管不亮,没有任何显示,于是我做了如下的工作:(1)检查电源是否通电,发现指示灯亮着;(2)编程使P1为低电平,检查到P1输出为低;(3)检查P0口未接上拉电阻,接上数码管发亮了。由次我深刻的认识到:制作电路板是一个比较繁琐的过程,它需要我们时刻都要用心去做,每个环节都不能忽视,只有这样才能达到锻炼的目的。5.2软件调试当硬件制作完成后,软件制作也是不可轻视的部分,是实现电路的功能的关键部分,通过本次毕业设计,总结经验如下:(1)先进行人工检查。写好程序后,不立刻烧入单片机,先对纸面上的程序进行人工检查。由于采用C语言编程,所以要特别小心地检查语法错误,如括号不配对,漏写分号等,通过仔细的检查,发现并排除这些错误。(2)人工检查无误后,上机调试。在编译时给出的语法错误的信息,根据提示的信息具体找出程序中错误之处并改之,从上至下逐一改正。应当注意的是:有的提示出错行并不是真正出错的行,如果在提示出错的行上找不到错误的话,则应该到上行再找。(3) 当确认程序无语法错误和逻辑错误时,通过直接下载到单片机来调试。采用的是自下到上的调试方法,即单独调好每一个模块,然后再连接成一个完整的系统调试。(4) 程序烧入单片机后,观察各个部件的工作是否正常,功能是否实现。如不能正常工作,则继续检查程序中的相应模块,必要时从上到下重新检查程序。总 结 抢答器丰富了我们的生活,社会中本来就充满着竞争。只是没有很明显的表现出来,通过运用它我们可以很好的证明自己的胆识和自信,所以做起抢答器来,也很想去了解它,对于八路抢答器原理说起来很简单,也没什么复杂性,所以看似很简单,但实践中却发现不是那么回事,实际调试的过程中,一点问题都不能存在,否则它就不运行,真正体会到了什么叫一丝不苟,什么叫锲而不舍。在以后的工作和学习中,我一定会深刻运用这次的心得体会。总之,这次实践是非常成功的,我们追求的是理论与实践并存,这次毕业设计就很好的为大学生表现自己综合能力提供有力的平台。实践中也发了自己有一点不懂的地方,通过这次实践才彻底搞懂,这证明了理论学习后还是需要实践课程的。在这个过程中,通过老师的指导和自己的摸索,学会了自己学习新知识,查找资料的方法,我想这应该是我们大学中应该掌握的方法。致 谢 本设计经过一个学期的的时间,到今天终于完成了。在此,向我的指导老师表示最诚挚的谢意。从课题的选择,前期的准备工作、方案的制定,系统的开发与调试,到论文的撰写修改定稿都渗透了老师的心血。在这三个月中,老师以他渊博的学识、卓越的才智、严谨的治学精神和求实创新的工作作风以及平易近人的态度使我受益匪浅,在学习中给我很大的启迪和帮助,对我的指导更是给我留下了极为深刻的印象。使我在这次毕业设计中学到了许多知识。在整个课题的研究和设计过程中,还得到了其他院系和实验室的老师们的帮助和支持,在我设计时遇到困难时,他们给予了我不少的帮助和鼓励,再次表示诚挚的感谢。正是由于他们的帮助,才使这次设计能顺利的完成。此外,我还要特别感谢大学四年里的老师和同学,感谢我们系的全体老师以及所有关心我,帮助我,鼓励我的人,没有你们的无私帮助,我是很难完成我的毕业设计的,谢谢你们。参考文献 1 康华光,电子技术基础.数字部分(第四版),北京:高等教育出版社,20032 李广弟,单片机基础M,北京:北航出版社,20013 梁超,一款基于单片机技术的电子抢答器J ,机电工程技术,2005,34 (1)4 李朝青,单片机原理及接口技术M,北京:北京航空航天大学出版社,19995 齐向东,多功能数字显示抢答器J . 黄石高等专科学院学报,1996附录附录1数字抢答器原理图附录2 AT89S52芯片主程序#include#define uchar unsigned char sbit P2_4=P24;/加1键sbit P2_5=P25;/减1键sbit P2_6=P26;/确认键sbit P2_7=P27;/蜂鸣器uchar a=20,b=0,c=0;unsigned int gong=100,yi=100,er=100,san=100,si=100,wu=100,liu=100,qi=100,ba=100;/8组得分变量uchar disp=0,0,0,0;/四个显示单元uchar dispbit=0xfe,0xfd,0xfb,0xf7;/数码管扫描代码uchar dispcode=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xbf;/共阳数码管数字代码/-数码管显示子程序 void display(void)uchar i,j;disp3=b;/求得四个单元值disp2=10;disp1=a/10;disp0=a%10;for(i=0;i4;i+) /循环四次送四个单元供显示P0=dispcodedispi;P2=dispbiti;for(j=0;j255;j+);/-void display1(void)uchar i,j;disp3=b;disp2=gong/100;disp1=gong%100/10;disp0=gong%100%10;for(i=0;i4;i+)P0=dispcodedispi;P2=dispbiti;for(j=0;j255;j+);/-中断定时50ms子程序 void t0(void) interrupt 1 using 1 c+; TH0=0x3c;/定时器0附初值 TL0=0xb0; /-void main(void)unsigned int d; /条件判断,用于第一个人按到后,后面的人再按不管用. TMOD=0x01; /用定时器定时50MS TH0=0x3c; /定时器0附初值 TL0=0xb0; ET0=1; EA=1; while(1) P2_7=1; /蜂鸣器不响 display(); if(c=20) /一秒到,秒减1 c=0; a-; if(P2_4=0) /加1键 while(P2_4=0); /松开键if(a=99) a=0; a-; a+; /定时加1 if(P2_5=0) /减1键 while(P2_5=0); if(a=0)a=100;a-; if(P2_6=0) /确认键 while(P2_6=0); TR0=1; if(a=0) /定时时间到报警一直响 TR0=0; P2_7=0; if(tj=1) while(P2_6=1) display1();if(P2_4=0) while(P2_4=0); if(b=1) /加分 yi=yi+10; gong=yi; if(b=2)er=er+10;gong=er; if(b=3)san=san+10;gong=san; if(b=4)si=si+10;gong=si; if(b=5)wu=wu+10;gong=wu; if(b=6)liu=liu+10;gong=liu; if(b=7)qi=qi+10;gong=qi; if(b=8)ba=ba+10;gong=ba; if(P2_5=0)while(P2_5=0);if(b=1)yi=yi-10;gong=yi;/减分 if(b=2)er=er-10;gong=er; if(b=3)san=san-10;gong=san; if(b=4)si=si-10;gong=si; if(b=5)wu=wu-10;gong=wu; if(b=6)liu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论