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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于51单片机的多路数字定时抢答器设计课程设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于51单片机的多路数字定时抢答器设计课程设计.docx

1、基于51单片机的多路数字定时抢答器设计课程设计学 号: 课 程 设 计题 目多路数字定时抢答器设计学 院专 业班 级姓 名指导教师课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 多路数字定时抢答器设计初始条件:已知条件 本课程设计,要求用集成电路:74LSl48,74LS279,74LS48,74LSl92,NE555,74LS00,74LSl21和其它器件等,实现八路定时抢答功能。用蜂鸣器作声电器件,工作电源Vcc为+5V。 要求完成的主要任务: (1)设计任务根据已知条件,完成对多路数字定时抢答器的设计、装配与调试。(2)设计要求可同时供8名选手(或代表队)参赛,其

2、编号分别是0到7,各用一个抢答按钮,按钮的编号与选手的编号相对应。给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时扬声器给出音响提示。此外,要封锁输入电路,禁止其它选手抢答。优先抢答选手的编号一直保持到主持人将系统清零为止。抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定(如30秒)。当节目主持人启动“开始”键后,要求定时器立即进行减计时,并用显示器进行显示,同时扬声器发出短暂的声响,声响持续时间05秒左右。参赛选手在设定的时间内

3、进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统进行短暂的报警,并封锁输入电路,禁止选手超时后抢答,定时显示器上显示00。画出总体电路原理图。(选做:用EWB软件完成仿真)。按规定格式写出课程设计报告书。时间安排:1、 年 月 日集中,作课设具体实施计划与课程设计报告格式的要求说明。2、 年 月 日,查阅相关资料,学习电路的工作原理。2、 年 月 日 至 年 月 日,方案选择和电路设计。2、 年 月 日 至 年 月 日,电路调试和设计说明书撰写。3、 年 月 日上交课程设计成果

4、及报告,同时进行答辩。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘要抢答器作为一种工具,已经广泛应用于各种智力和知识竞赛场合。本设计以八路智力竞赛抢答器为基本概念,从实际应用出发,用STC89C52和74HC573设计具有扩充功能的抢答器。八路抢答器由主体电路和扩展电路组成。主体电路由抢答电路和驱动电路以及控制电路组成:扩展电路主要由报警电路和显示电路组成。电路经过布线、焊接、调试等工作后抢答器成形。单片机体积小,价格低,应用方便,稳定可靠。单片机将很多任务交给了软件编程去实现,大大简化了外围硬件电路,使外围电路的实现简单方便。使其在传统的抢答器面前具有电路简单、成本低、

5、运行可靠等特色。关键字:抢答电路 定时电路 报警电路 AbstractResponder as a tool, has been widely used in various intelligence and knowledge contests occasion. The design quiz Responder eight basic concepts of practical application, with STC89C52 and 74HC573 designed with extensions Responder. Octal Responder by the main cir

6、cuit and the expansion circuit. Responder circuit and main circuit from the latch circuit and a control circuit consists of: expansion circuit mainly by the alarm circuit and display circuit. After the circuit wiring, welding, commissioning work Responder shape. SCM small size, low price, convenient

7、, stable and reliable. Many tasks will be handed over to the MCU software programming to realize, greatly simplifying the peripheral hardware circuit, the peripheral circuit implementation is simple and convenient. Responder it in the traditional front has a simple circuit, low cost, reliable operat

8、ion and other characteristics.Keywords:Responder circuit timing circuit alarm circuit1设计内容与要求1.1设计内容设计一个抢答器,可供8位选手抢答,主持人可通过开关控制, 具有抢答、计时、报警等功能。1.2设计要求1.2.1基本功能1) 设计一个抢答器,可以同时供8名选手或8个代表队参加比赛,他们的编号分别是1、2、3、4、5、6、7、8,各用一个抢答按钮,按钮的编号与选手的编号相对应,也是1、2、3、4、5、6、7、8。2) 给节目主持人设置一个控制开关clear,用来控制系统的清零(编号显示数码管灭灯)和

9、抢答的开始。3) 抢答器具有数据锁存和显示功能。抢答开始,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时扬声器给出音响提示。此外要封存输入电路,禁止其他选手抢答。优先抢答选手的编号一直保持到系统清零为止。1.2.2扩展功能1) 抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定,档节目主持人按下“clear”按钮后,要求定时器立即倒计时,并在显示器上显示,同时扬声器发出短暂声响,声响持续0.5S左右。2)参赛选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。如果定时抢答时间已到,却没有选

