智能抢答器的设计与功能实现设计说明书.docx

上传人:b****2 文档编号:956965 上传时间:2022-10-14 格式:DOCX 页数:10 大小:149.05KB
下载 相关 举报
智能抢答器的设计与功能实现设计说明书.docx_第1页
第1页 / 共10页
智能抢答器的设计与功能实现设计说明书.docx_第2页
第2页 / 共10页
智能抢答器的设计与功能实现设计说明书.docx_第3页
第3页 / 共10页
智能抢答器的设计与功能实现设计说明书.docx_第4页
第4页 / 共10页
智能抢答器的设计与功能实现设计说明书.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

智能抢答器的设计与功能实现设计说明书.docx

《智能抢答器的设计与功能实现设计说明书.docx》由会员分享,可在线阅读,更多相关《智能抢答器的设计与功能实现设计说明书.docx(10页珍藏版)》请在冰豆网上搜索。

智能抢答器的设计与功能实现设计说明书.docx

智能抢答器的设计与功能实现设计说明书

智能抢答器的设计与功能实现设计说明书

一、课程设计目标

1.1概述

单片机原理及应用课程设计是学生综合运用所学知识,全面掌握单片微型计算机及其接口的工作原理、编程和使用方法的重要实践环节。

通过独立或协作提出并论证设计方案,进行软、硬件调试,最后获得正确的运行结果,可以加深和巩固对理论教学和实验教学内容的掌握,进一步建立计算机应用系统整体概念,初步掌握单片机软、硬件开发方法,为以后进行实际单片机软、硬件应用开发奠定良好的基础。

课程设计的主要内容:

根据单片机原理及应用课程的要求,主要进行两个方面的设计,即单片机最小系统和存储器扩展设计、接口技术应用设计。

其中,单片机最小系统主要要求学生熟悉单片机的内部结构和引脚功能、引脚的使用、复位电路、时钟电路、4个并行接口和一个串行接口的实际应用,从而可构成最小应用系统,并编程进行简单使用。

存储器扩展设计要求学生掌握常用半导体芯片与单片机的接口,如EPROM存储器用作外部程序存储器时与单片机的连接关系,SRAM存储器用作外部数据存储器时与单片机的连接关系,E2PROM存储器用作外部程序/数据存储器时与单片机的连接关系。

能合理分配和使用单片机的内部和外部存储器,编程实现正常的读写功能。

接口技术应用设计主要要求学生能综合运用单片机、存储器、常用接口芯片构成单片机应用系统,有针对性地进行软、硬件设计与开发。

1.2功能介绍:

1、如果想调节抢答时间或答题时间,按"抢答时间调节"键或"答题时间调节"键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下"加1s"键,如果想减一秒按一下"-1s"键,时间LED上会显示改变后的时间,调整范围为0s~99s,0s时再减1s会跳到99,99s时再加1s会变到0s。

2、主持人按"抢答开始"键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。

倒数时间到小于5s会每秒响一下提示音。

3、如倒计时期间,主持人想停止倒计时可以随时按"停止"按键,系统会自动进入准备状态,等待主持人按"抢答开始"进入下次抢答计时。

4、如果主持人未按"抢答开始"键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FF和犯规号数并响个不停,直到按下"停止"键为止。

5、P3.0为开始抢答,P3.1为停止,p1.0-p1.7为八路抢答输入数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。

P3.2抢答时间调整结,P3.3回答时间调整,P3.4为时间加1调整,P3.5为时间减1调整。

1.3设计方案

1.3.1原理图的确定

在设计开始,我们查了不少关于抢答器的资料,其大体分为2种,一种是纯硬件实现,另一种是单片机实现。

本次课程设计采用单片机实现。

单片机实现抢答的原理图:

1.3.2抢答器的工作原理

