实习报告单片机抢答器设计_第1页
实习报告单片机抢答器设计_第2页
实习报告单片机抢答器设计_第3页
实习报告单片机抢答器设计_第4页
实习报告单片机抢答器设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西安邮电大学西安郵電大学单片机课程设计C报告书院(系)名称:自动化学院学生姓名:孙天骜、张梦圆、李咪咪、左鹏飞专业名称:智能科学与技术班级:智能1202时间 :2014年10月20日至2014年10月31日i西安邮电大学目录单片机课程设计报告 错误!未定义书签。一、数字抢答器的概述 3二、设计任务与要求 3三、抢答器原理 4四、抢答器方案论证 4五、注意事项5六、系统原理图 6七、硬件结构设计 61. 时钟频率电路的设计 62. 复位电路的设计 73. 数码管电路的设计 84. 蜂鸣器电路的设计8八、主程序系统结构图 81.系统程序8九、实验心得 17一、数字抢答器的概述对于抢答器我们大家都知

2、道那是用于选手做抢答题时用的,选手进行抢答, 抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备 足够的知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的 原则。本实验设计的数字抢答器由主体电路与扩展电路组成。优先编码电路、 锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲 产生的信号在显示器上输出实现计时功能,构成扩展电路。经过布线、焊接、调 试等工作后数字抢答器成形。更具有实用性。二、设计任务与要求1、基本要求(1)抢答器同时供4名选手或4个代表队比赛,分别用4个按

3、钮S1 S4 表示。(2)设置一个系统清除和抢答控制开关 S,该开关由主持人控制。(3)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并 在LED数码管上显示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到 主持人将系统清除为止。(4) 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定为 30秒。 当主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声 响持续的时间0.5秒左右。(5)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显 示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。(6)如果定时时间已到,无人

4、抢答,本次抢答无效,系统报警并禁止抢答, 定时显示器上显示00优点:与普通抢答器相比,本作品有以下几方面优势 :1、具有清零装置和抢答控制,可由主持人操纵避免有人在主持人说“开始” 前提前抢答违反规则。2、具有定时功能,在30秒内无人抢答表示所有参赛选手获参赛队对本题弃 权。3、30秒时仍无人抢答其报警电路工作表示抢答时间耗尽并禁止抢答三、抢答器原理该抢答器供不多于四个的抢答比赛使用。每个选手的座位前安装一只抢答按 钮开关和一只信号灯。主持人的座位前安装一只复原按钮开关、一只蜂鸣器和一 只抢答器工作状态指示灯。每当主持人口头发出允许抢答的号令之后, 哪个队先 按下座位上的按钮开关,封锁其他按钮

5、开关的活动。并且熄灭主持人座位上的状 态指示灯和发出3声类似于电话振铃的提示声,以“声明”此次抢答动作已经 完成。在主持人确认后,按下复原按钮,状态指示灯重新点亮,并且同时发出“笛 ”声,为下一次的抢答作好准备。电路中的蜂鸣器FM是一只带有助音腔的 压电陶瓷蜂鸣器,用于模拟发出报警声的功率放大器和喇叭。 在FM发声的同时, 灯D4也在发光。FM可以看作是一个电容性负载,本身不能流过直流电流。发 声的原理是,作用在两个电极极板的电位在发生变化时,陶瓷材料就发生弯曲, 从而振动空气发出声音。FM和4只按钮开关SWaSWc以及4只电阻RaRd 都是在演示板的基础上额外添加的。由于 RB端口内部具有上

6、拉电阻,只要用软 件设置其有效,即可省略在4只端口引脚上外接上拉电阻。四、抢答器方案论证(1)抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S1 S4 表示。(2)设置一个系统清除和抢答控制开关 S,该开关由主持人控制。(3)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并 在LED数码管上显示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到 主持人将系统清除为止。(4)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定 30秒。当 主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响 持续的时间0.5秒左右。(5)参赛选手在设定

7、的时间内进行抢答,抢答有效,定时器停止工作,显 示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。如果定 时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显 示00(6)4路抢答器可以利用硬件电子元器件实现,但电路结构复杂,调试困难,涉及到的外围元件多,不便于安装,实验给实际操作带来很大的麻烦(7) 我们利用单片机可以用很少元件实现相同功能, 而且单片机性能稳定, 可操作性强。可以只用P0 口连接上拉电阻,完成驱动 LED的功能,串接按键可 以由选手自己控制抢答机会,利用 P3 口的RXD接 74LS164的A,B端,TXD接移 位脉冲做时钟信号。利用单片机程

