八路抢答器设计报告文档格式.docx

上传人:b****6 文档编号:17069193 上传时间:2022-11-28 格式:DOCX 页数:13 大小:111.31KB
下载 相关 举报
八路抢答器设计报告文档格式.docx_第1页
第1页 / 共13页
八路抢答器设计报告文档格式.docx_第2页
第2页 / 共13页
八路抢答器设计报告文档格式.docx_第3页
第3页 / 共13页
八路抢答器设计报告文档格式.docx_第4页
第4页 / 共13页
八路抢答器设计报告文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

八路抢答器设计报告文档格式.docx

《八路抢答器设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《八路抢答器设计报告文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

八路抢答器设计报告文档格式.docx

随着科技的进步和经济的发展,各种各样的竞赛越来越多,抢答器的作用也就显得越来越重要。

本次实习设计了以STC89C51单片机为核心的抢答器,采用了数字显示器的直接显示,锁存显示结果,倒计时抢答,自动复位的设计思想,它可以根据不同选手的抢答信号,经过单片机的控制处理,产生与输入信号相对用的输出信号,并通过数码管直接显示,即使两组选手抢答时间相差几微米,抢答器也能及时做出反应,充分保证竞赛的公平与公正。

选手抢答完毕后,按钮会自动锁住,其他选手再无机会抢答。

基于单片机的八路抢答器利用了单片机结构简单,功能强大,可靠性好,实用性强的特点,为抢答器的实用性打下了坚实的基础。

本次设计以抢答为出发点,增加了倒计时的功能,利用单片机定时和计数的原理,将软、硬件结合起来,使得系统在能够倒计时的同时,也能接受赖在选手的抢答信号,显示在数码管上,并自动锁住抢答开关。

与此同时,选手抢答成功,蜂鸣器会发出响声,提醒主持人和选手。

在设计中,我们为主持人设计了一个启动抢答器的开关,只有主持人按下开关后,抢答器才会进行倒计时,否则选手将无法抢答。

若时间已到,则抢答器自动锁住,选手无法抢答。

第二章设计背景介绍

1.数字抢答器概述

科技进步的今天,我们的生活中充斥着各种各样的智能设备,几乎所有的智能设备都离不开芯片的支持,单片机就是这些芯片中的一种。

单片机把我们带入了智能化的电子领域,以往许多繁琐的系统都可以由单片机进行简单化,是的电路跟家简单,电子产品的功能更加强大,齐全,为数字电路系统注入了新的活力。

而随着科技的进步,单片机的串口通信与其他电路的结合成为了一种趋势,。

本次设计就是基于单片机设计的抢答器,通过单片机的串口的通信传输动态的数据,使得抢答器系统的功能得到了极大的丰富。

单片机的硬件系统结合上传统抢答器,为单片机的应用程序注入了新的生命,使他在传统抢答器面前具有了高效的性能。

作为一种特殊的工具,抢答器在使用上必须具有反应快,反应准确的特点,抢答器的性能好坏在一定程度上反映了设计者设计的精巧与否,同时对单片机的运算速度也有一定的要求。

本次设计采用的是当下流行的STC89C52单片机该单片机具有体积小,质量轻,运算速度快等特点。

在设计的同时还要考虑算法实现的难易程度,尽量简化算法,这样有了利于提高单片机的预算速度,提高选手抢答的公平与公正性。

2.设计目的及要求

(1)设计一个可供8人进行抢答的系统。

(2)系统设置复位按钮,复位后可重新抢答。

(3)抢答器开始运行是,首先进行10秒倒计时,在10秒内抢答成功者将有权利回答问题,若10秒内无人抢答,系统会自动锁住,只能由主持人重新复位。

(4)在抢答成功时,蜂鸣器发出声音,提示主持人有人抢答成功。

(5)有人抢答撑破功能后,系统将锁存住该选手的号码并在数码管上显示,其他选手将无法继续抢答。

第三章硬件电路设计

一、系统硬件设计

为使硬件电路设计尽可能合理,应注意以下几个方面:

(1)选用内存足够大的单片机,本设计采用的是STC89C52,该单片机较为常见,价格便宜。

(2)在设计电路时要考虑到将来扩展的方便,在电路焊接的过程中必不可少的会出现返工的情况,这样一些小元件的的拆装就是不可少会带来麻烦,甚至额能回应为这些问题而影响到整个电路的焊接组装。

(3)在设计电路图时,要注意仿真元器件和真实情况的差异,注意管脚的分配。

电路设计面积要尽量缩小,单页不是纯粹为了小面积而忽略一些细小的问题。

二、总体设计电路图

三、原理图

四、时钟频率电路的设计

单片机必须在时钟的驱动下才能工作。

在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。

时钟电路如图所示。

单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。

其大小是时钟信号频率的倒数,图中的工作频率为11.0592MHZ。

五、复位电路的设计

单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图所示。

复位电路由电解电容,按键,电阻组合成并联电路并接地。

按下按键,单片机的程序会重新执行一遍。

抢答器在进行一轮抢答之后需要复位以下才能继续工作。

六、显示电路设计

显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。

本次设计所采用的数码管是单个的,只需要引用P2系列管脚,不需要添加锁存器。

电路图如图所示。

数码管是共阴极的,公共端接地,其余的管脚按照A,B,C,D,E,F,G分别接到P2管脚。

单片机工作时,P2管脚输出高低电平,数码管会根据事先变好的码显示0~9的数字,数码管承担了两个角色,一个是倒计时,一个是抢答显示,所以数码管部分的功能至关重要。

七、键盘扫描电路的设计

