单片机抢答器_第1页
单片机抢答器_第2页
单片机抢答器_第3页
单片机抢答器_第4页
单片机抢答器_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理与应用设计报告题目抢答器的设计学生姓名吴斌学号20211305077院系电子与信息工程学院专业电子信息工程指导教师邹全二〇一一年六月十二号设计的要求及目的〔1〕设计一个可供8人进行的抢答器。〔2〕系统设置复位按钮,按动后,重新开始抢答。〔3〕抢答器开始时数码管显示序号0,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统去除为止。抢答后显示优先抢答者序号,同时发出音响。,并且不出现其他抢答者的序号。〔4〕抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间设定为60秒,当主持人启动“开始〞开关后,定时器开始减计时,同时蜂鸣器有短暂的声响。〔5〕设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。并保持到主持人按复位键。〔6〕当设定的时间到,而无人抢答时,本次抢答无效,扬声器报警发出声音,并禁止抢答。定时器上显示00。二、系统框图电路组成设计设想:接通电源时,节目主持人将电源开关置于“开〞位置,抢答器处于禁止工作状态,选手编号显示器显示0,定时显示器显示设定的时间〔60秒〕,当节目主持人宣布“抢答开始〞,同时将抢答开关拨到“开始〞位置,扬声器给出声响提示,抢答器处于工作状态,定时器倒计时。当定时时间到,却没有选手抢答时,系统报警,并封锁输入电路,禁止选手超时后抢答。中选手在定时时间内按动抢答键时,抢答器要完成以下四项工作:①电路立即分辨出抢答者的编号,然后显示电路显示编号;②扬声器发出短暂声响,提醒节目主持人注意;③控制电路要对输入编码电路进行封锁,防止其他选手再次进行抢答;④控制电路要使定时器停止工作,时间显示器上显示答题限制时间〔45秒〕,当主持人将将答题开关拨到“开〞位置时,选手开始答题同时定时器开始倒计时电路组成图三、设计原理图和硬件组成抢答器仿真原理图该抢答器系统主要包括四大模块:选手抢答模块、主控模块、显示模块和报警模块。A选手抢答模块该模块由八个选手开关组成抢答时,八位选手按下开关开始抢答B主控模块主要由at89s52单片机控制C显示模块四位数码管第一第三第四位显示第二位不显示,第一位显示抢答选手编号,三四位显示倒计时D报警模块当主持人按下抢答开关时,倒计时开始,一直到倒计时显示00时还没有选手抢答,报警系统铃响,提醒主持人重新开始新的一轮。心得体会一开始在网上查询有关单片机制作抢答器的资料,到后面原理图元件清单确实定。后来进行硬件连接,再到软件调试一开始插入单片机〔没有烧入程序〕数码管不亮,然后检查数码管和单片机的连线,和电源连线有没有问题。然后去请教同学,原来是我单片机上其他没有用到的引脚没有焊到板子上导致电路不稳定所以不亮,可是把其他引脚焊上后发现数码管亮是亮了,但是很暗看不清,然后又开始检查,最后发现原来是原理图上有问题,数码管和单片机之间起到放大作用的三极管,集电极和发射极连接反了后来重新连接后数码管果然恢复正常的亮度。后来又出现一个新的问题蜂鸣器声音很小几乎听不见,后来到网上查了一下资料,在蜂鸣器一端和电源正极之间加一个1k的上拉电阻,结果蜂鸣器声音果然大了许多。硬件方面应该没什么问题了,软件方面由于c语言学的不是怎么好,自己编写是有难度的,然后就从网上下了一个程序自己修改了一下,请教了其他比拟懂程序的同学经,烧入程序后,电路有时能正确实现抢答功能,有时又显示888,后来检查电路原来自己少连了一根下载口和单片机的线,连上之后就正常了。这次单片机设计给我最大的体会就是焊接完成后的检查毛病,反复调试的过程,然我学到了很多。以前焊东西都是焊完了就没什么事了。都没有调试的过程,总之这次收获很大。实物图附:程序#include<at89x51.h>#defineucharunsignedchar#defineuintunsignedintuintaa,num;sbitbeep=P3^6;sbitstart=P3^0;sbitkey=P3^1;uchartemp,shu1=60,shu2=45,mm;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71 };voiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voiddisplay(ucharshu1) {uchara,b; a=shu1/10;b=shu1%10;P2=0x04; P0=table[a]; delay(3); P2=0x01;P0=table[b]; delay(3); P2=0x08; P0=table[num]; delay(3);} voiddisplay1(ucharshu2) {ucharr,t; r=shu2/10;t=shu2%10;P2=0x04; P0=table[r]; delay(3); P2=0x01;P0=table[t]; delay(3); P2=0x08; P0=table[num]; delay(3);}voidkeyscan(void) { while(P1!=0xff) { temp=P1; beep=1; delay(50); beep=0; TR0=0; switch(temp) { case0x7f:num=8; break; case0xbf:num=7; break; case0xdf:num=6; break; case0xef:num=5; break; case0xf7:num=4; break; case0xfb:num=3; break; case0xfd:num=2; break; case0xfe:num=1; break; default:num=0;break; } }} voidinit(){ beep=0; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1;}voidtimer0()interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; if((aa==20)&&(mm==0)){ aa=0; shu1--; if(shu1==0) { beep=1; delay(50); beep=0; TR0=0; } } if((aa==20)&&(mm==1)){ aa=0; shu2--; if(shu2==0) { beep=1; delay(50); beep=0; TR0=0; } }} voidmain() { beep=0; TR0=0; init(); while(start==1) { display(shu1); } if(!start) {TR0=1; beep=1; delay(100); beep=0; } while((num==0)&&(shu1!=0)) { keyscan(); display

温馨提示

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

评论

0/150

提交评论