基于单片机的6路抢答器系统设计_第1页
基于单片机的6路抢答器系统设计_第2页
基于单片机的6路抢答器系统设计_第3页
基于单片机的6路抢答器系统设计_第4页
基于单片机的6路抢答器系统设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE2《单片机原理及接口》课程设计报告题目:抢答器系统设计专业名称:电子信息工程班级:学号:姓名:抢答器系统设计第一章:绪论,主要介绍设计背景。 31.抢答器的概述 32.设计要求 3第二章:硬件电路设计 31.总体原理图 42.时钟频率电路的设计 43.复位电路的设计 54.显示电路的设计 55.键盘扫描电路的设计 56.发声 67.系统复位 6第三章:系统软件设计 61.系统原理图 72.程序流程图 7第四章:调试 ...81.系统的调试82.具体调试93.调试实物图9第五章:总结10参考文献 10程序附录11第一章:绪论,主要介绍设计背景。1、数字抢答器的概述

而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。2、设计要求基本要求:制作一个6人抢答器,以开关中的某个开关的按下(闭合)作为抢答按键。无人抢答时,6只数码管轮流循环显示1~6(跑马),谁先抢答,数码管停止跑马,6个数码管同时亮谁的编号,其后再有人按键,系统不予响应,直到复位键按下,开始下一轮抢答。扩展部分:谁先按下,对应的数码管亮5次抢答人的编号,并发出声音提示。实验环境:硬件:PC机,基本配置CPUPII以上,内存256M以上;软件:keilc51软件,proteus软件。第二章:硬件电路设计系统硬件设计为使硬件电路设计尽可能合理,应注意以下几方面:(1)尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片。(2)留有设计余地。在设计硬件电路时,要考虑到将来修改扩展的方便。(3)程序空间,选用片内程序空间足够大的单片机,本设计采用AT89C51单片机。(4)I/O端口,在样机研制出来后进行现场试用时,往往会发现一些被忽视的问题,而这些问题不是靠单纯的软件措施来解决的。如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。如果在硬件电路设计就预留出一些I/O端口,虽然当时空着没用,那么用的时候就派上用场了。1、总体原理图2、时钟频率电路的设计单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。一般选用石英晶体振荡器。时钟频率电路如图2-1所示。在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2的典型值为30PF。图2-1时钟频率电路3、复位电路的设计单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图2-2所示:图2-2复位电路4、显示电路的设计显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。显示电路如图2-3所示。图2-3显示电路图5、键盘扫描电路的设计键盘是人与微机系统打交道的主要设备。在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。图2-4为本设计所用的独立按键原理图。图2-4独立按键6、发声我们知道,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。图2-5为发声原理图。图2-5发声原理图7、系统复位使CPU进入初始状态,从0000H地址开始执行程序的过程叫系统复位。从实现系统复位的方法来看,系统复位可分为硬件复位和软件复位。硬件复位必须通过CPU外部的硬件电路给CPU的RESET端加上足够时间的高电位才能实现。上电复位,人工按钮复位和硬件看门狗复位均为硬件复位。硬件复位后,各专用寄存器的状态均被初始化,且对片内通用寄存器的内容没有影响。但是,硬件复位还能自动清除中断激活标志,使中断系统能够正常工作。软件复位就是用一系列指令来模拟硬件复位功能,最后通过转移指令使程序从0000H地址开始执行。第三章:系统软件设计 软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。1、系统原理图单片机主控电路LED数码显示单片机主控电路LED数码显示晶振电路复位电路主控开关键盘扫描电路主控开关键盘扫描电路声音提示系统声音提示系统2、程序流程图在本设计中包括了以下几个主要的程序:主程序;正常抢答处理程序;显示及发声程序。主流程图如图所示:开始开始初始化程序初始化程序P3^2==0?ΝP3^2==0?启动中断,数码管开始显示1-6Y启动中断,数码管开始显示1-6有选手抢答?N有选手抢答?中断停止,数码管显示抢答选手标号,蜂鸣器响起5次Y中断停止,数码管显示抢答选手标号,蜂鸣器响起5次结束结束外部外部0中断K6按下?K4按下?K3按下?K5按下?K2按下?K1按下?K6按下?K4按下?K3按下?K5按下?K2按下?K1按下?NNNNNN数码管显示6号选手编号,蜂鸣器响5次数码管显示1号选手编号,蜂鸣器响5次YYYYY数码管显示6号选手编号,蜂鸣器响5次数码管显示1号选手编号,蜂鸣器响5次数码管显示5号选手编号,蜂鸣器响5次数码管显示2号选手编号,蜂鸣器响5次数码管显示5号选手编号,蜂鸣器响5次数码管显示2号选手编号,蜂鸣器响5次数码管显示3号选手编号,蜂鸣器响5次数码管显示4号选手编号,蜂鸣器响5次NNNNNN返回中断返回中断第四章:调试4、1系统的调试系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。

