《单片机原理与应用》大作业 八路抢答器设计论文.doc

上传人:文库蛋蛋多 文档编号:4146854 上传时间:2023-04-07 格式:DOC 页数:20 大小:352.50KB
返回 下载 相关 举报
《单片机原理与应用》大作业 八路抢答器设计论文.doc_第1页
第1页 / 共20页
《单片机原理与应用》大作业 八路抢答器设计论文.doc_第2页
第2页 / 共20页
《单片机原理与应用》大作业 八路抢答器设计论文.doc_第3页
第3页 / 共20页
《单片机原理与应用》大作业 八路抢答器设计论文.doc_第4页
第4页 / 共20页
《单片机原理与应用》大作业 八路抢答器设计论文.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《《单片机原理与应用》大作业 八路抢答器设计论文.doc》由会员分享,可在线阅读,更多相关《《单片机原理与应用》大作业 八路抢答器设计论文.doc(20页珍藏版)》请在三一办公上搜索。

1、单片机原理与应用大作业 题 目 八人智能抢答器 院 系 信息科学与技术学院 专 业 姓 名 班级学号 指导教师 二一一年十二月信息科学与技术学院单片机大作业任务书作业名称基于AT89C52单片机的八路抢答器姓 名院(系)班级专业学号电话QQ号1、设计任务:基于AT89S52单片机设计制作一个抢答器,晶振采用12MHz2、设计要求1. 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S1 S8表示。2. 设置一个系统清除和抢答控制开关S,该开关由主持人控制。3. 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。4. 抢答器具有定

2、时抢答功能,且一次抢答的时间由主持人设定(如,30秒)。当主持人启动开始键后,定时器进行减计时。5. 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。6. 如果定时时间已到,无人抢答,本次抢答无效,系统通过一个指示灯报警并禁止抢答,定时显示器上显示00。完成时间2011-2012学年第一学期 目 录引言1第一章 设计任务(1) 设计要求(2) 功能要求第二章 主要器件介绍 AT89C52/AT89C51 第三章 设计方案 (1) 抢答功能设计(2) 定时功能设计及其总方案.第四章 电路实现及仿真第五章 结论第六章 参考

3、文献附录1:数码管引脚图附录2:仿真图附录3.源程序代码 引言数字电路产品在生活中有着极其广泛的应用,包括计算机、数字通信、智能仪器仪表、自动控制及航天等领域中。这些给人们带来了生活,工作等方面带来了极大的方便。工厂、学校和电视台等单位常举办各种智力竞赛, 抢答器是必要设备。在我校举行的各种竞赛中我们经常看到有抢答的环节,举办方多数采用让选手通过举答题板的方法判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。为解决这个问题,我们小组准备就本次课设的机会制作一个低成本但又能满足学校需要的八路数显抢答器。抢答器在比赛等场合中不可缺少的设备。本文就是从数字电路芯片的功能简介开

4、始,利用功能不同的数字电路芯片的组合来实现多路抢答器的功能。首先简要的介绍了数字电路的发展和演变。然后介绍几个主要集成芯片的管脚功能和用法。最后介绍多路抢答器的原理和设计过程。总结与改进部分,讲一些电路在实际设计调试中的不足,并加以改进。智力竞赛是一种生动活泼的教育方式,而抢答就是智力竞赛中非常常见的一种答题方式。抢答能引起参赛者和观众的极大兴趣,并且能在极短的时间内,使人们迅速增加一些科学知识和生活常识。但是,在这类比赛中,对于谁先谁后抢答,在何时抢答,如何计算答题时间等等问题,若是仅凭主持人的主观判断,就很容易出现误判。所以,我们就需要一种具备自动锁存,置位,清零等功能智能抢答器来解决这些

5、问题。 第第第一章 设计任务(1) 设计要求1. 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S1 S8表示。2. 设置一个系统清除和抢答控制开关S,该开关由主持人控制。3. 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在优先 抢答选手的编号一直保持到主持人将系统清除为止。4. 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如,30秒)。当主持人启动开始键后,定时器进行减计时。5. 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。6. 如果定时时间已到,无人抢答,本次抢答无效,系统通过一

6、个指示灯报警并禁止抢答,定时显示器上显示00。设计器材统计如下表:AT89C52 1个RESPACK-81个7SEG-MPX4 1个SPEAKER1个74LS02 1个7SEG-MPX4-CA1个74LS20 2个AUD10100N 1个BUTTON 10个电阻100 1个(2)功能要求将主要设计一个供八人使用的定时抢答器,他要实现以下主要功能:(1)为8位参赛选手各提供一个抢答按钮,分别编号S1、S2、S3、S4、S5、S6、S7、S8;(2)主持人可以控制系统的清零与抢答开始;(3)抢答器要有数据锁存与显示的功能。抢答开始后,若有任何一名选手按动抢答按钮,则要显示其编号至系统被主持人清零,

7、并且扬声器发生提示,同时其他人再按对应按钮无效;(4)抢答器要有自动定时功能,并且一次抢答时间由主持人任意设定。当主持人启动“开始”键后,定时器自动减计时,并在显示器上显示。同时扬声器上发出短暂声响;(5)参赛选手只有在设定时间内抢答方为有效抢答。若抢答有效,则定时器停止工作,并且显示抢答开始时间直到系统被清零;(6)若设定时间内无选手进行抢答(按对应按钮),则系统短暂报警,并且禁止选手超时抢答,定时器上显示00。数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路

8、将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。利用本次设计出的电路制造成的定时抢答器,即可轻松实现在8人或8个代表队之间进行的抢答比赛中进行控制,使得这一活动更加趣味、公平。 第二章 主要器件介绍1.AT89C52AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强

