版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.目录1.41.1.42.42.1.42.2.52.3.62.4.62.5.72.6.73.73.1.73.2.93.3104.10C.11Word 资料.一设计要求与功能1.1 设计基本要求( 1)抢答器同时供 4 名选手或 4 个代表队比赛使用,分别用 4 个按钮 K1K4 表示。(2)设置裁判开关k5 和清零开关 k6 ,该开关由主持人控制,当主持人按下 k6,系统复位,预备抢答,当主持人按下总控制控制开关k5 ,开始抢答;(3)抢答器具有定时抢答功能, 抢答时间为倒计时 15 秒。当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的提示声响,声响持续的时间 0.5 秒左右,
2、当计时小于5 秒后,每减少一秒,便报警一次以提示选手。(4)抢答器具有锁存功能, 参赛选手在设定的时间内进行抢答,抢答有效,蜂鸣器发声, 计时停止,数码管上显示选手的编号和时间,选手相应的信号灯被点亮,其他选手再抢答时无效。(5)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答。等待下一轮抢答。二 硬件设计2.1 控制系统及所需元件控制系统主要由单片机应用电路、存储器接口电路、 显示接口电路组成。 其中单片机 STC89C52 是系统工作的核心,它主要负责控制各个部分协调工作。所需元件:该系统的核心器件是STC89C52 。各口功能:P0.0-P0.3是数码管的位选口;P2.0-P
3、2.7 是数码管的段选口,为其传送段选信号;P1.0-P1.3 是 4 组抢答信号的输入口;P1.4 、P1.5 由裁判控制 ,分别是抢答开始复位功能键;P1.6 为蜂鸣器的控制口;P3.4-P3.7 为选手信号灯输出口;Word 资料.在其外围接上电复位电路、数码管电路、 LED 发光二极管、按键电路及扬声器电路。电子抢答器用单片机来设计制作完成的, 由于其功能的实现主要是通过软件编程来完成的, 所以采用单片机 STC89C52 ,它是一个低电压, 高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 512 bytes 的随机存取数据存储器
4、( RAM ),器件采用 ATMEL 公司的高密度、非易失性存储技术生产, 兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,功能强大的 STC89C52 单片机可为您提供许多较复杂系统控制应用场合。下图为其I/O 口引脚图:STC89C52 管脚图2.2. 抢答器显示模块显示模块分为数码管模块和LED 信号灯模块分别采用四位一体共阴极数码管和四个发光二极管,体积小,功耗低,故障率低,程序编译容易,资源占用较少。 (见图 1,图 2)图 1.图 22.3 电源方案的选择系统需要 5V 电源来驱动单片机STC89C52 。利用电脑的 USB 接口可以提供 5
5、V 电压来驱动单片机。2.4 抢答器键盘的选择键盘是单片机不可缺少的输入设备, 是实现人机对话的纽带。 键盘按结构形式可以分为非编码键盘和编码键盘, 前者用软件方法产生键码, 而后者则用硬件方法来产生键码。在单片机中使用的都是非编码键盘, 因为非编码键盘结构简单,成本低廉,非编码键盘的类型很多,常用的有独立式键盘,行列式键盘等。本设计采用独立式键盘。键盘接口中使用多少根 I/O 线,键盘中就有几个按键, 键盘接口使用了 6 根 I/O 口线,该键盘就有 6 个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。 因此可以根据实际需要对键盘中的按键灵活的编码。如图所示。最简单的编码
6、方式就是根据I/O 输入口所直接反映的相应按键, 按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU 可以通过直接读取 I/O 口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识Word 资料.别,这样形式的键盘结构简单,按键识别容易。独立式键盘的缺点是需要占用比较多的 I/O 口线,当单片机应用系统键盘中需要的按键比较少或 I/O 口线比较富余时,可以采用这样类型的键盘。其模块电路图如图4 所示。采用六个 BUTTON按钮作为抢答的选择按钮,与 STC89C52 的 P1.0-P1.5 相连。图 4 键盘模块2.5 蜂鸣器模块蜂鸣器是一种一体化结构的电子讯响器,
7、采用直流电压供电, 广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件,其图形如图所示.Word 资料.2.6 外部振荡电路外部振荡电路单片机必须在 AT89C52 的驱动下才能工作 .在单片机内部有一个时钟振荡电路 ,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,外部振荡电路见图所示。三 程序设计3.1 程序流程图:开始初始化部分NK5= =0Word 资料Y启动中断,数码管开始倒计时.抢答器主程序流程图定时器 0 中断N1 秒时间到?Y秒加 1数码管显示秒值中断返回抢答器定时器中断流程图Word 资料NYK1键按下.
8、键对应的发光二极管亮及数码管显示与 K1NYK2键按下与 K2 键对应的发光二极管亮及数码管显示NYK3键按下与 K3 键对应的发光二极管亮及数码管显示N扫描停止键盘扫描流程图主程序我们组所设计的抢答器的程序采用的是C 程序设计, C 语言的显著特点是用二进制来编写程序,程序的各个部分除了必要的信息交流外彼此之间相互独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。 C 语言是以函数形式提供给用户的 ,这些函数可方便的调用 ,并具有多种循环、条件语句控制程序流向 ,从而使程序完全结构化。虽然C 语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。本次设计的主程序
9、中包括时钟设计程序,定时器中断子程序, LED 显示程序以及按键控制子程序,具体程序见附件。3.2 系统的调试系统调试包括硬件调试和软件调试,而且两者是密不可分的。 我们设计好的硬件电路和软件程序, 只有经过联合调试, 才能验证其正确性; 软硬件的配人情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。硬件调试分单元电路调试和联机调试,单元电路试验在硬件电路设计时已经进行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加Word 资料.工工艺性错误(如错线、开路、短路等)。这种调试可单独模拟进行,也可通过开发装置由软件配合进行。硬件
10、联机调试则必须在系统软件的配合下进行。软件调试一般包括分块调试和联机调试两个阶段。程序的分块调试一般在单片机开发装置上进行, 可根据所调程序功能块的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行;也可配合对应硬件电路单独运行某程序功能块, 然后检查是否正确, 如果执行结果与预想的不一致,可以通过单步运行或设置断点的方法, 查出原因并加以改正, 直到运行结果正确为止。这时该程序功能块已调试完毕,可去掉附加程序段。其它程序功能块可按此法进行调试。程序联机调试就是将已调试好的各程序功能块按总体结构联成一个完整程序,在所研制的硬件电路上运行。从而试验程序整体运行的完整性、正
11、确性和与硬件电路的配合情况。 在联调中可能会有某些支路上的程序、功能块因受条件制约而得不到相应的输入参数,这时,调试人员应创造条件进行模拟调试。在联调中如发现硬件问题也应及时修正,直到单片机系统的软件、 硬件全部调试成功为止。系统调试完成后, 还要进行一段时间的试运行,从而检验系统的稳定性和抗干扰能力,验证系统功能是否达到设计要求,是否达到预期的效果。3.3焊接的问题及解决一般来说,造成硬件问题的首要问题就是焊接了,也就是说焊接的好与坏直接响产品的正常运行。造成焊接质量不高的常见原因是:焊锡用量过多 ,形成焊点的锡堆积;焊锡过少,不足以包裹焊点。冷焊。焊接时烙铁温度过低或加热时间不足 ,焊锡未
12、完全熔化、浸润、焊锡表面不光亮(不光滑 ),有细小裂纹 (如同豆腐渣一样 !)。夹松香焊接 ,焊锡与元器件或印刷板之间夹杂着一层松香,造成电Word 资料.连接不良。若夹杂加热不足的松香,则焊点下有一层黄褐色松香膜;若加热温度太高 ,则焊点下有一层碳化松香的黑色膜。对于有加热不足的松香膜的情况,可以用烙铁进行补焊。对于已形成黑膜的, 则要 "吃"净焊锡 ,清洁被焊元器件或印刷板表面 ,重新进行焊接才行。焊锡连桥。指焊锡量过多,造成元器件的焊点之间短路。这在对超小元器件及细小印刷电路板进行焊接时要尤为注意。焊剂过量,焊点明围松香残渣很多。当少量松香残留时,可以用电烙铁再轻轻加
13、热一下,让松香挥发掉 ,也可以用蘸有无水酒精的棉球,擦去多余的松香或焊剂。焊点表面的焊锡形成尖锐的突尖。这多是由于加热温度不足或焊剂过少,以及烙铁离开焊点时角度不当浩成的内。总结经过近半个月的努力 ,在我们合作下 ,我们较好的完成了这次设计项目, 通过此次电子制作比赛,我们重新认识到了自学的重要性,以及学以致用的道理。我们在图书馆和网上查阅了大量的资料,同时也认识到了图书馆的重要作用。通过此次的抢答器的设计,让我们更加重视到专业知识的重要性及动手能力的必要性,在整个制作过程中,我们出现很多问题,但我们并没有因此而放弃,在不断调试和失败中,我们不仅学到了专业知识,更是磨炼了我们的心智,让我们受益
14、匪浅。任何事情只要去做,多多去尝试,努力的要以自己去做为前提的心态,那么任何事情即使做的不好,也会受益很多,不是有句话叫做:心态决定的成败的话吗,实在是有理。无论做什么事情都不可能一帆风顺,碰到阻碍不要舍弃,不要踟蹰不前,不经历风雨,怎么见彩虹!在今后的学习过程中,应该多到图书馆看一些专业方面的书籍,比如protel画图,proteus 仿真软件,以丰富自己的知识, 掌握更多的硬件与软件设计技巧,使我们在今后的制作中提高效率。 这次设计任务也使我们加深了对单片机及接口技术的理解和应用, 由于知识水平的局限, 设计中可能会存在着一些不足,我们真诚的接受老师和同学的批评和指正.。Word 资料.附
15、录( C 程序)#include<reg52.h>#define uchar unsigned char#define uint unsigned intUchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/共阴数码管 09 编码uint i,j,time,num;uchar ge,shi;bit flag,flag1;sbit k1=P10;sbit k2=P11;sbit k3=P12;sbit k4=P13;sbit k5=P14;sbit k6=P15;/k1k4 为选手按键 ,k5 为主持人
16、开关 ,k6 为复位键sbit beep=P16;/ 定义蜂鸣器的端口sbit wei1=P00;sbit wei2=P01;sbit wei3=P02;sbit wei4=P03;/定义数码管的位选端口sbit led1=P34;sbit led2=P35;sbit led3=P36;sbit led4=P37;/定义 LED 灯的端口void delay(uint a)/ 延时函数uint i,j;for(i=a;i>0;i-)for(j=110;j>0;j-);void display()/ 显示函数Word 资料.shi=time/10;ge=time%10;P2=tabl
17、enum;/ 显示选手编号wei1=0;delay(1);wei1=1;P2=tableshi;wei3=0;delay(1);/显示时间wei3=1;P2=tablege;wei4=0;delay(1);wei4=1;void keyscan()if(k1=0)/ 按键按下delay(10);/ 延时去抖动if(k1=0)num=1;led1=0;flag=1;TR0=TR0;TR1=0;/ 开定时器 0,关定时器 1 beep=1;delay(500);beep=0;/ 蜂鸣器响 500 毫秒 while(!k1);/ 等待按键释放if(k2=0)delay(10);if(k2=0)num
18、=2;led2=0;flag=1;TR0=TR0;TR1=0;Word 资料.beep=1;delay(500);beep=0;while(!k2);if(k3=0)delay(10);if(k3=0)num=3;led3=0;flag=1;TR0=TR0;TR1=0;beep=1;delay(500);beep=0;while(!k3);if(k4=0)delay(10);if(k4=0)num=4;led4=0;flag=1;TR0=TR0;TR1=0;beep=1;delay(500);beep=0;while(!k4);display();/ 显示选手编号和时间if(time=0)TR
19、0=0;TR1=0;flag=1;/ 关计时器 0 和 1if(time=6)Word 资料.TR1=1;void init()TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;beep=0;/ 作品上蜂鸣器是赋高电平响,开始置低关闭void main()init();/ 初始化while(1)display();if(k6=0)delay(10);if(k6=0)P3=0xff;/ 关闭所有 LED 灯flag1=
20、k6;time=15;wei1=0;num=0;P2=tablenum;while(!flag1)Word 资料.if(k5=0)delay(10);if(k5=0)flag1=1;flag=k5;TR0=1;beep=1;delay(500);beep=0;while(!k5);while(!flag)keyscan();/ 扫描键盘void time0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;i+;if(i=20)i=0;time-;void time1() interrupt 3Word 资料.TH1=(65536
21、-50000)/256;TL1=(65536-50000)%256;j+;if(j=10)j=0;beep=beep;抢答器用独立键盘设计一个四路抢答器,要求第一个按键按下的灯亮,以后按下的灯就不亮了,按下复位键从新开始抢答;(共用 5 个按键,四个抢答用,一个复位用)#include<reg52.h>#define uchar unsigned char#define uint unsigned intuint i,j,time,num;uchar ge,shi;bit flag,flag1;sbit k1=P10;sbit k2=P11;sbit k3=P12;sbit k4=P13;sbit k5=P14; /k1 ,k2, k3,k4 为选手抢答按键,按下时亮灯。 k5 为复位键,按下时灯全部熄灭。sbit led1=P30;sbit led2=P31;sbit led3=P32;sbit led4=P33;Word 资料.void d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年医师定期考核考试综合练习【考试直接用】附答案详解
- 2024-2025学年度施工员练习题附答案详解(B卷)
- 2024-2025学年医院三基考试高频难、易错点题含答案详解【夺分金卷】
- 2024-2025学年医师定期考核考试综合练习完整答案详解
- 2024-2025学年度法律硕士试题预测试卷附答案详解【综合卷】
- 2024-2025学年度燃气职业技能鉴定检测卷及参考答案详解【完整版】
- 2024-2025学年度计算机四级试题预测试卷及完整答案详解(夺冠)
- 2024-2025学年度云南农业职业技术学院单招数学常考点试卷完整版附答案详解
- 2024-2025学年度反射疗法师大赛理论考前冲刺练习题带答案详解(综合卷)
- 2024-2025学年度注册核安全工程师考试历年机考真题集【能力提升】附答案详解
- 转基因的科学-基因工程智慧树知到答案章节测试2023年湖南师范大学
- 外科学教学课件:麻醉Anesthesia
- GB/T 5754.1-2015钢丝绳芯输送带纵向拉伸试验第1部分:伸长率的测定
- 建筑信息模型BIM技术简介李宁
- 《教师专业发展》课件
- 现代汉语语法(2)短语课件
- LabVIEW基础教程课件
- 唐宋词十七讲-(作者:叶嘉莹)
- 组合数学课件
- 生态环境材料 第2章 材料产业与生态环境
- 新教材教科版五年级上册科学 3-3《我们的水钟》课件
评论
0/150
提交评论