多路抢答器的设计.docx

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

多路抢答器的设计.docx

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

多路抢答器的设计.docx

多路抢答器的设计

目录……………………………………………………………………1

前言……………………………………………………………………2

摘要……………………………………………………………………2

设计任务………………………………………………………………3第一章系统概述与原理方框图………………………………………5

1.1计算机电子技术发展概述与系统问题的提出…………5

1.2方案的选择及设计思路与原理方框图…………………5

第二章系统硬件设计…………………………………………………7

2.1中央控制器---AT89C2051……………………………7

2.2六路抢答器系统的外围电路的设计与分析……………10

2.3电路图……………………………………………………11

第三章系统的软件程序设计…………………………………………12

3.1程序流程图………………………………………………12

3.2程序设计…………………………………………………13

心得总结………………………………………………………………20

参考资料………………………………………………………………20

 

一,前言

随着我国经济和文化事业的发展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此出现了抢答器。

抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。

因此我们设计了以单片机为核心的新型智能的抢答器,在保留了原始抢答器的基本功能的同时又增加一系列的实用功能并简化其电路结构。

抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。

传统普通抢答器主要存在以下缺陷:

(一)、在一次抢答过程中,当出现超前违规抢答时,只能处理违规抢答信号,而对没有违规的有效抢答信号不能进行处理,因而使该次抢答过程变为无效。

(二)、当有多个违规抢答时,普通抢答器或采用优先编码电路选择其中一个,或利用抢答电路电子元件的“竞争”选择其中一个。

对于后者由于抢答电路制作完毕后电子元件被固定。

各路抢答信号的“竞争”能力也被固定,因而本质上也有优先权。

普通抢答器存在不公平性。

(三)、当有多个违规抢答时,普通抢答器只能“抓住”其中一个而出现“漏洞”。

二,摘要

文章首先介绍了系统的设计方案思路与原理图,进而阐明了设计6路抢答器系统的意义。

单片机AT8920C51控制芯片及其外围电路,数码显示电路及其周围电路,控制电路,语音电路等,软件部分就针对一些具体模块进行编程。

整个系统采用单片机通讯方式,文中还介绍了单片机接口与控制器之间的通讯情况以及该系统的PCB板制作。

关键词:

电子;抢答器;单片机;输入;编程;调试;

Alltheproduction.Responder

Abstract:

thispaperintroducedthedesignideasandsystem,andillustratestheprinciplediagramdesign6roadsystem.ResponderAT8920C51MCUcontrolcircuitchipanditsperipherals,digitaldisplaycircuit,controlcircuitanditssurroundingcircuit,voicecircuits,softwareforsomespecificpart.Thesystemadoptssinglechipcommunicationmode,thispaperalsointroducesmicrocontrollerinterfaceandthecontrollerofthecommunicationbetweenthesystemandthePCBproduction.

Keywords:

electronic,Viestoanswerfirst,SCM,Input,Programming,Debugging,

 

三,设计任务

1,设计一款6路以上的抢答器;

2,设计一个抢答器控制开关(开始抢答后才允许答题者抢答),供主持人用;

3,数码管显示当前答题者号数;

4,答题开始后,数码管显示倒计时时间。

5,其他功能(创新部分)

第1章系统概述与原理方框图

在本章中,我们对四路抢答器的总体设计及其主要的功能特点进行简单的分析,并给出它的特点,实现的功能以及系统的简单操作,以对单片机及其控制系统的了解。

第1.1节计算机电子技术发展的概述与系统问题的提出

近年来,计算机技术析迅猛发展,使得计算机在工业,农业,国防科研及日常生活的各个领域显示了日益旺盛的生命力,它已成为各国工业发展水平的主要标志之一,是发展新技术,改造老技术的强有力的武器。

目前,单片机正朝着高性能和多品种方向发展,单片机的发展正朝着CMOS化,低功耗,小体积,大容量,高性能,低价格和外围电路的内装化等几个方面发展。

近几年,由于某种原因CHMOS技术的进步,大大地促进了单片机的CMOS化,此种芯片除了低功耗外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态,特别是IIC,API等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。

而我们设计出的4路抢答器是一种基于MCS-51智能锁的硬件和软件设计及实现方法,这种电路设计具有按键有效提示,输入错误提示,控制开锁电平,控制报警电路,在线修改功能等多种功能,保密性强,灵活性高,特别适用于家庭!

办公室!

学生宿舍及宾馆等场所。

它具有全集成化,智能化,高精度,高性能,高可靠性和低价格等优点,是一个值得推广的一种方法。

接下来我们就对方案与设计原理方框图进行比较分析。

第1.2节方案的选择及设计思路与原理方框图

为了使设计更具有针对性,使用性更强,我对们其进行精心的设计,在设计过程中,我们想到了很多的设计方案。

1.2.1设计思路

