八路智力竞赛抢答器设计.docx

上传人:b****4 文档编号:5916785 上传时间:2023-05-09 格式:DOCX 页数:38 大小:594.86KB
下载 相关 举报
八路智力竞赛抢答器设计.docx_第1页
第1页 / 共38页
八路智力竞赛抢答器设计.docx_第2页
第2页 / 共38页
八路智力竞赛抢答器设计.docx_第3页
第3页 / 共38页
八路智力竞赛抢答器设计.docx_第4页
第4页 / 共38页
八路智力竞赛抢答器设计.docx_第5页
第5页 / 共38页
八路智力竞赛抢答器设计.docx_第6页
第6页 / 共38页
八路智力竞赛抢答器设计.docx_第7页
第7页 / 共38页
八路智力竞赛抢答器设计.docx_第8页
第8页 / 共38页
八路智力竞赛抢答器设计.docx_第9页
第9页 / 共38页
八路智力竞赛抢答器设计.docx_第10页
第10页 / 共38页
八路智力竞赛抢答器设计.docx_第11页
第11页 / 共38页
八路智力竞赛抢答器设计.docx_第12页
第12页 / 共38页
八路智力竞赛抢答器设计.docx_第13页
第13页 / 共38页
八路智力竞赛抢答器设计.docx_第14页
第14页 / 共38页
八路智力竞赛抢答器设计.docx_第15页
第15页 / 共38页
八路智力竞赛抢答器设计.docx_第16页
第16页 / 共38页
八路智力竞赛抢答器设计.docx_第17页
第17页 / 共38页
八路智力竞赛抢答器设计.docx_第18页
第18页 / 共38页
八路智力竞赛抢答器设计.docx_第19页
第19页 / 共38页
八路智力竞赛抢答器设计.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

八路智力竞赛抢答器设计.docx

《八路智力竞赛抢答器设计.docx》由会员分享,可在线阅读,更多相关《八路智力竞赛抢答器设计.docx(38页珍藏版)》请在冰点文库上搜索。

八路智力竞赛抢答器设计.docx

八路智力竞赛抢答器设计

8路智能抢答器

 

摘要

设计要求:

1)能容许2-8组进行抢答。

2)能显示抢答组号。

3)能报警,并且能显示非法抢答的组号。

4)比赛结束时,能发出报警声。

硬件系统设计

1)控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。

其中单片机AT89C52是系统工作的核心,它主要负责控制各个部分协调工作.

2)硬件组成及所需元件:

该系统的核心器件是AT89C52。

在其外围接上复

位电路、、数码管、按钮及扬声器。

元件为:

YL_39开发板。

P3.0和P3.1由裁判控制,分别是抢答停止和开始键。

P1.0-P1.7是8组抢答的输入口,P2.0--P2.3口为数码管的选口,段选口用的是P0.0--P0.7口输出,P3.4,P3.5分别为抢答时间和答题时间调整按钮

,.P3.2P3.3分别实现了时间的加一和减一,P3.6为蜂鸣器的控制口。

 

1概述..................................................................................................................3

 

2系统总体方案及硬件计............................................................................4

2.1控制系统及所需元件组成..........................................................................4

2.2实验原理.......................................................................................................4

 

3软件设计.........................................................................................................8.

 

4Proteus软件仿真.......................................................................................12

4.1伟福软件......................................................................................................12

4.2在Proteus软件............................................................................................12

 

5心得体会...........................................................................................................19

 

参考文献................................................................................................................20

附1:

源程序代码.............................................................................................21

附2:

计算器模拟系统电图.........................................................................30

 

1

 

1概述

 

《单片机原理与接口技术》是一门技术性,应用性、实践性很强的学科。

程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是

配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应

用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立

单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识

转化为能力和能力转化为工程素质的重要阶段。

在实际生活中有好多地方都用到

了单片机,因此学习好这门课程有着十分重要的意义。

设计要求:

1)能容许2-8组进行抢答。

2)能显示抢答组号。

3)能报警,并且能显示非法抢答的组号。

4)比赛结束时,能发出报警声。

硬件系统设计

1)控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。

其中单片机AT89C52是系统工作的核心,它主要负责控制各个部分协调工作.

2)硬件组成及所需元件:

该系统的核心器件是AT89C52。

在其外围接上复

位电路、数码管、按钮及扬声器。

元件为:

YL_39开发板。

P3.0和P3.1由裁判控制,分别是抢答停止和开始键。

P1.0-P1.7是8组抢答的输入口,P2.0--P2.3口为数码管的选口,段选口用的是P0.0--P0.7口输出,P3.4,P3.5分别为抢答时间和答题时间调整按钮

,.P3.2P3.3分别实现了时间的加一和减一,P3.6为蜂鸣器的控制口。

 

2

 

2系统总体方案及硬件计

 

1:

控制系统及所需元件

控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。

其中单

片机AT89C52是系统工作的核心,它主要负责控制各个部分协调工作.

所需元件:

YL-39开发板。

P3.0和P3.1由裁判控制,分别是抢答停止和开始键。

P1.0-P1.7是8组抢答的输入口,P2.0--P2.3口为数码管的位选口,段选口用的是P0.0--P0.7、P3.4,P3.5分别为抢答时间和答题时间调整按钮,.P3.2、P3.3分别实现了时间的加一和减一,P3.6为蜂鸣器的控制口。

2:

实验原理

智力竞赛抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

AT89C52单片机由微处理器,存储器,I/O口以及特殊功能寄存器SFR等部

分构成。

其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片

内程序存储器的容量为8KB,片内数据存储器为256个字节。

89C52单片机有4

个8位的并行I/O口:

P0口,P1口,P2口和P3口。

各个接口均由接口锁存器,

输出驱动器,和输入缓冲器组成。

P1口是唯一的单功能口,仅能用作通用的数

据输入/输出口。

P3口是双功能口除了具有数据输入/输出功能外,每条接口还

具有不同的第二功能,如P3.0是串行输入口线,P3.1口是串行输出口线。

在需

要外部程序存储器和数据存储器扩展时,P0可作为分时复用的低8位地址/数据

总线,P2口可作为高8位的地址总线。

P3口也可作为AT89C51的一些特殊功能

口,同时为闪烁编程和编程校验接收一些控制信号。

复位电路采用如下图所示:

 

外部还接有蜂鸣器出报警音,其图形如下:

 

采用七段码7SEG-MPX4-CC显示,它是共阴极的由高电平点亮。

图形如下:

 

5

 

采用八个BUTTON按钮作为抢答的选择按键如图所示:

 

6

 

3软件系统设计

 

智力竞赛抢答器要求有计时记忆功能,一次时间设置完,复位后不需重新进

行时间设定,通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数

码管上显示字型码.

当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功.同时显

示其分数,分数的加减可由裁判手动进行.采用独立式键盘,可实现8路抢答.

在显示时使用的是七段数码管显示在本设计中根据实际情况采用的是动态显示

方法.并通过查表法将其在数码管上显示出来,其中P1口为字型码输入端,P2

口低6位为字选段输入端.通过查表将字型码送给7段数码管显示的数字。

软件

去抖动,如果"开始键"按下就向下执行,否者跳到开始。

采用倒计时程序,使其具

有倒计时功能。

回答倒计时30秒。

抢答时间5秒。

采用发声警报(由于发生器

不响,所以,用绿灯换了),起到报警作用。

1、如果想调节抢答时间或答题时间,按"抢答时间调节"键或"答题时间调节"

键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按

一下"加1s"键,如果想减一秒按一下"-1s"键,时间LED上会显示改变后的时间,

调整范围为0s~99s,0s时再减1s会跳到99,99s时再加1s会变到0s。

主持人按"抢答开始"键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时

间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预

设60s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。

倒数

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

如倒计时期间,主持人想停止倒计时可以随时按"停止"按键,系统会自动进入准

备状态,等待主持人按"抢答开始"进入下次抢答计时。

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调整。

 

7

下面是部分功能程序(附部分说明):

;=====查询程序=====

START:

MOVR5,#0BH

MOVR4,#0BH

MOVR3,#0BH

ACALLDISPLAY;未开始抢答时候显示FFF

JBP3.0,NEXT;ddddddd

ACALLDELAY

JBP3.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法

抢答查询

ACALLBARK;按键发声

MOVA,R1

MOVR6,A;送R1->R6,因为R1中保存了抢答时间