9、大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。兼容MCS51指令系统 8k可反复擦写(1000次)Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编

10、程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 AT89C52P为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组

11、成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。P0 口P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每

12、位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。第三章 设计方案总方案如下:1.时序控制电路是抢答器设计的关键,它要完成以下三项功能:主持人将控制开关拨到开始位置时,扬声器发声,抢答电路和定时电路进入正常抢答工作状态。当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。当设定的抢答时间到,无人抢答时,扬声器发声,同时抢答电路和定时电路停止工作。2. 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号

13、和抢答的时间,并保持到主持人将系统清除为止。3.如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。其工作原理为:接通电源后,主持人将开关拨到清零状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置;开始状态,宣布开始抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作清除和开始状态开关。第四章 电路实现及电路调试3块实验电路板分别做成数字抢答器电路、可预置时间的定时电路、报

14、警电路及时序控制电路,根据EWB仿真电路及工程上的可操作性布置芯片、元件、导线等。可以通过很多电路仿真软件进行,通过对以上进行了解,到仿真电路中去,以上都可以很好的实现其功能 电路调试:(针对抢答功能) 第1点(图1):依次按S1至S8键,每按完进行清除,达到数码管(显示选手号码)显示的数字一一与按键对应,达到效果,反之,查找问题所在:第2点(总体方案):模拟抢答过程,(1)预设时间倒记时开始,依次按S1至S8键数码管(显示选手号码)没有数字显示并且报警发光二极管亮起表示成功,有则找出问题所在:(2)倒记时结束,抢答开始,同时或者只按S1至S8任意键,发光二极管亮起,数码管显示号码,在把所有键

15、依次按一遍看显示号码会不会改变,不改变则完成调试,反之则找出问题。第五章 结论抢答器丰富了我们的生活,社会中本来就充满着竞争。只是没有很明显的表现出来,通过运用它我们可以很好的证明自己的胆识和自信,所以做起抢答器来,也很想去了解它,对于八路抢答器原理也只是几个芯片的合成体,也没什么复杂性,所以很好的做出来,但实践中就有些小小的麻烦,就是电压在实践中很难把握。总之,这次实践是非常成功的,我们追求的是理论与实践并存,课程设计就很好的为大学生表现自己综合能力提供有力的平台。实践中有很多电路原理弄不清楚,这说明学的不太好,从中也反映了我们在那些知识的不足,我们也应通过老师和自己查资料弥补,这是理想的学

16、习过程。 第六章 参考文献1 康华光,电子技术基础.数字部分(第四版),北京:高等教育出版社,20032 李广弟,单片机基础M,北京:北航出版社,20013 梁超,一款基于单片机技术的电子抢答器J ,机电工程技术,2005,34 (1)4 李朝青,单片机原理及接口技术M,北京:北京航空航天大学出版社,19995 齐向东,多功能数字显示抢答器J . 黄石高等专科学院学报,1996附录1:数码管引脚图图1 数码管引脚图8421BCD码对应显示图 附录2:仿真图 附录3.源程序代码#includesbit p3_0=P30;sbit p3_4=P34;sbit p3_5=P35;unsigned c

17、har key,num;unsigned char x,y;unsigned char count;unsigned char keycode;unsigned charLED_T10=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff;/P1口LED表flag=0;start=0;flagl=0;void delay()/延时unsigned int i;i=500;while(i-);int keyscan()/键盘扫描unsigned char read,recode,keyvalue;P2=0xf0;read=P2;if(read!=0x

18、f0)delay();if(read!=0xf0)P2=0x0f;recode=P2;keyvalue=read+recode;return keyvalue;return 0;void display()/显示unsigned char code Table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /数码管断码表switch(num)case 0:x=0;y=0;break;case 1:x=1;y=0;break;case 2:x=2;y=0;break;case 3:x=3;y=0;break;case 4:x=4;y=0;b

19、reak;case 5:x=5;y=0;break;case 6:x=6;y=0;break;case 7:x=7;y=0;break;case 8:x=8;y=0;break;case 9:x=9;y=0;break;case 10:x=0;y=1;break;p3_4=0;p3_5=0;P0=Tablex;p3_4=0;p3_5=1;delay();p3_4=0;p3_5=0;P0=Tabley;p3_4=1;p3_5=0;delay();unsigned char decode() /解码按键switch(key)case 0xb7:return 1;case 0xbb:return 2

20、;case 0xbd:return 3;case 0xbe:return 4;case 0xd7:return 5;case 0xdb:return 6;case 0xdd:return 7;case 0xde:return 8;return 0;void main()while(1)while(start=0)/P3.0自锁开关按下,程序跳出循环,开始初始化中断num=10;P1=LED_T9;display();if(p3_0=0)start=1;EA=1;TMOD=0x01;TH0=0xd8;TL0=0xf0;ET0=1;TR0=1;count=100;num=9;while(flag=

21、0&p3_0=0)/flag=0且P3.0按下时执行此循环if(flagl=1) /若中断里检测到按键,P1口对应LED亮起P1=LED_Tnum-1;display();start=0;flag=0;flagl=0;void timer_1(void) interrupt 1TH0=0xD8;TL0=0xf0;if(p3_0=1) /中断途中抬起P3.0自锁开关,关中断TR0=0;flag=0;key=keyscan();/检测到按键,解码按键至对应case,并且显示对应数字,关中断,防止再次进入中断,保证锁住状态if(key!=0)num=decode();display();TR0=0;flag=0;flagl=1;count-; /10秒倒计时if(count=0) num-;if(num=0)TR0=0;flag=0;count=100;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号