8、序判断选手按键是否有效,但选手违规抢答, 利用简单程序显示选手序号,启动蜂鸣器并不间断,告诉主持人有人违规操作,抢答无效。给出相应的延时,选手按正常的操作抢答,软件倒记时,利用74LS164 移位寄存6段数码管,实现倒记时显示时间,到5秒相应时间提醒选手时间快到 了,要及时作答,并启动蜂鸣器。(8) 如果有选手在规定的时间以前完成问题,主持人通过按键P2.4复位,开始新的问题作答,因为程序不是很大不需要扩展存储空间, 选手按键跳入相应 的子程序,回答倒记时,通过单片机实现功能可以更人性化, 只需单电源供电更 方便,容易实现。电路结构简单,外围扩展的电路不是很多,锻炼我们所学的知 识应用到现实生

9、活当中。为我们提供实践的机会。单片机是电子专业发展的方向, 更好的使用单片机可以是我们的产品小型化,使用更方便,性能更稳定,功能更齐全,所以我们选用单片机加一定的外围设备实现本次课程设计的要求。五、注意事项为使硬件电路设计尽可能合理,应注意以下几方面:(1) 尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普 通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普 通芯片价格的总和高。(2) 留有设计余地。在设计硬件电路时,要考虑到将来修改扩展的方便。因 为很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小的修 改或扩展而被迫进行全面返工。(3) 程序

10、空间,选用片内程序空间足够大的单片机,本设计采用AT89C51单片机。(4) I/O 端口,在样机研制出来后进行现场试用时,往往会发现一些被忽 视的问题,而这些问题不是靠单纯的软件措施来解决的。 如有些新的信号需要采 集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。如果在 硬件电路设计就预留出一些I/O端口,虽然当时空着没用,那么用的时候就派上用场了六、系统原理图七、硬件结构设计1.时钟频率电路的设计单片机必须在时钟的驱动下才能工作在单片机内部有一个时钟振荡电路, 只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元 ,决 定单片机的工作速度。6西安邮电大学U1I

11、fT19>XTAL1II X1CRYSTAI18XTAL2IC399 RSTC1图3-2外部振荡源电路10uf一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的30 ale频率确定。电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对 机进行硬件复位,所以设定了软复位功能。软复位实际上就是当程序执行完毕之 后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。振荡器的频率进行微调。C1,C2的典型值为30PF。单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单

12、 1 元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数2表示。如时钟频率为12MHz即fosc=12MHz,则时钟周期为1/12卩s°345678,常用1.0T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.519P1.6单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高i1电平 即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图AT894I所 示:2.复位电路的设计22PU1XTAL1XTAL2uf1OU293031EA值得注意的是,在设计当中使用到了硬件复位和软件复位两种功能,由上面的硬件复位后的各状态可知寄存器及存储器的值都恢

13、复到了初始值,而前面的功能介绍中提到了倒计时时间的记忆功能,该功能的实现的前提条件就是不能对单片1234756P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.53. 数码管电路设计共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM的数码管,共阳数码管在应用时应将公共极 COM接到+5V,当某一字段发光二极管的阴 极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不 亮。共阳极就是把所有LED的阳极连接到共同接点com而每个LED的阴极分别 为a、b、c、d、e、f、g及dp (小数点)。但是把数码管直接接入电路时数码管 的显示不是很亮,所以在实际的

14、电路焊接时加入了放大器。4. 蜂鸣器我们知道,声音的频谱范围约在几十到几千赫兹, 若能利用程序来控制单片 机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波, 接上喇叭就能发出一定频率的声音。八、主程序系统结构图1.系统程序抢答器程序#in clude<reg51.h>#defi ne uchar un sig ned char#defi ne uint un sig ned int sbit error=P1A3;/选手按键sbit k仁 P3A0;sbit k2=P3A1;sbit k3=P3A2;sbit k4=P3A3;sbit k=P1A0; / 主持人

15、按键开始sbit r=P1A1;codesbit beep=P3A7; / 蜂鸣器 uchartab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77;0-9代码uchar shiwei,gewei,xua nshou,co un t,i,secon d,flag,flagO;ba ng,time1;uint t,m, n,a,a1,a2,a3,a4;void mai nOn e();void mai nTwo();void dis();void Timer()TMOD|=0x01;TH0=0xd8; / 初值 55536,计数 10