SETBOK;抢答标志位,用于COUNT只程序中判断是否查询抢答

MOVR7,#01H;读抢答键数据信号标志,这里表示只读一次有用信号

MOVR3,#0AH;抢答只显示计时,灭号数

AJMPCOUNT;进入倒计时程序,"查询有效抢答的程序"在COUNT里面

NEXT:

JNBP1.0,FALSE1

JNBP1.1,FALSE2

JNBP1.2,FALSE3

JNBP1.3,FALSE4

JNBP1.4,FALSE5

JNBP1.5,FALSE6

JNBP1.6,FALSE7

JNBP1.7,FALSE8

AJMPSTART

;=====INT0(抢答时间R1调整程序)=====

INT0SUB:

MOVA,R1

MOVB,#0AH

DIVAB

MOVR5,A

 

8

电子发烧友电子技术论坛河南理工大学本科课程设计

 

MOVR4,B

MOVR3,#0AH

ACALLDISPLAY;先在两个时间LED上显示R1

JNBP3.4,INC0;P3.4为+1s键,如按下跳到INCO

JNBP3.5,DEC0;P3.5为-1s键,如按下跳到DECO

JNBP3.1,BACK0;P3.1为确定键,如按下跳到BACKO

AJMPINT0SUB

INC0:

MOVA,R1

CJNEA,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。

MOVR1,#00H

ACALLDELAY1

AJMPINT0SUB

ADD0:

INCR1

ACALLDELAY1

AJMPINT0SUB

DEC0:

MOVA,R1

JZSETR1;如果R1为0,R1就置99,

DECR1

ACALLDELAY1

AJMPINT0SUB

SETR1:

MOVR1,#63H

ACALLDELAY1

AJMPINT0SUB

BACK0:

RETI

;=====读抢答按键数据口程序=====

;由于在读抢答数据口的时候,单片机首先进入倒计时程序,再调用显示程序,

最后才检测按键口

;然而在检测按键口时动态扫描要调用三次(4ms)延时程序.这样就会导致读数据

口出现滞后,造成1号优先最高.8号最低.

;故采用在延时子程序中加了读数据口程序.保证了灵敏度和可靠性

AAAA1:

MOVA,P1

 

9

电子发烧友电子技术论坛河南理工大学本科课程设计

 

CJNEA,#0FFH,AA1;当不全为1时的数据为有效数据

AA0:

MOV36H,A;将有效数据送到36H暂存

AJMPLOOP2

AA1:

DECR7

AJMPAA0

;=====发声程序=====

BARK:

SETBRING

ACALLDELAY1

ACALLDELAY1

CLRRING;按键发声

RET

;=====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

 

10

电子发烧友电子技术论坛河南理工大学本科课程设计

 

4系统仿真

 

1:

伟福软件

用到了伟福软件,集成调试环境,集成了编缉器、编译器、调试器,支持软件模

拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。

树状结构显示,

一目了然,支持ASM(汇编)、C语言,多语言多模块源程序混合调试,在线直接

修改、编译、调试源程序,错误指令定位。

功能很强大。

用于对程序的调试和编

辑。

其界面如下:

 

2:

PROTUCE软件

系统仿真还用到了PROTUCE软件,可通过仿真可以完全显示出所设计系统的功能,

对于程序的调试等有很大的帮助.

系统仿真时首先要在使用伟福编译器,把所写的程序进行编译,同时在仿真器里

设置生成HEX文件,编译无错误时进行PROTUCE仿真。

首先要新建一个文档是

11

电子发烧友电子技术论坛河南理工大学本科课程设计

 

DNS型的找出需要的器件,可以使用搜索功能。

接着把各个器件放到合适的位置

都要放到蓝色框内。

然后根据自己的设计要求连线。

等所有的元件都连接完成后

可以把,伟福编译生成的无错误文件加载到AT89C51中,方法是,右键点中器件

然后在用左键点击,出来一个对话框在programfile后选择要添加文件,文件

要求必须是HEX文件。

然后可以点击运行观察现象,看与自己设置的符合否,如

果不相符在查找错误进行修改,一般的错误都是程序中的,所以要认真的读取程

序的每一个部分

作好的PROTUCE图:

 

