基于单片机的三路抢答器的设计_第1页
基于单片机的三路抢答器的设计_第2页
基于单片机的三路抢答器的设计_第3页
基于单片机的三路抢答器的设计_第4页
基于单片机的三路抢答器的设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

.PAGE.-..-可修遍-基于单片机的三路抢答器的设计1课程设计的任务与要求1.1课程设计的任务〔1〕设计一个可供3人进展的抢答器。〔2〕系统设置复位按钮,按动后,重新开场抢答。〔3〕抢答器开场时数码管显示序号00,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统去除为止。抢答后显示优先抢答者序号,同时发出音响,并且不出现其他抢答者的序号。〔4〕抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间设定为30秒,当主持人启动"开场〞开关后,定时器开场减计时。〔5〕设定的抢答时间,选手可以抢答,这时定时器停顿工作,显示器上显示选手的和抢答时间。并保持到主持人按复位键。1.2课程设计的要求〔1〕基于单片机的三路抢答器的设计,并用Proteus设计与仿真出来。〔2〕程序用Keil编程出来,并且生成Hex文件。〔3〕设计的方案要能够长期,有效,稳定的运行。〔4〕力求简单实用。1.3课程设计的研究根底本设计是以三路抢答为根本理念。考虑到依需设定限时答复的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进展计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开场后抢答才有效,如果在开场抢答前抢答为无效;抢答时间和答复下列问题时间倒记时显示,满时后系统计时手动复位。2基于单片机三路抢答器系统方案制定2.1方案提出方案一:单单片机主控电路键盘扫描电路蜂鸣器报警电路数码管显示驱动电路图1方案一设计方案方案二:单单片机主控电路键盘扫描电路蜂鸣器报警电路数码管显示图2方案二设计方案2.2方案比拟第一个方案比第二个方案多了一个驱动电路,所以第一个方案的电路会比拟复杂。2.3方案论证该系统采用51系列单片机AT89C52作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比拟成熟,应用起来方便、简单并且单片机周围的辅助电路也比拟少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进展功能的扩和更改。2.4方案选择通过以上两个方案的比拟,选择第二个方案。3基于单片机三路抢答器系统方案设计3.1各单元模块功能介绍及电路设计3.1.1振荡电路的设计AT89C52部有一个用于构成片振荡器的高增益反相放大器,振荡器产生的信号送到CPU,作为CPU的时钟信号,驱动CPU产生执行指令功能的机器周期。引脚XTAL1和XTAL2是此放大器的输人端和输出端。这个放大器与作为反应元件的片外石英晶体或瓷谐振器一起可构成一个自激振荡器,振荡电路的连接如下图图3所示,外接石英晶体或瓷谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反应回路中。图3振荡电路3.1.2复位电路的设计单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开场工作。无论是在单片机刚开场接上电源时,还是断电后或者发生故障后都要复位。89系列单片机的复位信号是从RST引脚输人到芯片的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚有一个高电平并维持2个机器周期〔24个振荡周期〕,那么CPU就可响应并且将系统复位。复位分为手动复位和上电复位。本设计系统采用的是手动复位,当按下按钮时,即使人的动作很快,也会使按钮保持通达数十毫秒,所以,手动复位能确保复位时间要求。复位电路连接如图4。图4复位电路3.1.3计时和组号显示的设计计时局部由一个共阴极四位八段数码管前二位构成。时间显示是由一个共阴极四位八段数码管前二位构成,组号显示是由一个共阴极四位八段数码管后二位构成,通过P0口直接对其控制。电路图如下:图5显示电路3.1.4选手按键的设计三位选手通过按键产生的电平下降沿信息送至P2.0~P2.2口,然后再经由主控制模块处理锁存,最后在数码管上显示最早按下的选手号。电路图如下:图6选手按键3.1.5主持人控制电路的设计主持人控制局部由一个开场键组成。开场按键通过外部中断送信息给控制模块,电路图如下:图7主持人控制电路3.1.6蜂鸣器电路设计P3.4口控制的蜂鸣器主要是提醒选手答题时间到。电路图如下:图8蜂鸣器电路3.2电路参数的计算及元器件的选择电容C1,C2都是30uF,C3是100n。电阻R1,R2都是10K.3.3特殊器件的介绍7段LED数码管是利用7个LED〔发光二极管〕外加一个小数点的LED组合而成的显示设备,可以显示0~9等10个数字和小数点,使用非常广泛。数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点,而每个LED的阴极分别为a、b、c、d、e、f、g及h〔小数点〕;共阴极那么是把所有LED的阴极连接到共同接点,而每个LED的阳极分别为a、b、c、d、e、f、g及h〔小数点〕。图9数码管原理图我用的是共阴极。3.4系统整体电路图图10总电路图4基于单片机三路抢答器系统仿真和调试4.1仿真软件介绍Proteus软件是LabcenterElectronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比方MCS-51系列、PIC系列等等,以及单片机外围电路,比方键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。4.2系统仿真实现根据设计的方案,在Proteus中画出相应的原理图,在Keil中把所需程序生成HEX文件,导入到原理图中的单片机中,就可以实现仿真了。步骤如下:〔1〕Keil创立文件步骤:1〕新建工程文件。点击Project菜单,选择弹出的下拉式菜单中的NewProject。在"文件名〞中输入您的第一个C程序工程名称,"*****.uv2”。"保存〞后的文件扩展名为uv2,这是KEILuVision2工程文件扩展名,以后可以直接点击此文件以翻开先前做的工程。2〕选择所要的单片机,常用Ateml公司的AT89C51。3〕在工程中创立新的程序文件。点击新建文件的快捷按钮,出现一个新的文字编辑窗口,这个操作也可以通过菜单File-New或快捷键Ctrl+N来实现。好了,现在可以编写程序了。4〕点击保存新建的程序,*****.c,保存在工程所在的目录中,这时会发现程序单词有了不同的颜色,说明KEIL的C语法检查生效了。5〕将程序文件加到工程中。在屏幕左边的SourceGroup1文件夹图标上右击弹出菜单,在这里可以做在工程中增加减少文件等操作。选"AddFiletoGroup‘SourceGroup1’〞弹出文件窗口,选择刚刚保存的文件,按ADD按钮,关闭文件窗,程序文件加到工程中。这时在SourceGroup1文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。6〕设定创立HEX文件选项。7〕编译运行。8〕查错并直至无错误。〔2〕Proteus仿真步骤:1〕创立文件并命名"****.dsn〞。2〕放置元件,设定好参数,并连接电路图。3〕双击单片机芯片,添加"****.hex〞文件。4〕仿真运行。5〕检查错误直至到达工程要求。4.3系统测试没有按开场键时:图11开场显示按开场键没有人抢答时:图12没人抢答显示按开场键有人抢答时:图13有人抢答显示30秒一直没有人抢答时:图1430秒后没人抢答按复位键时:图15按复位键4.4数据分析主持人按键来控制总开关,主持人按下开关那么选手开场抢答,此时数码管开场30—0计数,并且选手们必须在规定的时间进展抢答,假设过了30秒还没抢答那么抢答失效,选手们假设有一个在规定的时间抢答成功那么其余的选手不可以再抢答,即该选手抢答成功。最小系统的电路不工作,首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否符合电源电压,常用的是5V左右。接下来就是检测复位引脚的电压是否正常,EA引脚的电压要正常为5V左右。5总结5.1设计小结通过此次的课程设计,让我更进一步的稳固了单片机的各种知识。但在设计的过程中,遇到了很多的问题,有一些知识已经不太清楚了,但是通过一些资料又重新的翻阅并且认真的复习了相关教科书中的容。此次的课程设计树立了对自己工作能力的信心,相信会对今后的学习工作生活都有非常重要的影响,而且大大的提高了动手能力,使我充分的体会到了创造过程中的探索的困难和成功的喜悦。虽然这次做出的作品还存在很多需要改良的地方,但是在整个设计过程中所学习到的东西是这次实训所得到的最大收获跟财富,使我终身受益。5.2收获体会经过近两个月的努力,在教师和同学的讨论和帮助下,我成功地完成了三路抢答器的设计,通过此次课程设计,我重新认识到了对书本上的知识要独立运用的道理。在抢答器设计过程中,发现了很多细节性的问题,也出现了很多错误,经过和同学们研究、商讨最后都解决,感觉团队协作能力是非常有必要的!通过此次的抢答器的设计,让我重新拾起了以前所学习的电子知识和C语言的编程,也使我加深了对单片机及接口技术的理解和应用,由于知识水平的局限,设中可能会存在着一些缺乏,我真诚的承受教师和同学的批评和指正。5.3展望本设计可以对抢答器扩展的功能有:〔1〕可以将该抢答器扩展抢答定时功能,添加定时中断可以比拟准确的设置延时。〔2〕可以对该抢答器扩展多个选手抢答,这样可以对抢答器不受3位的限制。〔3〕可以对该对抢答器加上其他功能,如停顿键,加时间,减时间键。6参考文献[1]郭天祥主编.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略.:电子工业,2008:108-120.[2]侯玉宝等主编.基于Proteus的51系列单片机设计与仿真.:电子工业,2008.9.[3]维成,加国主编.单片机原理与应用及C51程序设计.:清华大学,2009.7.7附录1系统流程图定时器0中断定时器0中断1秒时间到?秒减1数码管显示秒值中断返回YN图16开场开场初始化是否按开场键启动中断,开场计时假设有选手抢答?中断停顿,显示时间和选手号完毕NNYY图17外中断外中断1号选手按下?中断返回2号选手按下?3号选手按下?数码管显示3号选手编号,蜂鸣器响数码管显示2号选手编号,蜂鸣器响数码管显示1号选手编号,蜂鸣器响NNNYYY图182器件清单表1器件清单器件名称规格型号数量单片机AT89C521排阻1电阻10K2电容20PF3晶振12MHZ1按钮5共阴4位8段数码管1扬声器1三极管13程序#include<reg52.h> #include<intrins.h> #defineucharunsignedchar #defineuintunsignedint inta,b,c,d;//数码管数字定义 uintl,l2,n,m,lsd; sbits1=P3^5;//控制键定义 sbitd1=P2^0; sbitd2=P2^1; sbitd3=P2^2;//抢答键定义 sbitw1=P2^4; sbitw2=P2^5; sbitw3=P2^6; sbitw4=P2^7; sbitfeng=P3^4;//蜂鸣器 ucharcodetable[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71, 0x76,0x79,0x38,0x3f, 0x40,0x00}; voiddisplay(uchar,uchar,uchar,uchar); voiddisplay2(uchar,uchar,uchar,uchar); voiddelay(uintz) { uintt1,y; for(t1=z;t1>0;t1--) for(y=110;y>0;y--); } voidmain() {a=3; b=c=d=0; lsd=0x0f; w1=w2=w3=w4=1; TMOD=0x01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET0=1; while(1) {display(a,b,c,d); if(s1==0) {delay(1); if(s1==0) { TR0=1; s1=0; if(d1==0) {P1=0xfe; m=0; while(((a!=0)||(b!=0)||(c!=0)||(d!=0))) {TR0=0; display2(a,b,20,1); m++; if(m<=300) feng=0; else feng=1; } } if(d2==0) {P1=0xfd; m=0; while(((a!=0)||(b!=0)||(c!=0)||(d!=0))) {TR0=0; display2(a,b,20,2); m++; if(m<=300) feng=0; else feng=1; } } if(d3==0) {P1=0xfb; m=0; while(((a!=0)||(b!=0)||(c!=0)||(d!=0))) {TR0=0; display2(a,b,20,3); m++; if(m<=300) feng=0; else feng=1; } } }} }} voiddisplay(ucharqi,ucharba,ucharsh,ucharg) { P0=0xff; w1=0; P0=table[qi]; delay(1); w1=1; P0=0xff; w2=0; P0=table[ba]|0x80; delay(1); w2=1; P0=0xff; w3=0; P0=table[sh]; delay(1); w3=1; P0=0xff; w4=0; P0=table[g]; del

温馨提示

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

评论

0/150

提交评论