基于单片机的四路抢答器的课程设计.docx

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

基于单片机的四路抢答器的课程设计.docx

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

基于单片机的四路抢答器的课程设计.docx

基于单片机的四路抢答器的课程设计

课程设计(论文)

 

课程设计名称单片机原理及其在电气和测控学科中的应用

题目名称基于单片机的四路抢答器设计

系别专业电气工程系、

姓名

学号

指导教师

 

2011年6月21日

 

邵阳学院课程设计(论文)任务书

年级专业

学生姓名

学号

题目名称

四路抢答器设计

设计时间

2011年6月13日—2011年6月23日

课程名称

单片机原理及在电气测控学科中的应用

课程编号

121200105

设计地点

数字控制与PLC实验室\创新实验室(214)(305)

一、课程设计(论文)目的

课程设计是在校学生素质教育的重要环节,是理论与实践相结合的桥梁和纽带。

单片机课程设计,要求学生更多的完成软硬结合的动手实践方案,解决目前学生课程设计过程中普遍存在的缺乏动手能力的现象.《单片机课程设计》是继《电子技术》、和《单片机原理与应用》课程之后开出的实践环节课程,其目的和任务是训练学生综合运用已学课程“电子技术基础”、“单片机原理及应用”的基本知识,独立进行单片机应用技术和开发工作,掌握单片机程序设计、调试和应用电路设计、分析及调试检测。

二、已知技术参数和条件

1、利用89C51系列单片机

2、KEIL软件;Wave软件;

3、THKSCM-1型单片机实验系统

三、任务和要求

要求实现功能:

将其中3个按键定义为1-4号,1个按键用做清除与开始,第1位数码管用于计时,第2位数码管用于显示当前抢答者。

当开始后第2位数码管闪烁显示"-",计时开始,等待抢答。

当抢答后,停止计时,第2位数码管显示抢答者对应编号,按清除键清除。

1、要求设计出电气原理图;

2、要求设计出程序流程图;

3、要求设计出程序;

4、在实验室做出产品或仿真调试。

注:

1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;

2.此表1式3份,学生、指导教师、教研室各1份。

四、参考资料和现有基础条件(包括实验室、主要仪器设备等)

1、单片机课程设计指导,中南大学出版社,张一斌等2009年9月

2、单片机实验与实践教程,北京航空航天大学出版社,何立民等2004年7月

3、THKSCM-1型单片机实验系统实验指导书、KEIL软件,WAVE软件

4、数字控制与PLC实验室”THKSCM-1型单片机实验系统”。

五、进度安排

2011年6月13日:

收集和课程设计有关的资料,熟悉课题任务和要求

2011年6月14日-15日:

总体方案设计

2011年6月16日-17日:

硬件电路设计

2011年6月18日-19日:

软件设计

2011年6月20日-22日:

系统调试改进

2011年6月23日:

整理书写设计说明书

2011年6月24日:

答辩并考核

六、教研室审批意见

 

教研室主任(签字):

年月日

七|、主管教学主任意见

 

主管主任(签字):

年月日

八、备注

指导教师(签名):

学生(签名):

邵阳学院课程设计(论文)评阅表

学生姓名学号

系电气工程系专业班级电气测控类一班

题目名称四路抢答器设计课程名称单片机原理及应用

一、学生自我总结

回顾起此次单片机课程设计,我仍感慨颇多,的确,在接近两星期的日子里,可以说得是苦多于甜,但是可以学到很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合的很重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从而、、同时提高自己的实际动手能力和独立思考的能力,才能真正为社会服务。

同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,是大家共同努力的结果。

同时,对给过我帮助的所有同学和各位指导老师表示忠心的感谢!

学生签名:

2011年6月23日

二、指导教师评定

评分项目

平时成绩

论文

答辩

综合成绩

权重

30

40

30

单项成绩

指导教师评语:

 

指导教师(签名):

年月日

注:

1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;

2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。

········摘要·········1

第一章抢答器总体设计··································2

1.1设计任务与要求···································2

1.2方案设计与论证···································2

第二章单片机应用系统简介·····························3

2.1单片机结构········································3

2.2单片机的封装形式,引脚定义及功能··············3

第三章硬件电路设计·····································4

3.1抢答器的电路图····································5

3.2单元电路设计······································5

3.3复位电路设计······································6

3.4报警电路设计······································6

3.5显示电路···········································7

第四章软件设计···········································7

4.1系统主程序设计····································8

4.2主程序清单·········································9

第五章调试及性能分析···································23

第六章设计总结及心得···································24

附录:

参考文献

摘要

随着现代娱乐节目及其它游戏环节的需要,也为了完善节目的紧张气氛和观众的互动,就出现了多路抢答器。

它是人们常用于各种需要抢答比赛时用的电路器材,是一名公正的裁判员。

抢答器的出现给人们带来极大的方便,他能准确无误的从若干名参赛中确定出最先抢答者,并且有显示,声效等功能。

 

