logo资料库

基于51单片机的8路抢答器设计报告.doc

第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
资料共23页,剩余部分请下载后查看
单片机 8 路智能抢答器开题报告 设计者: 系 部: 物理与电子信息工程系 专 业: 电子信息科学与技术 年 级: 2010 级 学 号: 2013 年 6 月 1
一、设计要求 1. 抢答器可同时供 8 名选手或 8 个代表队比赛,分别用 8 个按键 S1~S8 进 行抢答。 2. 具有清零和非法抢答控制功能,并由主持人操纵,避免选手在主持人按 “开始”前提前抢答,违反规则 。 3. 当主持人启动“开始抢答键”后,定时器进行减计时,在 20S 内无人抢 答表示所有参赛选手或参赛队对本题弃权,抢答时间耗尽后禁止抢答。 4. 倒计时 5S 时,如果仍无人抢答,则系统每 1S 报警一次,用以提示参赛选 手。 5. 抢答器具有锁存与显示功能。即选手按下按键,锁存相应选手的参赛号 码,并在 LED 数码管上显示。选手抢答实行优先锁存,其他按键者将不能响应, 以便公平地选择第一个抢答者。 6. 倒计时期间,如果主持人想终止倒计时,可以按下“停止”按键,系统 会自动进入准备状态。 二、硬件设计 1 设计思想 此次设计提出了用 AT89S52 单片机为核心控制元件,设计一个简易的抢答 器,本方案以 AT89S52 单片机作为主控核心,与晶振、数码管、蜂鸣器等构成八 路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等 电路,设计的八路抢答器具有实时显示抢答选手的号码和抢答时间的特点,还有 复位电路,使其再开始新的一轮的答题和比赛,同时还利用 C51 语言编程,使其 实现一些基本的功能。 本设计的系统实用性强、判断精确、操作简单、扩展功能强。它的功能实现 是比赛开始,主持人读完题之后按下总开关,即计时开始,此时数码管开始进行 20s 的倒计时,直到有一个选手抢答时,对应的会在数码管上显示出该选手的编 号和抢答所用的时间,如果在规定的 20s 时间内没有做出抢答,则此题作废,即 开始重新一轮的抢答。在抢答和回答时间的最后 5s,蜂鸣器都会给予报警提示。 2 主要元器件介绍: AT89S52 单片机是美国 Atmel 公司生产低电压,高性能 CMOS 8 位单片机, 片内含 4k bytes 的可反复擦写的只读程序存储器(EPROM)和 128 bytes 的随机 存取数据存储器(RAM),器件采用 Atmel 公司的高密度、非易失性存取技术生产, 兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器(CPU)和 Flash 存储 单元,功能强大。AT89S52 单片机可提供许多高性价比的应用场合,可灵活应用 2
于各种控制领域。 图 2-1AT89S52 单片机的基本组成功能方块图。由图可见,在这一块芯片上, 集成了一台微型计算机的主要组成部分,其中包括 CPU、存储器、可编程 I/O 口、 定时器/计数器、串行口等,各部分通过内部总线相连。下面介绍几个主要部分。 振荡器和时序 OSC 程序存储器 4 KB ROM 数据存储器 256 B RAM/SFR 定时器/计数器 2 ×16 AT89S51CPU 内中断 64 KB 总线 扩展控 制器 可编程 I/O 可编程全双工串 行口 图 2-1 单片机结构框图 2.1 AT89S52 单片机管脚说明 3
图 2-2 AT89S52 单片机管脚图 ATMEL 公司的 AT89S52 是一种高效微控制器。采用 40 引脚双列直插封装形 式。AT89S52 单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚 具有第二功能。 VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储 器,它可以被定义为数据/地址的第八位。在 FLASH 编程时,P0 口作为原码输入 口,当 FLASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接 收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收, 输出 4 个 TTL 门电流,当 P2 口被写 1 时,其管脚被内部上拉电阻拉高,且作为 输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内 部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存 4
取时,P2 口输出地址的高八位。在给出地址 1 时,它利用内部上拉优势,当对 外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入 1 后,它们被内部上拉为高电平,并用作输入。作为输入, 由于外部下拉为低电平,P3 口将输出电流。 P3 口也可作为 AT89S51 的一些特殊功能口,如下表所示: P3 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断 0) P3.3 INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 WR (外部数据存储器写选通) P3.7 RD (外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 ALE/ PROG :当访问外部存储器时,地址锁存允许端的输出电平用于锁存地 址的地址字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端 以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作 对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。 PSEN:外部程序存储器的选通信号端。在由外部程序存储器取指期间,每个 机器周期两次 PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信 号将不出现。 EA /VP:当 EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH), 不管是否有内部程序存储器。注意加密方式 1 时,EA 将内部锁定为 RESET;当 EA 5
端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:反向振荡器的输出,如采用外部时钟源驱动器件,应不接。 3 功能电路介绍 主持人按“抢答开始”键,立刻进入抢答倒计时(预设 20S 抢答时间),如 有选手抢答,会有提示,并会显示其号数,不进行抢答查询,所以第一个按抢答 的选手有效。倒数时间到小于 5S 会每秒响一下提示音。 如倒计时期间,主持人想停止倒计时可以随时按“停止”按键,系统会自 动进入准备状态,等待主持人按“抢答开始”进入下次抢答计时。 如果主持人未按“抢答开始”键,则无法按抢答按键。 3.1 数码显示 数码显示管用来作为时间的显示输出,一般用 7 段数码显示管。本次设计中 采用 7 段共阳数码显示管应用简单、可靠性高、成本低,作为显示输出。连接时 段选信号接在 P0 口的 P0.0~P0.7 七个 I/O 口上,P1 口是准双向 I/O 接口在输 出驱动部分具有驱动 4 个 TTL 负载的能力,即输出电流不大于 400μA,所以在 接电阻时选择接 10KΩ限流电阻。而在位选方面采用 P2 口的 P2.0~P2.3 用单片 机四个 I/O 口作为位选信号的输出口。 各模块的选择和论证 3.2 抢答器显示模块选择 显示模块主要是显示抢答的时间,组别号码等。 在使用传统的数码管显示。数码管具有:低能耗、低损耗、低压、寿命长、 耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同 时其精度高,称量快,精确可靠,操作简单。数码显示是采用 BCD 编码显示数字, 程序编译容易,资源占用较少。 显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提 6
下提供尽可能丰富的信息,全靠软件来解决。在这里我们使用的是七段数码管显 示,通常在显示上我们采用的方法一般包括两种:一种是静态显示,一种是动态 显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源 多;动态显示的特点是:显示稳定性没静态好,程序编写复杂,但是相对静态显 示而言占用端口资源少。在本设计中根据实际情况采用的是动态显示方法。4 位 七段数码管显示电路如下图所示。 图 3-1 位七段数码管显示电路图 上图中数码管采用的是 4 位一体七段共阳数码管,其中 A~H 段分别接到单片 机的 P0 口,由单片机输出的 P0 口数据来决定段码值,位选码 COM1,COM2,COM3, COM4 分别接到单片机的 P2.0,P2.1,P2.2 ,P2.,3,由单片机来决定当前该显 示的是哪一位。在图中还有一个排阻,连接在 P0 口上,用作 P0 口的上拉电阻, 保证 P0 口没有数据输出时候处于高电平状态。 通过查表法,将其在数码管上显示出来,其中 P0 口为字型码输入端,P2 口 低 4 位为字选段输入段。在这里我们通过查表将字型码送给 7 段数码管显示的数 字。 3.2.1 控制器选择 控制器主要用于对显示、抢答、音乐、计分等模块进行控制。采用 ATMEL 公司的 AT89S51 作为系统控制器的 CPU 方案。单片机算术运算功能强,软件编程 灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、 体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。 7
3.2.2 键盘选择 键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形 式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者则用硬件 方法来产生键码。在单片机中使用的都是非编码键盘,因为非编码键盘结构简单, 成本低廉,非编码键盘的类型很多,常用的有独立式键盘,行列式键盘等。 本设计采用独立式键盘 键盘接口中使用多少根 I/O 线,键盘中就有几个按键,键盘接口使用了 8 根 I/O 口线,该键盘就有 8 个按键,这种类型的键盘,其按键比较少,且键盘中 各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。如 图 2-2。 最简单的编码方式就是根据 I/O 输入口所直接反映的相应按键,按下的状态 进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU 可以通过直接 读取 I/O 口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识 别,这样形式的键盘结构简单,按键识别容易。 独立式键盘的缺点是需要占用比较多的 I/O 口线,当单片机应用系统键盘中 需要的按键比较少或 I/O 口线比较富余时,可以采用这样类型的键盘。 图 3-2 抢答按键及调整按键 3.2.3 时钟频率电路的设计 单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路, 只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决 定单片机的工作速度。时钟电路如下图所示。 8
分享到:
收藏