毕业生电子设计 八路数显抢答器 论文说明书.docx
《毕业生电子设计 八路数显抢答器 论文说明书.docx》由会员分享,可在线阅读,更多相关《毕业生电子设计 八路数显抢答器 论文说明书.docx(16页珍藏版)》请在冰豆网上搜索。
毕业生电子设计八路数显抢答器论文说明书
湄洲湾职业技术学院
八路数显抢答器说明书
系别:
电子工程系
年级:
10级专业:
电气自动化
姓名:
杨丽君学号:
1001020238
导师姓名:
陈辉煌职称:
副教授
2013年5月27日
目录
1前言1
2系统设计技术参数要求1
3系统设计2
3.1系统设计总体框图2
3.2各模块原理说明2
3.3系统总原理图说明3
3.4系统印刷电路板的制作图4
3.5系统的操作说明4
3.6系统操作注意事项4
参考文献5
致谢语6
附录1系统总原理图7
附录2程序8
附录3元件清单11
1前言
在电视上和学校的一些活动中我们会经常看到智力抢答的节目,如果让参赛者用举手等方法来抢答,主持人很容易误判,会造成抢答的不公平。
因此为了比赛的准确、公正、并能直观地判断出谁是第一抢答者,利用电子产品的高准确性设计一个抢答器,此抢答器通常由数码显示、灯光、音响等多种手段指示出第一抢答者,防止不公平的现象发生,保证抢答的准确性和公平性。
抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
本设计是利用单片机AT89C52单片机及外围接口实现的抢答系统,主要是采用单片机的计数器和计数显示的原理,使得系统能够正确的显示30秒倒计时数字,同时使数码管能够正确的显示数位编号。
采用四角按钮开关作为键盘输出部分,蜂鸣器声响提示。
将硬件和软件结合从而系统实现:
只有在主持人按下开始键后才有效,选手在主持人按开始抢答键之前抢答无效;抢答限定时间和回答时间设定为30秒倒计时,在限定时间内显示哪位选手有效抢答,有效抢答按键后有音乐提示,按键锁定,在此抢答有效状态下,选手再按键为无效非法。
2系统设计技术参数要求
1.电源电压:
5V±10%。
2.键盘扫描,显示当前按键。
3.检测是否有参赛者违规操作,如果在主持人按下开始按键以前按下则利用蜂鸣器报警并显示参赛者编号。
4.当主持人按下开始按键后,计数器开始倒数,在30秒倒数结束之前如果有参赛者按下按键,则在数码管上显示参赛者编号。
3系统设计
3.1系统设计总体框图
图3-1系统设计总体框图
3.2各模块原理说明
1.输入部分
利用8个常开按钮Y1~Y8,组成抢答器的输入电路,Y1~Y8为自复式常开按钮并分别作为8位抢答器按钮设置一个系统清除开关和抢答倒计时复位开关,该开关由主持人控制。
2.STC89C52模块(核心部分)
图3-2STC89C52
利用AT89C52单片机最小系统对其P0.0~P0.7管脚进行赋值编码,八个开关对就八位选手,当其中某位选手抢答到将对P0口进行赋值,并将数据送至数码管,由数码管显示选手编号。
利用程序对抢答时间进行设定,本系统为30S倒计时,30S过后抢答无效,同时也用程序对芯片的17脚进行赋值,用来做声音提示。
3.显示部分
抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在段数码管上显示选手号码。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
4.提示音部分
抢答器具有提示音功能。
若倒计时30秒过后选手未抢答,数码显示0,提示音声响,若显示哪位选手有效的抢答,正确按键后会有声响提示。
3.3系统总原理图说明
本设计八路抢答器采用的是STC89C52单片机,抢答器同时供8名选手或8个代表队比赛,分别用8个按钮Y1~Y8表示。
设置一个系统清除和抢答控制开关Y9,该开关由主持人控制。
抢答器具有锁存与显示功能,即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
抢答器具有30秒倒计时功能。
当主持人启动"开始"键后,定时器进行30秒倒计时。
参赛选手在倒计时30秒的时间内进行抢答,抢答有效,显示器上显示选手的编号,并保持到主持人将系统清除为止。
在这段如果倒计时30秒时间已到,无人抢答,本次抢答无效,系统声响并禁止抢答,显示器上显示0。
从而实现整个抢答的功能。
3.4系统印刷电路板的制作图
图3-4系统印刷电路板的制作图
3.5系统的操作说明
1.在抢答中,只有按下开始抢答键后才有效,在开始抢答键未按下前抢答无效。
2.抢答时间为30秒倒计时,当在设定时间内有效抢答可以显示选手的编号。
3.当选手抢答时,有效的抢答后会有声响提示。
4.在抢答有效状态后,键锁定,再按键为无效非法。
3.6系统操作注意事项
1.通电使用前,检查电路板是否有虚焊、漏焊、短路、元器件插错等现象。
2.通电使用要先检查电路板上的电源正负极,不得在接错的情况下通电。
3.通电时应把电路板放在绝缘物体上,避开其他导电物体避免发生短路现象。
4.调试电路时应小心操作,避免万用表笔或其它导电工具造成人为短路。
5.调试时,按操作说明进行操作,检测其是否符合系统预先设计的要求
参考文献
[1]孙肖子.邓建国.电子设计指南.高等教育出版社,2006.1.
[2]葛中海.模拟电子技术.机械工业出版社,2011.01.
[3]胡花.单片机原理及应用技术,2008.
[4]唐治德.数字电子技术基础科学出版社,2010.6.
[5]王国玉.电工电子元器件基础.人民邮电出版社,2009.12.
[6]佘明辉.电工电子实训.北京理工大学出版社,2009.9.
[7]余锡存,曹国华.单片机原理及接口技术[M].陕西:
西安电子科技大学出版社,2000.7.
[8]谢沅清,解月珍.电子电路计算机辅助分析与设计.北京:
北京邮电大学出版社2001.3.
致谢语
为期五个月的毕业实习已接近尾声了,我的几年大学生涯也即将圈上一个句号。
此刻我的心中却有些怅然若失,因为那些熟悉的电气自动化恩师们和各位可爱的同学们,我们也即将挥手告别了。
值此毕业设计完成之际,心中充满了一片感激之情。
三年的大学生涯,感谢佘明辉主任对我的帮助,关心。
而在整个毕业设计的选题中研究过程中得到了陈辉煌老师的悉心教导和热忱鼓励,不仅授我以文,而且教我做人。
我之所以选择陈辉煌老师作为我的导师完全是由于他平易近人的生活作风和高深的学术造诣,他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他循循善诱的教导和不拘一格的思路给予我无限的启迪。
感谢辅导员平日生活上对我的关心和帮助。
感谢叶志琼老师在学习上对我的教导。
感谢所有老师在我求学的过程中对我的细心帮助。
感谢我的室友和好友们,从遥远的家来到这个陌生的城市里,是你们和我共同维系着彼此之间姐妹般的感情,维系着寝室那份家的融洽。
3年了,但所有的一切仿佛就在昨天。
在这3年里,我们没有红过脸,没有吵过嘴,没有发生上大学前所担心的任何不开心的事情。
你们的开怀大笑、你们的精神鼓励、你们的……给了我快乐和温馨的感觉,给了我永远无法忘记的大学生活。
能和你们相遇、相交、相知,是我人生的一大幸事,让我们永远记住曾在一起经历过的欢笑与泪水!
让我们一起面对美好的未来,共同为充满希望的前程而继续努力奋斗!
感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。
最后,我想要感谢的是这个美丽的校园,人文气息的熏陶、同学们风华正茂,条条绿荫、处处泛香。
我明白,正是在他那温润宽厚的胸怀上,我成长起来的,我心我思永系湄职院。
再次对所有关心、帮助我的人说一声“谢谢”。
附录1系统总原理图
附录2程序
#include
#defineucharunsignedchar//宏定义
#defineuintunsignedint
ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbitbeep=P2^2;
ucharnum,t1,shu,temp,shi,ge;
uinti;
//延时子程序
voiddelay(uintz)
{
uintx,y;
for(x=0;xfor(y=0;y<110;y++);
}
voidBeep()
{
beep=1;
delay(200);
beep=0;
delay(200);
}
//初始化子程序
voidinit()
{
P0=0xff;
P2=0xff;
P1=0xff;
temp=P1;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
num=30;
}
voiddisplay()//显示子函数
{
shi=num/10;
ge=num%10;
P0=table[shi];//显示十位
P2=0xfe;
delay
(2);
P0=table[ge];//显示个位
P2=0xfd;
delay
(2);
}
//主程序
voidmain()
{
init();
//大循环
while
(1)
{
//倒计时显示程序
while(temp==0xff)
{
display();
temp=P1;//判断之前,先把P1口的数据送给temp;
while(temp!
=0xff)//判断
break;
}
//独立键盘扫描程序
while(temp!
=0xff)
{
delay(5);//软件延时消抖
temp=P1;
while(temp!
=0xff)//再次确认有键按下
{
temp=P1;
switch(temp)
{
case0xfe:
shu=1;
break;
case0xfd:
shu=2;
break;
case0xfb:
shu=3;
break;
case0xf7:
shu=4;
break;
case0xef:
shu=5;
break;
case0xdf:
shu=6;
break;
case0xbf:
shu=7;
break;
case0x7f:
shu=8;
break;
}
P0=table[shu];//显示所按下的键
P2=0xfd;
beep=0;//开蜂鸣器
delay(500);//有键按下时蜂鸣器响500ms
beep=1;
while
(1);
}
}
}
}
//定时器0中断子函数
voidtimer0()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t1++;
if(t1==20)
{
t1=0;
num--;//30秒倒计时
if(num==0)
{
TR0=0
beep=0;
while
(1)
{
for(i=0;i<600;i++)
{
display();//display();display();display();display();display();display();
Beep();
}
beep=1;//关断蜂鸣器
}
}
}
}
附录3元件清单
标注
元件名称
型号
数量(个)
1
电阻
20K
11
2
排阻
1K
1
3
芯片
AT89C52
1
4
数码管
共阴
2
5
按钮
9
6
晶振
12M
1
7
三极管
9015
3
8
蜂鸣器
1
9
发光二极管
1.5V
1
10
电解电容
47UF
1