ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:75.27KB ,
资源ID:17460091      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17460091.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(3位竞赛抢答器课程设计报告分解Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

3位竞赛抢答器课程设计报告分解Word文档下载推荐.docx

1、一般的七段数码管有10个数据输入端,所以需要有相应的译码器对输送过来的编码后的数据进行译码操作,并且这种译码器的选择必须结合数码管是共阴还是共阳的情况而定。2.2.3关于实现功能拓展的设计思路(1)实验设计的基本要求中没有提到主持人实现清零后,数码管该显示什么,这样在设计过程中我们就可以有多重选择了,本设计中设计的是让主持人清零之后,数码管显示F FF。这一功能可以通过基本的门电路来实现,把主持人和参赛选手接入的信号作为输入信号,通过门电路整合,使得到的输出信号来控制数据显示部分。(2)设计要求中没有提到参赛选手提前抢答会造成犯规的这一功能,理论上会存在有参赛选手犯规的情况的发生,这样实际中增

2、加一个抢答犯规的功能是有一定的必要性的,同样要实现这一功能,可以通过门电路的组合,收集主持人和参赛选手接入的信号,把输出信号接到一个报警装置上,实现当主持人还未发出开始抢答指令的时候,若有参赛选手抢答了,报警装置会报警的功能。2.3总体功能框图下图所示为总体方框图。其工作原理为:接通电源后,主持人将开关断开,抢答器处于禁止状态,定时器显示设定时间;主持人将开关接通,宣布开始抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作状态开

3、关。2.4元器件清单 仿真图中所需要的各种元器件如表2.4表2.4 元器件清单元件名称型号数量/个用途单片机AT89C511控制核心晶振12MHZ晶振电路电容22uF3排阻Respack-7上位电阻电阻10k复位电路电源+5v提供电源拨码开关BUTTON8发出信号数码管7SEG-MPX4-CC-BLUE显示电路扬声器SOUNDER报警信号LEDLED-RED指示灯3 硬件设计3.1 元器件及其作用 在三位抢答器的设计中,我们主要用到了AT89C51型号单片机、晶振、电容、排阻、电阻、电源、拨码开关、7SEG-MPX4-CC-BLUE数码管等元器件。芯片是由ISIS 7 PROFESSIONAL

4、仿真软件系统提供(AT89C51)。它主要由CPU,存储器和管脚组成。所谓排阻就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚。其余引脚正常引出。所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚。它在排阻上一般用一个色点标出来。排阻一般应用在数字电路上,比如:作为某个并行口的上拉或者下拉电阻用。使用排阻比用若干只固定电阻更方便。 排阻有a型和b型的区别。 a型排阻的引脚总是奇数的。它的左端有一个公共端(用白色的圆点表示),常见的排阻有4、7、8个电阻,所以引脚共有5或8或9个。 B型排阻的引脚总是偶数的。它没有公共端,常见的排阻有

5、4个电阻,所以引脚共有8个。图3.1 AT89C51单片机图示及引脚排列3.2 原理图设计根据设计要求及用protues仿真软件做出三位竞赛抢答器电路图如下:4 软件设计4.1 软件设计思路 当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,持续时间0.5S左右。参赛选手在设定的时间内进行抢答,抢答有效,定时器工作停止,显示器上显示选手的编号和抢答的时间并保持到主持人将系统清除为止。如果定时时间已到,无人抢答,系统报警并禁止抢答。4.2 C语言源程序#include#define uchar unsigned char#define uint unsigned intcha

6、r s;uchar num=0;char time=20; /抢答时间char datitime=30; /答题限时时间uint tt,t1; /T0,T1定时器定一秒时bit flag,s_flag=1,b_flag,fall_flag; /标志位bit K_startcountflag,K_timecountflag; /时间调整标志位sbit K0=P30;sbit beep=P37; /蜂鸣器sbit rled=P31; /指示灯sbit K1=P10; /1号参赛选手sbit K2=P11; /2号参赛选手sbit K3=P12; /3号参赛选手sbit K_Time=P32; /答

7、题计时键sbit K_startcount=P33; /开始抢答时间调整键sbit K_timecount=P34; /答题计时时间调整键void delay(uchar ms) uchar y; for(;ms0;ms-) for(y=120;yy-);uchar code tabledu=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /共阴极字型码uchar code tablewe=0XFE,0XFD,0XFB,0XF7;void T0_Init(void) TMOD=0X

8、01; /设T0(T1)为定时模式,由TR0(TR1)控制启动和停止,且T1工作于方式0,T0工作于方式1 TH0=(65536-2000)/256; /初始化T0的高8位 TL0=(65536-2000)%256; /初始化T0的低8位 TH1=(65536-2000)/256; /初始化T1的高8位 TL1=(65536-2000)%256; /初始化T1的低8位 ET0=1; /允许T0中断 ET1=1; /允许T1中断 EA=1; /中断允许 P0=0;void Key_Scan(void) /开始键扫描 if(K0=0) delay(10); if(K0=0) while(!K0);

9、 TR0=1; /启动定时器T0 s=time; tt=0; flag=1; /定义开始键按下 s_flag=1; /定义抢答键按下 b_flag=1; /定义嘟声响应标志位 num=0; /数码显示管显示0 beep=1; /定义扬声器不发声 rled=1; /定义红灯不亮 fall_flag=0; /清除违规标志位 K_startcountflag=0; /调整开始位为0 K_timecountflag=0; /调整开始时间为0 void Scan(void) /三路热键扫描(哪个键先按下,哪个优先级最高) if(K1=0) /判断1号键是否按下 /延迟一段时间,判断是否为抖动 if(K1

10、=0) /还有按键,说明不是抖动K1); /等待按键松开 num=1; /数码管显示1号1 TR0=0; /关闭定时器0,时间停止 TR1=1; /打开定时器1,使扬声器响一声 s_flag=0; /关闭开始键标志位,使再按其他俩个键不会响应 if(K2=0) /下面俩个键的处理同上 if(K2=0)K2); num=2; if(K3=0) if(K3=0)K3); num=3;void display(void) if(flag=1) /开始键按下,开始计时抢答 if(num!=0) /如果有人抢答,则显示相应的几号 P0=tabledunum; /显示几号抢到了 P2=tablewe0;

