八路抢答器Word下载.docx
《八路抢答器Word下载.docx》由会员分享,可在线阅读,更多相关《八路抢答器Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
2.2.2复位电路4
2.3抢答电路4
2.4显示电路4
2.5控制电路4
2.6整体工作原理5
3软件设计6
3.1定时中断模块6
3.2外部中断模块7
3.3主程序模块9
3.4报警模块10
4程序调试阶段11
4.1程序初始化调试11
4.2抢答倒计时程序调试12
4.3选手强大阶段程序设计13
4.4选手加分阶段13
5结论14
参考文献15
致谢16
1引言
1.1问题提出
在知识竞赛中,尤其是在一些抢答题目的比赛中,一方面为了在抢答的过程中秉承公正、公平的原则,另一方面也为了准确的判断出哪一组或是哪一位选手最先抢答成功,按此思路就必须要设计一个系统来完成这个任务。
因为在抢答的过程中,靠视觉是很艰难判处哪组先答题。
多路数字抢答器在各种智力竞赛中经常用到,在各校举行的各种竞赛中我们也能经常看到各种有抢答的环节,举办方多数采用让选手通过举答题板的方法判断选手的答题权,在某种程度上这回因为主持人的主观判断造成比赛的不公平性。
利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差微秒也可以分辨出使哪组优选回答问题。
作为本次思路设计的八路抢答器,对组数获参赛选手的人数限制在八组或八位成员内,系统采用AT89C52系列单片机作为核心,控制系统的模块分别为:
抢答器按键模块、数码管显示模块、语音模块。
1.2研究现状分析
随着电子科技的飞速发展,基于单片机的控制系统已经广泛应用于工业、农业、电力、电子等行业。
单从我国抢答器这一市场上看,与之相关的核心生产技术应用与研发必将成为业内企业关注的焦点。
抢答器作为一种电子产品,就目前使用来看,很多电路较复杂不便于制作,可靠性低,实现起来很困难;
有的则用一些专用的集成块,而专用集成块的购买又很困难。
为适应高校等多代表队单位活动的需要而设计一个多功能抢答器,这种抢答器具有电路简单,元件普通,易于购买等优点,很好地解决了制作困难和难于购买的问题。
在国内外已经开始了普遍的应用。
而且目前多数抢答器存在3个不足之处:
第一,现场线路连接复杂。
因为每个选手位于抢答现场的不同位置,每个选手与控制台之间要有长长的连接线。
选手越多,连接线就越多、越乱,这些连接线不仅影响了现场人员的走动。
第二,电路复杂。
因为单片机只能完成号码处理、计时、数据运算等功能,其他功能如选手号码的识别、译码、计分显示等仍只能通过数字集成电路完成。
采用单片机扫描技术识别选手抢按号码时,电路的延迟时间较大。
第三,选手抢按成功,但出现没有抢答被记录的问题。
1.3研究思路
据以上现状分析,该装置本着经济适用,且适用范围广的理念设计,设置基于深圳宏晶科技STC89系列单片机的高速、高可靠、在线编程等特点的单片机STC89C52。
在Windows操作系统下运用Protel99se软件进行PCB板的绘制,运用KeiluVision2软件进行程序的编写与调试。
实现计算机与单片机STC89C52的通信,外围电路实现信号传递,用MAX232芯片及外围电路实现,再通过串口线,连接与电脑的串口连接。
从而实现控制数码管显示以及简单的操作。
研究方法采用调试法与经验总结法,在设计过程中不断总结,不断更新。
争取做出一块操作与电路相对简单可行,对元件的选择基于普通,易于购买经济实惠、可行性强、功能效果上判断准确、公平、直观的八路抢答器。
2硬件设计
2.1单片机控制原理
单片机STC89C52内部最核心的部分为CPU,CPU主要功能是产生各种控制信号,控制存储器、输入/输出端口的数据传输、数据的算术运算、逻辑运算等处理。
八路抢答器中主要有其内部主控芯片与来控制实现硬件设计。
2.1.1主控芯片
单片机STC89C52RC具有低电压供电和体积小等特点,四个端口只需要两个口就能满足系统的设计需要,很适合便携式产品的设计使用系统。
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
主要功能特性如下:
◆增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.
◆工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)
◆工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
◆用户应用程序空间为8K字节
◆片上集成512字节RAM
◆通用I/O口(32个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
◆ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片
◆具有EEPROM功能
◆具有看门狗功能
◆共3个16位定时器/计数器。
即定时器T0、T1、T2
◆外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒
◆通用异步串行口(UART),还可用定时器软件实现多个UART
◆工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)
◆PDIP封装
主要特点:
STC89C52RC单片机的主要特点在于它工作的最小系统比较简单,在最小系统中包括复位电路和外部振荡电路。
工作频率在0Mhz—40Mhz,外接不同频率的晶振可以得到不同的运算速度,可以轻松的满足一般的自动控制系统的需求。
不足之处在于STC89C52RC只是8位单片机,并且STC89C52RC的I/O口输出电流较小,但是对于一般的控制系统是可以满足的。
本设计采用的是22.1184MHz的晶振,一个机械周期为0.5us。
2.1.2STC89C52单片机的工作模式
掉电模式:
典型功耗<
0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序
空闲模式:
典型功耗2mA
正常工作模式:
典型功耗4Ma~7mA
掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备
2.2时钟电路与复位电路
2.2.1时钟电路
时钟电路是计算机的心脏,控制计算机的工作节奏。
八路抢答器中单片机必须由时钟控制来完成信号的输入输出,不仅如此,时钟信号还用来提供单片机内各种微操作的时间基准,而时钟电路又用于产生单片机工作所需要的时钟信号。
此次设计系统中时钟信号采用外部震荡方式。
2.2.2复位电路
复位电路作为单片机最小系统中不可缺少的一部分,供电电压为5V。
系统采用外部复位电路中的按键手动复位操作,以脉冲方式在整个抢答过程结束后,系统需要清除数据时来实现复位操作。
2.3抢答电路
此模块的工作原理是采用单片机的最小系统,用独立式键盘进行抢答。
通过抢答按键模块,连接按键进行抢答,抢答过后,再通过主持人按加分键进行计分。
其工作原理为:
接上电源后,系统处于初始阶段,此时任何选手按键抢答均为无效。
待主持人按开始键后,系统处于抢答倒计时20秒,这阶段选手均可抢答。
若20秒过后再抢答,均视为无效,直接进入下一轮。
若抢答成功,选手作答成功,则主持人按加分键进行加分,之后按下停止键进行下一轮开始;
若选手作答错误,则直接按下停止键进入下一轮。
2.4显示电路
数码管在电路中用来显示抢答时间、选手号码与分数。
为了便于在场人员观看,本装置采用1.5英寸(3.81cm)八段数码管,并以74HC595作为八段数码管的驱动,显示方式为静态显示,确保系统稳定,采用共阳的方式连接。
工作原理:
连接电源后,系统处于初始阶段数码管显示为0-00,抢答开始后,数码管显示为倒计时,中间若有人抢答则显示抢答选手的号数,且在作答正确后,显示最后的得分,无人抢答则等待倒计时终止,系统恢复到初始阶段,数码管显示0-00。
2.5控制电路
本次设计中控制电路采用8个独立按键作为选手的抢答键,主持人则控制开始、停止、加分与复位4个按键,具体操作时,以开始键为主控键。
控制电路的原理与实现:
当控制电路中KEY1-KEY8中有键被按下时,对应的I/O口被置低电平,听过中断程序实现相对应的功能。
该电路采用独立式按键,其原理简单明了。
原理图如图2.1:
图2.1按键电路
2.6整体工作原理
本系统采用单片机作为整个控制核心。
控制系统的四个模块:
显示模块、控制模块、报警模块、抢答模块。
工作时,该系统通过矩阵键盘输入抢答信号,经单片机的处理,输出控制信号,利用一个4位数码管来完成显示功能并伴随蜂鸣器报警,用按键来让选手进行抢答,在数码管上显示倒计时及按下抢答器的选手号码,从而实现整个抢答过程。
当主持人按下开始键时,向单片机P3.2引脚输入一个低电平信号,表示整个电路开始工作,此时数码管0-20,进入倒计时时间。
若在20秒内仍无人抢答,则视为放弃抢答,直接按开始键或复位后再按开始键进入下一轮;
若有人抢答,则数码管显示抢答显示在数码管前两位,答题结束后,若正确,主持人按下加分键,不正确则不加分,直接按下停止键,进入下一环节。
此次用单片机设计的抢答器思路简单明了,可操作性强,可靠性高,扩展功能强,能够完全实现普通抢答器的基本功能。
3软件设计
3.1定时中断模块
由于抢答器中需要显示倒计时来提示选手抢答时间,在规定时间内抢答,所以需要有定时中断模块,当抢答时间结束时,要关闭外部中断,表示抢答结束,此时再有按键按下抢答器也不会做出反应。
流程图如图3.1所示:
图3.1程序流程图
/*设置定时器0*/
T0_PROC()interrupt1using1
{
SET_HTIME0_PARA(FOSC,20)
TimeCnt++;
if(TimeCnt==50)
{
TimeCnt=0;
B1s=1;
}
/*总中断在程序初始化时开启*/
Scan_Key();
if(B1s)
{
B1s=0;
ChaoShi--;
//抢答倒计时
if(ChaoShi==0)
{
ET0=0;
//关闭中断0
Start_Flag=0;
JiaFen_Flag=0;
No=0;
}
}
3.2外部中断模块
抢答器主要外部中断来自于选手们的抢答,当选手抢答时,抢答器随即判断被按下的键号与分数并显示在八段数码管之上,同时关闭定时器中断0。
表示抢答结束,此时再有按键按下抢答器也不会作出反应。
外部中断流程程序及程序图如3.2所示:
Scan_Key()
uchartemp;
if(Start_Flag)
if(!
Key_Flag)
KEY1SIG)
TR0=0;
Delay10ms();
No=1;
JiaFen_Flag=1;
SPEAKER=0;
SET_HTIME1_PARA(FOSC,20)
ET1=1;
TimeCnt1=0;
Key_Flag=1;
}
while(!
KEY1SIG);
……
elseif(!
KEY8SIG)
No=8;
KEY8SIG);
else;
图3.2外部中断流程图
3.3主程序模块
主程序模块完成硬件初始化,子程序调用和程序间的切换,由于此次设计要求抢答器具有开始、加分、停止、复位等方式切换功能。
所以主程序除了要进行硬件部分的初始化之外还要进行各个程序间的调用和切换。
主程序流程图如图3.3所示:
图3.3主程序流程图
3.4报警模块
报警模块主要有三个,一是主持人按开始键时蜂鸣器发生报警,以提示选手们抢答开始。
二是当有选手抢答成功时蜂鸣器放出警报,提示抢答成功,其他选手不必抢答。
三是当主持人按停止键时蜂鸣器放出警报,提示本次抢答结束,即将进入下一轮抢答。
Speaker=0//报警器发出响声
/*报警模块专用定时器*/
T1_PROC()interrupt3using1
SET_HTIME1_PARA(FOSC,20)
TimeCnt1++;
if(TimeCnt1==25)
TimeCnt1=0;
B500ms=1;
4程序调试阶段
4.1程序初始化调试
抢答器上电之后,此时选手按键无效,主持人未按开始建与复位键,开启总中断,定时器不工作,八段数码管显示“0—00”如图4.1所示:
图4.1八段数码管显示
程序初始化程序:
Init()
P1=P3=0xff;
P0=0XFF;
/*定时器0初始化*/
TMOD=0X11;
TR0=1;
ET0=0;
PT0=0;
TR1=1;
ET1=0;
EA=1;
4.2抢答倒计时程序调试
主持人按开始键之后系统进入倒计时阶段,此阶段内选手可以进行抢答,数码管显示倒计时时间。
在此阶段内,若无人抢答,当倒计时时间到时,系统自动回归到复位阶段,此时选手按键将无效。
八段数码管显示如图4.2、4.3所示:
图4.2抢答倒计时显示
图4.3倒计时时间到,系统自动复位
抢答倒计时程序
if(B1s)
B1s=0;
ChaoShi--;
if(ChaoShi==0)//抢答倒计时时间到
ET0=0;
Start_Flag=0;
JiaFen_Flag=0;
No=0;
4.3选手强大阶段程序设计
主持人按开始键之后,在抢答时间内若有人抢答,则显示该选手的号码与分数(如图4.4),并且将选手按键的标志位置零,使后面选手再按抢答键时无效。
抢答成功的同时,关闭定时器1,使倒计时停止,否则将会出现抢答时间结束,系统就恢复到初始状态,使此次抢答无效化。
图4.4数码管显示按键无效
4.4选手加分阶段
选手抢答成功后,数码管将显示该选手号码与所得分数,若此选手回答正确,主持人按加分键进行加分,并将选手目前为止的得分直接显示在数码管上(如图4.5)。
然后主持人按停止键,此轮抢答结束。
图4.5得分显示
5结论
通过这次毕业设计,我们小组设计八路抢答器,采用了单片机技术、数字电子、模拟电子、制作电路板等相关技术。
把在学校这一段时间所学知识连成一串,理论联系实践。
通过查资料和搜集有关的文献,培养了自学能力和动手能力。
并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。
在以往的传统的学习模式下,我们可能会记住很多的书本知识,但是通过毕业论文,我们学会了如何将学到的知识转化为自己的东西,学会了怎么更好的处理知识和实践相结合的问题,学会严谨治学的态度。
。
尽管在设计过程中由于时间仓促有很多地方难免存在不足之处,硬件设计已经完成,在软件设计中有些功能还尚未开发出来。
但在以后的工作中,我们会严格要求自己,追求完美。
[参考文献]
[1].邓兴成.单片机原理与实践指导[M].北京:
机械工业出版社,2009:
1~28.113~128
[2].楼然苗.51系列单片机设计实例[M].北京:
北京航空航天大学出版社,2003:
49~56
[3].阎石.数字电子技术基础[M].第五版.北京:
高等教育出版社,2006:
90~100
[4].童诗白.华成英.模拟电子技术基础[M].北京:
高等教育出版社,2006:
513~562
[5].郭天祥.51单片机C语言教程[M].北京:
电子工业出版社,2009:
65~69
[6].谭浩强.C程序设计[M].北京:
清华大学出版社,2004:
69~79
[7].马维华.微机原理与接口技术[M].第二版北京:
科学出版社,2009:
246~249
[8].王廷才.电子线路辅助设计Protel99SE[M].北京:
高等教育出版社,2004.7:
187~197.200~290
[9].胡学海.单片机原理及应用系统设计[M].北京:
京电子工业出版社,2005:
146~169
[10].陈大钦.电子技术基础实验[M].第二版湖北:
机械工业出版社,2001:
59~90
[致谢]
感谢曲靖师范学院给我这四年的大学生活营造了一个良好的学习氛围。
在这四年期间,学院为我们提供了充分的实验设备以及计算机设备,尤其是大四,学院主动努力通过相关渠道为我们寻找实习单位,且最后在杨老师与施老师的陪同下,以及学院领导的关心下,我们顺利的来到了华迪。
在此,感谢指导老师陈一虎老师的知道,使我最后能按时按量的完成毕业设计及论文书写。
在此,道一声你们辛苦了。