资源描述
摘要
抢答器是一种应用非常广泛的设备,在各种竞猜、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期的抢答器只由几个三极管可控硅、发光管等组成,能通过发光管的指示辨认出选手。现在大多数抢答器均使用单片机和数字集成电路,并增加了许多新的功能,如选手号码显示、抢按器或抢按后的计时、选手得分显示等功能。本文介绍了用8051系列单片机控制的八路智力抢答器。该抢答器除具有基本的抢答功能外,还具有定时、计时和报警功能。
关键字:抢答器 单片机 报警
目录
引 言 1
一.系统设计 2
1.1 设计任务与要求 2
1.2 方案比较与论证 2
1.3 8051单片机系统说明 3
1.3.1 8051单片机简介 3
1.3.2 80C51的时序图 4
1.4 8051引角及其功能 4
1.5 设计抢答器的目的与意义 5
二.主要元器件分析 7
2.1 80C51芯片 7
2.2 74LS373芯片 7
2.3 MAX7219芯片 8
2.3.1 引脚说明 9
2.3.2 基本工作原理及使用方法 9
2.4 计分电路 10
三.程序设计 11
3.1 定时电路的设计 11
3.2 抢答电路设计 11
3.3 加减分程序设计 13
3.4报警电路设计 13
3.5抢答器程序流程图 15
参考文献 16
引 言
本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。系统工作原理本系统采用8051单片机作为核心。控制系统的四个模块分别为:存储模块、显示模块、语音模块、抢答开关模块。该抢答器系统通过开关电路四个按键输入抢答信号;利用语音芯片ISD1420完成语音的录放功能;利用存储程序;利用一个数码管来完成显示功能。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理,输出控制信号,控制数哪一组先答题,并通过语音系统读出“第2组请答题”,从而实现整个抢答过程。
一.系统设计
1.1 设计任务与要求
设计并制作一个八路智力抢答器
1.2 方案比较与论证
方案一:系统各部分采用中小规模集成数字电路,用机械开关按钮作为控制开关,完成抢答输入信号的触发。该方案的特点是中小规模集成电路应用技术成熟,性能可靠,能方便地完成选手抢答的基本功能,但是由于系统功能要求较高,所以电路连接集成电路相对较多,而且过于复杂,并且制作过程工序比较烦琐,使用不太方便。
方案二:该系统采用8051系列单片机80C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。MCS-51单片机特点如下:
<1>可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。
<2>单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。
<3> 控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。
方案比较及其选用依据,显然方案二比方案一简单的多,不但从性能上优于方案一,而且在使用上及其功能的实现上都较方案一简洁,并且由于单片机具有优越的高集成电路性,使其工作速度更快、效率更高。另外80C51单片机采用12MHz的晶振,提高了信号的测量精度,并且使该系统可以通过软件改进来扩张功能。而方案一采用了中小规模集成电路,有其复杂的电路性能,从而可能会使信号的输入输出产生延时及不必要的误差。依此依据选择方案二比较适合。总原理图见附录2。
其原理框图如下:
抢答按扭
优先编码电路
锁存器
译码电路
译码显示
主持人控制开关
控制电路
报警电路
秒脉冲产生电路
定时电路
译码电路
显示电路
图1-1 抢答器的原理框图
1.3 8051单片机系统说明
1.3.1 8051单片机简介
8051系列单片机是国际上流行多年的代表机型,是国内高校教学和初学者入门首选的主流机型,也是在各种技术期刊和专业书籍中出现频率最高的经典机型。本文以标准80C51为模型,并适当兼顾8051系列的共性和常用型号的特性。内容主要包括:硬件架构、ROM、RAM、指令系统、汇编程序基础和汇编语言工具链、并行端口、定时器、中断逻辑、复位逻辑、时钟电路、电源电路等功能电路的结构和工作原理,以及片内程序存储器编程原理
1.3.2 80C51的时序图
时序图如图1-2所示:
图1-2 80C51的时序图
时序控制电路:
①主持人将控制开关拨到“开始”位置时,扬声器发声,抢答电路和定时电路进入正常抢答工作状态。
②当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。
③当设定的抢答时间到,无人抢答时,扬声器发声,同时抢答电路和定时电路停止工作。
图1-3 时序控制电路
1.4 8051引角及其功能
Vcc 40脚
电源端 Vss 20脚
接地端 XTAL2 18脚
时钟信号输入端 XTAL1 19脚
时钟电路引脚 RST 9脚
复位信号输入端,高电平有效
备用电源输入端 图1-4 80C51的引脚
ALE 30脚 地址锁存允许信号端,6分频振荡周期。
PSEN 29脚 程序存储器允许输出信号端 用于读取外部的程序存储器,每个机器周期中两次有效。
EA 31脚 外部程序存储器地址允许输入,接高电平时,执行片内程序存储器的内容,当PC超过0fffH时,自动变0。接低电平时,访问外部程序存储器。
P0 39~32脚 8位准双向I/O,在做输入时,要先向口地址80H写1,此时由内部上拉提成高阻态。
P1 1~8脚 8位准双向I/O口
1.5 设计抢答器的目的与意义
通过这次毕业设计,掌握80C51单片机的原理,了解简单多功能抢答器组成原理,初步掌握多功能抢答器的调整及测试方法,提高动手能力和排除故障的能力。同时通过本课题设计与装配、调试,提高自己的动手能力,巩固已学的理论知识,建立单片机理论和实践的结合,了解多功能抢答器各单元电路之间的关系及相互影响,从而能正确设计、计算定时计数的各个单元电路。初步掌握多功能抢答器的调整及测试方法,提高动手能力和排除故障的能力。
设计思路:
抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辩认出选手号码。现在大多数抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢按前或抢按后的计时、选手得分显示等功能。
本课题利用80C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间和选手号码。用开关做键盘输出,扬声器发生提示。系统达到要求:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可设在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,时间完后系统自动复位;按键锁定,在有效状态下,按键无效非法。而基于单片机的竞赛抢答器能解决上述的各个问题。
二.主要元器件分析
2.1 80C51芯片
80C51内含8位CPU;广泛的布尔处理能力:32根双向且分别可寻址的I/O线;128字节RAM;2个16位定时器/计数器;全双工异步串行口(UART);2个中断优先级;5个中断源;片内有时钟震荡器;4K字节片内ROM程序储存器;可寻址的64K字节外部程序储存空间;可寻址得64K字节外部数据储存空间;无片内ROM的8051形式是8031,EPROM型是751,8051AH是采用HMOS工艺制造,所以其管脚与8051兼容。
2.2 74LS373芯片
74LS373含有20个接口,8个输入端,8个输出端,一个电源接口和一个接地口,LE和OE接口.单片机系统中常用的地址锁存器芯片74LS373以及coms的74hc373。是带三态缓冲输出的8D触发器,其引脚图与结构原理图、电路连接图如下:
图2-1 74LS373芯片电路系列图
74ls373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74ls373芯片。
(1)1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态)。
(2)当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态。
锁存端ALE由高变低时,输出端8 位信息被锁存,直到ALE端再次有效。当三态门使能信号OE为低电平时,三态门导通,允许Q0~Q7输出,OE为高电平时,输出悬空。当74LS373用作地址锁存器时,应使OE为低电平,此时锁存使能端G为高电平时,输出Q0~Q7状态与输入端D1~D7状态相同;当G发生负的跳变时,输入端D0~D7数据锁入Q0~Q7。51单片机的ALE信号可以直接与74LS373的G连接。
74ls373与单片机接口:
1D~8D为8个输入端,1Q~8Q为8个输出端。
G是数据锁存控制端;当G=1时,锁存器输出端同输入端;当G由“1”变为“0”时,数据输入锁存器中。
OE为输出允许端;当OE=“0”时,三态门打开;当OE=“1”时,三态门关闭,输出呈高阻状态。
在MCS-51单片机系统中,常采用74LS373作为地址锁存器使用,其连接方法如图2-1所示。其中输入端1D~8D接至单片机的P0口,输出端提供的是低8位地址,G端接至单片机的地址锁存允许信号ALE。输出允许端OE接地,表示输出三态门一直打开。
2.3 MAX7219芯片
MAX7219是美国MAXIM公司生产的串行输入/输出共阴极显示驱动器。该芯片可直接驱动最多8位7段数字LED显示器,或64个LED和条形图显示器。它与微处理器的接口非常简单,仅用3个引脚与微处理器相应端连接即可实现最高10MHz串行口。MAX7219的位选方式独具特色,它允许用户选择多种译码方式译骂码选位,而且每个显示位都能个别寻址和刷新,而不需要重写其中的显示位,这使得软件编程十分简单。
2.3.1 引脚说明
该芯片采用24脚DIP和SO封装,工作电压4.0~5.5V,最大功耗1.1W。引脚
说明见表2-2。
2.3.2 基本工作原理及使用方法
MAX7219与8031单片机连接采用三线串行接口,对于MAX7219,串行数据是以16位数据包的形式从Din脚串行输入,在CLK的每一个上升沿一位一位地送入芯片内部16位移位寄存器,而不管Lout脚的状态如何。Load脚必须在第16个CLK上升沿出现的同时或之后,但在下一个上升沿之前变为高电平,否则移入的数据将丢失。
表2-1 6位数据包的数据格式
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
--
--
--
--
ADDRESS
MSB DATA LSB
2.4 计分电路
该集成电路具有"清零",预置数,加计数和减计数四个功能.进行预置时,在P0口输入100,当抢答成功的时候手动加10分,不成功时候减10分。当需要加分时,按键使P0口输入高电平,在程序寄存器中送入10,则显示器个位进1,显示10分时.当需要减分时,按键使P0口输入低电平在程序寄存器中送入10,则显示器十位减10分,则显示少10分。计分电路如图2-4所示。
图2-4 计分电路
三.程序设计
3.1 定时电路的设计
节目主持人根据抢答题的难易程度,设定一次抢答的时间,通过预置时间电路对计数器进行预置,选用十进制同步加/减计数器74LSl92进行设计,计数器的时钟脉冲由秒脉冲电路提供,具体电路如图3-1所示。
图3-1 秒脉冲电路
3.2 抢答电路设计
1、抢答电路如图3-2所示。
图3-2 抢答电路
2、抢答电路的功能有两个:一是能分辨出选手按键的先后,并锁存优先抢答者的编号,供译码显示电路用;二是要使其他选手的按键操作无效。选用优先编码器74LS148和DFF锁存器可以完成上述功能,其电路组成如图3-2所示。其工作原理是:当主持人控制开关处于“清除”位置时,RS触发器的端为低电平,输出端(4Q~1Q)全部为低电平。于是74LS48的=0,显示器灭灯;74LS148的选通输入端=0,74LS148处于工作状态,此时锁存电路不工作。当主持人开关拨到“开始”位置时,优先编码电路和锁存电路同时处于工作状态,即抢答器处于等待工作状态,等待输入端7... 0输入信号,当有选手将键按下时(如按下S5),74LSl48的输出=010,=0,经RS锁存器后,CTR=l,=1,74LS279处于工作状态,4Q3Q2Q=101,经74LS48译码后,显示器显示出“5”。此外,CTR=1,使74LSl48的端为高电平,74LSl48处于禁止工作状态,封锁了其它按键的输入。当按下的键松开后,74LSl48的为高电平,但由于CTR维持高电平不变,所以74LSl48仍处于禁止工作状态,其它按键的输入信号不会被接收。这就保证了抢答者的优先性以及抢答电路的准确性。当优先抢答者回答完问题后,由主持人操作控制开关S,使抢答电路复位,以便进行下一轮抢答。
3.3 加减分程序设计
加法
MOV R0,#DATA1 ;
MOV R1,#DATA2 ;
MOV R7,#N ;置字节数
CLR C ;
LOOP:MOV A,@R0 ;
ADDC A,@R1; ; 求和
MOV @R1,A; ; 存结果
INC R0; ; 修改指针
INC R1 ;
DJNA R7,LOOP ;
减法
MOV R0 ,#DATA1 ;
MOV R1,#DATA2 ;
MOV R7,#N ;置字节数
CLR C ;
LOOP:MOV A,@R0 ;
SUBB A,@R1 ;求差
MOV @R1,A ;存结果
INC R0 ;修改指针
INC R1 ;
DJNZ R7,LOOP ;
3.4报警电路设计
由555定时器和三极管构成的报警电路如图3-3所示。其中555构成多谐振荡器,振荡频率
其输出信号经三极管推动扬声器。PR为控制信号,当PR为高电平时,多谐振荡器工作,反之,电路停振。
图3-3 报警电路
3.5抢答器程序流程图
图3-4 程序流程图
在计分电路的设计中,按照一般的设计原则,按一定数进制进行加减即可,但是随着计数数目的增加,要将计数数目分解成十进制并进行译码显示会得越来越麻烦。因此为了减少译码显示的麻烦,一般式将一个大的进制数分解为数个十进制以内的进制数,计数器串级连接。但随着位数的增加,电路的接口增加,因此本设计采用IF语句从低往高判断是否有进位,采取相应的操作,既减少了接口,又大大地简化了设计。
本系统中的计时器电路既有计时初始值的预置功能,又有减计数功能,功能比较齐全。其中初始值得预置功能是将两位数分解成两个数分别进行预置,每个数的预置,每个数的预置则采用高电平计数的方式进行。
参考文献
[1] 李朝青,《单片机原理与接口技术》,北京航天航空大学出版社,1994
[2] 何立民,《单片机应用与设计》,北京航天航空大学出版社,1990
[3] 李全利 迟容强,《单片机原理与接口技术》,高等教育出版社,2003
[4] 李华,《MCS-51系列单片机实用接口技术》,北京航天航空大学出版社,2000
[5] 陈光东,《单片机微型计算机原理与接口技术》,武汉华中理工大学出版社,1999
[6] 王福瑞,《单片机控制系统设计大全》,北京航天航空大学出版社,1998
[7] 张毅刚, 《MCS-51单片机应用技术》,哈尔滨工业大学出版社,1997
[8] 王公堂 杨善迎,《电脑开发与应用》,山东师范大学出版社,2006
[9] 曹国清,《数字电路与逻辑设计》中国矿业大学出版社,2004
[10] 任致程,《经典集成电路400例》机械工业出版社,2002
[11] 刘绪军 张常友《职校电子制作》家电维修杂志社,2008
[12] 王港元,《电工电子实践指导》江西科学技术出版社,2007
[13] 蔡杏山,《Protel99SE电路设计》人民邮电出版社,2007
展开阅读全文