10、手抢答,则本次抢答无效,系统短暂报警,并封存输入电路,禁止选手 超时后抢答,时间显示器上显示00。2方案设计与选择2.1第一种方案图2.1.1 第一种方案抢答按钮连接控制电路,抢答开始,有选手按下抢答按钮后,控制电路是锁存器锁存各个抢答路的电平高低,从而锁存了第一位抢答者的抢答信号,同时切断其他抢答者的抢答信号,阻止其他选手的抢答。编码器将抢答结果译成二进制数送给下一级译码显示电路,译码显示电路显示抢答成功者的号码。声响电路可以发出提醒声响,定时电路有定时抢答功能,并能显示倒计时的时间。该方案满足设计的功能要求,但是用锁存器锁存抢答结果这一思路有缺陷,就是可能有两个选手抢答时间间隔很小,两路的

11、抢答信号同时锁存了起来,导致编码器编码出错,下一级译码显示电路不能显示抢答结果。2.2第二种方案第二种方案流程图如下图2所示:图1.2.1 第二种方案第二种方案的原理和第一种方案基本一样,只是在第一种方案上做了改进,在锁存器和抢答按钮之间增加了优先编码器,避免了多路的抢答信号同时被锁存,编码器编码出错,下一级译码显示电路不能显示抢答结果的情况。但是,电路过于复杂繁琐,不太方便。2.3第三种方案该方案以STC89C52单片机为核心设计的八路抢答器,该抢答器能根据不同的八个不同按键输入抢答信号,经过单片机的控制处理并产生与按键相对应路数的输出信号,最后通过4位LED数码管显示相应的路数和答题时间等

12、图2.3.1第三种方案该方案简单容易实现,而且单片机体积小,价格低,应用方便,稳定可靠。因此,选用方案三。3硬件电路设计3.1.时钟电路设计CPU的操作需要精确的定时,可用一个晶体振荡器产生稳定的时钟脉冲来控制STC89C52单片机上的XTAL1和XTAL2分别为振荡电路的输入和输出,晶振频率选择11.0592MHZ。图3.1.1 晶振电路3.2八路抢答按键输入电路设计该电路有八个按钮分别接于P2.0P2.7可实现:一是分辨出选手按键的先后并锁存有抢答者的编号,同时在LED上显示相应选手编号;二是当有选手抢答成功时其他选手按键无效,具有锁存功能。(锁存功能由软件实现)图3.2.1抢答电路3.3

13、复位按键输入电路设计复位是计算机的一个重要工作状态。开始按钮和复位按钮分别接在P3.7和RST口,在单片机工作时,接电之前要复位,断电后也要复位。在抢答器中复位则为定时做铺垫,在抢答之前要复位,抢答完毕后也要复位。图3.3.1复位电路3.4设定时间、加减时间和开始电路设计该电路主要是对答题和抢答时间调整而设计的。开始按钮用clear表示,作用是将系统状态在调整状态和应答状态相互转换,在调整状态时,裁判可以用“+”、“-”按钮调整抢答时间,抢答时间的初始值设置为15秒;应答状态时,系统可以响应选手的抢答,并给出相关反应。“clear”按钮接P3.7,“+”按钮接P3.6,“”按钮接P3.5。图3

14、.4.1时间设定电路3.5 LED数码管显示电路设计本设计所用的显示器为7段共阳极接法4位LED显示器,当某一发光二极管的阴极输入低电平时,则该段发光。段选通过一片74HC573与P0口相连,位选com1,com2,com3,com4通过74HC573分别与P1.3,P1.2,P1.1,P1.0口相连。 此处芯片74HC573不起锁存数据的功能,做为驱动增加数码管的电流。图3.5.1显示电路3.6声音电路用P3.6口和蜂鸣器相连,在抢答开始和抢答过程中有人抢答,则会给选手答题警示声。若定时时间已到,无人抢答则本次抢答无效,系统报警并禁止抢答,定时显示器上最终显示为0 00。图3.6.1报警电路

