单片机控制四路抢答器设计

高职毕业生毕业设计(论文)课题名称:单片机控制四路抢答器设计专业:应用电子技术班级:学号:姓名:指导教师:目录摘要 (3)关键词 (3)作品说明 (3)设计思路 (3)第一章器件功能介绍 (4)1.1元器件清单 (4)1.2 主要元器件介绍 (4)第二章单片机控制LED显示四路抢答器电路设计 (6)2.1 硬件电路设计 (6)2.2 软件设计 (6)2.3程序设计 (6)2.4总体性能与功能扩展 (10)2.5总结 (10)2.6参考文献 (10)2.7附图 (11)摘要现在开展的竞赛抢答活动越来越多,而在大多数比赛当中都是采用抢答器进行抢答的。

本设计的核心是使用AT89S52单片机控制,抢答器可同时满足4名选手或4个代表队参加竞赛抢答比赛。

且本文设计的抢答器具有功能强大,造价低廉,维修方便等特点。

该抢答器同时具有锁存,数码LED显示功能,彩灯指示,抢答报警,违规抢答报警等功能。

即选手按动按钮,会锁存相应的编号,并且在LED数码管上同步显示,彩灯指示,同时蜂鸣器会发出报警声响提示。

关键词AT89S52单片机控制LED数码显示抢答器作品说明该作品电路面板上有一个电源开关,一个复位开关,一个开始按钮,四个抢答按钮,一个电源指示灯和六个指示彩灯。

打开电源开关,面板电源指示灯(红色)亮代表抢答器已通电可以正常工作了。

复位按钮和开始按钮由主持人操控。

四个抢答按钮分别有4名选手或4个代表队操控。

当主持人问完问题按下“开始”按钮后会有三个绿色彩灯亮,这时4个代表选手可以进行抢答了,其中一路选手在抢答完毕后LED显示屏会显示相应选手的编号,蜂鸣器会发出报警提示,同时绿色彩灯熄灭而三个红色彩灯亮。

抢答器这时不会再接受其他任一路的指令抢答。

抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统复位为止。

这时主持人可以按下“复位”键进行下一轮比赛抢答了。

而在主持人没有按下“开始”键之前如有选手违规抢答,这时LED显示屏会显示选手的编号并不断闪烁,同时扬声器发出报警声绿色彩灯也会不断闪烁,直到主持人按下复位键。

设计思路(一)设计任务1.设置一个系统清除和抢答控制开关S,该开关由主持人控制2.设计四路选手抢答按钮,有选手或代表队控制3. 设计一个时序控制电路时序控制电路是抢答器设计的关键,它要完成以下二项功能:①主持人将控制开关拨到"开始"位置时,LED指示灯亮。

显示电路,报警电路进入正常工作状态②当参赛选手按动抢答键时,扬声器发声。

抢答电路停止工作。

其他任一路选手抢答电路均不能再行抢答4设计一个LED显示电路,当选手正确抢答或违规抢答时显示相应选手的编号5设计一个彩灯指示电路,当抢答器处于待机状态或选手抢答时正确指示6 设计一个报警电路,选手正确抢答或违规抢答时发出报警提示7设计一个电源电路为抢答器提供+5V电源(二)设计要求1. 单片机控制电路必须做到:主持人将按钮按到“复位”状态,抢答器应处于待机状态;主持人将按钮按至“开始”状态,宣布“开始”抢答器开始进入正确工作。

第一路选手在抢答成功或违规抢答后不会再接受其他任一路的指令。

2. 主持人控制电路必须做到:“复位”“开始”按钮优先选手抢答,即没有“复位”“开始”按钮的指令单片机控制电路均不能接受选手抢答按钮的任何指令。

3. 选手抢答按钮必须做到:选手在抢答时,实现:优先判断,编号锁存,编号显示,扬声器提示。

当第一轮抢答之后禁止二次抢答。

如果再次抢答必须有主持人再次操作“复位”“开始”状态开关。

4. 译码显示电路的任务是“翻译”二进制编码并在LED数码管上准确显示选手代号,不能出现乱码,错码现象。

5. 彩灯指示电路必须能准确迅速的显示抢答器正确工作状态。

6. 报警电路的作用在于收到信号后做出提示,当遇到报警信号时,发出警报,提示主持人做出下一步指令。

