1、基于AT89C52单片机技术的八路数字抢答器设计摘 要在学校、工厂、军队等益智性电视节目,都会举办各种各样的智力竞赛,都会用到抢答器。目前市场上的智力竞赛抢答器,绝大多数是以模拟电路或数字电路设计的产品。但是,成本偏高,故障多,显示方式简单,无法判断提前抢按按钮的行为,不便于电路升级换代。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测日新月异更新。本文设计了一种基于AT89C52单片机技术的八路数字抢答器。主体电路由抢答电路,优先编码电路和锁存电路以及控制电路组成,扩展电路由报警电路和显示电路组成。文章对抢答器的背景与现状、硬件设计、软件设计及其仿真都做了详细的介绍。
2、本设计主要采用单片机控制,采用手动抢答的方式,有人抢答后,系统自动封锁其他人的抢答按钮,使其不能再抢答,从而实现抢答功能。若有人在主持人按下开始按钮之前按下抢答按钮,系统自动视其为犯规,抢答器自动报警,显示器同时显示犯规选手的号码,使抢答达到公平、公开的效果。关键词:单片机;抢答器;LED显示ABSTRACTIn schools, factories and military or other educational TV programmes, Will be holding a variety of quizzes. today,The vast majority of quizzes R
3、esponder are use analog circuits or digital circuit design products On the market.But,cost is high, displayed simple, which is not easy to judge by early Response behavior.With the rapid development of science and technology in recent years, SCM applications are deepening, while the traditional cont
4、rol test drive rapid updated. This paper describes the design of a eight digital responder based on AT89C52 single chip. The main circuit is composed of answer circuit, priority coding circuit and a latch circuit and control circuit: expansion of the circuit is mainly composed of an alarm circuit an
5、d display circuit.Article on the Responders background and present, hardware design, software design and simulation have made a detailed introduction. This design mainly uses the MCU control, with manual answer in the way, some people answer in, the system automatically block other peoples answer in
6、 the button, so that it can not answer in order to achieve Responder feature. If one host press the start button before pressing the answer in the button, the system automatically view them as foul, Responder automatic alarm, the display also shows the number of fouls players to answer in a fair, op
7、en effect.Key Words: single-chip Microcomputer;the Answering Racer;LED display概述21世纪,电子技术进入了突飞猛进的发展阶段。随着集成电子技术的迅速发展,特别是微型计算机的出现使现代科学研究得到了质的飞跃,那么可以毫无夸张的说,单片机技术的出现则是给现代工业测控领域带来一次新的技术命。目前,单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已进入家庭,从洗衣机、微波炉到音响、汽车,到处都可见到单片机的踪影。因此,单片机
8、技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一,单片机的发展阶段可分为: 第一阶段(19711974年)1:1971年11月美国Intel公司首先设计成集为 2000只晶体管的4位微处理器Intel 4004,并且配有随机存储器ROM和移位寄存器等芯片,构成第一台MCS-4微型计算机。1972年4月Intel公司又研发成了功能较强的8位微处理器Intel 8008,这些微处理器虽说不是单片机,但从此拉开了研发单片机的序幕。 第二阶段(19741978年):初级单片机阶段。以Intel公司的MCS-48为代表。这个系列的单片机内集成有8位CPU、并行IO串口、8位定时器计数器,寻址范
9、围不大于4K,且无串行口。 第三阶段(19781983年):高性能单片机阶段。这一阶段单片机普篇带有串口、多级中断处理系统、16位定时器计数器。片内ROM、RAM容量加大,寻址范围到了64K,有的还带有AD转换接口。比如Intel公司的MCS-51,Motorola公司的6801和Zilog公司的Z8等。这类单片机的应用领域已经及其广泛,这类系列的各类产品是目前国内外产品的主流。其中MCS-51系列产品,由于其优良的性能价格比,特别适合我国的国情,MCS-51系列单片机有可能稳定相当一段时期。现在国内的MCS-51热正在继续升温,随着我国经济建设步伐的加大,MCS-51系列单片机必将在哥哥领域
10、大显身手。 第四阶段(1983):8位单片机巩固发展到16位单片机推出阶段。此阶段主要特征是一方面发展16位单片机及专用单片机;另一方面不断完善高档8位单片机,改善其结构,以满足不同的用户需要。 MCS-51系列属高档单片机,近年来,Intel公司在提高该系列产品性能方面做了不少工作,相继推出了不少新产品: (1)805287528032:将原来805187518031单片机进行了扩展,片内数据存储器增至256字节,程序存储器增至8K,定时器计数器增至3个16位计数器,有6个中断源。(2)低功耗看的CHMOS工艺芯片80C5187C5180C31:这种芯片允许电源波动范围大,为5V20%,并有
11、三种功耗控制方式。(3)具有高级语言编程的芯片8052AH-BASIC.该芯片在片内固化有MCS-BASIC52解释程序,软件开发比较方便。此外还能实现BCD码的浮点运算以及16进制数和十进制数的转换。 (4)高性能的C52系列:在8052的基础上,采用CHMOS工艺,并将MCS-96系列中的一些高速输出、脉宽调制、上下定时器计数。第一章 绪论1.1抢答器的意义无论是学校、工厂、军队还是益智性电视节目,都会举办各种各样的智力竞赛,都会用到抢答器。目前市场上已有各种各样的智力竞赛抢答器,但绝大多数是早期设计的,以模拟电路、 数字电路或者模拟电路与数字电路相结合的产品。这部分抢答器已相当成熟,但功
12、能越多的电路相对来说就越复杂,且成本偏高,故障高,显示方式简单,无法判断提前抢按按钮的行为,不便于电路升级换代。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异。本设计就是利用微电脑芯片(单片机)作为核心部件进行逻辑控制及信号的产生,用单片机本身的优竞赛真正达到公正、 公平、公开。1.2系统设计的功能1.2.1基本功能1、同时供8名选手比赛,分别用8个按钮S0 S7表示。 2、设置一个系统清除和抢答控制开关S,该开关由主持人控制。3、抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。选手抢答实行优先
13、锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。 1.2.2扩展功能1、抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动开始键后,定时器进行减计时。 2、参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。3、如果定时时间已到,无人抢答,则抢答无效,系统报警并禁止抢答,显示器上显示00。 第二章 总体方案的设计2.1抢答器的需求分析1、在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效。 2、抢答限定时间和回答问题的时间可是在199s设定。 3、可以显示是哪位选手有效抢答和无效
14、抢答,正确按键后有音乐提示。 4、抢答时间和回答问题时间倒记时显示,时间完后系统自动复位。 5、按键锁定,在有效状态下,按键无效非法2.2抢答的工作过程1、如果想调节抢答时间或答题时间,按加一键或减一键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下加1s键,如果想减一秒按一下减1s键,时间LED上会显示改变后的时间,调整范围为099s, 0s时再减1s会跳到99,99s时再加1s会变到0s。2、主持人按抢答开始键,会有提示音,并立刻进入抢答倒计时(预设20s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设30s抢答时间),不进行抢答查询,
15、所以只有第一个按抢答的选手有效。3、如倒计时期间,主持人想停止倒计时可以随时按停止按键,系统会自动进入准备状态,等待主持人按抢答开始进入下次抢答计时。4、如果主持人未按抢答开始键,而有人按了抢答按键,犯规抢答,LED上显示该抢答选手,直到按下开始 键为止。2.3 功能要求本次设计要求在熟练使用51系列单片机的基础上,设计出相关的外围电路,并利用所选用的常用芯片设计出抢答器,要求可通过软件实现调整抢答器的答题或抢答时间,LED显示器可显示抢答或答题时间的倒计时,在时间快要用尽或者有人犯规的情况下,蜂鸣器可发出声音报警。2.4系统功能框图系统功能框图下图2-1所示图2-1 系统功能框图接通5V电源
16、,显示器显示“FFF”;开始键按下,抢答倒计时开始,显示器显示倒计时时间,同时系统扫描选手抢答按钮,选手按下按钮,显示器显示倒计时开始后的首先按下按键的选手;进入答题计时,显示器显示选手号码和答题倒计时时间;答题计时结束后,系统复位,显示器显示“FFF”。如果中途想恢复到最初阶段,则需按下复位键。第三章硬件电路的设计3.1 硬件主要组成电路硬件电路主要由AT89C52单片机及其外围电路(包括复位电路、外部晶振)、按键电路、显示电路、蜂鸣器报警电路。3.2 电路工作的基本原理整个电路由按键控制,当按下相应的按键时,单片机开始工作,抢答倒计时开始,同时系统扫描选手抢答按钮,选手按下按钮,显示器显示
17、选手号,同时进入答题计时,答题计时结束后,系统复位,显示器显示“FFF”。3.3主控电路的设计在设计中我们选择单片机AT89C52作为抢答器的核心控制部件,原因是因为AT89C52的功能全部兼容MCS-51,并且还有程序加密等功能,相比而言更加实用。3.3.1 关于AT89C52单片机AT89C52单片机是美国ATMEL公司生产的低电压,AT89S52 具有以下标准功能:8k 字节 Flash、256 字节 RAM、32 位 I/O 口线、2 个数据指针、三个 16 位定时器/计数器、一个 6 向量 2 级中断结构、全双工串行口、片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻
18、辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。单片机at89s52引脚图下图3-1所示图 3-1 单片机at89s52引脚图VCC : 电源 GND: 地单片机AT89C52VCC所选用的是+5V 的电源,可直接由稳压电源提供,接地直接接GND。P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平,对 P0 端口写“1”时,引脚用作高阻抗输入,当访问外部程序和数据存储器
19、时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2的触发输入(P1.1/T2EX),具体
20、如下表3-1所示。表3-1 AT89S52 P1口第二功能表脚号第二功能P1.0T2(定时器/计数器 T2 的外部计数输入),时钟输出P1.1T2EX(定时器/计数器 T2 的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)在访问外部程序存储器或用 16 位地址
21、读取外部数据存储器(例如执行 MOVX DPTR)时,P2 口送出高八位地址P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口亦作为 AT89S52 特殊功能(第二功能)使用,如下表3-2所示。表3-2 AT89S52 P3口第二功能表脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断 0)P3.3INT0(外部中断 0)P3.4T0(
22、定时器 0 外部输入)P3.5T1(定时器 1 外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)RST: 复位输入。晶振工作时,RST 脚持续 2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输
23、出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当 AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND。为了执行内部程序指令,EA 应该接 VCC。在 flash 编程期间,EA 也接收 12 伏 VPP 电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入
24、端。XTAL2:振荡器反相放大器的输出端。3.3.2振荡器电路的设计晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。晶振有一个重要的参数,那就是负载
25、电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。一般的晶振振荡电路都是在一个反相放大器的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。一般的晶振的负载电容为15p或30p,如果再考虑元件引脚的等效输入电容,则两个22p的电容构成晶振的振荡电路就是比较好的选择。CPU的操作需要精确的定时,可用一个晶体振荡器产生稳定的时钟脉冲来控制STC89C52单片机上的XTAL1和XTAL2分别为振荡电路的输入和输出端振频率选择12MHZ。在晶振电路中,电路中电容C1和
26、C2对振荡频率有微调作用,通常的取值范围3010pF;石英晶体选择6MHz或12MHz都可以。其结果只是机器周期时间不同,影响记数器的记数初值和运算速度,振荡器电路下图3-2所示。图3-2 振荡器电路3.3.3复位电路的设计复位即是在复位端加不小于指定宽度的低电平(低电平复位)或高电平(高电平复位)信号使单片机的硬件处于初始状态。以MCS-51系列单片机为例,复位端为RST/Vpd,高电平复位。在振荡电路运行时,使RST引脚至少保持两个机器周期(24个振荡周期)高电平,实现一次复位动作。CPU响应内部复位,将ALE和PSEN引脚置为输入方式,并在RST端变低以前重复执行内部复位。工作原理:高电
27、平为例,电源上电时,VCC可以认为一阶跃信号复位端电压是由于下拉电阻R1在CPU复位端引起的电压值,一般为0.3V以下。但在实际应用中,VCC不可能为理想的阶跃信号。其主要原因有两点:(1)稳压电源的输出开关特性;(2)我们通常在设计电路时,为保证电源电压稳定性,往往在电源的输入端并联一个大电容,从而导致了VCC不可能为阶跃信号特征。从而影响了的复位电压的复位特性。复位电路如下图3-3所示图3-3 复位电路图3.3.4 八路抢答按键输入电路设计键盘有两类:一个是独立键盘,另一个是矩阵键盘。独立键盘的特点是每个按键单独占用一个I/O口,每个按键工作不会影响其他的I/O口线的状态,多用于按键不多的
28、场合。可采用JNB或JB来查询是哪一个按键按下,并转向相应的功能处理程序。当按键较多时,就用到了矩阵键盘。矩阵键盘又称行列键盘,它是用四条I/O线作为行线,四条I/O线作为列线组成的键盘,在行线和列线的每个交叉点上设置一个按键,这样键盘上按键的个数就是4*4个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。但由于本设计的按键不多,所以我们采用独立键盘,编写程序也比较简单,运行速度较快。 该电路有八个按钮分别接于P1.0P1.7可实现:一是分辨出选手按键的先后并锁存有抢答者的编号,同时在LED上显示相应选手编号;二是当有选手抢答成功时其他选手按键无效,具有锁存功能,8个按键,抢答
29、按键电路图下图3-4所示。图3-4 按键输入电路3.3.5 开始、复位按键输入电路设计复位是计算机的一个重要工作状态。开始按钮和复位按钮分别接在P3.0和P3.1口,在单片机工作时,接电之前要复位,断电后也要复位。在抢答器中复位则为定时做铺垫,在抢答之前要复位,抢答完毕后也要复位。按了复位键之后,LED的显示全为F FF,开始、复位按键输入电路下图3-5所示。图3-5 开始、复位按键输入电路3.3.6 设定时间、加减时间电路设计该电路主要是对答题和抢答时间调整而设计的,抢答时间接P3.2,答题时间接P3.3,加1秒接P3.4,减一秒接P3.5 ,设定时间、加减时间电路设计下图3-6所示。图3-
30、6设定时间、加减时间电路3.3.7 显示电路的设计LED显示器件简介数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形
31、成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管的驱动方式:数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。本设计由于只用两个数码管,所以采用静态显示驱动,这里只介绍静态显示驱动。LED显示的原理:八段LED显示管由八个发光二极管组成,编号为a,b,c,d,e,f,g和SP,分别与同名管脚相连。七段LED数码管显示比八段少一只发光管SP,其他与八段LED相同。八段LE
32、D数码显示管原理很简单,是通过同名管脚上所加电平的高低来控制发光二极管是否点亮从而显示不同的字形的。因此,LED显示的字形不同,相应的字形码也不同。由于B和8,D和0字形相同,故B和D均以小写字母B和d显示。对于八段LED管来书所有发光二极管阴极共连后接到引脚G上,G脚为控制端,用于控制LED是否点亮。若G脚接地,则LED被点亮;若G脚接TTL高电平,则它被熄灭。对于共阳八段LED数码显示管来说,若所有发光二极管阳极共连后接到G脚。正常显示时,G脚接+5V,个发光二极管是否点亮取决于aSP各引脚上是否是低电平0伏,因此,共阴共阳所需的字形码恰好相反。共阳码管段码表如表3-3所示:表3-3 共阳码管段码表:显示字符反码dpgfe
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1