抢答器单片机课程方案设计书Word格式文档下载.docx

上传人:b****2 文档编号:3271497 上传时间:2023-05-01 格式:DOCX 页数:29 大小:374KB
下载 相关 举报
抢答器单片机课程方案设计书Word格式文档下载.docx_第1页
第1页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第2页
第2页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第3页
第3页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第4页
第4页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第5页
第5页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第6页
第6页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第7页
第7页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第8页
第8页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第9页
第9页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第10页
第10页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第11页
第11页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第12页
第12页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第13页
第13页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第14页
第14页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第15页
第15页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第16页
第16页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第17页
第17页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第18页
第18页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第19页
第19页 / 共29页
抢答器单片机课程方案设计书Word格式文档下载.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

抢答器单片机课程方案设计书Word格式文档下载.docx

《抢答器单片机课程方案设计书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《抢答器单片机课程方案设计书Word格式文档下载.docx(29页珍藏版)》请在冰点文库上搜索。

抢答器单片机课程方案设计书Word格式文档下载.docx

2、具有定时功能,在10秒内无人抢答表示所有参赛选手获参赛队对本题弃权。

3、10秒时仍无人抢答其报警电路工作表示抢答时间耗尽并禁止抢答。

2.2电路设计

本抢答器的电路主要有四部分组成:

数字抢答电路、时序控制电路、报警电路以及可预置时间的定时电路。

其中数字抢答部分有一个74HC373锁存器和数码管显示器组成,可以将八位抢答者的按钮通过数码管显示器显示出他们最先抢答者的序号。

而时序控制电路的功能是当参赛选手按动抢答器时,使扬声器发声,这时抢答电路和定时电路停止工作。

而且设定的时间(本课题设置为10秒)到达后若无人抢答,则报警电路工作。

报警电路工作的条件是当设定时间到达后或者有人抢答时,报警电路被输入一个高电平,这时此电路工作。

2.3八位抢答器设计要求

本次设计的智能抢答器(八位抢答器)将具有以下功能:

(1)抢答器同时供8名选手比赛抢答用,有8个按钮S0~S7表示。

(2)设置一个系统清除和抢答控制开关“开始”,“结束”,该开关由主持人控制。

(3)抢答器具有锁存与显示功能。

即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在数码管上显示选手号码。

此外还有一些扩展功能:

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

当主持人启动“开始”键后,定时器进行减计时。

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

(3)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示0。

2.4硬件介绍

2.4.1AT89C52单片机简介

AT89C52是8位通用微处理器。

采用标准的C51内核,在内部功能及管脚排布上

PDIP封装的AT89C52引脚图

与通用的8xc52相同,其主要用于会聚调整时的功能控制。

功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。

主要管脚有:

XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。

RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。

VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。

P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。

  在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

P1口:

P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

引脚号

功能特性

P1.0

T2,时钟输出

P1.1

T2EX(定时/计数器2)

  与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表1。

  Flash编程和程序校验期间,P1接收低8位地址。

P2口:

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存

储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。

表1P1.0和P1.1的功能

P3口:

P3口是一组带有内部上拉电阻的8位双向I/O口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

  P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能

  P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

  如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。

XTAL1:

振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端。

2.4.2锁存器

锁存器是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。

由若干个钟控D触发器构成的一次能存储多位二进制代码的时序逻辑电路,叫锁存器件。

逻辑结构与功能表见图2-4:

图2-4锁存器逻辑结构与功能表

8位锁存器74HC373的逻辑图如下图所示。

其中使能端G加入CP信号,D为数据信号。

输出控制信号为0时,锁存器的数据通过三态门进行输出。

图2-574HC373引脚(管脚)图:

图2-674LS373内部逻辑图

图2-774LS373真值表

所谓锁存器,就是输出端的状态不会随输入端的状态变化而变化,仅在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号到来时才改变。

在某些运算器电路中有时采用锁存器作为数据暂存器数据有效延迟后于时钟信号有效。

这意味着时钟信号先到,数据信号后到。

典型的锁存器逻辑电路是D触发器电路。

锁存,就是把信号暂存以维持某种电平状态。

锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个I/O口既能输出也能输入的问题。

3系统硬件设计

3.1硬件电路的总体框图

本数字抢答器的硬件电路总体框图见图3-1:

图3-1数字抢答器电路框图

3.2电路器件选择

本次设计的数字抢答器采用AT89C52单片机作为系统的控制单元。

就抢答器而言,通常可采用液晶显示或数码管显示。

由于数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显示组合数码管。

本实验用数码管来显示。

3.3最小系统设计

3.3.1时钟频率电路图

单片机必须在时钟的驱动下才能工作.由之前所学的《单片机原理》最小系统内容,在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。

晶振电路见图3-2:

·

图3-2晶振电路

3.3.2复位电路图设计

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

复位电路图见图3-3所示:

图3-3复位电路

3.3.3键盘扫描电路的设计

在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。

本实验用的是独立式键盘。

键盘扫描电路图见图3-4:

图3-4独立键盘

3.3.4功能键及发声系统设计

声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。

通过添加一些具体的功能键可以使系统的功能更加完善。

功能键及发声系统结构图见图3-5:

图3-5功能键及发声系统结构图

3.4总体设计结构图

数字抢答器的总体设计结构见图3-6:

图3-6总体结构图

4个人小结

这次的课程设计的在学期开始时进行的,经过一个暑假的“沉淀”,对做课程所要求的严谨科学态度还不适应了,所以一开始选题的时候是很不知所措,再加上考研时间的需要,这次就选了个比较简答的抢答器。

当天选了题目之后,就开始找资料,先是就之前所学的《单片机原理及应用技术》进行有关芯片的研究,后来又去图书馆找了单片机的实训教程,最终确定了用芯片AT89C52。