7. 电源电路的作用是为抢答器提供+5V直流电源第一章器件功能介绍1.1元器件清单1.电源电路:电源线一根开关一个9V交流变压器一个,IN4001整流二极管4个 1000u16V,220u16V 滤波电容各2 个0.33u(334)滤波电容1个 7805稳压集成芯片一个 220欧限流电阻一个电源指示灯(红色发光二极管)一个2.单片机控制电路:AT89S52单片机一块 40P底座1个排针4条3.单片机复位电路:16V47uf电容一个 1K电阻1个 220欧电阻1个4.单片机晶振电路:12MHZ晶振一个 33pf电容2个5.LED显示电路:LED共阴极数码管一块6.驱动电路:74LS04P驱动集成芯片两块 14P底座两个7.彩灯指示电路:220欧限流电阻6个发光二极管3红3绿8报警电路:8050NPN三极管1个直流蜂鸣器一个9其他配件:万用试验板1快螺丝4个排线4条导线若干1.2 主要元器件介绍1.AT89S52概述:AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器, AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

在本设计中用P2口控制LED数码管显示,用P0口控制彩灯(发光二极管)指示,用P1口接选手和主持人抢答按钮。

它的脚图如下图所示:2.74F245驱动器:74F245内有八个独立的驱动器,用以驱动LED数码管显示。

3.7805稳压集成芯片:7805是一个三端稳压集成芯片,主要起到稳定电压的作用。

使电源能够输出较稳定的5v直流电压,为抢答器提供电源。

电源电路如附图所示。

它的管脚如下图所示:4.LED共阴极数码管:LED数码管是由发光二极管构成的分为共阳极和共阴极两种,它将条状发光二极管按照共阴极(负极)或共阳极(正极)的方法连接,组成"8"字,再把发光二极管另一电极作笔段电极,就构成了LED数码管.若按规定使某些笔段上的发光二极管就能显示从0~9的…系列数字。

在本设计中用了一个共阴极数码管使它在本设计中用以显示抢答器的正常工作状态。

其内部原理图及管脚图如下图所示:第二章单片机控制LED显示四路抢答电路设计2.1 硬件电路设计电路原理图如附图所示,整个电路由单片机控制显示电路,驱动电路,LED数码显示电路,选手抢答电路,彩灯显示电路,报警电路,电源电路几部分构成。

根据电路图仔细在万用版上排版焊接,注意元器件的安装和连线。

因为只有在保证硬件功能正常运行,才能在后面程序调试时顺利进行。

同时还要注意焊点的焊接,不能产生虚焊,其次,注意74LS04的安装,发光二极管的放置,更重要的是不要错误放置单片机的方向,否则单片机烧毁,系统将损坏。

在确保硬件工作完成之后,进行程序调试,调试程序是一个摸索的过程,在不断的失败之后,只能说明离成功又进了一步,总结一次次的经验才能获得最后的成功。

2.2 软件设计1.确定好单片机各个信号输出的端口:P1.0-P1.3口为四路选手抢答信号输入;P3.2为开始信号输入;P1.4口为报警信号输出;P2.0-P2.6为LED控制a-g数码段信号输出;P0.1-P0.5为彩灯控制信号输出。

2.确定好抢答器所设计的各项功能要求:抢答功能,锁存与显示功能,优先锁存功能,抢答功能,指示功能3.根据信号输出端口,功能要求,实际电路板焊接编写程序2.3 程序设计ORG 0000HFW: MOV P1,#0FFHMOV P2,#0FFHMOV P3,#0FFHMOV P0,#0FFHCLR AD: MOV P0,#88HJB P1.0,DDQD: NOPJNB P1.0,QDLJMP TDDD: JB P1.1,ERMOV A,#06HLJMP CWER: JB P1.2,SANMOV A,#5BHLJMP CWSAN: JB P1.3,XAMOV A,#4FHLJMP CWXA: JB P1.4,DMOV A,#66HLJMP CWTD: MOV P0,#11110001BZQ: JB P1.1,ZQ1MOV A,#06HLJMP OUTZQ1: JB P1.2,ZQ2MOV A,#5BHLJMP OUTZQ2: JB P1.3,ZQ3MOV A,#4FHLJMP OUTZQ3: JB P1.4,ZQ4MOV A,#66HLJMP OUTZQ4: JB P1.0,ZQ VV: NOPJNB P1.0,VVLJMP FWCW: MOV P2,A WW: MOV P3,#00H MOV P0,#0F8HACALL DELAYMOV P3,#0FFHMOV P0,#0FFHMOV P0,#1FHLCALL DELAYMOV P0,#0FFHSJMP WWOUT: MOV 60H,#22H MOV P2,AMOV P3,#00HMOV P0,#0FFHCLR P0.3ZH: MOV A,#11HCPL AXX: MOV P3,ALCALL DELAYLCALL DELAYRL ADJNZ 60H,XXSETB P0.3SJMP XXDELAY: MOV 22H,#01HLH3: MOV 23H,#88HLH2: MOV 24H,#0FAHLH1: JB P1.0,LH0UU: NOPJNB P1.0,UULJMP FWLH0: DJNZ 24H,LH1DJNZ 23H,LH2DJNZ 22H,LH3RET总体性能与功能扩展,经过硬件的精心焊接和程序的认真编写,用仿真软件EWB进行了仿真模拟,最后进行试验调试。