Digest

Withmodernentertainmentprogramsandothergameloop,alsoneedinordertoimprovetheprogramoftensionandtheaudienceinteraction,appearedmoreroadviestoanswerfirstdevice.Itisoftenusedinallkindsofpeopleinthegametoviestoanswerfirstcircuitequipment,isafairjudge.Theemergenceoftheviestoanswerfirstpeoplebringsgreatconvenience,hecanaccuratefromseveralofparticipatinginthefirstviestoanswerfirstdeterminethe,andhaveashow,soundeffects,andotherfunctions.

第一章抢答器的总体设计

1.1设计任务与要求

要求实现功能:

将其中3个按键定义为1—4号,第一位数码管用于计时,第二位数码管用于显示当前抢答着。

当开始后第二位数码管闪烁显示“-”,计时开始后,等待抢答。

抢答后,停止计时,第二位数码管显示抢答者对应编号,按清除键清除。

1.设计出电气原理图;

2.设计出程序流程图;

3.设计出程序;

4.在实验室做出产品或仿真调试。

1.2设计方案与论证

方案:

该系统采用51系列单片机AT89C51作为控制核心,该系统可以完成运算控制,信号识别以及显示功能的实现。

由于用了单片机,使其技术比较成熟,应用起来方便,便于控制和实现。

具有灵活的可编程性,能方便对系统功能的扩张和更改。

 

 

 

 

图1.2抢答器原理图

第二章单片机应用系统简介

2.1单片机结构

(1)80C51单片机的功能结构

 

图2.1单片机内部结构图

2.2单片机的封装形式,引脚定义及功能。

(1)80C51封装

80C51系列单片机具有双列直插式和方形两种封装。

(2)80C51系列单片机引脚功能

VCC---工作电源+5V

GND---电源接地

ALE/PROG—访问外部存储器时作为低8位地址锁存控制信号。

PSEN---外部程序读选通信号。

EA/VPP---访问程序存储器控制信号。

RET---复位信号

XTAL1---片内震荡电路输入端。

XTAL2---片内震荡电路输出端。

P0--P3—输入输出端口。

图2.280C51双列直插式引脚分布图

 

第三章硬件电路设计

3.1抢答器的电路图

如图3.1所示为电路图,其工作原理为:

接通电源后主持人将开关拨到“清零”状态,抢答器处于禁止状态,定时器设定时间,主持人将开关置“开始”,宣布抢答开始时,定时器倒计时,扬声器发出响声。

选手要在规定时间内完成抢答;优先判断,编号锁存,扬声器提示。

 

 

图3.1抢答器电路图

 

3.2单元电路设计

3.2.1抢答选手开关电路

图3.2所示,该图为各个选手抢答信号的输入装置,在通过单片机,选择有效信号,同时封锁

 

图3.2.1抢答器选手开关电路

3.2.2复位电路设计

外部中断的内部中断并存,单片机硬件复位端。

图3.2.2复位端电路图

 

3.2.3报警电路设计

报警电路用于报警,但遇到信号时,发出报警,图3.2.3就是报警电路。

选手在设定时间内抢答时,实现优先判断编号锁存等提示。

 

图3.2.3报警器电路图

3.2.4显示电路

显示电路用于显示抢答时间以及抢答信号,同时对犯规抢答组进行闪烁显示。

其显示电路如图3.2.4所示。

图3.2.4显示电路图

第四章软件设计

4.1主程序系统结构图

如图4-1所示为总体原理框图。

其工作原理为:

接通电源后,主持人将开光FW拨到“清零”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开光置“开始”状态,宣布“开始”抢答器工作。

定时器开始倒计时。

选手在规定的15s定时时间内抢答时,抢答器完成:

优先判断、编号显示、扬声器提示,倒计时显示。

当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。

如果再次抢答必须由主持人再次操作“清除”和“开始”状态开关。

 

图4-1总体原理框图

 

4.2系统主程序

为了能过达到抢答的公平,公正,合理,应该在主持人发布抢答命令之前必须设定抢答时间,因而设定时间程序很重要。

下面是抢答器主程序流程图4.2

图4.2抢答器主程序流程图

 

4.3主程序清单

OKEQU20H;抢答开始标志位

RINGEQU22H;响铃标志位

DATA0EQU36H;抢答按键口数据存放地址

ORG0000H

AJMPMAIN

ORG0003H

AJMPINTT0

ORG000BH

AJMPT0INT

ORG001BH

AJMPT1INT

ORG0040H

MAIN:

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

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

mov38h,#60;启用锦囊时间从60s倒计时

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

MOVTH0,#0F0H

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

MOVTH1,#3CH

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

SETBEA

SETBET0

SETBET1;允许二个中断,T0/T1

CLROK

CLRRING

SETBTR1

SETBTR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了

 

;=========================================================================

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

;=========================================================================

START:

MOVDATA0,#0FFH;初始化

MOVR5,#0BH

MOVR4,#0BH

