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

上传人:b****7 文档编号:8789092 上传时间:2023-02-01 格式:DOCX 页数:42 大小:168.14KB
下载 相关 举报
基于51单片机的多路数字定时抢答器设计课程设计.docx_第1页
第1页 / 共42页
基于51单片机的多路数字定时抢答器设计课程设计.docx_第2页
第2页 / 共42页
基于51单片机的多路数字定时抢答器设计课程设计.docx_第3页
第3页 / 共42页
基于51单片机的多路数字定时抢答器设计课程设计.docx_第4页
第4页 / 共42页
基于51单片机的多路数字定时抢答器设计课程设计.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

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

《基于51单片机的多路数字定时抢答器设计课程设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的多路数字定时抢答器设计课程设计.docx(42页珍藏版)》请在冰豆网上搜索。

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

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

学号:

课程设计

 

题目

多路数字定时抢答器设计

学院

专业

班级

姓名

指导教师

 

课程设计任务书

学生姓名:

专业班级:

指导教师:

工作单位:

题目:

多路数字定时抢答器设计

初始条件:

已知条件

本课程设计,要求用集成电路:

74LSl48,74LS279,74LS48,74LSl92,NE555,74LS00,74LSl21和其它器件等,实现八路定时抢答功能。

用蜂鸣器作声电器件,工作电源Vcc为+5V。

要求完成的主要任务:

(1)设计任务

根据已知条件,完成对多路数字定时抢答器的设计、装配与调试。

(2)设计要求

可同时供8名选手(或代表队)参赛,其编号分别是0到7,各用一个抢答按钮,按钮的编号与选手的编号相对应。

给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。

抢答器具有数据锁存和显示的功能。

抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时扬声器给出音响提示。

此外,要封锁输入电路,禁止其它选手抢答。

优先抢答选手的编号一直保持到主持人将系统清零为止。

抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定(如30秒)。

当节目主持人启动“开始”键后,要求定时器立即进行减计时,并用显示器进行显示,同时扬声器发出短暂的声响,声响持续时间0.5秒左右。

参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。

如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统进行短暂的报警,并封锁输入电路,禁止选手超时后抢答,定时显示器上显示00。

画出总体电路原理图。

(选做:

用EWB软件完成仿真)。

按规定格式写出课程设计报告书。

时间安排:

1、年月日集中,作课设具体实施计划与课程设计报告格式的要求说明。

2、年月日,查阅相关资料,学习电路的工作原理。

2、年月日至年月日,方案选择和电路设计。

2、年月日至年月日,电路调试和设计说明书撰写。

3、年月日上交课程设计成果及报告,同时进行答辩。

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

 

摘要

 

抢答器作为一种工具,已经广泛应用于各种智力和知识竞赛场合。

本设计以八路智力竞赛抢答器为基本概念,从实际应用出发,用STC89C52和74HC573设计具有扩充功能的抢答器。

八路抢答器由主体电路和扩展电路组成。

主体电路由抢答电路和驱动电路以及控制电路组成:

扩展电路主要由报警电路和显示电路组成。

电路经过布线、焊接、调试等工作后抢答器成形。

单片机体积小,价格低,应用方便,稳定可靠。

单片机将很多任务交给了软件编程去实现,大大简化了外围硬件电路,使外围电路的实现简单方便。

使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色

关键字:

抢答电路定时电路报警电路

 

Abstract

 

Responderasatool,hasbeenwidelyusedinvariousintelligenceandknowledgecontestsoccasion.ThedesignquizRespondereightbasicconceptsofpracticalapplication,withSTC89C52and74HC573designedwithextensionsResponder.OctalResponderbythemaincircuitandtheexpansioncircuit.Respondercircuitandmaincircuitfromthelatchcircuitandacontrolcircuitconsistsof:

expansioncircuitmainlybythealarmcircuitanddisplaycircuit.Afterthecircuitwiring,welding,commissioningworkRespondershape.SCMsmallsize,lowprice,convenient,stableandreliable.ManytaskswillbehandedovertotheMCUsoftwareprogrammingtorealize,greatlysimplifyingtheperipheralhardwarecircuit,theperipheralcircuitimplementationissimpleandconvenient.Responderitinthetraditionalfronthasasimplecircuit,lowcost,reliableoperationandothercharacteristics.

Keywords:

Respondercircuittimingcircuitalarmcircuit

1设计内容与要求

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,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。

3)抢答器具有数据锁存和显示功能。

抢答开始,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时扬声器给出音响提示。

此外要封存输入电路,禁止其他选手抢答。