本抢答器均能实现设想安排的各项功能要求。

同时该抢答器有先进的可扩展性与功能、更高的可用性并且可以在实际应用中稳定使用,不会出现任何意外情况。

另外本设计可以对抢答器扩展的功能有:1.可以对该4路抢答器扩展为8路抢答或8路以下抢答(只需更改程序另外焊接4个按钮开关)。

最多扩展可以同时满足8个人或8个代表对参加竞答比赛。

2.可以将该抢答器扩展抢答定时功能(需另外附加LED数码显示定时电路和改写程序)。

可以对选手的抢答时间进行定时。

3.可以对该抢答器扩展遥控抢答(需另外焊接遥控电路)。

可以对抢答器进行遥控控制。

4.可以对该对抢答器的报警电路扩展,可以改变抢答或报警单调的音调改为柔美的音乐声音。

因在实际制作过程中对原材料的购买,硬件电路的焊接,软件编程的要求等诸多因素的考虑本设计中未对以上几个可扩展功能设计实现。

如果提供相应的器材及时间上的宽限,我想我一定可以完成上述扩展功能,进一步完善我的作品。

合集下载

4路抢答器设计单片机课程设计报告

4路抢答器设计单片机课程设计报告

目录1、课程设计目的 (3)2、课程设计正文 (3)1、软件方面设计 (3)①总程序流程图 (3)②显示子程序流程图 (4)2、硬件方面设计 (5)①方案设计 (5)②单元电路设计 (5)③系统调试 (8)3、课程设计总结或结论 (8)4、参考文献 (8)附录一:总的原理图附录二:PCB图附录三:总程序1、课程设计目的①可以自主设计简单地电路;②掌握响应外部中断的原理;③利用Protel硬件设计电路原理图和PCB图;④初步掌握使用Proteus进行单片机的软硬件联机调试。

技术要求:①设置4个抢答台和4个抢答成功指示灯,1个比赛主持人“开始”键和1个抢答指示灯以及1个LED显示器。

②采用中断和查询结合的方法确定按键的动作。

③主持人按下“开始”键后,若有人抢答,则抢答指示灯确认有人抢答,并用7段LED显示抢答者的号码(1--4),并同时点亮对应抢答台上的抢答成功指示灯;若10秒内无人抢答,则发出超时报警,此题作废,主持人可按下“开始”键开始下一题的抢答。

2、课程设计正文1、软件设计方面①总程序流程图②显示子程序2、硬件方面设计①方案设计采用以52为内核的STC系列的芯片,组成一个单片机的最小应用系统,运用C语言编程来实现四路抢答器的设计,采用独立式键盘来作为输入,LED数码管显示,蜂鸣器来报警。

用此方案的优点是:编程简单、操作方便、成本低和错误率低。

②单元电路设计各引脚接线:通过单片机各引脚功能的介绍,本硬件设计中,P0口接数码管显示器;P1口接独立式键盘;P2.0通过PNP驱动接数码管;/ALE脚和/PSEN脚悬空,/EA脚接高电平;复位电路包含了上电复位和按键复位;晶振选择为6MHz,GND接地,VCC接+5V电源;蜂鸣电路接在P2.1上面。

针对抢答器的设计,输入电路键盘按下开始键后,开始抢答,按下相应的键,输出电路相应的LED二极管发光、数码管显示相应的序号⑴复位电路复位电路有两种复位方式:上电复位和按键复位。

基于单片机的四路抢答器

基于单片机的四路抢答器

基于单片机的四路抢答器1.由于剩余4个引脚,所以可以扩展到8路2.矩阵键盘输入任意两位数倒计时初值一、功能要求以8051系列单片机为核心,设计一个4路竞赛抢答器。

具体功能要求如下:1、该抢答器最多可供4名选手参赛,用4个按钮S0~S3表示,设置一个系统复位和抢答控制开关S,由主持人控制。