硬件调试分单元电路调试和联机调试,单元电路试验在硬件电路设计时已经进行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加工工艺性错误(如错线、开路、短路等)。这种调试可单独模拟进行,也可通过开发装置由软件配合进行,硬件联机调试则必须在系统软件的配合下进行。

软件调试一般包括分块调试和联机调试两个阶段。程序的分块调试一般在单片机开发装置上进行,可根据所调程序功能块的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行;也可配合对应硬件电路单独运行某程序功能块,然后检查是否正确,如果执行结果与预想的不一致,可以通过单步运行或设置断点的方法,查出原因并加以改正,直到运行结果正确为止。这时该程序功能块已调试完毕,可去掉附加程序段。其它程序功能块可按此法进行调试。程序联机调试就是将已调试好的各程序功能块按总体结构联成一个完整程序,在所研制的硬件电路上运行。从而试验程序整体运行的完整性、正确性和与硬件电路的配合情况。在联调中可能会有某些支路上的程序、功能块因受条件制约而得不到相应的输入参数,这时,调试人员应创造条件进行模拟调试。在联调中如发现硬件问题也应及时修正,直到单片机系统的软件、硬件全部调试成功为止。系统调试完成后,还要进行一段时间的试运行,从而检验系统的稳定性和抗干扰能力,验证系统功能是否达到设计要求,是否达到预期的效果。4、2具体调试1、具有复位装置和抢答控制,可由主持人操纵。当无人抢答时,数码管跑马显示1-6,直到有人抢答为止。当有人抢答时,6个数码管都显示抢答选手的编号,此时蜂鸣器伴随发出5声声响,且选手按下开关后,其他选手再按开关无效,直到主持人复位。我遇到的问题:刚开始接蜂鸣器的时候不会发出响声。

分析回答:应该是蜂鸣器的电压太大了。因为在选用蜂鸣器的时候系统设置电压为12V,而C51芯片引脚输出电压一般为3V左右,显然小于蜂鸣器的驱动电压,如果把蜂鸣器的驱动电压设为2V,蜂鸣器就能完全驱动,故而会发出响声。4、3调试实物图1、主持人打开抢答系统2、选手抢答第五章:总结经过近两个月的努力,在老师和同学的讨论和帮助下,我成功地完成了六路抢答器的设计,通过此次课程设计,我重新认识到了对书本上的知识要独立运用的道理。在抢答器设计过程中,发现了很多细节性的问题,也出现了很多错误,经过和同学们研究、商讨最后都解决,感觉团队协作能力是非常有必要的!通过此次的抢答器的设计,让我重新拾起了以前所学习的电子知识和C语言的编程,也使我加深了对单片机及接口技术的理解和应用,由于知识水平的局限,设中可能会存在着一些不足,我真诚的接受老师和同学的批评和指正。参考文献1.C程序设计,谭浩强,清华大学出版社,20052.单片机原理及接口技术(第3版),李朝青,北京航空航天大学出版社,20023.单片机系统设计与实例指导,冯育长,西安电子科技大学出版社,20074.单片机课程设计实例指导,李光飞,北京航天航空大学出版社,2004程序附录:#include<reg51.h>#defineuintunsignedint#defineuncharunsignedcharuncharch1[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d};uncharch2[]={0x3e,0x3d,0x3b,0x37,0x2f,0x1f};********************延时程序************voiddelay(uintt){uinta,b;for(a=t;a>0;a--)for(b=0;b<124;b++);}**********************位定义*************sbitk1=P1^0;sbitk2=P1^1;sbitk3=P1^2;sbitk4=P1^3;sbitk5=P1^4;sbitk6=P1^5;sbitbuzzer=P3^6;************主程序**********voidmain() {EA=1;EX0=1;IT0=0;while(P3^2==0) buzzer=0;//初始化蜂鸣器}************中断程序***********voidint0()interrupt0{ inti;buzzer=0;*********无人抢答初始情况********for(i=0;i<6;i++){P0=ch1[i];//初始的数字显示P2=ch2[i];//位显示delay(500); if(k1==0||k2==0||k3==0||k4==0||k5==0||k6==0)//抢答开始**********按键1******************{if(k1==0)//判断按键1是否按下{for(i=0;i<5;i++) {P2=0x3f; buzzer=0; delay(400); P0=0x06;P2=0x00; buzzer=1; delay(400); } buzzer=0;//让蜂鸣器停止响 while(1);}*********按键2******************* if(k2==0){for(i=0;i<5;i++) {P2=0x3f; buzzer=0; delay(400); P0=0x5b;P2=0x00; buzzer=1; delay(400);} buzzer=0; while(1); }********************按键3************** if(k3==0){for(i=0;i<5;i++) {P2=0x3f; buzzer=0; delay(400); P0=0x4f;P2=0x00; buzzer=1; delay(400); } buzzer=0; while(1);}****************按键4****************** if(k4==0){for(i=0;i<5;i++) {P2=0x3f; buzzer=0; delay(400); P0=0x66;P2=0x00; buzzer=1

温馨提示

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

评论

0/150

提交评论