MOVR3,#0BH

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

JNBP3.3,SELSUB0

JNBP3.4,TZ3;倒计时调整

JBP3.0,NEXT

ACALLDELAY

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

SETBEX0;开放INT0

ACALLBARK;按键发声

MOVA,R1

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

SETBOK;抢答标志位,在使用锦囊时用作判断是抢答倒计时还是回答倒计时

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

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

NEXT:

JNBP1.0,FALSE1

JNBP1.1,FALSE2

JNBP1.2,TZ1

JNBP1.3,TZ2

AJMPSTART

TZ1:

AJMPFALSE3

TZ2:

AJMPFALSE4

TZ3:

AJMPSELSUB1

AJMPSTART

;=========================================================================

;===========================非法抢答处理程序==============================

;=========================================================================

FALSE1:

MOVR3,#01H

AJMPERROR

FALSE2:

MOVR3,#02H

AJMPERROR

FALSE3:

MOVR3,#03H

AJMPERROR

FALSE4:

MOVR3,#04H

AJMPERROR

;=========================================================================

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

;=========================================================================

SELSUB0:

MOVA,R1

MOVB,#0AH

DIVAB

MOVR5,A

MOVR4,B

MOVR3,#0AH

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

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

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

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

AJMPSELSUB0

INC0:

MOVA,R1

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

MOVR1,#00H

ACALLDELAY1

AJMPSELSUB0

ADD0:

INCR1

ACALLDELAY1

AJMPSELSUB0

DEC0:

MOVA,R1

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

DECR1

ACALLDELAY1

AJMPSELSUB0

SETR1:

MOVR1,#63H

ACALLDELAY1

AJMPSELSUB0

BACK0:

AJMPSTART

;=========================================================================

;=========================SELSUB1(回答时间R2调整程序)=====================

;=========================================================================

SELSUB1:

MOVA,R2

MOVB,#0AH

DIVAB

MOVR5,A

MOVR4,B

MOVR3,#0AH

ACALLDISPLAY

JNBP3.5,INC1

JNBP3.6,DEC1

JNBP3.1,BACK1

AJMPSELSUB1

INC1:

MOVA,R2

CJNEA,#63H,ADD1

MOVR2,#00H

ACALLDELAY1

AJMPSELSUB1

ADD1:

INCR2

ACALLDELAY1

AJMPSELSUB1

DEC1:

MOVA,R2

JZSETR2

DECR2

ACALLDELAY1

AJMPSELSUB1

SETR2:

MOVR2,#63H

ACALLDELAY1

AJMPSELSUB1

BACK1:

AJMPSTART

;=========================================================================

;===============================启用锦囊程序==============================

;=========================================================================

REPEAT:

MOVA,38h;使用锦囊时重新计时

MOVR6,A

CLRRING;当倒计时进入最后5秒的时候,启用锦囊能消除蜂鸣

;=========================================================================

;=============倒计时程序(抢答倒计时和回答倒计时都跳到改程序)==============

;=========================================================================

COUNT:

MOVR0,#00H;重置定时器中断次数

MOVTH1,#3CH

MOVTL1,#0B0H;重置定时器

RECOUNT:

MOVA,R6;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6

MOVB,#0AH

DIVAB;除十分出个位/十位

MOV30H,A;十位存于(30H)

MOV31H,B;个位存于(31H)

MOVR5,30H;取十位

MOVR4,31H;取个位

MOVA,R6

SUBBA,#07H

JNCLARGER;大于5s跳到LARGER,小于等于5s会提醒

MOVA,R0

CJNEA,#0AH,FULL;1s中0.5s向下运行

CLRRING

AJMPCHECK

FULL:

CJNEA,#14H,CHECK;下面是1s的情况,响并显示号数并清R0,重新计

SETBRING

MOVA,R6

JZQUIT;计时完毕

MOVR0,#00H

DECR6;一秒标志减1

AJMPCHECK

LARGER:

MOVA,R0

CJNEA,#14H,CHECK;如果1s向下运行,否者跳到查"停/显示"

DECR6;计时一秒R6自动减1

MOVR0,#00H

CHECK:

JNBP3.1,QUIT;如按下停止键退出

JNBOK,CHECKK;只在回答倒计时才有效

AJMPNEXTT

CHECKK:

JNBP3.0,REPEAT;判断是否使用锦囊

NEXTT:

ACALLDISPLAY

JBOK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用)

AJMPRECOUNT

ACCOUT:

MOVA,DATA0

JNBACC.0,TRUE1

JNBACC.1,TRUE2

JNBACC.2,TZ7

JNBACC.3,TZ8

AJMPRECOUNT

TZ7:

AJMPTRUE3

TZ8:

AJMPTRUE4

 

AJMPRECOUNT

QUIT:

CLROK;如果按下了"停止键"执行的程序

CLRRING

AJMPSTART

;================================================================

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

当前位置:首页 > 求职职场 > 简历

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

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