15、4 PCB制作在Altium Designer中画出电路图后,制作PCB。图4.1设计流程图电子线路设计流程三个步骤:1.绘制电路原理图,电路原理图就是使用电子元器件的符号以及绘制电路原理图所需的导线、总线等示意性绘图工具来描述电路系统中各元器件之间的电气连接关系的一种符号化、图形化的语言。2. 生成网络表,网络表文件是文本文件,它记录了原理图中元件类型、序号、封装形式以及各元器件之间的连接关系等信息。因此,借助网络表文件描述的元件连接关系即可验证原理图编辑过程中连线的正确性。3. 生成PCB文件,PCB 设计是电子产品设计过程中的关键环节,电子产品的功能有原理图决定,但电子产品的许多性能指标

16、,如稳定性、可靠性、抗震强度等不仅与原理图设计、元器件质量、生产工艺有关,而且很大程度上取决于印制电路板的布局、布线是否合理。图4.2 PCB5软件设计5.1软件设计思想本抢答器的软件系统主要包括以下几个部分:主程序: 主程序的功能主要是完成内部各寄存单元的初始化, 对STC89C52单片机接口电路的初始化, 内部定时器的初始化, 中断的初始化及调用显示程序对初始状态的显示以及对外部信号的等待处理, 也就是说完成前期的准备工作等待随时对外部信号进行响应。对开始抢答信号的处理: 当主持人按下开始抢答键后开始抢答, 程序部分采用中断方式进行处理。在中断处理程序中完成相应操作, 修改计时单元的数据并

17、发出计时提示声。键值处理子程序: 此子程序根据键盘扫描所取得的键值作出相应处理。显示子程序:采用动态扫描显示,可以显示选手号和抢答、倒计时间等5.2软件逻辑结构图图5.2.1程序流程图6总结与体会上述以单片机为核心控制部件设计的八路抢答器仿真系统,该仿真电路允许8人同时参赛。本抢答器控制系统具有可靠性高、操作方便等特点,具有一定的运用价值。在本次单片机课程设计中,我完成了八路抢答器的设计要求及功能。在设计开始前我对各个模块进行了详细的分析和设计准备工作,设计过程中,我对Keil 软件有了更深的了解。积极参与完成各个技术实现的难点,从而进一步地熟悉了STC89C52芯片的结构及掌握了各芯片的工作

18、原理和具体的使用方法。通过本次课程设计,让我深刻体会到知识要转化成能力才是力量,与此同时,我对有关单片机的领域有进一步的了解思路也更加开阔。总之,受益匪浅。这也为自己今后进一步深化学习,积累了一定宝贵经验。在本次设计中,我明白了,再困难的问题,只要把它分开来实现,再将这些组合起来,问题就可得到解决。这对于我们以后做题和工作都很重要,我相信这种分化的理念会对我有很大帮助。在本次设计中,让我更加熟练的掌握了Altium Designer,在以后的设计中,用到这个软件的机会很多,这是我的第二个大的收获。通过制作PCB来简化电路焊接我学到了很多。在设计过程中,我也遇到了很多困难,有时也很灰心,想放弃,

19、但坚持下来发现收获巨大。在焊接过程中,太多的连线,面对这么好大的工程量,我只好咬牙坚持下来。这次设计极大锻炼了我的动手操作能力,以前在课本上学到的只是理论知识,现在终于在现实中能够验证,也进一步锻炼了自己的焊接能力。参考文献1康华光、陈大钦、张林.电子技术基础.华中科技大学出版社.20022韩克、柳秀山.电子技能与EDA技术.暨南大学出版社.20043陆坤、奚大顺.电子设计技术.电子科技大学出版社.19974谢自美.电子线路设计实验测试(第三版).华中科技大学出版社.20065阎石.数字电子计数基础.高等教育出版社.19986孙梅生.电子技术基础课程设计.高等教育出版社.19897邱关源编.

20、电路. 北京:高等教育出版社,19888李永平编. 电路设计实用教程. 北京:国防工业出版社,20049刘岚编. 电路分析基础. 北京:高等教育出版社,2009附录1完整电路图附录2元件清单抢答器元件清单序号名称型号规格数量备注151芯片STC89C52RC12芯片底座40引脚13复位按键4脚直插134蜂鸣器有源5V15四位共阳数码管LG5641BH16锁存器74HC573(直插)27芯片底座20引脚28三极管8050(NPN)19瓷片电容30pF(直插)510晶振11.0592M111电解电容10uF/25V112排阻10K*8113排针2.45(常用)1排14电阻100(直插)1015电阻