2、当主持人启动“抢答开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,LED显示器上显示选手的编号和抢答的时间并保持到主持人将系统清除为止;如规定的时间内无人抢答则蜂鸣器发声,计时器复位,为下一次计时做好准备。

3、抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。

4、只有主持人的操作将电路复位后,方可结束上一次的抢答,为下一次抢答做好准备。

二.设计方案(1)倒计时用矩阵键盘输入,程序中用keycount来记录按下按键的次数,我只设置两次,只能输入两位数,多按下几次是没有效果的,相当于键盘自锁,之后单片机读取键值,缓存入一个两位的数组table【2】。

(2)采用的是3位led动态扫描的方式显示(3)中断扫描选手按键,选手按键用的用独立键盘,用与门接选手按键,当有人按下时,与门由高到低,产生下降沿而引起中断,单片机扫描独立键盘。

(4)蜂鸣器电路(5)开始按键和复位按键1-1主流程图1-2 外部中断扫描选手按键1-3 定时器中断电路图如下图由于仿真软件proteus不能用PnP仿真,所以去掉了PnP,直接用IO口驱动;真实是不行的。

#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit FUW=P3^5; //抢答键sbit CLR=P3^4; //清零,复位键sbit xuan1=P2^4;//选手1,2,3,4sbit xuan2=P2^5;sbit xuan3=P2^6;sbit xuan4=P2^7;sbit wei1=P2^0;//位选1,2,3,4sbit wei2=P2^1;sbit wei3=P2^2;sbit wei4=P2^3;sbit buz=P3^0;uchar code numtab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳极uint table[3]={0,0,0};//倒计时缓存uchar keycount=0;uint time=0;uchar num=0;uint ge,shi;/***********延时函数*****************/void delayms(uint xms){uint i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}/************蜂鸣器****************/void buzzer(){buz=0;delayms(50);buz=1;}/************报警部分独立按键扫描********************/ void kscan(){uchar sk;if(xuan1==0){delayms(10);if(xuan1==0){buzzer();sk=1;table[2]=sk;}}else if(xuan2==0){delayms(10);if(xuan2==0){buzzer();sk=2;table[2]=sk;}}else if(xuan3==0){delayms(10);if(xuan3==0){buzzer();sk=3;table[2]=sk;}}else if(xuan4==0){delayms(10);if(xuan4==0){buzzer();sk=4;table[2]=sk;}}}/**********矩阵键盘扫描***************/ void keyscan(){uint temp,key;P1=0xfe;//第一行为0temp=P1;temp=temp&0xf0;//与上11110000if((temp!=0xf0)&&(keycount<2))delayms(10);//去抖temp=P1;temp=temp&0xf0;if(temp!=0xf0){temp=P1;switch(temp){case 0xde:key=0;table[keycount]=key;keycount++;break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xfd;//第二行为0temp=P1;temp=temp&0xf0;//与上11110000if((temp!=0xf0)&&(keycount<2))delayms(10);//去抖temp=P1;temp=temp&0xf0;if(temp!=0xf0){temp=P1;switch(temp){case 0xed:key=1;table[keycount]=key;keycount++;break;case 0xdd:key=2;table[keycount]=key;keycount++;break;case 0xbd:key=3;table[keycount]=key;keycount++;break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xfb;//第三行为0temp=P1;temp=temp&0xf0;//与上11110000if((temp!=0xf0)&&(keycount<2)){delayms(10);//去抖temp=P1;temp=temp&0xf0;if(temp!=0xf0){temp=P1;switch(temp){case 0xeb:key=4;table[keycount]=key;keycount++;break;case 0xdb:key=5;table[keycount]=key;keycount++;break;case 0xbb:key=6;table[keycount]=key;keycount++;break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xf7;//第四行为0temp=P1;temp=temp&0xf0;//与上11110000if((temp!=0xf0)&&(keycount<2)){delayms(10);//去抖temp=P1;temp=temp&0xf0;if(temp!=0xf0){temp=P1;switch(temp){case 0xe7:key=7;table[keycount]=key;keycount++;break;case 0xd7:key=8;table[keycount]=key;keycount++;break;case 0xb7:key=9;table[keycount]=key;keycount++;break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}}/********显示函数*********/ void display(){ge=time%10;shi=time/10;wei1=1;wei2=0;wei3=0;P0=numtab[shi];delayms(5);P0=0xff;wei1=0;wei2=1;wei3=0;P0=numtab[ge];delayms(5);P0=0xff;wei2=0;wei1=0;wei3=1;P0=numtab[table[2]];delayms(5);P0=0xff;wei3=0;}/****************主函数**********************/ main(){EA=1;TMOD=0x01;TH0=(65536-50000)/256;//定时50msTL0=(65536-50000)%256;ET0=1;EX0=1;IT0=1; //下降沿触发PX0=1;PT0=0;while(1){if(keycount<2){ keyscan();if(keycount==2){time=10*table[0]+table[1];}}if(keycount==2){display(); }/******按下开始抢答键********/if(FUW==0){delayms(10);if(FUW==0){TR0=1;while(!FUW);}}/********按下清零键*********/if(CLR==0){delayms(10);if(CLR==0){TR0=0;EX0=1;time=0;ge=0;shi=0;table[0]=0;table[1]=0;table[2]=0;keycount=0;while(!CLR);}}}}/**************定时器0中断******************/ void t0() interrupt 1{TH0=(65536-50000)/256;//定时50msTL0=(65536-50000)%256;num++;if(num==20){num=0;time--;if(time==0){TR0=0;}}}/*********外部中断0***********/void estern0() interrupt 0{uchar ks;EX0=0;//关掉中断,防止键盘抖动,多次中断,还有就是//只扫描第一次按键的选手,之后按键不扫描if(TR0==0||time==0){kscan();}else if(xuan1==0&&TR0==1 ){delayms(10);if(xuan1==0){ks=1;table[2]=ks;TR0=0;while(!xuan1);}}else if(xuan2==0&&TR0==1 ) {delayms(10);if(xuan2==0){ks=2;table[2]=ks;TR0=0;while(!xuan2);}}else if(xuan3==0&&TR0==1 ){delayms(10);if(xuan3==0){ks=3;table[2]=ks;TR0=0;while(!xuan3);}}else if(xuan4==0&&TR0==1 ){delayms(10);if(xuan4==0){ks=4;table[2]=ks;TR0=0;while(!xuan4);}}}。