11、delay(2); P0=0; P2=0XFF; else /否则没人抢答,则前面不显示几号 P0=tabledus/10; /下面为显示抢答倒计时 P2=tablewe2; delay(2); P0=0; P2=0XFF; P0=tabledus%10; P2=tablewe3; else /如果开始键没有按下,则显示F FF(若有违规者,则显示违规号码及 FF)或时间调整 if(fall_flag=1) /违规显示 if(num!=0) P0=tabledunum; /显示几号违规了 P2=tablewe0; delay(2); P0=0; P2=0XFF; P0=tabledu15; /

12、下面显示 FF,表示违规了 P2=tablewe2; /消隐 P2=tablewe3; else else /没有人违规才显示调整时间 if(K_startcountflag=1) P0=0X77; /第一位数码管显示A(表示抢答时间调整) P0=tabledutime/10; /下面显示调整的抢答时间 P0=tabledutime%10; else if(K_timecountflag=1) P0=0X07; /第一位与第二位数码管合起来显示T,表示答题时间调整 P0=0X31; P2=tablewe1; P0=tabledudatitime/10; P0=tabledudatitime%1

13、0; else /否则显示F FF void Time_Scan(void) /调整时间键扫描 if(K_startcount=0) /抢答时间调整 if(K_startcount=0) K_startcount); time+; if(time=50) /抢答时间上限50s time=20; K_startcountflag=1; /将抢答时间标志位置1 /同时关闭答题时间标志位 if(K_timecount=0) /答题时间调整 if(K_timecount=0)K_timecount); datitime+; if(datitime=60) /答题上限60s datitime=30; K

14、_timecountflag=1; /将答题时间标志位置1 /同时关闭抢答时间标志位void main(void) T0_Init(); while(1) Key_Scan(); /开始键扫描 if(flag=0)&(s_flag=1) /当开始键没按下及没有人违规时才可进行时间调整 Time_Scan(); if(flag=1)&(s_flag=0) /当开始键按下及有人抢答才进行开始回答计时倒计时 if(K_Time=0) delay(10); if(K_Time=0) while(!K_Time); s=datitime; TR0=1; tt=0; TR1=1; (s_flag=1) /