21、10K(直插)10附录3完整程序/Responder.c#includereg51.h#define LED_DATA_PORT P0 /0亮,共阳数码管#define ADJUST 0 /抢答器处于调整状态#define ANSWER 1 /抢答状态/单片机IO口位声明,51单片机可以对IO的每一位或Px八位单独进行读写操作sbit com1=P13; /1亮sbit com2=P12;sbit com3=P11;sbit com4=P10;sbit key1=P21;sbit key2=P23;sbit key3=P25;sbit key4=P27;sbit key5=P20;sbit k

22、ey6=P22;sbit key7=P24;sbit key8=P26;sbit key9=P35;/倒计时减sbit key10=P36;/倒计时加sbit key11=P37;/清零端,控制端sbit beep=P17; /1响unsigned char num1=0,time=15; /num1是用来辅助定时器计数,累计时间到一秒,time为倒计时unsigned char shi=0,ge=0; /倒计时time的十位和个位unsigned char result=0; /抢答结果unsigned char state=ADJUST; /抢答器状态,初始为调整状态unsigned ch

23、ar flag=0;/结束标识,状态标识,0复位,没有有效信号;1有人抢答,结束抢答过程;2时间到,无人抢答,结束抢答过程const unsigned char ledNum = / 0 1 2 3 4 5 6 7 8 9 A B C D E F 不显示 - o(18)H(19)h(20)C(21)0(22)n(23)0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8e,0xFF,0xbf,0xa3,0x89,0x8b,0xc6,0xc0,0xab; /*- 延时函数,含有输入参数 uns

24、igned int t,无返回值 unsigned int 是定义无符号整形变量,其值的范围是 065535-*/void Delay(unsigned int t) while(-t);/延时函数,n毫秒void Delay_ms(unsigned int n) unsigned int i,j; for(i=n;i0;i-) for(j=110;j0;j-);/开始声音void SoundStart(void) /开始声音 beep=1; Delay_ms(200); beep=0;/报警声音void SoundWarning(void) unsigned char i; for(i=0;

25、i20;i+)/报警声音 beep=1; Delay_ms(i); beep=0; Delay_ms(20-i); /结束声音void SoundOver(void) unsigned char i; for(i=0;i80;i+)/结束声音 beep=1; Delay(100); beep=0; Delay(100); /按键扫描函数,只扫描K1到K8/需要寻求一种方式对重复的代码进行优化unsigned char KeyScan_8(void) unsigned char num=0; if(key1=0) Delay_ms(10); if(key1=0) num=1; /Delay_ms

26、(20);/while(!key1); return num; if(key2=0) Delay_ms(10); if(key2=0) num=2; /Delay_ms(20);/while(!key2); return num; if(key3=0) Delay_ms(10); if(key3=0) num=3; /Delay_ms(20);/while(!key3); return num; if(key4=0) Delay_ms(10); if(key4=0) num=4; /Delay_ms(20);/while(!key4); return num; if(key5=0) Delay

27、_ms(10); if(key5=0) num=5; /Delay_ms(20);/while(!key5); return num; if(key6=0) Delay_ms(10); if(key6=0) num=6; /Delay_ms(20);/while(!key6); return num; if(key7=0) Delay_ms(10); if(key7=0) num=7; /Delay_ms(20);/while(!key7); return num; if(key8=0) Delay_ms(10); if(key8=0) num=8; /Delay_ms(20);/while(

28、!key8); return num; return num;/按键扫描函数,只扫描S11,S10,S9,分别为控制端,倒计时加,倒计时减unsigned char KeyScan_3(void) unsigned char num=0; if(key9=0) Delay_ms(10); if(key9=0) num=9; while(!key9); return num; if(key10=0) Delay_ms(10); if(key10=0) num=10; while(!key10); return num; if(key11=0) Delay_ms(10); if(key11=0) num=11; while(!key11); return num; return num; /按键扫描函数,只扫描控制端,清零端S11,P3.7unsigned char KeyScan_1(void) unsigned char num=0; if(key11=0) Delay_ms(10); if(key11=0) nu

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

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