抢答器的工作原理是利用单片机的定时器T0、T1中断完成,其余状态循环调用显示子程序,用4个共阴极LED数码管来显示,用P0口作为数码管的八个段选,用P2口中的P2.0、P2.1、P2.2、作为4个数码管其中3个位选,P1口接8个按键,提供选手抢答,P3.0-P3.5四个接四个按键,提供开始、结束、答题时间调整、抢答时间调整,加1、减1调整之用。

1.4抢答器的总体设计

倒计时方案方面利用MCS-51的内部的定时/计时器进行中断计时,配合软件延时实现倒计时。

该方案节省硬件成本,并且能够在定时器/计数器的使用、中断及程序设计方案方面得到锻炼与提高,显示方面采用穿行传输实现动态显示,该方案的硬件连接简单,但动态扫描的显示方式需占用CPU较多的时间,适用于单片机没有太多实时测控的任务场合。

抢答功能:

通过八路按键配合程序来实现抢答功能。

当主持人按下抢答键开始抢答后,此时任一路按下按钮均闭锁其它各路,由程序对键盘译码并显示最先按下抢答键的路数及其当前时间。

抢答限时:

主持人按下抢答键后,设置5秒为抢答时间(此时间可在1-99秒之间修改)。

若5秒内无人抢答,倒计时为0时发出报警,说明该抢答题目作废。

此时闭锁所有抢答按键,只有当主持人再次按下抢答键开始下一次抢答方可抢答。

答题限时:

当选手按下按钮时,启动倒计时(此倒计时时间可在1~99秒之间修改),,倒计时为0时发出报警,说明答题时间到。

二、硬件电路详细设计

2.1硬件的选择与电路设计

2.1.1芯片的选择

抢答器电路的核心是89C51单片机,其内部带有4KB的FLASHROM,无需外扩程序存储器;抢答器没有大量的运算和暂存数据现有的128B篇内RAM已经能满足容量需求,故不需外扩片外RAM,系统配有8位8段数码显示管,管采用共阴数码管,作为时钟的显示输出。

2.1.2复位电路的设计

复位电路的设计如图2-1所示:

图2-1复位电路原理图

该复位电路采用上电自动复位和手动复位两种复位方式,图中网络标号所指9连接到单片机的复位引脚。

要实现复位只需在,51系列单片机的RESET引脚上加上5ms的高电平就可以了。

上电复位是利用电容的充电来实现的,即上电瞬间RESET端的电位与Vcc相同,随着电容上储能增加,电容电压也逐渐增大,充电电流减小,RESET端的电位。

这样就会建立一个脉冲电压,调节电容与电阻的大小可对脉冲的持续时间进行调节。

通常若采用12MHz的晶振时,复位元件参数为22μF的电解电容和10kΩ的电阻。

按钮复位电路是通过按下复位按钮时,电源对RESET端维持两个机器周期的高电平实现复位的。

2.1.3晶振电路的设计

MSC-51单片机的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式。

本设计中采用内部时钟方式。

单片机内部有一个反相放大器,XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。

时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。

一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振荡器)和电容就可组成振荡器,如图2-2所示。

加电以后延时一段时间(约10ms)振荡器产生时钟,不受软件控制,图中Y1为晶振,震荡产生的时钟频率主要由Y1确定。

电容C1,C2的作用有两个:

一是帮助振荡器起振,二是对振荡器的频率起微调作用,典型值为30pF。

晶振电路的设计如图2-2所示:

图2-2晶振电路原理图

2.2数码显示管的选择

数码显示管用来作为时间的显示输出,一般用7段数码显示管。

本次设计中采用7段共阴数码显示管应用简单、可靠性高、成本低,作为显示输出。

连接时段选信号接在P0口的P0.0~P0.6七个I/O口上,P1口是准双向I/O接口在输出驱动部分具有驱动4个TTL负载的能力,即输出电流不大于400μA,所以在接电阻时选择接510Ω限流电阻。

而在位选方面采用单片机P2口的P2.0~P2.2三个I/O口作为位选信号的输出口。

三、软件详细设计

3.1主程序的设计

此程序的及时采用定时器T0和T1中断完成,其余状态循环调用显示子程序。