优先抢答选手的编号一直保持到系统清零为止。

1.2.2扩展功能

1)抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定,档节目主持人按下“clear”按钮后,要求定时器立即倒计时,并在显示器上显示,同时扬声器发出短暂声响,声响持续0.5S左右。

2)参赛选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。

如果定时抢答时间已到,却没有选手抢答,则本次抢答无效,系统短暂报警,并封存输入电路,禁止选手超时后抢答,时间显示器上显示00。

2方案设计与选择

2.1第一种方案

图2.1.1第一种方案

抢答按钮连接控制电路,抢答开始,有选手按下抢答按钮后,控制电路是锁存器锁存各个抢答路的电平高低,从而锁存了第一位抢答者的抢答信号,同时切断其他抢答者的抢答信号,阻止其他选手的抢答。

编码器将抢答结果译成二进制数送给下一级译码显示电路,译码显示电路显示抢答成功者的号码。

声响电路可以发出提醒声响,定时电路有定时抢答功能,并能显示倒计时的时间。

该方案满足设计的功能要求,但是用锁存器锁存抢答结果这一思路有缺陷,就是可能有两个选手抢答时间间隔很小,两路的抢答信号同时锁存了起来,导致编码器编码出错,下一级译码显示电路不能显示抢答结果。

2.2第二种方案

第二种方案流程图如下图2所示:

图1.2.1第二种方案

第二种方案的原理和第一种方案基本一样,只是在第一种方案上做了改进,在锁存器和抢答按钮之间增加了优先编码器,避免了多路的抢答信号同时被锁存,编码器编码出错,下一级译码显示电路不能显示抢答结果的情况。

但是,电路过于复杂繁琐,不太方便。

2.3第三种方案

该方案以STC89C52单片机为核心设计的八路抢答器,该抢答器能根据不同的八个不同按键输入抢答信号,经过单片机的控制处理并产生与按键相对应路数的输出信号,最后通过4位LED数码管显示相应的路数和答题时间等

图2.3.1第三种方案

该方案简单容易实现,而且单片机体积小,价格低,应用方便,稳定可靠。

因此,选用方案三。

3硬件电路设计

3.1.时钟电路设计

CPU的操作需要精确的定时,可用一个晶体振荡器产生稳定的时钟脉冲来控制STC89C52单片机上的XTAL1和XTAL2分别为振荡电路的输入和输出,晶振频率选择11.0592MHZ。

图3.1.1晶振电路

3.2八路抢答按键输入电路设计

该电路有八个按钮分别接于P2.0~P2.7可实现:

一是分辨出选手按键的先后并锁存有抢答者的编号,同时在LED上显示相应选手编号;二是当有选手抢答成功时其他选手按键无效,具有锁存功能。

(锁存功能由软件实现)

图3.2.1抢答电路

3.3复位按键输入电路设计

复位是计算机的一个重要工作状态。

开始按钮和复位按钮分别接在P3.7和RST口,在单片机工作时,接电之前要复位,断电后也要复位。

在抢答器中复位则为定时做铺垫,在抢答之前要复位,抢答完毕后也要复位。

图3.3.1复位电路

3.4设定时间、加减时间和开始电路设计

该电路主要是对答题和抢答时间调整而设计的。

开始按钮用clear表示,作用是将系统状态在调整状态和应答状态相互转换,在调整状态时,裁判可以用“+”、“-”按钮调整抢答时间,抢答时间的初始值设置为15秒;应答状态时,系统可以响应选手的抢答,并给出相关反应。

“clear”按钮接P3.7,“+”按钮接P3.6,“—”按钮接P3.5。

图3.4.1时间设定电路

3.5LED数码管显示电路设计

本设计所用的显示器为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口和蜂鸣器相连,在抢答开始和抢答过程中有人抢答,则会给选手答题警示声。

若定时时间已到,无人抢答则本次抢答无效,系统报警并禁止抢答,定时显示器上最终显示为000。

图3.6.1报警电路

4PCB制作

在AltiumDesigner中画出电路图后,制作PCB。

图4.1设计流程图

电子线路设计流程三个步骤:

1.绘制电路原理图,电路原理图就是使用电子元器件的符号以及绘制电路原理图所需的导线、总线等示意性绘图工具来描述电路系统中各元器件之间的电气连接关系的一种符号化、图形化的语言。

2.生成网络表,网络表文件是文本文件,它记录了原理图中元件类型、序号、封装形式以及各元器件之间的连接关系等信息。

因此,借助网络表文件描述的元件连接关系即可验证原理图编辑过程中连线的正确性。