12

电子发烧友电子技术论坛河南理工大学本科课程设计

 

六号抢答到时时的显示图:

 

13

电子发烧友电子技术论坛河南理工大学本科课程设计

 

使用加法调整时的图:

 

减法调整图:

 

14

电子发烧友电子技术论坛河南理工大学本科课程设计

 

倒计时到30秒时的显示图:

 

15

电子发烧友电子技术论坛河南理工大学本科课程设计

 

倒计时还有5秒时的报警显示图:

提示灯会呈闪亮状:

 

16

电子发烧友电子技术论坛河南理工大学本科课程设计

 

17

电子发烧友电子技术论坛河南理工大学本科课程设计

 

5心得体会

 

单片机课程设计是一门很实用,很难的设计。

这个设计用到了单片机,电

路等方面的知识,通过这次课程设计,使我对单片机及其附属电路有了一定的了

解,对课本上的知识有了近一步的掌握,也深刻明白了自己的不足。

完成本次课程设计的过程,是一个从无到有的过程,经历了兴奋、自信、失

落、奋发、所悟、完成几个过程。

刚做做课程设计时,仔细阅读设计的题目和要

求,以为没什么困难的,所用的知识书上都有。

可是当我动手开始做的时候,才

发现其中的算法,设计是那么繁琐。

经过一天的努力,毫无结果。

失落的心情油

然而生。

于是,再到图书馆和网上查找资料,在经过借鉴很多类似的资料,文献

后,总算是有点眉目了。

埋头苦干的过程是痛苦的,尤其是在思考算法和程序框

架时,迷茫,烦躁,特别是当苦思出来一个结果,又被自己推翻,心痛的无法言

绘。

在痛苦中挣扎,建立,推翻,参考别人的思路,建立,再次在推翻,在这不

断循环中,终于最后完善了程序。

其中的煎熬是很痛苦的,深刻明白攻克自己“未

知领域”的困难。

但当课程设计完成时,那感觉是甜蜜的,没有耕耘,哪来得收

获的喜悦,不懂付出怎么能知道回报的快乐,一分耕耘一分收获,有付出才会有

回报,就在这样的痛与快乐的交换中,我学到了知识,学到了做人的道理。

通过这短短一周的实践,我感觉到自己从课本上学到的理论知识和实践仍有

很大的差距。

最少很多元器件根本不知道有什么功效,在仿真仪器中是什么代码。

有的知识,自己感觉已经掌握得差不多了,但是实际操作起来就有问题出现了。

我遇到了不少问题,花费了很多的时间。

这让我重新反思我们的学习,深刻领悟

到我们这个专业动手,实践的重要性。

理论不经过实践考验,是没法实施的,就

像我们编的程序,很多方面考虑的都不够,几乎没有涉及到实际应用时的防范方

法措施。

这次的课程设计,让我学到了很多书本上学不到的东西,学到了实际应用

时,是取用成本的最小化,做设计不仅要考虑大的方面,小的方面也必须做到完

美。

最大的收获是:

对键盘,显示器,C51语言(虽然最后还是用汇编语言编

写的,但是,我也试着学用了C51)的应用有了深刻的了解。

 

18

电子发烧友电子技术论坛河南理工大学本科课程设计

 

6参考文献

 

中国矿业大学出版社《单片机原理及应用技术》主编余发山

国防工业出版社《单片微型计算机接口技术及其应用》主编张淑清等

北京航空航天大学出版社《单片机课程设计实例指导》李光飞楼然苗胡佳文谢象佐

编著

网站上的资料等

 

19

电子发烧友电子技术论坛河南理工大学本科课程设计

 

附1:

源程序代码

 

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;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1

就可以了

;=====查询程序=====

START:

MOVR5,#0BH

MOVR4,#0BH

MOVR3,#0BH

20

电子发烧友电子技术论坛河南理工大学本科课程设计

 

ACALLDISPLAY;未开始抢答时候显示FFF

JBP3.0,NEXT;ddddddd

ACALLDELAY

JBP3.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询

ACALLBARK;按键发声

MOVA,R1

MOVR6,A;送R1->R6,因为R1中保存了抢答时间

SETBOK;抢答标志位,用于COUNT只程序中判断是否查询抢答

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2