单片机控制四路抢答器设计

单片机控制四路抢答器设计

课题名称:单片机控制四路抢答器设计专业:电机与电器班级:电测092班学号:200901370225姓名:戴兴国指导教师:陈新喜目录摘要 (3)关键词 (3)作品说明 (3)设计思路 (4)(一)设计任务 (4)(二)设计要求 (4)第一章器件功能介绍 (5)1.1元器件清单 (5)1.2 主要元器件介绍 (5)2.74F245驱动器: (6)第二章单片机控制LED显示四路抢答电路设计 (7)2.1 硬件电路设计 (7)2.2 软件设计 (7)2.3 程序设计 (7)参考文献 (9)摘要现在开展的竞赛抢答活动越来越多,而在大多数比赛当中都是采用抢答器进行抢答的。

本设计的核心是使用A T89S52单片机控制,抢答器可同时满足4名选手或4个代表队参加竞赛抢答比赛。

且本文设计的抢答器具有功能强大,造价低廉,维修方便等特点。

该抢答器同时具有锁存,数码LED显示功能,彩灯指示,抢答报警,违规抢答报警等功能。

即选手按动按钮,会锁存相应的编号,并且在LED数码管上同步显示,彩灯指示,同时蜂鸣器会发出报警声响提示。

关键词A T89S52单片机控制LED数码显示抢答器作品说明该作品电路面板上有一个电源开关,一个复位开关,一个开始按钮,四个抢答按钮,一个电源指示灯和六个指示彩灯。

打开电源开关,面板电源指示灯(红色)亮代表抢答器已通电可以正常工作了。

复位按钮和开始按钮由主持人操控。

四个抢答按钮分别有4名选手或4个代表队操控。

当主持人问完问题按下“开始”按钮后会有三个绿色彩灯亮,这时4个代表选手可以进行抢答了,其中一路选手在抢答完毕后LED 显示屏会显示相应选手的编号,蜂鸣器会发出报警提示,同时绿色彩灯熄灭而三个红色彩灯亮。

抢答器这时不会再接受其他任一路的指令抢答。

抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统复位为止。

这时主持人可以按下“复位”键进行下一轮比赛抢答了。

而在主持人没有按下“开始”键之前如有选手违规抢答,这时LED显示屏会显示选手的编号并不断闪烁,同时扬声器发出报警声绿色彩灯也会不断闪烁,直到主持人按下复位键。

用51单片机制作4路抢答器

用51单片机制作4路抢答器