设计一个智力竞赛抢答器,可同时供N名选手或者N个代表队参加比赛,他们的编号分别为0,1,2…N-1,各用一个抢答器按钮,按钮的编号与选手的编号相对应,分别设为S0,S1…SN-1。

节目主持人设置一个控制开关,用来控制系统的清零和抢答器的开始。

并且抢答器具有数据锁存和显示的功能,抢答开始手,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时蜂鸣器给出音响提示,此外,要封锁输入电路,禁止其他选手抢答,优先抢答选手的编号一直保持到主持人将系统清零为止。

1.2.2总体方框图

系统的总体方框图如下图所示:

图1.1抢答器系统设计原理图

该系统的主要输入抢答输入电路,译码电路,显示电路等,控制电路等电路组成,外围电路少,功能单一,可不用编程来实现。

但是其也有很大的缺点,比如不能按到多次,且手动输入的时间不能太长,而且时间也有一点限制。

且不能断电,断电后将无法恢复,输入又无法显示,无可观性,因此我们采用以下的方法。

利用单片机AT89C2051,它是一种性能优良的集成可编程的单片机,其功能十分的强大,它把CPU、存储器、及I/O集成到一个芯片上,只要外加少许电子零件便可以构成一套简易的控制系统。

这样可以降低设计出来的产品的硬件成本,通过编程快速实现对不同密码值的输出与控制。

多路抢答器系统的整个系统从大体来看可以分为键盘抢答输入,系统处理,数字数码管显示,声音的输出以及对电脑的串口通信等。

而本设计将分为以下四个部分:

键盘输入部分,电源部分,数字显示部分,MCU中央处理部分和串口通信部分。

主要的系统电路有:

电源电路、复位电路、单片机控制电路、单片机控制输出显示电路,音频控制输出电路,24C02防掉线数据保护电路等。

电路分析我们在下一章节中进行分析。

该系统的主要特点有:

⑴该产品的互换性好,响应速度快,抗干扰能力强,外围电路简单易懂,因此相对来说体积小。

⑵该系统能用软件的方式设计硬件,所以用软件方式设计的系统向硬件系统的转换是由有关开发软件自动完成的,易操作。

⑶具有具体数字显示的功能。

⑷可以从以前的组合设计转向真正的自由设计,所以设计的移植性好,效率高。

可适合大规模的现场制作。

⑸利用按钮进行输入,输入简单。

⑹具有智能报警的功能,当选定之后就马上锁定,并且发出音乐声音。

大大提高了抢答器的可靠性。

⑺因为整个系统可集成在一个芯片上,因此体积小,功耗低,可靠边性更高。

并且非常适合合分工作,团队精神。

第二章系统硬件设计

第2.1节中央控制器---AT89C2051

AT89C2051是由美国Atmel公司生产的至今为止世界上最新型的高性能八位单片机。

该芯片采用FLASH存储技术,内部具有2KB字节快闪存存储器,采用DIP封装,是目前在中小系统中应用最为普及的单片机。

⑴、AT89C2051的特点

AT89C2051具有以下几个特点:

·AT89C2051与MCS-51系列的单片机在指令系统和引脚上完全兼容;

⑵、AT89C201的功能描述

AT89C2051是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。

⑶、AT89C2051引脚功能

AT89C51单片机为20引脚芯片如图2.10所示:

 

①、口线:

P1、P3共2个八位口。

▪P1口是专门供用户使用的I/O口,是准双向口,其中P1.0和P1.1除作为普通I/O用外,还可作为电压比较器输入端。

▪P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能。

▪VCC:

工作电源+5V

▪GND:

电源地。

▪VPP:

访问外部程序存储器允许信号。

▪RST:

复位信号输入端。

▪XTAL1:

片内振荡器输入端。

▪XTAL2:

片内振荡器输出端。

▪RXD:

串行口输入。

▪TXD:

串行口输出。

▪ALE:

访问片外存储器时,它作为锁存扩展地址低字节的控制信号的输入。

②.控制口线:

PSEN(片外选取控制)、ALE(地址锁存控制)、EA(片外存储器选择)、RESET(复位控制);

2.1.2时钟电路的设计与工作原理分析

  8031/8051单片机的时钟信号通常用两种电路形式得到:

内部振荡方式和外部振荡方式。

在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。

由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。

电容器Cl,C2起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。

晶振频率的典型值为12MHz,采用6MHz的情况也比较多。

内部振荡方式所得

的时钟信号比较稳定,实用电路中使用较多。

外部振荡方式是把外部已有的时钟信号引入单片机内。

这种方式适宜用来使单片机的时钟与外部信号保持同步。

外部振荡信号由XTAL2引入,XTAL1接地。

为了提高输入电路的驱劝能力,通常使外部信号经过一个带有上拉电阻的TTL反相门后接入XTAL2。

2.1.3、单片机的基本时序单位介绍

单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。

  振荡频率二分频后形成状态周期或称s周期,所以,1个状态周期包含有2个振荡周期。