3.生成PCB文件,PCB设计是电子产品设计过程中的关键环节,电子产品的功能有原理图决定,但电子产品的许多性能指标,如稳定性、可靠性、抗震强度等不仅与原理图设计、元器件质量、生产工艺有关,而且很大程度上取决于印制电路板的布局、布线是否合理。

图4.2PCB

5软件设计

5.1软件设计思想

本抢答器的软件系统主要包括以下几个部分:

主程序:

主程序的功能主要是完成内部各寄存单元的初始化,对STC89C52单片机接口电路的初始化,内部定时器的初始化,中断的初始化及调用显示程序对初始状态的显示以及对外部信号的等待处理,也就是说完成前期的准备工作等待随时对外部信号进行响应。

对开始抢答信号的处理:

当主持人按下开始抢答键后开始抢答,程序部分采用中断方式进行处理。

在中断处理程序中完成相应操作,修改计时单元的数据并发出计时提示声。

键值处理子程序:

此子程序根据键盘扫描所取得的键值作出相应处理。

④显示子程序:

采用动态扫描显示,可以显示选手号和抢答、倒计时间等

5.2软件逻辑结构图

图5.2.1程序流程图

6总结与体会

上述以单片机为核心控制部件设计的八路抢答器仿真系统,该仿真电路允许8人同时参赛。

本抢答器控制系统具有可靠性高、操作方便等特点,具有一定的运用价值。

在本次单片机课程设计中,我完成了八路抢答器的设计要求及功能。

在设计开始前我对各个模块进行了详细的分析和设计准备工作,设计过程中,我对Keil软件有了更深的了解。

积极参与完成各个技术实现的难点,从而进一步地熟悉了STC89C52芯片的结构及掌握了各芯片的工作原理和具体的使用方法。

通过本次课程设计,让我深刻体会到知识要转化成能力才是力量,与此同时,我对有关单片机的领域有进一步的了解思路也更加开阔。

总之,受益匪浅。

这也为自己今后进一步深化学习,积累了一定宝贵经验。

在本次设计中,我明白了,再困难的问题,只要把它分开来实现,再将这些组合起来,问题就可得到解决。

这对于我们以后做题和工作都很重要,我相信这种分化的理念会对我有很大帮助。

在本次设计中,让我更加熟练的掌握了AltiumDesigner,在以后的设计中,用到这个软件的机会很多,这是我的第二个大的收获。

通过制作PCB来简化电路焊接我学到了很多。

在设计过程中,我也遇到了很多困难,有时也很灰心,想放弃,但坚持下来发现收获巨大。

在焊接过程中,太多的连线,面对这么好大的工程量,我只好咬牙坚持下来。

这次设计极大锻炼了我的动手操作能力,以前在课本上学到的只是理论知识,现在终于在现实中能够验证,也进一步锻炼了自己的焊接能力。

参考文献

[1]康华光、陈大钦、张林.电子技术基础.华中科技大学出版社.2002

[2]韩克、柳秀山.电子技能与EDA技术.暨南大学出版社.2004

[3]陆坤、奚大顺.电子设计技术.电子科技大学出版社.1997

[4]谢自美.电子线路设计·实验·测试(第三版).华中科技大学出版社.2006

[5]阎石.数字电子计数基础.高等教育出版社.1998

[6]孙梅生.电子技术基础课程设计.高等教育出版社.1989

[7]邱关源编.电路.北京:

高等教育出版社,1988

[8]李永平编.电路设计实用教程.北京:

国防工业出版社,2004

[9]刘岚编.电路分析基础.北京:

高等教育出版社,2009

附录1完整电路图

附录2元件清单

抢答器元件清单

序号

名称

型号规格

数量

备注

1

51芯片

STC89C52RC

1

2

芯片底座

40引脚

1

3

复位按键

4脚直插

13

4

蜂鸣器

有源5V

1

5

四位共阳数码管

LG5641BH

1

6

锁存器

74HC573(直插)

2

7

芯片底座

20引脚

2

8

三极管

8050(NPN)

1

9

瓷片电容

30pF(直插)

5

10

晶振

11.0592M

1

11

电解电容

10uF/25V

1

12

排阻

10K*8

1

13

排针

2.45(常用)

1排

14

电阻

100Ω(直插)

10

15

电阻

10K(直插)

10

附录3完整程序

//Responder.c

#include"reg51.h"

#defineLED_DATA_PORTP0//0亮,共阳数码管

#defineADJUST0//抢答器处于调整状态

#defineANSWER1//抢答状态

