您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 单片机课程设计报告--三组抢答器
31功能描述(课程设计内容及要求)基于单片机控制的智力竞赛抢答器1)能实现3组抢答。2)能显示抢答组号。3)各组计分,并能计分显示。4)比赛结束时,能发出报警声。5)显示实时温度(扩展功能)2方案设计2.1系统分析根据系统功能要求,可将系统组成结构分成六大部分:单片机控制中心、按键控制、选手显示、得分显示、倒计时显示和光电报警,如下图为系统的组成结构图。其中,单片机控制中心是核心。MCU根据按键输入,可切换不同的显示模式或设置不同的参数。选手显示是显示抢答选手的信息。得分显示是显示选手得分信息。倒计时显示是显示开始抢答与选手回答时间倒计时。光电显示可完成抢答时间与回答时间到的警示。→→→→→系统组成结构图按键显示模块MCU单片机控制中心选手显示模块得分显示模块倒计时显示模块光电显示模块42.2器件选择2.2.1微处理器市场上微处理器种类很多。这里,选取微处理器从多方面考:成本低、性能高、能够满足功能要求等等。这里,选取STC89C52芯片。因为其功能与普通51芯片相同,其价格非常低廉、程序空间大、资源较丰富、在线下载非常方便。同时,使用该芯片,编程上亦可采用所熟悉的KEIL软件,使课程设计非常简单。2.2.2显示器常见的显示器件LED数码管和LED灯。由于系统要求显示选手号,选手分数和倒计时时间和时间到的报警显示,采用四位数码管显示与一个LED灯的显示。2.2.3按键按键是用来选手用来抢答与主持人按键启停,加分减分与查分功能的。这里采用普通按键即可,选用原则:以最少的按键,实现尽可能多的功能。所以这里,设置六个按键:模式键、加分键、减分键与三个抢答键。模式键:主持人按键,对应于P32接口的按键。加分键:对应于P10接口。减分键:对应于P11接口。抢答键:三个选手1、2、3分别对应于P20、P21、P22接口。53、硬件电路设计3.1最小系统设计RSTXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51R110kC110uFC210uFX1CRYSTALGNDC210uFVCCGND图3.1单片机最小系统3.2显示电路设计图3.2数码管显示3.3按键电路设常见的键盘种类可分为:独立式按键和矩阵式键盘。本设计采用独立式按键结构,如图3.3与图3.4所示。6加分GND减分选手一选手二选手三主持人按键GND图3.3加减分按键图3.4选手与主持人按键独立式按键的特点是每个按键单独占用一根I/O口线,每个按键工作不会影响其他I/O口线的状态,多用于所需按键不多的场合。3.4光电报警电路设计D1LED-REDVCC图3.5光电报警电路本设计的系统采LED灯报警,其主要功能是报警提示。3.5时钟频率电路设计本设计中的时钟频率为12MHZ,即fosc=12MHz,则时钟周期为1/12µs。时钟电路如图3.6所示。图3.6外部震荡源电路7单片机在时钟的驱动下才能工作。在单片机的内部有一个时钟震荡电路,只需外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,这决定着单片机的工作速度。时钟周期是指单片机在工作时,由内部振荡器产生或者由外直接输入的送至内部控制逻辑单元的时钟信号的周期。时钟周期的大小是时钟信号频率的倒数,用fosc表示。本设计选用石英晶体振荡器,在加电大约延迟10ms后振荡器起振,在XTAL2引脚中产生幅度为3V的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中有两个电容,分别为C1,C2,为10uF,作用一是帮助振荡器起振;二是对振荡器的频率进行微调。3.6阻容复位电路设计阻容复位电路由电源VCC、电解电容C2和电阻R1构成。如图3.7所示RESR110kC210uFVCCGND图3.7阻容复位电路从实现系统复位的方法来看,系统复位可分为硬件复位和软件复位。硬件复位必须通过CPU外部的硬件电路给CPU的RESET端加上足够时间的高电位才能实现。硬件复位包括上电复位、开关复位。本设计使用上电复位。在通电瞬间,由于电容两端电压不能突变,电容通过电阻充电,会在RST端出现高电平,随着时间推移,RST端逐渐变成低电平。84软件设计4.1操作功能设计根据系统功能描述,可以将功能大致分成两类:按键功能、显示功能。系统设有四个数码管,六个按键。采用菜单式人机对话,便于操作。所以可分成多种菜单,功能键切换菜单。菜单设计如下:菜单1:倒计时显示:显示格式为:秒数(如:0015,为倒计时15秒)菜单2:选手号与倒计时显示:显示格式为:选手号秒数(如0120,为1号选手与20秒回答时间)菜单3:选手号与分数显示:显示格式为:选手号分数(如0105,为1号选手得分为五分)4.2程序编制思想当主持人按下开始键后,抢答开始,则数码管开始显示倒计时时间;当3位选手中任何一人按下抢答按钮,则数码管依次显示按键选手编号、倒计时回答时间;然后主持人根据回答判断对与否按加减分键,给选手加减分,则数码管依次显示按键选手编号、选手得分;如果主持人按下开始键在倒计时时间内无选手按下抢答键和选手按下抢答键后在倒计时回答的时间内没有做出回答则报警LED灯亮;当主持人按模式键,可依次查询3位选手得分与复位开始等待下一次抢答。94.3程序的流程图NYNYNY开始按键:按下此键,抢答开始,倒计时开始;开始主持人按键开始抢答倒计时开始有选手抢答回答是否正确给选手加分给选手减分查看各选手得分结束LED报警灯亮倒计时开始是否回答LED报警灯亮10抢答按键:在开始键按下,倒计时时间内,选手按下此键抢答,抢答成功后,回答倒计时开始;加减分按键:在选手回答正确或错误时,主持人按“加分或减分”键增加或减少单题的分数,在第3、4个数码管上显示相应分数。查分按键:轮流按此键则数码管轮流显示显示选手编号和对应的分数;4.4数码管的显示程序本设计,采用了四位共阴极LED显示器的发光二极管。每一位的阴极连接在一起,一般情况下,此共阴极接地,当某个发光二极管的阳极接高电平时,发光二极管被点亮,则相应的段被显示。由于P0口的P0.0到P0.7并没有按照顺序和数码管的a、b、c、d、e、f、g相连,所以需要重新编码,因为用的是共阴数码管,所以数据端低电平亮,故codel[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。而根据数码管和单片机管脚的连接顺序,可以算出P0口发送的数据为codel[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};分别对应0,1,2,3,4,5,6,7,8,9。显示程序如下:voiddisplay(ucharbiaohao,uchartime){ucharh,l,m,n;h=time/10;l=time%10;m=biaohao/10;n=biaohao%10;LED1=0;P0=code1[m];delay(2);LED1=1;LED2=0;11P0=code1[n];delay(2);LED2=1;LED3=0;P0=code1[h];delay(2);LED3=3;LED4=0;P0=code1[l];delay(2);LED4=1;}4.5按键的识别程序按键在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。按键输入要解决的问题有:第一,按键的确认。键的闭合与否,反映在行线输出电压上就是呈现高电平或低电平,如果高电平表示键断开,低电平则表示键闭合,通过对行线电平的高低状态的检测,便可以确认按键按下与否。为了确保单片机动作只确认一次按键有效,必须消除抖动期的影响。第二,如何消除按键的抖动。此处用软件方法来处理,即在第一次检测到有键按下时,该键所对应的行线为低电平,执行一段延时5ms的延时子程序后,再次判断该行线电平是否仍为低电平,如果是低电平,则确认该行线确实有键按下,然后再用while语句实现只有当按键松开后,即行线的低电平变为高电平时,再往下执行程序后,否则一直处在while空语句循环中。按键扫描程序如下程序如下:voidkey()12{if((key4==0)&&(key5==0))//主持人开始键按下{delay(5);//延时消抖if(key4==0){key5=1;if(mode4)//主持人按键的四种模式mode++;else{mode=0;}if(mode==0)//模式0表示开始抢答{flag=1;flag1=1;flag2=1;flag3=1;Number=0;TR0=1;Time=15;}if(mode==1)//模式1暂停回答,回答初始状态{TR0=0;Number=0;13Time=15;LED5=1;}if(mode==2)//模式2显示选手1的分数{Number=1;Time=score1;}if(mode==3)//模式3显示选手2的分数{Number=2;Time=score2;}if(mode==4)//模式4显示选手3的分数{Number=3;Time=score3;}}}if((key1==0)&&(key5==0))//选手1抢答成功{delay(5);if(key1==0){key5=1;14if(flag1==1&&flag==1){Number=1;Time=20;flag2=0;flag3=0;}TR0=1;}}if((key2==0)&&(key5==0))//选手2抢答成功{delay(5);if(key2==0){key5=1;if(flag2==1&&flag==1){Number=2;Time=20;flag1=0;flag3=0;}TR0=1;}15}if((key3==0)&&(key5==0))//选手3抢答成功{delay(5);if(key3==0){key5=1;if(flag3==1&&flag==1){Number=3;Time=20;flag1=0;flag2=0;}TR0=1;}}if((key6==0)&&(key5==0))//加分{delay(5);if(key6==0){key5=1;if(Number==1){score1+=1;16Time=score1;if(score1==99)score1=0;}if(Number==2){score2+=1;Time=score2;if(score2==99)score2=0;}if(Number==3){score3+=1;Time=score3;if(score3==99)score3=0;}TR0=0;}}if((key7==0)&&(key5==0))//减分{delay(5);if(key7==0)17{key5=1;if(Number==1){if(score10)score1-=1;elsescore1=0;Time=score1;}if(Number==2){if(score20)score2-=1;elsescore2=0;Time=score1;}if(Number==3){if(score30)score3-=1;elsescore3=0;Time=score3;}18TR0=0;}}if((key1==1)&&(key2==1)&&(key3==1)&&(key4==1)&&(key6==1)&&(key7==1)&&(key5!=0)){key5=0;}
本文标题:单片机课程设计报告--三组抢答器
链接地址:https://www.777doc.com/doc-2339349 .html