基于单片机的三路抢答器的设计王辉

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

专业资料

基于单片机的三路抢答器的设计

1课程设计的任务与要求

1.1 课程设计的任务

(1)设计一个可供3人进行的抢答器。

(2)系统设置复位按钮,按动后,重新开始抢答。

(3)抢答器开始时数码管显示序号00,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统清除为止。抢答后显示优先抢答者序号,同时发出音响,并且不出现其他抢答者的序号。

(4)抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间设定为30秒,当主持人启动“开始”开关后,定时器开始减计时。

(5)设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。并保持到主持人按复位键。

1.2 课程设计的要求

(1)基于单片机的三路抢答器的设计,并用Proteus设计与仿真出来。

(2)程序用Keil编程出来,并且生成Hex文件。

(3)设计的方案要能够长期,有效,稳定的运行。

(4)力求简单实用。

1.3 课程设计的研究基础

本设计是以三路抢答为基本理念。考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答时间和回答问题时间倒记时显示,满时后系统计时手动复位。

2 基于单片机三路抢答器系统方案制定

2.1 方案提出

方案一:

图1 方案一设计方案

方案二:

图2 方案二设计方案

2.2 方案比较

第一个方案比第二个方案多了一个驱动电路,所以第一个方案的电路会比较复杂。

2.3 方案论证

该系统采用51系列单片机AT89C52作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。

2.4 方案选择

通过以上两个方案的比较,选择第二个方案。

3 基于单片机三路抢答器系统方案设计

3.1各单元模块功能介绍及电路设计

3.1.1振荡电路的设计

AT89C52内部有一个用于构成片内振荡器的高增益反相放大器, 振荡器产生的信号送到CPU, 作为CPU的时钟信号,驱动CPU产生执行指令功能的机器周期。引脚XTAL1和XTAL2是此放大器的输人端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器, 振荡电路的连接如图所示图3所示,外接石英晶体或陶瓷谐振器以及电容C1和C2构成并联谐振电路, 接在放大器的反馈回路中。

图3 振荡电路

3.1.2 复位电路的设计

单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态, 并从这个状态开始工作。无论是在单片机刚开始接上电源时, 还是断电后或者发生故障后都要复位。89系列单片机的复位信号是从RST引脚输人到芯片的施密特触发器中的。当系统处于正常工作状态时, 且振荡器稳定后, 如果RST引脚有一个高电平并维持2个机器周期(24个振荡周期), 则CPU就可响应并且将系统复位。复位分为手动复位和上电复位。本设计系统采用的是手动复位, 当按下按钮时, 即使人的动作很快, 也会使按钮保持通达数十毫秒,所以, 手动复位能确保复位时间要求。复位电路连接如图4。

图4 复位电路

3.1.3 计时和组号显示的设计

计时部分由一个共阴极四位八段数码管前二位构成。时间显示是由一个共阴极四位八段数码管前二位构成,组号显示是由一个共阴极四位八段数码管后二位构成,通过P0口直接对其控制。电路图如下:

图5 显示电路

3.1.4 选手按键的设计

三位选手通过按键产生的电平下降沿信息送至P2.0~P2.2口,然后再经由主控制模块处理锁存,最后在数码管上显示最早按下的选手号。电路图如下:

图6 选手按键

3.1.5 主持人控制电路的设计

主持人控制部分由一个开始键组成。开始按键通过外部中断送信息给控制模块,电路图如下:

图7 主持人控制电路

3.1.6蜂鸣器电路设计

P3.4口控制的蜂鸣器主要是提醒选手答题时间到。电路图如下:

图8 蜂鸣器电路

3.2电路参数的计算及元器件的选择

电容C1,C2都是30uF,C3是100n。电阻R1,R2都是10K.

3.3 特殊器件的介绍

7段LED数码管是利用7个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,可以显示0~9等10个数字和小数点,使用非常广泛。数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及h(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及h(小数点)。

图9 数码管原理图

我用的是共阴极。

3.4 系统整体电路图

图10 总电路图

4 基于单片机三路抢答器系统仿真和调试

4.1 仿真软件介绍

Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。

4.2 系统仿真实现

根据设计的方案,在Proteus中画出相应的原理图,在Keil中把所需程序生成HEX 文件,导入到原理图中的单片机中,就可以实现仿真了。步骤如下:

(1)Keil创建文件步骤:

1)新建项目文件。点击Project 菜单,选择弹出的下拉式菜单中的New Project。在“文件名”中输入您的第一个C 程序项目名称,“*****.uv2”。“保存”后的文件扩展名为uv2,这是KEIL uVision2 项目文件扩展名,以后可以直接点击此文件以打开先前做的项目。

相关文档
最新文档