这次的课程设计我们希望能加入一些新的想法:

比如说不准有人抢答,设定抢答时间。

主要是考虑到以前看节目的时候经常会看到主持人还没说开始的时候有些人已经抢答了,而且也算是为以后的课程设计奠定基础。

找了相关资料,在P3口添加了6个按键,设定了主持人的复位键(开始,结束),设定抢答时间。

确定了电路图。

然后是在proteus中画电路,由搭档在keil中编写程序,经过反复检查,修改。

总算是调试出来了。

接着就是去采集器件了,一开始也没想到要用插针,按照电路图在版子上描画电路图,就开始焊,后来发现可能是排版的不够严谨吧,板子背面的排线焊出来会很杂乱。

于是就想到了插针,又去电子市场买了些。

终于是焊好了,一调试结果也是正确,应该说主要是之前的工作做的比较充分。

设计电子智能抢答器,采用了单片机技术、数字电子、模拟电子等相关技术。

把在学校三年所学知识连成一串。

理论联系实践是我懂得了在系统设计中设计方法的选用是系统设计能否成功的关键。

在以后的道路中,我会严格要求自己,追求完美。

5致谢

这次的课程设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。

经过反复的查资料以及向同学请教,我学会了很多做课题的思想,套路。

老师给我们安排的课程设计就是在之前理论学习的基础上增加自己的动手能力,是我们的思维更活跃,不至于做只会理论知识的“书呆子”。

这对以后我们的出路奠定了很好的基础。

在此,我要感谢指导老师庄志红和还有其他帮助过我们的同学。

6参考文献

1.《单片机原理及应用技术》范力旻电子工业出版社

2.《单片机应用技术实训教程》胡文金钟秉翔杨健重庆大学出版社

3.《8051单片机彻底研究实习篇》林申茂编著人民邮电出版社

4.《单片机原理及接口技术实践教程》胡建编著机械工业出版社

5.《新型单片机接口器件与技术》林凌,李刚,丁茹,李小霞.西安:

西安电子科技大学出版社,2005年

6.《单片机原理与应用及C51程序设计》谢维城,杨加国.清华大学出版社,2006年

附录

附录1:

程序清单

OKEQU20H。

抢答开始标志位

RINGEQU22H。

响铃标志位

ORG0000H

AJMPMAIN

ORG0003H

AJMPINT0SUB

ORG000BH

AJMPT0INT

ORG0013H

AJMPINT1SUB

ORG001BH

AJMPT1INT

ORG0040H

MAIN:

MOVR1,#10;

初设抢答时间为10s

MOVR2,#10;

初设答题时间为10s

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

ACALLDISPLAY。

未开始抢答时候显示FFF

JBP3.0,NEXT。

ddddddd

ACALLDELAY

去抖动,如果"

开始键"

按下就向下执行,否者跳到非法抢答查询

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

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

FALSE1:

MOVR3,#01H

AJMPERROR

FALSE2:

MOVR3,#02H

FALSE3:

MOVR3,#03H

FALSE4:

MOVR3,#04H

AJMPERROR

FALSE5:

MOVR3,#05H

FALSE6:

MOVR3,#06H

FALSE7:

MOVR3,#07H

FALSE8:

MOVR3,#08H

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

INT0SUB:

MOVB,#0AH

DIVAB

MOVR5,A

MOVR4,B

MOVR3,#0AH

先在两个时间LED上显示R1

JNBP3.4,INC0。

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

JNBP3.5,DEC0。

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

JNBP3.1,BACK0。

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

INC0:

MOVA,R1

CJNEA,#63H,ADD0。

如果不是99,R2加1,如果加到99,R1就置0,重新加起。

MOVR1,#00H

ACALLDELAY1

AJMPINT0SUB

ADD0:

INCR1

ACALLDELAY1

DEC0:

JZSETR1。

如果R1为0,R1就置99,

DECR1

SETR1:

MOVR1,#63H

ACALLDELAY1

BACK0:

RETI

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

INT1SUB:

MOVA,R2

MOVB,#0AH

ACALLDISPLAY

JNBP3.4,INC1

JNBP3.5,DEC1

JNBP3.1,BACK1

INC1:

MOVA,R2

CJNEA,#63H,ADD1

MOVR2,#00H

ADD1:

INCR2

DEC1:

JZSETR2

DECR2

SETR2:

MOVR2,#63H

BACK1:

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

REPEAT:

MOVA,R2。

使用锦囊时重新计时

MOVR6,A

CLRRING

COUNT:

MOVR0,#00H。

重置定时器中断次数

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向下运行

AJMPCHECK

FULL:

CJNEA,#14H,CHECK。

下面是1s的情况,响并显示号数并清R0,重新计

SETBRING

JZQUIT。

计时完毕

MOVR0,#00H

DECR6。

一秒标志减1

LARGER:

MOVA,R0

如果1s向下运行,否者跳到查"

停/显示"

DECR6。

计时一秒R6自动减1

CHECK:

JNBP3.1,QUIT。

如按下停止键退出

JNBOK,CHECKK。

只在回答倒计时才有效

AJMPNEXTT

CHECKK:

JNBP3.0,REPEAT。

判断是否使用锦囊

NEXTT:

ACALLDISPLAY

JBOK,ACCOUT。

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

AJMPRECOUNT

ACCOUT:

MOVA,36H

JNBACC.0,TRUE1

JNBACC.1,TRUE2

JNBACC.2,TRUE3

JNBACC.3,TRUE4

JNBACC.4,TRUE5

JNBACC.5,TRUE6

JNBACC.6,TZ1

JNBACC.7,TZ2

TZ1:

JMPTRU

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

当前位置:首页 > 人文社科 > 法律资料

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

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