




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计预习报告班 级: 建电141 姓 名: 付鹏鑫 学 号: 1412032031 设计题目: 四位竞赛抢答器系统设计 设计时间: 2016.01.0301.07 评定成绩: 评定教师: 目录摘要2一、任务分析:3二、总体方案:42.1 可行方案52.2 方案设计5三、硬件设计:83.1 电路原理图81.AT89C51简介102.PCF8591简介113.RESPACK8及RX8简介.123.2 器件选择14四、软件设计:154.1程序处理流程154.2 程序流程图154.3 程序介绍17五、调试过程:225.1 调试步骤22六、参考文献:23 摘要:抢答器作为一种工具,已广泛应用于
2、各自智力与知识竞赛场合。本设计是基于C52单片机系统的四路抢答器。考虑到其限时回答功能,利用单片机的定时器/计数器定时和计数原理,将软件和硬件结合,使系统能准确计时,并使数码管正确的显示时间。用开关做键盘输出,扬声器做提示报警。同时系统能够实现抢答结果锁存、调整定时时长(用pcf8591实现A/D转换)以及手动复位功能。关键字:AT89C51单片机、锁存、减计时、动态显示、报警一、任务分析1.1 设计要求以及需求分析1、设计一个四位竞赛抢答单片机系统,可同时供4 名选手或4 个代表队参加比赛,每队设置单独的抢答按钮,编号为1、2、3、4,主要的需求是通过对按钮的设置实现每个小组的抢答2、给节目
3、主持人设置一个“抢答开始”控制开关,用来控制抢答开始,主要需求是通过对抢答按钮的设置实现抢答的开始3、给节目主持人设置一个“系统清除”控制开关,用来控制系统清零主要需求是通过对系统清零按键的设置以实现系统的清除功能的实现4、抢答器具有编号锁存、抢答计分、时间显示和声响提示等功能。1)主持人按下“抢答开始”后,系统以减计时方式,显示抢答剩余时间。2)如果抢答时间计时结束,却没有选手抢答时,本次抢答无效,系统报警提示(显示单音,持续2 秒);3)抢答时间内,若有选手按动对应的抢答按钮,此对编号立即锁存,数码管上显示出队伍编号和此队累计分数,同时系统给出音响提示(显示单音,持续2 秒)。4)在主持人
4、启动“抢答开始”键前,选手提前抢答,抢答无效,系统报警提示(显示单音,持续2 秒)。主要需求是对系统报警功能实现以及对选手抢答按键和主持人按键的检测5、抢答成功后,禁止其他选手抢答,优先抢答选手的编号一直保持到主持人将系统清零为止,主要实现数据锁存。6、抢答器具有利用旋钮调整抢答时间功能,时间范围20 秒50 秒,主要需求是对抢答时间的准确设置1.2 功能模块设置及其功能(1)键盘输入模块:主要是实现选手的抢答以及主持人实现系统清零和抢答开始的功能;(2)蜂鸣器报警模块:主要是实现提示和报警功能;(3)旋钮调节模块:主要是实现对选手抢答时间设置的功能,通过PCF8591进行A/D转换改变计时器
5、初值来实现;(4)数码管显示模块:主要是实现选手抢答时间的显示以及选手的组别和答题分数的设置的功能二、总体方案设计方案一:抢答器系统采用中小规模集成电路,使用按钮作为开关,完成输入信号的触发。该方案不需要软件编程,只需要硬件电路不出错就可实现需要的功能。但是电路的结构复杂,不利于调试,成本较高,实现接线的时候会因导线连接混乱造成干扰和短路等故障。方案二:采用现场可编程门列阵(FPGA)。FPGA可以给出很多逻辑单元,可以将想要实现的功能的电路应硬件语言描述出来,可以实现许多的复杂功能,比较灵活多变而在时序方面比单片机要好。但是该设计方式对数据的处理方式的速度要求不高,FPGA高速优势无法体现,
6、同时芯片的引脚比较多,实物电路板布线复杂,加重实际焊接的工作,而且从成本方面来看,较为不经济。方案三:抢答器系统由一块AT89C51单片机芯片为控制核心,通过PCF8951芯片实现电压输入模拟量的采集以及A/D转换实现向单片机数据的传输以控制减计时时间的控制,通过蜂鸣器发出报警信号,以及通过开关的闭合采集减计时、选手组好、分数和主持人输入信号的采集以在数码管上显示,性能良好,可靠性高,且成本相对较低。从成本、性能、可靠性等多方面进行对比和论证,以及基于安全、法律等因素和性价比最优原则,最终实施方案三结合课题功能指标,利用学习过的AT89C51单片机作为控制核心。同时利用独立式键盘来实现选手的抢
7、答功能以及主持人对抢答开始和系统清零的控制,同时用8 位的共阳极数码管显示队伍的编号、分数、以及减计时的时间,同时也用到了转换器PCF8951显示电路PCF8951模拟信号采集转换电路报警电路选手开关AT89C52 主持人开关系统总体框图(各组成部分的作用和特点PCF8591:通过对电压模拟信号的采集以及A/D转换,将数字量输出送给单片机来控制减计时的时间;AT89C52:处理键盘输入及控制数码管输入与报警电路显示电路:显示倒计时、抢答队伍及其分数报警电路:用于实现选手抢答和减计时结束却没有组别回答问题时的报警功能。主持人/选手开关:通过键盘控制输入C52的数据三、硬件设计3.1电路原理图 系
8、统整体设计图报警系统数码管显示开关按键A/D转换电路关键器件的介绍:1.AT89C51简介AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大,可灵活应用于各种控制领域。主要性能参数: 与MCS-51产品指令系统完全兼容 4k字节可重擦写Flash闪速存储器 1000次擦写周期 全静态操作:0Hz24MHz 三级
9、加密程序存储器 1288字节内部RAM 32个可编程IO口线 2个16位定时计数器 5个中断源 可编程串行UART通道 低功耗空闲和掉电模式2.PCF8591简介PCF8591是8位A/D和D/A转换器,是单片、单电源低功耗 8 位 CMOS 数据采集器件,具有4个模拟输入、一个输出和一个串行I2C 总线接口。3个地址引脚A0、A1和A2用于编程硬件地址,允许将最多8个器件连接至I2C总线而不需要额外硬件。器件的地址、控制和数据通过两线双向I2C总线传输。器件功能包括多路复用模拟输入、片上跟踪和保持功能、8位模数转换和8位数模拟转换。最大转换速率取决于I2C总线的最高速率。主要性能参数:单电源
10、供电工作电压:2.5 V-6 V待机电流低I2C总线串行输入/输出通过3个硬件地址引脚编址采样速率取决于I2C总线速度4个模拟输入可编程为单端或差分输入自动增量通道选择模拟电压范围:VSS VDD片上跟踪与保持电路8位逐次逼近式A/D转换带一个模拟输出的乘法DACA/D和D/A转换的计算公式以及输入与输出关系图时序图PCF8591的数据传送服从I2C总线协议,总线上数据信号的传送由起始信号(S)开始,由终止信号(P)结束。在SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号,起始信号表示一次数据传送的开始,其后为寻址字节,来寻址被控的从机(本设计中取为40H),在寻址字节后为其应
11、答位。再之后,是按指定读/写的数据字节与应答位。在数据传送结束以后主器件都必须发送停止信号。停止信号用在SCL为高电平期间,SDA线由低电平向高电平的变化来表示。这便是一次完整的数据传送应答时序。A/D转换的时序图3、排阻RESPACK8 及RX8电阻块RESPACK8用于P0口驱动,电流不够,加排阻增加电流RX8用于单片机IO用作低电平输入时是提供灌电流,电阻大小的确定一般都是根据你的拉电阻的选择,因为漏极输出的IO内阻相当大,等效电路的电阻即为拉电阻,拉电流就是外接电源/拉电阻,一般的TTL电平驱动电流在20ma-25ma5、独立按键的简介共有六个键盘,其中1-4组按键用于实现组别选手的抢
12、答按键 5号按键用于实现主持人设置抢答开始 6号按键用于实现主持人设置系统清零3.2器件的选择(1)键盘的选择:由于只要实现四组抢答以及主持人使用的系统清零和抢答开始功能,故使用单独六个按键来实现功能以减少器件使用的成本,且能够实现完全的功能(2)模拟器件的选取: 为了符合设计要求的规定,A/D转换器选择了采用I2C串行通信的PCF8591(3)数码管的选取由于通过PCF8591芯片采集的模拟量信号的输入电压最大为+5V,所以八位数码管已基本满足需求,为了使P0口获得更大的驱动能力,在此选择了共阳极数码管。(4)I/O驱动能力分析: 与P1、P2、P3口相比,P0口的驱动能力较大,每位可驱动8
13、个LSTTL输入,而P1、P2、P3口的每一位的驱动能力,只有P0口的一半。当P0口的某位为高电平时,可提供400uA的电流,当P0口的某位为低电平时,可提供3.2mA的灌电流。无论是P0口,还是P1、P2、P3口,想要获得较大的驱动能力,只能用低电平输出。 (5)电路结构的确定 独立的键盘作为人机接口,直接与单片机的P1口相连,单片机的P1口驱动能力相对较弱,但满足数码管驱动,用于驱动八个8段LED数码管, P3口低四位作为四个数码管的位选信号。P3.0、P3.1分别作为时钟线和信号线接口与PCF8591相接,P1.6用来接入蜂鸣器。四、软件设计4.1 程序处理流程开始的时候先设置各存储器的
14、地址以及控制字和IO口的设定减计时设置完成以后,若主持人未按下【开始抢答】按键,却有 【1组】、【2组】、【3组】、【4组】中的某一组按下按键,则系统提示报警信号,发出2s的报警提示音;若主持人按下【开始抢答】按键,则进入减计时程序,此时若减计时结束,却没有组进行抢答,则系统提示报警信号,发出2s的报警提示音,然后支持人对系统设置【系统清零】,若在减计时结束之前有【1组】、【2组】、【3组】、【4组】中的某一组按下按键抢答,则在数码管上显示该组的成绩累计加分,并显示改组的组号,同时系统设置锁存,保存该组现有的得分,阻止其他组继续抢答,系统提示报警信号,发出2s的报警提示音开始4.2程序流程图设
15、置存储器存储地址设置时间主持人设置开始抢答减计时某组直接抢答P1.0P1.4=0报警2S N报警2S系统清零显示组号和分数加分 Y报警2S系统清零4.3 程序介绍(1)A/D转换23/-定义PCF8591的读写地址-/#define WRITEADDR 0x90 /写地址#define READADDR 0x91 /读地址/-声明全局函数-/void Pcf8591SendByte(unsigned char channel);unsigned char Pcf8591ReadByte();void Pcf8591DaConversion(unsigned char value);* 函 数
16、名 : Pcf8591SendByte* 函数功能 : 写入一个控制命令* 输 入 : channel(转换通道)* 输 出 : 无*/void Pcf8591SendByte(unsigned char channel)I2C_Start();I2C_SendByte(WRITEADDR, 1); /发送写器件地址I2C_SendByte(0x40|channel, 0); /发送控制寄存器I2C_Stop();/* 函 数 名 : Pcf8591ReadByte* 函数功能 : 读取一个转换值* 输 入 : 无* 输 出 : dat*/unsigned char Pcf8591ReadBy
17、te()unsigned char dat;I2C_Start();I2C_SendByte(READADDR, 1);/发送读器件地址dat=I2C_ReadByte(); /读取数据I2C_Stop(); /结束总线 return dat;/* 函 数 名 : Pcf8591DaConversion* 函数功能 : PCF8591的输出端输出模拟量* 输 入 : value(转换的数值)* 输 出 : 无*/void Pcf8591DaConversion(unsigned char value)I2C_Start();I2C_SendByte(WRITEADDR, 1);/发送写器件地址
18、I2C_SendByte(0x40, 1); /开启DA写到控制寄存器I2C_SendByte(value, 0); /发送转换数值I2C_Stop();功能:PCF8591芯片通过对模拟输入电压的采集,然后对其进行A/D转换,通过信号线传给单片机已实现对减计时时间的设定思路:减计时时间的设定与PCF8591采集到的模拟量输出电压的大小有关,PCF8591可以将其采集到的模拟量信号通过A/D转换转换成数字量信号从而达到控制减计时时间的功能(2)开关检测if(start = 0 | flag = 1)ET0 = 1;flag = 1;if(m = 0)flag = 0;else if(m = 1
19、) beep_flag = 1;if(flag1 = 0) & (flag2 = 0) &(flag3 = 0) & (flag4 = 0)/未有队伍抢答则倒计时display(0, m);if(key1 = 0 | flag1 = 1) & (flag2 = 0 & flag3 = 0 & flag4 = 0)/队伍一抢答并且其他队伍未抢答ET0 = 1;if(flag = 1)/若已开始,则有效 flag1 = 1;flag2 = 0;flag3 = 0;flag4 = 0;display(1, score1);ET0 = 0;m = m1;else/若未开始则启动蜂鸣器提醒beep_fl
20、ag = 1;if(key2 = 0 | flag2 = 1) & (flag1 = 0 & flag3 = 0 & flag4 = 0) /同上ET0 = 1;if(flag = 1)flag2 = 1;flag1 = 0;flag3 = 0;flag4 = 0;display(2, score2);ET0 = 0;m = m1;elsebeep_flag = 1;if(key3 = 0 | flag3 = 1) & (flag1 = 0 & flag2 = 0 & flag4 = 0)/同上ET0 = 1;if(flag = 1)flag3 = 1;flag1 = 0;flag2 = 0;
21、flag4 = 0;display(3, score3);ET0 = 0;m = m1;elsebeep_flag = 1;if(key4 = 0 | flag4 = 1) & (flag1 = 0 & flag2 = 0 & flag3 = 0) /同上ET0 = 1;if(flag = 1)flag4 = 1;flag1 = 0;flag2 = 0;flag3 = 0;display(4, score4);ET0 = 0;m = m1;elsebeep_flag = 1;if(flag = 0)display(0,0);功能:通过按键的检测判断是否有人抢答或是主持人是否有按下按键设置抢答开
22、始和系统清零思路:通过对按键是否闭合的检测,检测出选手抢答和主持人按键开始和系统清零,从而实现对没对抢答以后队伍的显示和分数的显示,以及减计时的显示和主持人对系统的清零(3)数码管对某队抢答和分数的显示void display(unsigned char team, unsigned char m) /数码管显示程序unsigned ms,mg;ms = m / 10;mg = m % 10;if(team = 0)data = 0x00;weixuan1 = 0;weixuan2 = 1;weixuan3 = 1;weixuan4 = 1;Delay2ms();weixuan1 = 1; d
23、ata = 0x00;weixuan1 = 1;weixuan2 = 0;weixuan3 = 1;weixuan4 = 1;Delay2ms();weixuan2 = 1;data = tablems;weixuan1 = 1;weixuan2 = 1;weixuan3 = 0;weixuan4 = 1;Delay2ms();weixuan3 = 1;data = tablemg;weixuan1 = 1;weixuan2 = 1;weixuan3 = 1;weixuan4 = 0;Delay2ms();weixuan4 = 1;elsedata = tableteam;weixuan1 =
24、 0;weixuan2 = 1;weixuan3 = 1;weixua n4 = 1;Delay2ms();weixuan1 = 1; data = 0x40;weixuan1 = 1;weixuan2 = 0;weixuan3 = 1;weixuan4 = 1;Delay2ms();weixuan2 = 1;data = tablems;weixuan1 = 1;weixuan2 = 1;weixuan3 = 0;weixuan4 = 1;Delay2ms();weixuan3 = 1;data = tablemg;weixuan1 = 1;weixuan2 = 1;weixuan3 = 1;weixuan4 = 0;Delay2ms();weixuan4 = 1;功能:通过对每一组开关按键的检测,实现该组的队伍和分数的检测思路:通过对每一组开关按键的检测,设置处数码管的位选码和段码,从而达到对该队成绩与队伍的显示(4)报警显示void Timer0_INT() interrupt 1 /中断服务函数count+;if(count=20)/count=20,计时一秒count=0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业生物技术研发及应用推广合同书
- 软件设计类合同协议
- 遗产放弃协议书范本
- 农业合作社种植与养殖一体化协议
- 运动馆经营合同协议
- 文员劳动用工合同
- 网络舆情监测与应对措施制定指南
- 音乐史与音乐欣赏能力测试
- 婚姻抚养费协议书
- 灯具维修协议书
- 2025年医保知识考试题库:医保基金监管案例及答案解析试卷
- 2024年湖南省普通高中学业水平合格性考试历史试题(原卷版+解析版)
- 《建设工程施工合同(示范文本)》(GF-2017-0201)条款
- 新版人教版七年级下册地理课件 第九章 东半球其他的地区和国家 第四节 澳大利亚
- 《水门事件简介》课件
- 《建筑CAD 》课程标准
- 《抖音竞品分析》课件
- 医院药学 课件全套 陈菲 模块1-12 医院药学认知-临床药学进展
- 医保知识及政策培训课件
- 印染行业安全培训
- 2024年中考二轮专题复习道德与法治主观题答题技巧(小论文)之演讲稿
评论
0/150
提交评论