用51单片机制作4路抢答器此抢答器具有限时抢答,超时无效的特点,并可以对主持人未喊开始而提前抢答的犯规情况作出判断。

由于用了单片机,所以电路很简单。

懒得写译码程序,也不想做驱动电路。

干脆直接用了一片74LS48译码驱动器来驱动数码管。

 呵呵,面包板上插一下,由于之前在Proteus中仿真过,所以直接就正常运行了~上一张实物图 左边的是STC89C52的最小系统版,P1口上接了8个LED,当时做流水灯的。

直接拿来用了。

P2口是显示输出,P3口接受按键。

那个小的芯片就是74LS48啦~下方的是编程器+电源,STC的芯片就是编程方便,支持在线烧写,这么小巧的编程器~ 当然最重要的是程序,附上代码清单。

写的比较烂,竟然上了100行,希望不要被大虾们骂得太惨>_#include#defineuintunsignedchar //计时变量uints= 0,ms= 0; //枚举类型:记录抢答器工作状态enumStat{ Idle= 0,//空闲状态,比如正在读题Ready= 1,//就绪状态,可以抢答Respond= 2,//响应状态,有人抢到了}stat; //时钟中断服务程序voidTimer()interrupt1using1{ TH0=0x3C; TL0=0xBD; ms++; s+=ms/20; ms%= 20; s%= 60;} //重置时钟voidResetTimer(){ EA= 1;//允许CPU中断ET0= 1;//定时器中断打开TMOD= 1;//设定时器为方式TR0= 0;//关定时器ms= 0; s= 0;} //优先编码(反向输入)uintEncode(uintc){ uinti,mask= 1; if(c== 0)return0; for(i= 0;ivoidmain(){ uintled= 0xff;//对应P1口,指示灯uintdisp= 15;//对应P2口,数。

单片机四路抢答器课程设计

单片机四路抢答器课程设计

单片机四路抢答器课程设计-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN课程设计(论文)题目名称简易四路抢答器设计课程名称单片机原理及应用学生姓名瞿永学号 04系、专业电气工程系测控类指导教师杨波2010年 7 月 1 日邵阳学院课程设计(论文)评阅表学生姓名瞿永学号 04系别电气工程系专业班级 08电本二班题目名称简易四路抢答器课程名称单片机原理及应用二、指导教师评定目录摘要 .............. 错误!未定义书签。

一,设计任务与要求 .. 错误!未定义书签。

二,方案设计与论证 .. 错误!未定义书签。

三,硬件电路设计 .. 错误!未定义书签。

四,软件设计... 错误!未定义书签。

五,器件选型方案 .. 错误!未定义书签。

六,调试: ...... 错误!未定义书签。

七,结论与心得...... 错误!未定义书签。

八,参考文献... 错误!未定义书签。

单片机四路抢答器设计摘要抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。

但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。

作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。

本设计是以四路抢答为基本理念。

考虑到依需设定限时回答的功能,利用AT49C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。

用开关做键盘输出,扬声器发生提示。

同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。

基于单片机实现智能4路抢答器的设计

基于单片机实现智能4路抢答器的设计

智能四路抢答器目录一、前言 (3)二、方案设计 (3)1、方案比较 (3)2、系统总体设计方案与实现框图 (3)三、理论分析 (3)四、电路设计 (4)1、按键部分 (4)2、显示部分 (4)五、软件模块 (5)六、测试方法与数据 (6)七、结论 (6)八、参考文献 (6)一、前言本设计要求能够在主持人按下开始键后,四个参赛者开始抢按自己的按键,谁的按键先按下,谁面前的灯就会亮并且有相应的提示,当参赛者耗时太多时又会有相应的提示。

根据设计的要求,本系统采用独立式按键,通过单片机不停的扫描按键来控制LED灯和蜂鸣器,并用定时器T0来定超时的时间,当超时的时候让蜂鸣器响。

二、方案设计1、方案比较(1)、总体设计方案一:采用可编程I/O口扩展芯片81558155作为单片机的扩展接口能实现很多功能,但是这个系统并不复杂,用8155会浪费很多的资源,而且8155要用P0和P2端口作为地址线对它进行读写,这样不仅浪费端口还使得编程变的复杂。

从节省资源和简化编程的角度考虑,放弃了此方案。

方案二:直接采用AT89C51单片机直接用单片机不仅编程被简化,还有效的利用了各个端口。

8051单片机的资源完全够这个系统的要求。

所以最终选择了此方案。