//单片机IO口位声明,51单片机可以对IO的每一位或Px八位单独进行读写操作

sbitcom1=P1^3;//1亮

sbitcom2=P1^2;

sbitcom3=P1^1;

sbitcom4=P1^0;

sbitkey1=P2^1;

sbitkey2=P2^3;

sbitkey3=P2^5;

sbitkey4=P2^7;

sbitkey5=P2^0;

sbitkey6=P2^2;

sbitkey7=P2^4;

sbitkey8=P2^6;

sbitkey9=P3^5;//倒计时减

sbitkey10=P3^6;//倒计时加

sbitkey11=P3^7;//清零端,控制端

sbitbeep=P1^7;//1响

unsignedcharnum1=0,time=15;//num1是用来辅助定时器计数,累计时间到一秒,time为倒计时

unsignedcharshi=0,ge=0;//倒计时time的十位和个位

unsignedcharresult=0;//抢答结果

unsignedcharstate=ADJUST;//抢答器状态,初始为调整状态

unsignedcharflag=0;//结束标识,状态标识,0复位,没有有效信号;1有人抢答,结束抢答过程;2时间到,无人抢答,结束抢答过程

constunsignedcharledNum[]=

{//0123456789ABCDEF不显示-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

};

/*------------------------------------------------

延时函数,含有输入参数unsignedintt,无返回值unsignedint是定义无符号整形变量,其值的范围是0~65535

------------------------------------------------*/

voidDelay(unsignedintt)

{

while(--t);

}

//延时函数,n毫秒

voidDelay_ms(unsignedintn)

{

unsignedinti,j;

for(i=n;i>0;i--)

for(j=110;j>0;j--);

}

//开始声音

voidSoundStart(void)

{

//开始声音

beep=1;

Delay_ms(200);

beep=0;

}

//报警声音

voidSoundWarning(void)

{

unsignedchari;

for(i=0;i<20;i++)//报警声音

{

beep=1;

Delay_ms(i);

beep=0;

Delay_ms(20-i);

}

}

//结束声音

voidSoundOver(void)

{

unsignedchari;

for(i=0;i<80;i++)//结束声音

{

beep=1;

Delay(100);

beep=0;

Delay(100);

}

}

//按键扫描函数,只扫描K1到K8

//需要寻求一种方式对重复的代码进行优化

unsignedcharKeyScan_8(void)

{

unsignedcharnum=0;

if(key1==0)

{

Delay_ms(10);

if(key1==0)

{

num=1;

//Delay_ms(20);//while(!

key1);

returnnum;

}

}

if(key2==0)

{

Delay_ms(10);

if(key2==0)

{

num=2;

//Delay_ms(20);//while(!

key2);

returnnum;

}

}

if(key3==0)

{

Delay_ms(10);

if(key3==0)

{

num=3;

//Delay_ms(20);//while(!

key3);

returnnum;

}

}

if(key4==0)

{

Delay_ms(10);

if(key4==0)

{

num=4;

//Delay_ms(20);//while(!

key4);

returnnum;

}

}

if(key5==0)

{

Delay_ms(10);

if(key5==0)

{

num=5;

//Delay_ms(20);//while(!

key5);

returnnum;

}

}

if(key6==0)

{

Delay_ms(10);

if(key6==0)

{

num=6;

//Delay_ms(20);//while(!

key6);

returnnum;

}

}

if(key7==0)

{

Delay_ms(10);

if(key7==0)

{

num=7;

//Delay_ms(20);//while(!

key7);

returnnum;

}

}

if(key8==0)

{

Delay_ms(10);

if(key8==0)

{

num=8;

//Delay_ms(20);//while(!

key8);

returnnum;

}

}

returnnum;

}

//按键扫描函数,只扫描S11,S10,S9,分别为控制端,倒计时加,倒计时减

unsignedcharKeyScan_3(void)

{

unsignedcharnum=0;

if(key9==0)

{

Delay_ms(10);

if(key9==0)

{

num=9;

while(!

key9);

returnnum;

}

}

if(key10==0)

{

Delay_ms(10);

if(key10==0)

{

num=10;

while(!

key10);

returnnum;

}

}

if(key11==0)

{

Delay_ms(10);

if(key11==0)

{

num=11;

while(!

key11);

returnnum;

}

}

returnnum;

}

//按键扫描函数,只扫描控制端,清零端S11,P3.7

unsignedcharKeyScan_1(void)

{

unsignedcharnum=0;

if(key11==0)

{

Delay_ms(10);

if(key11==0)

{

nu

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

当前位置:首页 > 人文社科 > 文化宗教

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

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