16、000 次,每次 1US 总计 10msTL0=0xf0;IE=0x82; /这里是中断优先级控制EA=1 (开总中断),ET0=1 (定时器0允许中断),这里用定时器0来定时TR0=1;void delay(ui nt z) /延时函数uint x,y;for(x=z;x>0;x_)for(y=110;y>0;y-);void display (uchar shiwei,gewei,xua nshou) /显示函数if(flag)P2=0xfe; / 打开显示时间十位的位选P0=shiwei;显示十位dela y(5);P2=0xfd; /个位位选P0=gewei;dela y(

17、5);P2=0xfb; /选手位选P0=xuanshou;dela y(5);elseP2=0xfe; / 打开显示时间十位的位选P0=0xf3;显示十位dela y(5);P2=0xfd; /个位位选P0=0xf3;dela y(5);P2=0xfb; /选手位选P0=xuanshou;dela y(5);void dis(void)shiwei=tabsec on d/10;gewei=tabsec on d%10;xua nshou=tabi;display (shiwei,gewei,xua nshou);void tim(void) interrupt 1 using 1 /为定时中

18、断 TR0TH0=0xd8; /重新赋值TL0=0xf0;coun t+;if(cou nt=100) 100*10ms=1秒coun t=0;seco nd-; / 秒减 1void ini t() /初始化函数error=0; r=1; flag=1; flagO=1; bang=1; P2=0x04; P0=0xf3;t=0; beep=0;i=0;second=29;a1=1;a2=1;a3=1;a4=1;void checkkey()if(k1=0) delay(5);if(k1=0);while(!k1);t=1;else if(k2=0) delay (5);if(k2=0);w

19、hile(!k2);t=2;else if(k3=0) delay (5);if(k3=0);while(!k2);t=3;else if(k4=0) delay (5) ;if(k4=0);while(!k2);t=4;void TimeOut()TR0=0;if(ba ng)beep =1;error=1;time1=50; while(time1-) delay(10); dis(); time1=0;bang = 0;beep = 0;error=0;void mai nTwo()in it();while(1)/判断违规if(k1=0 | k2=0 | k3=0 | k4=0 ) &

20、amp;& flag)flag=0;error = 1;checkkey();switch(t)case 1:i=1;beep=1;delay(300);beep=0; break;case 2:i=2;beep=1;delay(300);beep=0; break;case 3:i=3;beep=1;delay(300);beep=0; break;case 4:i=4;beep=1;delay(300);beep=0;break;if(flag = 0)dis();/复位按钮if(r=0)in it();mai nOn e();主持人按下开始键void mai nOn e() if

21、(k=0 && flag) / Timer(); delay(10); while(!k);while(1)if(r=0)mai nTwo();dis();m=0;n=0;if(sec on d=10 | sec ond = 20) beep=1;bang=50;while(ba ng-)delay(10);dis(); beep=O;if(sec on d=0) TR0=0; n=1;if(flagO) beep=1; time1=50;while(time1-)dis(); delay(10);flagO=0;beep=0;if(k=0)beep=1;delay(500);

22、beep=0;seco nd=29;TR0=1;m=1;if(n=0)if(k 1=0 | k2=0 | k3=0 | k4=0) checkkey();if(k=0)elsedela y(5) ;if(k=0);while(!k);t=0;i=0;seco nd=29;beep=1;delay (500);beep=0;TR0=1;while(t)if(m=0) /开关,保证程序只执行一次switch(t)case 1:TR0=1;i=1;seco nd=30;beep=1;delay(300);beep=0;a仁0;a2=1;a3=1;a4=1;m=1;break;case 2:TR0=1

23、;i=2;seco nd=30;beep=1;delay(300);beep=0; a2=0;a1=1;a3=1;a4=1;m=1;break;case 3:TR0=1;i=3;seco nd=30;beep=1;delay(300);beep=0; a3=0;a1=1;a2=1;a4=1;m=1;break;case 4:TR0=1;i=4;seco nd=30;beep=1;delay(300);beep=0; a4=0;a1=1;a2=1;a3=1;m=1;break;if(r=0)mai nTwo();if(a1=0) /选手的计时a仁0;dis();if(sec ond = 0)Ti

24、meOut();if(k1=0) TRO=O;else if(a2=0)a2=0;dis();if(sec ond = 0) TimeOut();if(k2=0)TR0=0;else if(a3=0)a3=0;dis();if(sec ond = 0)TimeOut();if(k3=0)TR0=0;else if(a4=0)a4=0;dis();if(sec ond = 0)TimeOut();if(k4=0)TR0=0;if(k=0)i=0;t=0;seco nd=29;beep=1;delay(500);beep=0;TR0=1;while(!k);void mai n()mai nTwo();九、实验心得李咪咪:本次设计报告主要介绍了单片机实现抢答器的设计方法,系统介绍了电路

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论