当前位置:文档之家› 简易四路抢答器

简易四路抢答器

从成本、性能、可靠性等多方面进行对比和论证,以及基于安全、法
律等因素和性价比最优原则,最终实施方案三
结合课题功能指标,利用学习过的AT89C51单片机作为控制核心。同时利用独立式键盘来实现选手的抢答功能以及主持人对抢答开始和系统清零的控制,同时用8位的共阳极数码管显示队伍的编号、分数、以及减计时的时间,同时也用到了转换器PCF8951
4.2程序流程图
N
Y
4.3程序介绍
(1)A/D转换
//--定义PCF8591的读写地址--//
#define WRITEADDR 0x90//写地址
#define READADDR 0x91//读地址
//--声明全局函数--//
void Pcf8591SendByte(unsigned char channel);
关键字:AT89C51单片机、锁存、减计时、动态显示、报警
一、任务分析
1.1设计要求以及需求分析
1、设计一个四位竞赛抢答单片机系统,可同时供4名选手或4个代表队参加比赛,每队设置单独的抢答按钮,编号为1、2、3、4,主要的需求是通过对按钮的设置实现每个小组的抢答
2、给节目主持人设置一个“抢答开始”控制开关,用来控制抢答开始,主要需求是通过对抢答按钮的设置实现抢答的开始
(2)模拟器件的选取:
为了符合设计要求的规定,A/D转换器选择了采用I2C串行通信的PCF8591
(3)数码管的选取
由于通过PCF8591芯片采集的模拟量信号的输入电压最大为+5V,所
以八位数码管已基本满足需求,为了使P0口获得更大的驱动能力,在此选择了共阳极数码管。
(4)I/O驱动能力分析:
与P1、P2、P3口相比,P0口的驱动能力较大,每位可驱动8个LSTTL输入,而P1、P2、P3口的每一位的驱动能力,只有P0口的一半。当P0口的某位为高电平时,可提供400uA的电流,当P0口的某位为低电平时,可提供3.2mA的灌电流。无论是P0口,还是P1、P2、P3口,想要获得较大的驱动能力,只能用低电平输出。
主要性能参数:
·与MCS-51产品指令系统完全兼容
·4k字节可重擦写Flash闪速存储器
·1000次擦写周期
·全静态操作:0Hz-24MHz
·三级加密程序存储器
·128×8字节内部RAM
·32个可编程I/O口线
·2个16位定时/计数器
·5个中断源
·可编程串行UART通道
·低功耗空闲和掉电模式
2.
PCF8591是8位A/D和D/A转换器,是单片、单电源低功耗8位CMOS数据采集器件,具有4个模拟输入、一个输出和一个串行I2C总线接口。3个地址引脚A0、A1和A2用于编程硬件地址,允许将最多8个器件连接至I2C总线而不需要额外硬件。器件的地址、控制和数据通过两线双向I2C总线传输。器件功能包括多路复用模拟输入、片上跟踪和保持功能、8位模数转换和8位数模拟转换。最大转换速率取决于I2C总线的最高速率。
A/D和D/A转换的计算公式以及输入与输出关系图
时序图
PCF8591的数据传送服从I2C总线协议,总线上数据信号的传送由起始信号(S)开始,由终止信号(P)结束。
在SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号,起始信号表示一次数据传送的开始,其后为寻址字节,来寻址被控的从机(本设计中取为40H),在寻址字节后为其应答位。再之后,是按指定读/写的数据字节与应答位。在数据传送结束以后主器件都必须发送停止信号。停止信号用在SCL
(5)电路结构的确定
独立的键盘作为人机接口,直接与单片机的P1口相连,单片机的P1口驱动能力相对较弱,但满足数码管驱动,用于驱动八个8段LED数码管,P3口低四位作为四个数码管的位选信号。P3.0、P3.1分别作为时钟线和信号线接口与PCF8591相接,P1.6用来接入蜂鸣器、硬件设计
3.1电路原理图
系统整体设计图
报警系统
数码管显示
开关按键
A/D转换电路
关键器件的介绍:
1.
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片
内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大,可灵活应用于各种控制领域。
为高电平期间,SDA线由低电平向高电平的变化来表示。这便是一次完整的数据传送应答时序。
A/D转换的时序图
3、排阻RESPACK8及RX8电阻块
RESPACK8用于P0口驱动,电流不够,加排阻增加电流
RX8用于单片机IO用作低电平输入时是提供灌电流,电阻大小的确定一般都是根据你的拉电阻的选择,因为漏极输出的IO内阻相当大,等效电路的电阻即为拉电阻,拉电流就是外接电源/拉电阻,一般的TTL电平驱动电流在20ma-25ma
开始的时候先设置各存储器的地址以及控制字和IO口的设定
减计时设置完成以后,若主持人未按下【开始抢答】按键,却有【1组】、【2组】、【3组】、【4组】中的某一组按下按键,则系统提示报警信号,发出2s的报警提示音;若主持人按下【开始抢答】按键,则进入减计时程序,此时若减计时结束,却没有组进行抢答,则系统提示报警信号,发出2s的报警提示音,然后支持人对系统设置【系统清零】,若在减计时结束之前有【1组】、【2组】、【3组】、【4组】中的某一组按下按键抢答,则在数码管上显示该组的成绩累计加分,并显示改组的组号,同时系统设置锁存,保存该组现有的得分,阻止其他组继续抢答,系统提示报警信号,发出2s的报警提示音
5、抢答成功后,禁止其他选手抢答,优先抢答选手的编号一直保持到主持人将系统清零为止,主要实现数据锁存。
6、抢答器具有利用旋钮调整抢答时间功能,时间范围20秒~50秒,
主要需求是对抢答时间的准确设置
1.2功能模块设置及其功能
(1)键盘输入模块:主要是实现选手的抢答以及主持人实现系统清零和抢答开始的功能;
3)抢答时间内,若有选手按动对应的抢答按钮,此对编号立即锁存,数码管上显示出队伍编号和此队累计分数,同时系统给出音响提示(显示单音,持续2秒)。
4)在主持人启动“抢答开始”键前,选手提前抢答,抢答无效,系统报警提示(显示单音,持续2秒)。主要需求是对系统报警功能实现以及对选手抢答按键和主持人按键的检测
unsigned char Pcf8591ReadByte();
void Pcf8591DaConversion(unsigned char value);
*函数名: Pcf8591SendByte
*函数功能:写入一个控制命令
*输入: channel(转换通道)
*输出:无
*******************************************************************************/
(2)蜂鸣器报警模块:主要是实现提示和报警功能;
(3)旋钮调节模块:主要是实现对选手抢答时间设置的功能,通过PCF8591进行A/D转换改变计时器初值来实现;
(4)数码管显示模块:主要是实现选手抢答时间的显示以及选手的组别和答题分数的设置的功能
二、总体方案设计
方案一:抢答器系统采用中小规模集成电路,使用按钮作为开关,完成输入信号的触发。该方案不需要软件编程,只需要硬件电路不出错就可实现需要的功能。但是电路的结构复杂,不利于调试,成本较高,实现接线的时候会因导线连接混乱造成干扰和短路等故障。
各组成部分的作用和特点
PCF8591:通过对电压模拟信号的采集以及A/D转换,将数字量输出
送给单片机来控制减计时的时间;
AT89C52:处理键盘输入及控制数码管输入与报警电路
显示电路:显示倒计时、抢答队伍及其分数
报警电路:用于实现选手抢答和减计时结束却没有组别回答问题时的报警功能。
主持人/选手开关:通过键盘控制输入C52的数据
方案三:抢答器系统由一块AT89C51单片机芯片为控制核心,通过PCF8951芯片实现电压输入模拟量的采集以及A/D转换实现向单片机数据的传输以控制减计时时间的控制,通过蜂鸣器发出报警信号,以及通过开关的闭合采集减计时、选手组好、分数和主持人输入信号的采集以在数码管上显示,性能良好,可靠性高,且成本相对较低。
*函数名: Pcf8591DaConversion
*函数功能: PCF8591的输出端输出模拟量
*输入: value(转换的数值)
*输出:无
*******************************************************************************/
5、独立按键的简介
共有六个键盘,其中1-4组按键用于实现组别选手的抢答按键
5号按键用于实现主持人设置抢答开始
6号按键用于实现主持人设置系统清零
3.2器件的选择
(1)键盘的选择:
由于只要实现四组抢答以及主持人使用的系统清零和抢答开始功能,故使用单独六个按键来实现功能以减少器件使用的成本,且能够实现完全的功能
主要性能参数:
·单电源供电
·工作电压:2.5 V--6 V
·待机电流低
·I2C总线串行输入/输出
·通过3个硬件地址引脚编址
·采样速率取决于I2C总线速度
·4个模拟输入可编程为单端或差分输入
·自动增量通道选择
·模拟电压范围:VSS~ VDD
·片上跟踪与保持电路
·8位逐次逼近式A/D转换
·带一个模拟输出的乘法DAC
方案二:采用现场可编程门列阵(FPGA)。FPGA可以给出很多逻辑单元,可以将想要实现的功能的电路应硬件语言描述出来,可以实现许多的复杂功能,比较灵活多变而在时序方面比单片机要好。但是该设计方式对数据的处理方式的速度要求不高,FPGA高速优势无法体现,同时芯片的引脚比较多,实物电路板布线复杂,加重实际焊接的工作,而且从成本方面来看,较为不经济。
相关主题