(2)、模块方案一:采用4*4矩阵键盘此种键盘是常用的按键扫描方法,但是本系统只需要六个按键,这样就会浪费十个,而且矩阵按键扫描要送数读数,对于编程很复杂,最终放弃了此方案。

方案二:采用独立式键盘本系统只要六个按键就可以,用独立式键盘不仅节省端口还使编程变得简单。

程序只要不停的读数检查就行。

所以,最终选择此方案。

2、系统总体设计方案与实现框图采用六个独立式的键盘作为按键输入,当在开始后有按键按下时,就会有对应于这个按键的灯亮并且蜂鸣器响一声,其它按键再按也无效。

十秒之后如不清除,蜂鸣器就会一直响,提示已经到时间。

框图如图1。

- 1 -6图1三、理论分析51单片机的端口上电是高电平,而且当外部没有输入时能自动的弹跳到高电平,所以通过按键所接端口的高低电平变化可以判断出哪个按键按下了。

51单片机的四路电子抢答器设计

目录1设计要求与功能 (4)1.1设计基本要求 (4)2 硬件设计 (4)2.1控制系统及所需元件 (4)2.2抢答器显示模块 (5)2.3 电源方案的选择 (6)2.4 抢答器键盘的选择 (6)2.5蜂鸣器模块 (7)2.6外部振荡电路 (7)3 程序设计 (7)3.1程序流程图 (7)3.2系统的调试............................................... (9)3.3 焊接的问题及解决 (10)4总结 (10)附录C程序 (11)Word 资料一设计要求与功能1.1设计基本要求(1)抢答器同时供4名选手或4个代表队比赛使用,分别用4个按钮K1~K4表示。

(2)设置裁判开关k5和清零开关k6,该开关由主持人控制,当主持人按下k6,系统复位,预备抢答,当主持人按下总控制控制开关k5,开始抢答;(3)抢答器具有定时抢答功能,抢答时间为倒计时15秒。

当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的提示声响,声响持续的时间0.5秒左右,当计时小于5秒后,每减少一秒,便报警一次以提示选手。

(4)抢答器具有锁存功能,参赛选手在设定的时间内进行抢答,抢答有效,蜂鸣器发声,计时停止,数码管上显示选手的编号和时间,选手相应的信号灯被点亮,其他选手再抢答时无效。

(5)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答。

等待下一轮抢答。

二硬件设计2.1控制系统及所需元件控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。

其中单片机STC89C52是系统工作的核心,它主要负责控制各个部分协调工作。

所需元件:该系统的核心器件是STC89C52。

各口功能:P0.0-P0.3 是数码管的位选口;P2.0-P2.7是数码管的段选口,为其传送段选信号;P1.0-P1.3是4组抢答信号的输入口;P1.4、P1.5由裁判控制,分别是抢答开始\复位功能键;P1.6为蜂鸣器的控制口;P3.4-P3.7为选手信号灯输出口;在其外围接上电复位电路、数码管电路、LED发光二极管、按键电路及扬声器电路。

单片机课程设计四路抢答器文档

1 设计任务和方案1.1设计任务(一)设计题目:抢答器(二)设计目的与任务:学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。

1.2功能要求说明该抢答器上电或按键复位后能自动显示系统提示符“P.”。

设定S2键、S3键、S4键、S5键、S9键分别为一号选手键、二号选手键、三号选手键、四号选手键、开始键。

若在主持人按下开始键之前有人按下抢答键,则抢答违规,数码管显示器显示违规台号,违规指示灯亮(接在P3.0上的灯),其他按键不起作用,只有主持人按复位键后才能重新开始抢答。

主持人按下开始键后,抢答开始并限定时间30S;10S 内无人抢答,蜂鸣器发出音响;若30S后依然无人抢答,蜂鸣器发出音响,违规指示灯亮。

正常抢答下,从抢答键按下开始30S内,答完后键没按下,则数码管显示器显示违规台号,违规指示灯亮,蜂鸣器发出音响。

各台数字显示的消除、蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位键实现。

1.3设计总体方案及工作原理说明设计中采用AT89S52芯片、LED显示器、蜂鸣器、LED灯和一些独立式按键构成一个简易四路抢答器。

设计中是采用单片机的内部定时器进行定时,原理框图如图1.1所示整个抢答器的工作原理是:在正常的供电状态下,开始抢答时利用单片机倒计时,并由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则执行相应的键功能程序。