15、违规 Scan();=0) /开始键没有按下时,有人按下了抢答器,则置违规标志位 fall_flag=1; /置违规标志位 rled=0; /红灯亮(s_flag=1) /如果开始键按下且抢答键没有人按下,则进行三路抢答键扫描 display(); /显示到数码管上void timer0(void) interrupt 1 /2ms if(b_flag) /开始(START)键按下,嘟一声(长1秒),表示开始抢答 beep=beep; else beep=1; if(s5) /抢答时间快到报警,隔1秒响一声且红灯闪烁,响三声 if(s%2=0) rled=0; else b_flag=0; t

16、t+; if(tt=500) /1秒 tt=0; s-; b_flag=0; /关闭开始键按下响一秒的嘟声 if(s=-1) s=20; flag=0; /显示F FFvoid timer1(void) interrupt 3 /定时器1处理有人按下抢答器嘟一声(长1秒) beep=beep; t1+; if(t1=500) t1=0; TR1=0;5软件仿真调试在软件硬件都已连接设计好以后,我们需要用Keil、preoteus软件对其进行仿真调试。软件调试是通过对程序的编译、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。图5.1 keil调试结果图Keil、preote

17、us联调效果图6 结论与心得在这次的单片机课程设计中,我通过对三位竞赛抢答器的设计学会了运用Keil、preoteus软件,并且对单片机这门课程有了更深一步的了解。在短时间内学会一门电路设计软件看,并且要使用proteus实现电路的仿真,这些在我眼里都不是很容易完成的任务,但是最后我以及我们的小组均能在规定的时间之内学会proteus的基本操作,单独完成各自的设计,这与小组之间的合作是离不开的,在这里我也更要感谢我们指导老师对我们的谆谆教导!三位竞赛抢答器这种类似的抢答器在日常生活中应该挺常见的,只是很多人忽视了这种小设计,但它确实在实际生活中有较为广泛地应用,可是即使我们生活中有见到过并且不

18、以为然的东西,等到我们亲自来独立的完成这个作品的设计,分析以及仿真结果分析甚至连接实体电路时,也许就不会觉得那么容易的。虽然这是一种简单的小设计,但却包含了很多我们刚刚所学过的电路知识,特别是数字电子技术的基础知识,这次课程设计不仅使我们温习了刚学过的知识,也使我们对电路的整体布局有了更深的学习。在小组方案的设计过程中,我有参与到电路图的布局,新增功能的实现、电路的仿真等环节中。在小组方案的确定和实际设计过程中,我懂得了团队的力量,小组成员之间相互讨论商量往往能得到更好的方案,能有效地减少思维上的误区,减少仿真过程中出现故障的几率。通过此次课程设计,我认识到了自身知识储备的不足以及实践动手能力

19、还有待提高,针对于本次设计的结果,我认为我所设计的方案虽然可以实现最基本的功能,但存在着一定的缺陷。我也希望通过今后的努力学习,在单片机方面能有进一步的提高。7参考文献【1】伍时和,数字电子技术基础,清华大学出版社,2009【2】贾秀美,数字电路硬件设计实践,高等教育出版社,2008【3】康华光.电子技术基础-数字部分(第五版),高等教育出版,2006【4】单片机课程设计指导书 皮大能 北京理工大学出版社 2012.7【5】8051单片机实践与应用 吴金戎 清华大学出版社 2003.8【6】基于Proteus的单片机系统设计与仿真实例 蒋辉平 机械工业出版社【7】张大明 单片微机控制应用技术实操指导书 机械工业出版社【8】单片机原理及应用 张毅刚 高等教育出版社 2012.11同组成员姓 名学号李翠武1332140114马春雷1332140115王明志1332140117设计题目审阅项目评价要素分值得分文献查阅X1查阅较高水平相关文献资料比较充分,对该领域研究现状和发展趋势把握准确,文献引用合理,格式规范。20设计内容X2立论正确,能够提出一些具有创新意义的新命题、新方法。内容完整,有较高学术水平或应用价值等。30科研能力X3设计体现出作者具有较为扎实的基本理论和专业基础知识;能够综合应用知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1