系统主程序流程图如图3-1所示。

                       

图3-1系统主程序流程图

3.2显示子程序的设计

由于采用软件动态扫描实现数据显示,显示用十进制BCD码的数据对应段码存放在ROM表中。

显示时,先取出70H~75H某一地址中的数据,然后查得对应的显示段码从P0口输出。

P2口将对应的数码管选中,就能显示该地址单元的数据值。

3.3定时器T0、T1中断服务程序的设计

定时器T0用于响铃程序,定时器T1用于计时程序。

当答题剩余5秒种时P3.6口不断取反使喇叭发出一定频率的声音,提示选手。

中断服务程序流程图如图3-2所示。

图3-2中断服务程序流程图

3.4抢答处理程序的设计

当有选手第一个按下抢答器按扭时数码管显示选手号码,开始倒计时,并锁定抢答。

当在此选手之后再有选手按下按扭时无效,数码管不变。

四、附录(源程序)

主程序部分和注解如下:

OKEQU20H;抢答开始标志位

RINGEQU22H;响铃标志位

ORG0000H

AJMPMAIN

ORG0003H

AJMPINT0SUB

ORG000BH

AJMPT0INT

ORG0013H

AJMPINT1SUB

ORG001BH

AJMPT1INT

ORG0040H

MAIN:

MOVR1,#30;初设抢答时间为30s

MOVR2,#60;初设答题时间为60s

MOVTMOD,#11H;设置未定时器/模式1

MOVTH0,#0F0H

MOVTL0,#0FFH;越高发声频率越高,越尖

MOVTH1,#3CH

MOVTL1,#0B0H;50ms为一次溢出中断

SETBEA

SETBET0

SETBET1

SETBEX0

SETBEX1;允许四个中断,T0/T1/INT0/INT1

CLROK

CLRRING

SETBTR1

SETBTR0;

显示子程序,及部分注解如下:

DISPLAY:

MOVDPTR,#DAT1;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出,

MOVA,R3

MOVCA,@A+DPTR

MOVP2,#0feH

MOVP0,A

ACALLDELAY

MOVDPTR,#DAT2

MOVA,R5

MOVCA,@A+DPTR

MOVP2,#0fdH

MOVP0,A

ACALLDELAY

MOVA,R4

MOVCA,@A+DPTR

MOVP2,#0fbH

MOVP0,A

ACALLDELAY

RET

DAT1:

DB00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H

;"灭","1","2","3","4","5","6","7","8","9","灭","F"

DAT2:

DB3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H

第一个为零,其他与上相同,因为十位如果为零显示熄灭

=====TO溢出中断(响铃程序)=====

T0INT:

MOVTH0,#0ECH

MOVTL0,#0FFH

JNBRING,OUT;

CPLP3.6;RING标志位为1时候P3.6口不断取反使喇叭发出一定频率的声音

OUT:

RETI

T1溢出中断(计时程序):

T1INT:

MOVTH1,#3CH

MOVTL1,#0B0H

INCR0

RETI

END

抢答器处理程序:

TRUE1:

ACALLBARK;按键发声

MOVA,R2

MOVR6,A;抢答时间R2送R6

MOVR3,#01H

CLROK;因为答题的计时不再查询抢答,所以就锁了抢答

AJMPCOUNT

TRUE2:

ACALLBARK;

MOVA,R2

MOVR6,A

MOVR3,#02H

CLROK

AJMPCOUNT

TRUE3:

ACALLBARK;

MOVA,R2

MOVR6,A

MOVR3,#03H

CLROK

AJMPCOUNT

TRUE4:

ACALLBARK;

MOVA,R2

MOVR6,A

MOVR3,#04H

CLROK

AJMPCOUNT

TRUE5:

ACALLBARK;

MOVA,R2

MOVR6,A

MOVR3,#05H

CLROK

AJMPCOUNT

TR

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

当前位置:首页 > 解决方案 > 学习计划

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

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