AT89S52单片机晶振电路单片机复位电路键盘输入8段LED显示器LED灯蜂鸣器图1.1 原理框图2抢答器的硬件系统的设计2.1 硬件系统各模块功能简要介绍该抢答器主要由单片机最小系统、独立式键盘模块、LED显示电路模块、蜂鸣电路模块和LED指示灯电路模块组成。

各模块的功能如下:(1)单片机最小系统由AT89S52单片机、时钟电路和复位电路构成。

基于51单片机实现四路抢答器

/*功能:通过按键实现四路抢答器,并且通过数码管显示部分显示在主持人按下复位按钮后,开始下一轮的抢答。

*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar k;uchar code table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};sbit kongzhi=P2^1;sbit key5=P3^4;//复位按钮sbit key1=P3^0;//抢答器1sbit key2=P3^1;//抢答器2sbit key3=P3^2;//抢答器3sbit key4=P3^3;//抢答器4void delayms(uint max)//延时函数{ uint i,j;for(i=max;i>0;i--)for(j=110;j>0;j--);}void main()//主函数{bit fak;//通过控制fak,使数码管保持最开始按下的数字P0=0x3f;//最开始,数码管显示0kongzhi=0;//数码管的公共端是低电平有效,由于使用的是PNP,故输入高电平。

while(!fak)//关键在此{if(!key1)//如果第一个按键按下,数码管显示1{P0=0x06;fak=1;}else if(!key2) //如果第二个按键按下,数码管显示2{P0=0x5b;fak=1;}else if(!key3) //如果第三个按键按下,数码管显示3{P0=0x4f;fak=1;}else if(!key4) //如果第四个按键按下,数码管显示4{P0=0x66;fak=1;}}while(fak){if(key5==0)//复位按钮的设定{P0=0x3f;fak=0;}}}。

基于单片机的4位抢答器设计论文

单片机课程设计报告项目名称基于单片机的抢答器设计摘要此次设计提出了用STC89C52单片机为核心控制元件,设计一个简易的抢答器,本方案以STC89C52单片机作为主控核心,发光二极管、数码管、蜂鸣器等构成四路抢答器,利用了单片机的按键复位电路、时钟电路、定时/中断等电路,设计的抢答器具有实时显示抢答选手的的特点,还有复位电路,使其再开始新的一轮的答题和比赛,同时还利用C语言编程,使其实现一些基本的功能。

本设计的系统实用性强、判断精确、操作简单、扩展功能强。

它的功能实现是比赛开始,主持人读完题之后按下总开关,此时数码管显示初始状态0,直到有一个选手抢答时,对应的会在数码管上显示出该选手的编号,同时发光二极管出现闪烁状态,蜂鸣器也会发出声音,以提示有人抢答本题,主持人按下复位键,示意可以答题。

关键字:STC89C52单片机;动态显示;中断;按键控制AbstractThis design use STC89C52as the core control element is presented to design a simple responder, this scheme is STC89C52 single chip microcomputer as control core, light-emitting diode, digital tube, buzzer and so on four road vies to answer first device, using the single chip microcomputer button reset circuit, clock circuit, timing/interrupt circuit, design of vies to answer first appliance has the characteristic of real-time display vies to answer first contestant's number, and reset circuit, to start a new round of the answer and, at the same time also use of C language programming, make it implements some basic functionality.The design of the system is practical, accurate judgment, simple operation, strong extended functionality. Its function realization is the match began, and the host to read the topic after press the main switch, the digital tube display initial condition 0, until there is a contestant vies to answer first, the corresponding in the contestant's serial number is shown on the digital tube, light-emitting diodes, flicker status at the same time, the buzzer will sound, to remind someone vies to answer first ontology, host press the reset button, the signal can be the answer.Keywords:STC89C52 microcomputer; Dynamic display; Interrupt; The key control目录摘要IAbstractII第1章绪论11.1 单片机抢答器的背景11.2 单片机抢答器的意义11.3 抢答器的应用1第2章系统硬件部分的设计22.1设计要求22.2 总体设计方案22.3 单元模块设计32.3.1 单片机简介32.3.2 最小系统的设计52.3.3 数码管显示电路62.3.4 按键模块设计6第3章系统的软件设计 (8)3.1 抢答器工作原理83.2 流程图83.3 KEIL软件简介9第4章系统的仿真与调试114.1 软件的仿真与调试114.2硬件的安装与调试114.2.1晶振电路的测试114.2.2复位电路的测试124.2.3显示电路的测试12总结13参考文献13附录1源程序代码14附录2 元件清单16附录3 仿真图17附录4 实物照片展示18致19第1章绪论1.1 单片机抢答器的背景二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档