振荡频率foscl2分频后形成机器周期MC。

所以,1个机器周期包含有6个状态周期或12个振荡周期。

1个到4个机器周期确定一条指令的执行时间,这个时间就是指令周期。

8031单片机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。

4种时序单位中,振荡周期和机器周期是单片机内计算其它时间值(例如,波特率、定时器的定时时间等)的基本时序单位。

2.1.4、单片机复位电路的设计与分析

当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。

如果RST持续为高电平,单片机就处于循环复位状态。

根据应用的要求,复位操作通常有两种基本形式:

上电复位和上电或开关复位。

上电复位要求接通电源后,自动实现复位操作。

常用的上电复位电路如下图A中左图所示。

图中电容C1和电阻R1对电源十5V来说构成微分电路。

上电后,保持RST一段高电平时间,由于单片机内的等

效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如下图(A)中右图所示。

 

 

上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。

常用的上电或开关复位电路如上图(B)所示。

上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。

当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。

根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。

上图(A)中:

Cl=10-30uF,R1=1kΩ

上图1.27(B)中:

C:

=1uF,Rl=lkΩ,R2=10kΩ

2.1.5、单片机复位后的状态的分析

单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。

单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的韧始化部分是十分必要的。

第2.2节六路抢答器系统的外围电路的设计与分析

其工作原理为:

接通电源后,单片机AT89C2051自动复位,抢答器处于工作状态,数码管无显示,当开始抢答时,四个开关SB1-SB4处于工作状态,此时单片机处于检测状态,无论四个开关哪一个先按下后,其它开关将无效,此时数码管显示对应

开关的数字(SB1为1,SB2为2,SB3为3,SB4为4),此时通过P3.7I/O控制音乐IC工作,音乐响起,30S后自动结束,显示管清零状态,准备下轮抢答。

2.2.1抢答器电路

总的来讲,抢答器电路图可大概用图来表示(可参考附图)。

该电路具有两个功能:

一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二实现与上位机通信。

2.2.2音乐电路

通过单片机的P3.7口控制音乐IC的工作。

当P3.7口输出一低平信号是,VT1导通,+5V电压经过VT1,R11;CW1为稳压二极管,其电压为3.6V,即提供3.6V电压给音乐IC供电。

只要音乐IC电压正常,则音乐电路则正常启动,BJ015B端则输出信号,经VT2驱动SP1。

经30S后,单片P3.7口输出复位信号,则VT1不导通,IC3无电压,则音乐电路停止工作。

对于有触发端的电路设计一般有两种启动方式:

1、通过电子开关控制音乐集成电路的供电,从而控制音乐集成电路是否工作。

2、这种方式的电路设计,必须把触发端直接和正电源端相接,这样只要一向音乐集成电路供电,其触发端便得到一个触发信号,启动电

路工作,这种方式只要一直保证向音乐集成电路供电,它便会反复地演凑;

3、向触发端送入触发信号。

4、这种方式的电路设计要求让音乐集成电路始终接入电源,而通过外电路向其送入触发信号,从而启动电路工作。

第2.3节电路图

 

第三章系统的软件程序设计

第3.1节程序流程图

图3.1主程序流程图

 

第3.2节程序设计

============================================================

OKEQU21H;抢答开始标志位

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

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

AJMPSTART

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

FALSE1:

MOVR3,#01H

AJMPERROR

FALSE2:

MOVR3,#02H

AJMPERROR

FALSE3:

MOVR3,#03H

AJMPERROR

FALSE4:

MOVR3,#04H

AJMPERROR

FALSE5:

MOVR3,#05H

AJMPERROR

FALSE6:

MOVR3,#06H

AJMPERROR

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

INT0SUB:

MOVA,R1

MOVB,#0AH

DIVAB

MOVR5,A

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

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

INT1SUB:

MOVA,R2

MOVB,#0AH

DIVAB

MOVR5,A

MOVR4,B

MOVR3,#0AH

ACALLDISPLAY

JNBP3.4,INC1

JNBP3.5,DEC1

JNBP3.1,BACK1

AJMPINT1SUB

INC1:

MOVA,R2

CJNEA,#63H,ADD1

MOVR2,#00H

ACALLDELAY1

AJMPINT1SUB

ADD1:

INCR2

ACALLDELAY1

AJMPINT1SUB

DEC1:

MOVA,R2

JZSETR2

DECR2

ACALLDELAY1

AJMPINT1SUB

SETR2:

MOVR2,#63H

ACALLDELAY1

AJMPINT1SUB

BACK1:

RETI

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

REPEAT:

MOVA,R2;使用锦囊时重新计时

MOVR6,A

CLRRING

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,36H

JNBACC.0,TRUE1

JNBACC.1,TRUE2

JNBACC.2,TRUE3

JNBACC.3,TRUE4

JNBACC.4,TRUE5

JN

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

当前位置:首页 > 初中教育 > 语文

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

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