键盘是我们日常生活中最常见的人机交互的工具之一,现在我们就要自己设计一个键盘作为抢答器的按键。

关于键盘硬件电路的设计方法也可以在文献和书籍中找到,配合各种不同的硬件电路。

数字抢答器设计中采用了独立键盘的方式,本设计中有8个抢答按键输入,在设计中首先要考虑的问题就是如何消除“毛刺”现象,消除按键的抖动通常有硬件、软件两种消除方法。

一般在按键较多时,采用软件的方法消除抖动,这里采用最常用的方法,即延时重复扫描法,延时法的原理为:

因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。

通过这样的程序设计就可以有效的消除“毛刺”的问题。

在消除了“毛刺”的问题后还有一个问题就是如何实现案件的锁存。

这里我们采用的是设置一个变量,当按键按下时,变量的值也随之改变。

同时我们在判断按键是否按下时也要判断这个变量的值是否改变,如果已经改变,纳闷程序就不去执行按键按下的功能。

图中8个抢答按键分别接入单片机的P0.0-P0.7端口,不停的扫描P0端口是否为低电平,如果为低电平则说明按键按下了,之所以选择P0口作为按键扫描的端口,是因为P0口的电压不足以驱动数码管,需要加上拉电阻,为了避免这个问题,把数码管改到了P2端口。

八、发声电路的设计

如图中可以看出,在蜂鸣器的一端接了三极管,三极管起到了放大电流的作用,单片机输出的电流不足以驱动蜂鸣器,所以需要三极管来放大。

蜂鸣器的作用就是在选手按下按键后发出声音提醒主持人已经有人问抢答成功。

第四章软件任务分析

软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。

软件任务分析环节是为软件设计做一个总体规划。

软件任务分析时应将各执行模块的功能一一列出来,并确定每个功能模块的端口。

在完成以上任务后,可以先编号程序用仿真软件进行仿真,测试程序的功能是否达到。

具体程序分析如下

TMOD=0x01;

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

EA=1;

ET0=1;

while

(1)

{

//if(num2==1)

//{

//break;

//}

keyscan();

display(ge);

}

该程序的功能是开启定时中断,实现1秒钟计时,keyscan();

display(ge);

分别是键盘扫描和数码管显示函数

voiddelayms(uintxms)

{

uinti,j;

for(i=xms;

i>

0;

i--)

for(j=110;

j>

j--);

}

延时函数,这个延时函数不能做到精确的延时功能,所以需要定义中断函数,实现准确的计时

#include<

reg52.h>

#defineucharunsignedchar

voidkeyscan()

if(key==0)

delayms(10);

if(key==0)

{

while(!

key);

TR0=1;

num2=0;

}

}

if(key1==0&

&

num2==0)

if(key1==0)

num2=1;

ge=1;

TR0=0;

key1);

if(key2==0&

if(key2==0)

ge=2;

key2);

if(key3==0&

if(key3==0)

ge=3;

key3);

if(key4==0&

if(key4==0)

ge=4;

key4);

if(key5==0&

if(key5==0)

ge=5;

key5);

if(key6==0&

if(key6==0)

ge=6;

key6);

if(key7==0&

if(key7==0)

ge=7;

key7);

if(key8==0&

if(key8==0)

ge=8;

key8);

键盘扫描函数,包括了总开关的扫描程序和选手抢答键盘的程序,中间定义了一个变量,功能是用于抢答之后锁住键盘。

voiddisplay(ucharge)

P2=table[ge];

delayms(10);

P2=0xff;

数码管显示程序,通过编码实现P2管脚的高低电平的变化,从而驱动数码管显示。

voidT0_time()interrupt1

num1++;

if(num1==20)

num1=0;

if(num<

=8)

num++;

ge=num;

else

{

ge=0;

}

中断函数,用于重装初值实现1秒计时,并且实现数码管显示内容的变化。

第五章心得总结

在这次电子实习中,我焊接的八路抢答器功能基本实现,从中收获不少。

首先是画PCB电路图,从原理图生成PCB需要人工摆放位置的工作,这个工作是很重要的,因为位置摆放不正确的话就会导致生成的PCB绕线,从而导致腐蚀的板子会出现短路等问题。

处理完位置摆放的问题后还需要设置线宽,细一点的线容易导致在腐蚀的时候断线,造成电路短路,粗的线宽又会造成难看,不美观,所以选择合适的线宽很重要。

除了花PCB之外,还需要编写单片机程序,程序并不复杂,但是要把代码和实际应用联系起来,把所有可能遇到的问题考虑进去融入到代码中。

代码完成以后还要进行仿真,仿真是很关键的一不,因为这关系到代码运行是否正确,电路设计是否合理等问题,如果仿真通过了,那么只需要进行下一步的电路焊接了。

电路焊接首先需要腐蚀PCB电路板,腐蚀之前要把铜板稍微打磨一下去掉上面的氧化膜,这样有助于PCB腐蚀。

腐蚀时候要注意安全,因为腐蚀药品有强氧化性,不要让药品沾到手上和眼睛里。

焊接过程中要注意电子器件摆放的位置,不能摆错,特别要注意点解电容,二级管,三极管的管脚所对应的插孔。

焊点要尽量的小,不要粘连到附近的焊点。

焊接之前要用万能表解释一下腐蚀好的线路,看看看有没有断路来的地方。

从中我学会了坚持不懈,不轻易放弃,设计的过程就是我们成长的过程,常有一些不如意,也许这就是在对我们提出挑战,我们要战胜它,胜利的钟声就会为我们敲响。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 建筑土木

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

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