已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 南京信息南京信息职业职业技技术术学院学院 毕业论毕业论文文 作者 学号 系部 电子信息工程系 专业 电子信息工程技术 题目 基于单片机的抢答器设计 指导教师 评阅教师 完成时间: 2011 年 4 月 20 日 2 毕业论毕业论文中文摘要文中文摘要 3 题目:基于单片机的抢答设计 摘要: :随着我国经济和文化事业的发展,在很多竞争场合都要求有快速公正的 竞争裁决,例如证券、股票交易及各种智力竞赛等。智力竞赛是一种生动活泼的 教育方式,而抢答就是智力竞赛中非常常见的一种答题方式。抢答能引起参赛者 和观众的极大兴趣,并且能在极短的时间内,使人们迅速增加一些科学知识和生 活常识。但是,在这类比赛中,对于谁先谁后抢答,在何时抢答,如何计算答题 时间等等问题,若是仅凭主持人的主观判断,就很容易出现误判。一般的抢答器 由很多门电路组成,线路复杂,可靠性低,特别是抢答路数增多时,实现起来更 加困难。 本文介绍一种利用 AT89C51 单片机及其外围接口电路实现的抢答系统,具有 很强的实用性。本设计功能齐全,可通过 LED 数码管显示出获得抢答权的编组号, 抢答器要有自动定时功能,并且一次抢答时间由主持人任意设定。当主持人启动 “开始”键后,定时器自动减计时,并在显示器上显示。同时扬声器上发出短暂 声响,并能显示各组选手的得分情况;实现进行倒计时、发光提示、违例判别和 不同分值的加减、不同分值的赋初值等功能。 主持人的控制台上,设有开始键、加分键、初值加分键、3 分键、5 分键,方 便主持人在整个抢答过程中进行控制,保证了整个抢答过程在公正、公平的环境 下进行。 关键词:单片机 AT89C51 LED 数码管 竞赛抢答器 毕业论毕业论文外文摘要文外文摘要 4 Title : Answer in the design based on single chip Abstract: It demands to have fast and just competition to award in a lot of competition occasions with the development of economic and cultural undertakings of our country, such as securities, stock exchange and various kinds of intelligent tests, etc. Generally vying for the answering device is made up of much pieces of circuit, the circuit is complicated, and the dependability is low, especially while the number of vying for answering is increasing, it is more difficult to realize. This text introduces a system of answering which is made use of AT89C51 and peripheral interface, having very strong practicability. Its function is powerful .It can show the NO.of group which has the right to vie,also can show the goal of every group.It can carry on count down, and give out light to get attention. It can show fault differentiate and different add and subtractg goal and show diferent initial value of composing group. A start key, a add goal key, a early add value key, a 3-cent key, a 5-cent key, and a contestant serial number card are established on the stage of host, in order to control the whole process of rob answer and mahe the rob answer process fair and just.In this design the answers were sent PC for showing, letting contestants known the rivals goal and showing justice. keywords: Single slice machine AT89C51 The LED figures tube Display multi-channel responder 目录目录 5 1 绪论 .1 2 需求分析 .1 3 系统方案设计 .2 3.1 抢答器工作流程 .2 3.2 功能模块设计 .3 4 硬件电路设计 .3 4.1 电源的设计.3 4.2 复位电路.4 4.3 时钟晶振电路.5 4.4 抢答电路.6 4.5 主持人控制台电路.7 4.6 显示电路.8 4.7 报警电路设计.10 5 系统程序设计 .11 5.1 系统主程序设计.11 5.2 延时子程序设计 .14 5.3 倒计时程序设计 .14 结论 .15 致谢 .16 参考文献 .16 附录 A.17 附录 B.26 1 1 绪论 在生活和生产的各个领域中,凡是有自动控制要求的地方都会有单片机的身 影;从简单到复杂,从空中、地面到地下,凡是能想象到的地方几乎都有使用单 片机的需求。现在尽管单片机的应用已经很普遍了,但仍然有许多可以用单片机 控制而尚未实现的项目,因此单片机的应用大有想象和拓展的空间。 在此次设计中选用的 8051 类单片机,最早由 Intel 公司推出,8051/31 类单 片机是世界上用量最大的几种单片机之一。由于 Intel 公司将重点放在 186、386、奔腾等与 PC 类兼容的高档芯片的开发上,8051 类单片机则主要由 Philips、Atmel、三星、华邦等公司生产,这些公司都在保持与 8051 单片机兼 容的基础上改善了 8051 许多特性(如时序特性) ,提高了速度、降低了时钟频率、 放宽了电源电压的动态范围,降低了产品价格。 设计中使用的 AT89C51 单片机是由 ATMEL 公司生产的,具有功耗低、可靠性 好等特点。 单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,而更 重要的意义还在于:单片机的应用正从根本上改变着传统控制系统的设计思想和 设计方法。从前必须由模拟电路和数字电路实现的大部分功能,现在已能使用单 片机通过软件(编程序)的方法实现了,这种以软件取代硬件并提高系统性能的 控制系统“软化”技术,是对传统控制技术的一次革命。随着单片机应用的推广 普及,控制技术必将不断发展自己、日益完善和更加充实。 2 2 需求分析需求分析 随着我国经济、化事业的发展,各种各样的竞赛如雨后春笋般的呈现了出来, 校园、公司、政府机关、电视节目等都常常举办一些抢答竞赛,有了这些竞赛, 就需要有快速、公正、有效的竞赛裁决。有些抢答竞赛的举办方通过参赛选手举 起答题板,主持人凭感觉来决定参赛者的答题权。由于主持人主观判断失误会造 成竞赛的不公平性;而好一些的竞赛举办方会使用抢答器,这就使得竞赛答题权 的分配公平准确了许多。 抢答器的发展也是比较快的,从一开始的光具有抢答锁定功能的一个电路, 到现在的具有倒计时、定时、自动(或手动)复位、报警(即声响提示,有的以 音乐的方式来体现) 、屏幕显示、按键发光等多种功能的技术合并,这就可以说 明其多种功用及发展的快速。现在的抢答器有 JLQ-2 普通型抢答器、JLQ-3 型 带到计时型抢答器、JLJ-2 型 3 位 LED 电子记分器、SPC-7A 单屏小型、SPC-7B 单屏中型、智力竞赛抢答器、有锁定功能抢答器、多功能智力抢答器可以说 是多不胜数。 对抢答器使用的需求使得我们这里设计的基于 AT89C51 单片机的竞赛抢答器 有了很好的发挥空间,这种抢答器不仅结构简单、功能强大、可靠性高、操作简 单方便、成本也很低。能够被大众所接受,具有很高的推广价值。 竞赛抢答器应当具有优先裁决能力,对最先抢答的选手给予答题权;应具有 2 违例处罚功能,对抢答违例的选手扣分,以确保抢答竞赛的公正进行;还应具有 计时功能,以避免选手抢答后无限制的拖延时间;比赛结束或赛中可以查询每组 参赛选手的分数,以最高分数选出优胜者。 因此设计应包含以下内容: 1 抢答开始时,无人按下抢答键,主持人可以按下控制键,结束本题的抢答, 进入下一题的抢答。 2 主持人在没有按下开始键之前,如果有选手按下抢答键,就会违例,被扣 分,并有红色发光二极管发光,提示主持人和参赛选手。 3 控制台上应设有抢答开始、加分、调整时间以及分数查询等按键。 4 在选手抢答后会有倒计时,选手应在规定的时间内回答完问题。 5 抢答器要有自动定时功能,并且一次抢答时间由主持人任意设定。当主持 人启动“开始”键后,定时器自动减计时,并在显示器上显示。同时扬声器上发 出短暂声响; 6 竞赛抢答器还应具有将选手编号和选手分数送到数码管显示的功能,使大家对分数一 目了然。 3 3 系统方案设计系统方案设计 3.13.1 抢答器工作流程抢答器工作流程 此次设计的竞赛抢答系统采用八路抢答,最多可以有八组选手参与比赛,各 位选手的分数最多可以显示到十位,但这不影响本设计的功能。如有需要,我们 可以将其扩展到百位分数、千位分数。 竞赛抢答器在最初会分别显示每名选手的编号和与其相对应的初始分数值, 每名选手的初始分为 10 分,以避免有选手在竞赛中违例,将分值扣至负分。在 显示了选手编号和分数后,会显示每道题的分值,默认为每题 2 分;如果在抢答 器开机时按下分值调整的开关,每道题的分值就可以改变,分别可以调整为每题 3 分或每题 5 分。接下来将显示选手抢答后的计时时间,选手回答的问题必须在 时限内完成并回答正确,主持人才会为选手加分。计时的时间也是可以调整的, 默认为 30 秒;主持人可以通过按键将时间设置为 60 秒或 90 秒。 在主持人按下开始键,允许抢答前,如果有选手提前按下了抢答键,则会因 为其违例而扣掉 1 分,红色发光二极管会提示主持人和选手有人违例,并伴有蜂 鸣声,同时数码管上会显示出违例选手的号码以及其扣掉 1 分后的得分。 主持人按下开始键后,所有数码管熄灭,选手们可以开始抢答,当有选手抢 答后,数码管上会显示抢到答题权的选手的编号,并开始倒计时,其他选手再按 下抢答键是无效的,因为只有一名选手可以答题。当计时结束后,数码管会显示 选手当前分数,等待主持人判断选手是否回答正确。回答正确主持人会为选手加 分,选手的分数会显示出来;若不正确,则跳到下一轮竞赛,不为选手加分。 如果主持人按下开始键后,无人抢答,则主持人可以控制抢答器,进入下一 3 轮的抢答竞赛。当中场休息或比赛结束时,主持人可以通过查分按键来查询每组 选手的得分情况,数码管会依次显示出选手的编号和与其相对应的分数。主持人 和参赛选手可以凭此来了解自己的得分情况并评出优胜者。 3.23.2 功能模块设计功能模块设计 本设计的主要功能模块有: (1)键盘输入:8 个按键,供给 8 组参赛选手进行抢答,单片机识别到有按 键按下时,可以识别具体是哪位选手按下了抢答按键;主持人有抢答开始按键, 题目的分值调整按键,计时调整按键,为选手加分的按键以及跳转到下一轮竞赛 的按键。 (2)译码显示:利用单片机的部分 P1 口和全部的 P2 口构成的输出口,信号 经由驱动 CD4511 锁存译码进行显示。系统主要有两个显示部分,既选手编号 的显示和选手分数的显示。 抢答按键 加分按键 主持人控制按键 控制电路 AT89C51 译码电路显示电路 报警电路 调时电路 图 3-1 方案功能框图 方案使用 AT89C51、数码管、发光二极管、CD4511 等器件就可以实现所需功 能。 4 4 硬件电路设计硬件电路设计 4.14.1 电源的设计电源的设计 由于 AT89C51 单片机和 CD4511 锁存译码器件的工作电压范围都是+5V,因 此本系统所使用的电源是由 220V 的交流电通过变压器换为 9V,再通过桥式整流 器,三端稳压器 7805 组成的直流稳压电源电路,可以稳定的输出+5V 电压。 电源电路需要一个桥式整流器、三端稳压器 7805、104 电容 2 枚、 50V/470F 电容和 25V/100F 电容各一个。 4 D 1 B ridge1 IN 1 2 O U T 3 G N D U 2 L M 7805C T 50v/470uF C 1 C ap Pol1 104 C 2 C ap 25v/100uF C 3 C ap Pol1 104 C 4 C ap +5 S 1 S W -S PS T 1 2 3 J1 PW R 图 4-1 电源电路图 4.24.2 复位电路复位电路 计算机在启动运行时都需要复位,使中央处理器 CPU 和系统中的其他部件都 处于一个确定的初始状态并从这个状态开始工作。 MCS51 单片机有一个复位引脚 RST,它是史密特触发器(对于 CHMOS 单片 机,RST 引脚内部有一个拉低电阻) ,当振荡器起振后,该引脚上出现 2 个机器周 期(既 24 个时钟周期)以上的高电平,使器件复位,只要 RST 保持高电平, MCS51 就保持复位状态。复位电路有两种:上电自动复位电路和人工复位电路, 在这里我们采用人工复位。 当复位键按下时,单片机会初始化为 0000H,使单片机从起始地址 0000H 单 元开始执行程序。 此外,当程序运行出错或操作错误使系统处于死锁状态时,可以利用按下复 位键来重新启动。复位电路的核心是使 RST 的引脚出现 10 毫秒以上的稳定高电 平,这样就能实现可靠的复位,复位端 RST(9 引脚)经电阻,开关(复位按键) 与 Vcc 电源接通,同时并联一个电容,这样能提供足够宽度的阈值电压完成复位。 复位电路如图 4-2。 5 P1.0/T 2 1 P1.1/T 2E X 2 P1.2/E C I 3 P1.3/C E X 0 4 P1.4/C E X 1 5 P1.5/C E X 2 6 P1.6/C E X 3 7 P1.7/C E X 4 8 R S T 9 P3.0/R xD 10 P3.1/T xD 11 P3.2/IN T 0 12 P3.3/IN T 1 13 P3.4/T 0 14 P3.5/T 1 15 P3.6/W R 16 P3.7/R D 17 X T A L 2 18 X T A L 1 19 V S S 20 P2.0/A 8 21 P2.1/A 9 22 P2.2/A 10 23 P2.3/A 11 24 P2.4/A 12 25 P2.5/A 13 26 P2.6/A 14 27 P2.7/A 15 28 PS E N 29 A L E /PR O G 30 E A /V PP 31 P0.7/A D 7 32 P0.6/A D 6 33 P0.5/A D 5 34 P0.4/A D 4 35 P0.3/A D 3 36 P0.2/A D 2 37 P0.1/A D 1 38 P0.0/A D 0 39 V C C 40 U 1 A T 89C 51 R 2 R 1 S S W -PB C +5v +5v 图 4-2 复位电路图 4.34.3 时钟晶振电路时钟晶振电路 时钟电路是计算机的心脏,它控制着计算机的工作节奏。MCS51 单片机允 许的时钟频率因型号而异。MCS51 单片机内部都有一个反向放大器, XTAL1、XTAL2 分别为反向放大器输入和输出端,外接定时反馈元件以后就组成了 振荡电路,产生时钟送至单片机内部的各个部件。 XTAL1(19 脚)和 XTAL2(18 脚)两端跨接石英晶体及两个电容,就构成了稳定 的自激振荡器。石英晶体在起振后能在 XTAL2 线上输出一个 3V 左右的正弦波, 以便使单片机内的振荡器 OSC(OSCillator)电路按石英晶振相同的频率自激振 荡。在本系统中,电容器 C1 和 C2 取 33pF,对振荡频率有微调作用;晶振频率为 12MHz,使系统得到更精确的时钟。 6 P1.0/T 2 1 P1.1/T 2E X 2 P1.2/E C I 3 P1.3/C E X 0 4 P1.4/C E X 1 5 P1.5/C E X 2 6 P1.6/C E X 3 7 P1.7/C E X 4 8 R S T 9 P3.0/R xD 10 P3.1/T xD 11 P3.2/IN T 0 12 P3.3/IN T 1 13 P3.4/T 0 14 P3.5/T 1 15 P3.6/W R 16 P3.7/R D 17 X T A L 2 18 X T A L 1 19 V S S 20 P2.0/A 8 21 P2.1/A 9 22 P2.2/A 10 23 P2.3/A 11 24 P2.4/A 12 25 P2.5/A 13 26 P2.6/A 14 27 P2.7/A 15 28 PS E N 29 A L E /PR O G 30 E A /V PP 31 P0.7/A D 7 32 P0.6/A D 6 33 P0.5/A D 5 34 P0.4/A D 4 35 P0.3/A D 3 36 P0.2/A D 2 37 P0.1/A D 1 38 P0.0/A D 0 39 V C C 40 U 1 A T 89C 51 +5v 12 12M hz C 1 C 2 图 4-3 时钟晶振电路图 4.44.4 抢答电路抢答电路 利用按键输入作为抢答信号的输入,电路连接简单,通过程序可以实现很多 功能。键盘输入分为独立联接式和行列式(矩阵式)两类。在按键数目比较多时 可以采用行列式,以减少与单片机接口时所用的输入/输出线的数目,本设计模 拟 8 路抢答,加上开始键,加分键、时间设置按键、分数设置按键、查分键和两 个进入下一轮抢答的按键一共是 16 个按键,故采用独立联接式即可。各按键相 互独立的接通一条输入数据线,该电路使用的是查询方式。 8 个抢答按键与 AT89C51 单片机的 P0 口连接,P1、P2、P3 口内部都有拉高 电路是准双向口。使用 P1、P2、P3 口做为输入口时,可以直接接按键,按键的 另一端直接接地。当按键按下时,P1、P2、P3 口就可以读取低电平。达到通过按 键对单片机进行控制的目的。P0 口是开漏输出的,内部没有拉高电路,是三态双 向 I/O 口,用 P0 口作为输入口时,一般需要连接 10K 的拉高电阻3。 7 P1.0/T 2 1 P1.1/T 2E X 2 P1.2/E C I 3 P1.3/C E X 0 4 P1.4/C E X 1 5 P1.5/C E X 2 6 P1.6/C E X 3 7 P1.7/C E X 4 8 R S T 9 P3.0/R xD 10 P3.1/T xD 11 P3.2/IN T 0 12 P3.3/IN T 1 13 P3.4/T 0 14 P3.5/T 1 15 P3.6/W R 16 P3.7/R D 17 X T A L 2 18 X T A L 1 19 V S S 20 P2.0/A 8 21 P2.1/A 9 22 P2.2/A 10 23 P2.3/A 11 24 P2.4/A 12 25 P2.5/A 13 26 P2.6/A 14 27 P2.7/A 15 28 PS E N 29 A L E /PR O G 30 E A /V PP 31 P0.7/A D 7 32 P0.6/A D 6 33 P0.5/A D 5 34 P0.4/A D 4 35 P0.3/A D 3 36 P0.2/A D 2 37 P0.1/A D 1 38 P0.0/A D 0 39 V C C 40 U 1 A T 89C 51 +5v S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 R 1R 2R 3R 4R 5R 6R 7R 8 +5V 图 4-4 抢答电路图 我们在此设计中使用 P0 口的八位作为输入口,接收八组选手的抢答信号时 必须连接 10K 的拉高电阻。抢答电路见图 4-4。 当打开竞赛抢答器的电源开关时,单片机 AT89C51 开始初始化,由程序将 P0 口的每一位都置为高电平。当有按键按下时,P0 口中与按键相对应的那一位就会 变为低电平,检测出 P0 口的哪一位变成了低电平,系统就会得知是几号选手按 下了抢答按键,如果主持人已经按下了开始抢答按键,程序则会跳转到与之相对 应的选手抢答子程序,进行倒计时以及等待主持人对答案的正确与否判定,对选 手加分还是不加分;若选手按下抢答按键时,主持人并没有按下抢答开始按键, 则系统会跳转到选手违例惩罚的子程序,对违例犯规的选手扣分并将分数和选手 号的信息传送到显示电路,显示出选手的编号和分数。 4.54.5 主持人控制台电路主持人控制台电路 在比赛开始前,主持人可以对答题时间和每道题的分值进行调整。将答题时 间调整为 30 秒、60 秒和 90 秒;而每道题的分值可以设置在 2 分、3 分、和 5 分 不等。 8 由于 P1 口和 P3 口是准双向口,它们的每一位可以分别定义为输入线和输出 线,并且内部都具有拉高电路,因此当使用他们作为输入口时,不需要加拉高电 阻,直接连在按键上即可。 P3.2 口至 P3.7 口分别为开始控制键、加分按键、回答错误转至下一题抢答 按键、无人抢答直接跳至下一轮抢答按键、答题时间调整按键和分数查询按键。 P1.6 口和 P1.7 口上连接的是自锁开关,开关闭合时,与开关相连接的那一 位将检测到高电平,程序跳转到相应的调分子程序。当两个开关同时按下时,以 先按下的为准,开关都没有按下时,每道题的分值为默认的两分。主持人控制台 电路见图 4-5。 P1.0/T 2 1 P1.1/T 2E X 2 P1.2/E C I 3 P1.3/C E X 0 4 P1.4/C E X 1 5 P1.5/C E X 2 6 P1.6/C E X 3 7 P1.7/C E X 4 8 R S T 9 P3.0/R xD 10 P3.1/T xD 11 P3.2/IN T 0 12 P3.3/IN T 1 13 P3.4/T 0 14 P3.5/T 1 15 P3.6/W R 16 P3.7/R D 17 X T A L 2 18 X T A L 1 19 V S S 20 P2.0/A 8 21 P2.1/A 9 22 P2.2/A 10 23 P2.3/A 11 24 P2.4/A 12 25 P2.5/A 13 26 P2.6/A 14 27 P2.7/A 15 28 PS E N 29 A L E /PR O G 30 E A /V PP 31 P0.7/A D 7 32 P0.6/A D 6 33 P0.5/A D 5 34 P0.4/A D 4 35 P0.3/A D 3 36 P0.2/A D 2 37 P0.1/A D 1 38 P0.0/A D 0 39 V C C 40 U 1 A T 89C 51 +5v S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 +5v 1 2 1 2 图 4-5 主持人控制台电路图 4.64.6 显示电路显示电路 为了能够显示选手的编号、得分情况和倒计时时间,我们就必须加入显示电 路,这里的显示电路是使用 CD4511 来为共阴极数码管提供驱动译码实现的。 LED 数码管是由发光二极管显示字段的显示器件,由七个 LED 发光二极管排 列成“8”字,形状如图 4-6。我们在这里使用的是共阴极数码管,共阴极数码管 的公共端接地,另外的任意一端接高电平,数码管的相应字段就会被点亮。根据 需要选择段码信号,数码管就可以显示“09”十个数字。 9 图 4-6 八段数码管 图 4-7 共阴极八段数码管内部电路图 CD4511 是锁存译码驱动器,能够将 BCD 码直接译成共阴极数码管的段码, 显示相应的数字。CD4511 是特具有 BCD 转换、消隐和锁存控制、7 段译码及驱动 功能的 CMOS 电路,能提供较大电流,可直接驱动 LED 数码管。 CD4511 的引脚见图 4-8,其中 BI 脚是消隐输入控制端,当 BI=0 时,不管其 它输入端状态如何数码管均处于熄灭状态,不显示数字。 LT 引脚是测试输入端,当 BI 为 1,LT 为 0 时,译码输出全为 1,不管输入 DCBA 状态如何,数码管均发光,显示为“8” 。它主要用来测试数码管是否损坏。 LE 引脚为锁定控制端,当 LE=0 时,允许译码输出。LE=1 时译码器是锁定保 持状态,译码器输出被保持在 LE=0 时的数值。 B B 1 1 C C 2 2 3 3_ _ _ L LT T 4 4_ _ _ B BI I V Vd dd d f f g g a a 1 16 6 1 15 5 1 14 4 1 13 3 L LE E 5 5 D D 6 6 7 7 A A 8 8 V Vs ss s b b c c d d e e 1 12 2 1 11 1 1 10 0 9 9 C CD D4 45 51 11 1 图 4-8 CD4511 引脚图 a b f ce d g h abcdef g h COM mM M 10 P1 .0 /T 2 1 P1 .1 /T 2 E X 2 P1 .2 /E C I 3 P1 .3 /C E X 0 4 P1 .4 /C E X 1 5 P1 .5 /C E X 2 6 P1 .6 /C E X 3 7 P1 .7 /C E X 4 8 R S T 9 P3 .0 /R x D 1 0 P3 .1 /T x D 1 1 P3 .2 /IN T 0 1 2 P3 .3 /IN T 1 1 3 P3 .4 /T 0 1 4 P3 .5 /T 1 1 5 P3 .6 /W R 1 6 P3 .7 /R D 1 7 X T A L 2 1 8 X T A L 1 1 9 V S S 2 0 P2 .0 /A 8 2 1 P2 .1 /A 9 2 2 P2 .2 /A 1 0 2 3 P2 .3 /A 1 1 2 4 P2 .4 /A 1 2 2 5 P2 .5 /A 1 3 2 6 P2 .6 /A 1 4 2 7 P2 .7 /A 1 5 2 8 PS E N 2 9 A L E /PR O G 3 0 E A /V PP 3 1 P0 .7 /A D 7 3 2 P0 .6 /A D 6 3 3 P0 .5 /A D 5 3 4 P0 .4 /A D 4 3 5 P0 .3 /A D 3 3 6 P0 .2 /A D 2 3 7 P0 .1 /A D 1 3 8 P0 .0 /A D 0 3 9 V C C 4 0 A T 8 9 C 5 1 +5 v R 1 R 2 R 3 R 4 R 5 R 6 R 7 R 8 +5 V A 7 B 1 C 2 D 6 L E 5 B I 4 L T 3 a 1 3 b 1 2 c 1 1 d 1 0 e 9 f 1 5 g 1 4 V D D 1 6 G N D 8 C D 4 5 1 1 A 7 B 1 C 2 D 6 L E 5 B I 4 L T 3 a 1 3 b 1 2 c 1 1 d 1 0 e 9 f 1 5 g 1 4 V D D 1 6 G N D 8 C D 4 5 1 1 A 7 B 1 C 2 D 6 L E 5 B I 4 L T 3 a 1 3 b 1 2 c 1 1 d 1 0 e 9 f 1 5 g 1 4 V D D 1 6 G N D 8 C D 4 5 1 1 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 5 5 R 9 R 1 0 R 1 1 R 1 2 R 1 3 R 1 4 R 1 5 R 1 6 R 1 7 R 1 8 R 1 9 R 2 0 R 2 1 K 1 f 2 g 3 e 4 d 5 K 6 c 8 D P 7 b 9 a 1 0 K 1 f 2 g 3 e 4 d 5 K 6 c 8 D P 7 b 9 a 1 0 K 1 f 2 g 3 e 4 d 5 K 6 c 8 D P 7 b 9 a 1 0 +5 v +5 v +5 v 图 4-9 显示电路图 在显示电路中 CD4511 的 LT 接高电平,LE 接低电平,BI 接 AT89C51 单片机 的 P1.4 口,由 P1.4 口的信号变化来控制数码管的亮和灭,部分 P1 口和全部分 的 P2 口分别接 CD4511 的 DCBA 口,为显示电路输入 BCD 码。在 CD4511 与数码管 之间一定要加限流电阻,防止数码管烧坏。P1 口电路负责显示选手编号;P2 口 电路则用来显示选手的分数和倒计时的秒数。 使用 P1.5 口连接一个红色的发光二极管,当有选手抢答违例时就会发光, 提示主持人和参赛选手有人违例,以示报警。 4.74.7 报警电路设计报警电路设计 报警控制电路的控制信号由单片机 AT89C51 的 P1.5 口输出,通过一个限流 电阻与三极管 C945 的基极相连接。电路图如图 4-10 所示。 (1)压电蜂鸣器工作原理 压电蜂鸣器以压电陶瓷制作而成。压电陶瓷是一类有将压力与电流相互转换 能力的特殊陶瓷。当压电陶瓷在一定方向上受到一个压力使其晶体结构发生形变 时,它就会在内部产生一个电流,电流的变化与压力的变化密切相关。反之,当 在压电陶瓷上加上一定频率的电压,就会在内部产生一定频率的电流,从而就会 引起压电陶瓷微小形变,这一形变带动空气发生振动。如果频率适当,就产生蜂 鸣声,可以被人耳所听见。 (2)报警控制电路工作过程 报警控制信号由单片机 AT89C51 的 P1.5 端输出,通过一个限流电阻加到三 极管 C945 的基极5。当 P1.5 端的输出信号发生变化时,则三极管 C945 将交替 11 的工作于截止、饱和状态,形成高低电平的波,从而使压电蜂鸣器发出声音。 保护电阻 R4 计算如下: 设定 P1.5 脚电压为 4.5V,三极管 C945 基极电流为 3mA,电压为 0.7V,那么 R11 取 1.5K 的标称阻值。 Q1 C945 R11 1.5K U8 BUZZER VCC 1 2 J2 GND P1.5 图 4-10 报警工作电路 5 5 系统程序系统程序设计设计 5.15.1 系统主程序系统主程序设计设计 在程序的最初,使用伪指令中的 EQU 指令,将标号赋值。为选手分数,倒计 时时间和每道题的分数赋值,使其具有固定的地址。为下面的编程提供方便。在 将选手分数、倒计时时间和每道题的分值赋初值后,系统开始显示选手编号和选 手相对应的分数。使用查表的方式为 CD4511 驱动器传送编码,其译码后经由数 码管显示出来。 在显示时,由 P1.4 口来控制 CD4511 的 BI 位,以改变数码管的显示和熄灭, 具体方法是当 P1.4 置 1 时,数码管显示数字,当 P1.4 置零时,数码管全部熄灭。 显示过程中调用延时子程序来控制显示时间,主程序流程图见图 5-1。 选手分数显示的主要代码如下: mov p1,#011h ;1 号选手 mov a,30h mov dptr,#table movc a,a+dptr mov p2,a lcall delay_1s ;显示 1.5 秒 lcall delay_500ms mov p1,#00h lcall delay_50ms ;灭 50 毫秒 12 结束了每位选手的编号和分数显示后,竞赛抢答系统将显示每道题的分值, 若事先已经按下了修改分值的开关,AT89C51 单片机将检测到信号,系统跳转到 相应程序,修改分值并显示修改后的分值。没有按下修改分值键就直接显示为默 认的 2 分。 接下来显示答题的计时时间,初始为 30 秒,主持人可以通过按键来调整计 时时间,当 P3.6 口变为低电平时,系统进入调时程序,时间可以设置为 30 秒、 60 秒和 90 秒三种。主持人每按一次调时按键,时间就加 30 秒,当时间已经是 90 秒时,主持人再按下调时键时,系统可以判断加 30 秒后是否为 120 秒,若是 则自动跳转为 30 秒。具体判断方法是使用 CJNE A,#120,jiashi 指令,判断不 相等继续加时,相等则将时间重置为 30 秒。 实现调时判断功能的部分程序如下。 shezhi_sj: ;时间设置 mov a,daojishi add a,#30 ;按下调时键,加 30 秒 cjne a,#120,jiashi ;比较是否为 120 秒 mov a,#30 ;是 120 秒,将时间重置为 30 秒并显示 mov daojishi,a mov dptr,#table movc a,a+dptr setb p1.4 mov p2,a lcall delay_1s ljmp shijian 13 开始 、初始化每个选手分数 倒计时 时间和每道题的分值 、显示分数 分值和时间 是否修改每道题分值 是否调整计时时间 是否有人违例 是否按下开始键 是否有人抢答 ,显示选手编号 并倒计时 修改每道题的分值 调整倒计时时 间 ,违例扣分 发光二 极管发光 主持人控制跳至下 一轮答题 回答是否正确 为选手加分 否 是 是 否 是 否 否 是 否 是 是 否 图 5-1 系统主程序流程图 在主持人按下开始抢答按键之前,如果有选手提前按下了抢答按键,竞赛抢 答系统就会自动跳转到违例扣分的程序,为违例的选手扣一分,在数码管上显示 选手的编号和扣分剩余的得分,同时红色发光二极管发光,以此提示主持人和全 体参赛选手。这种机制就避免了有的选手始终按着抢答按键,霸占抢答权的现象。 维持了抢答竞赛的正常秩序。 主持人按下开始抢答按键后单片机系统的 P1.4 口会变为低电平,所有 CD4511 将不再为数码管传递信号,所有的数码管熄灭,选手可以开始抢答。有选 手抢答,AT89C51 的 P0 口就会有电平变化,根据具体是 P0 口的哪一位而跳转到 相应的子程序。显示抢到答题权的选手编号并倒计时。计时结束,主持人根据选 14 手的答题情况来选择是否加分。正确则加分;错误不加分,并都跳转到下一轮竞 赛中去。 主持人按下开始抢答按键后,若没有选手抢答,主持人可以根据需要通过按 键使竞赛抢答系统跳转到下一轮抢答竞赛。 5.25.2 延时子程序延时子程序设计设计 在竞赛抢答系统中,使用到最多的就是延时子程序,我们使用的延时程序是 依靠多重循环来实现的,也就是软件延时程序。 延时程序与 MCS51 单片机指令执行时间有很大的关系,使用 12MHz 晶振时, 一个机器周期为 1s,执行一条 DJNZ 指令的时间为 2s,可以用双重循环来写 出延时程序1。 延时子程序流程图如下。 开始 ( R7)=#200 (R6)是否为0 ( R6)=#123 ( R6)减一 ( R7)减一 (R7)是否为0 结束 是 否 是 否 图 5-2 延时子程序程序流程图 例如延时 50ms 的程序如下。 DEL: MOV R7,#200 DEL1:MOV R6,#123 NOP DEL2:DJNZ R6,DEL2 ;2123+2=248s DJNZ R7,DEL1 ;(248+2)200+1 ;=50.001ms RET 5.35.3 倒计时程序倒计时程序设计设计 在竞赛抢答系统中,选手正常抢答时,数码管上会显示选手的编号和倒计时 时间,这里倒计时使用了 1S 的延时程序,为计时时间设置一个初值,每隔 1 秒 15 减一,并查表找到当前时间所对应的 BCD 码,由 P2 口传送给 CD4511,经过译码后, 由数码管显示出来秒数,以倒计时时间为 30 秒为例,当计时值为 29 时,就查表 找到 29 的 BCD 码,在数码管上显示。依此类推显示 28、27、26、。判断计 时时间值是否为零,当计时值为零时,系统将停止计时,显示选手分数,等待主 持人的裁决。 倒计时子程序流程图如 5-2 所示。 开始 为计时置初值 时间值是否为0 否 是 显示时间 计时值减1 结束 图 5-2 延时子程序程序流程图 倒计时程序主要代码如下: ;1 号选手 daojishi1: mov r1,a mov dptr,#table movc a,a+dptr mov p2,a mov a,r1 lcall delay_1s dec a cjne a,#0,daojishi1 ljmp jiafen1 使用这种计时方法有一定的误差,每秒会有几 s 的误差,由于我们计时的 时间最多为 90 秒。而且每次计时结束后,下次再计时又是从头开始,所以 90 秒 内的误差不会超过几毫秒,这点误差我们可以忽略,若要连续计时更长的时间就 不能使用这种方法了,因为长时间计时会累积出很大的误差。 结论结论 通过这段时间的设计,使我对单片机系统的应用有了全新的认识,提高了单 片机应用系统的开发能力。在中小型比赛对竞赛抢答器的需求调查中,我了解到 中小型的抢答竞赛需要什么样的抢答器,这样的抢答器都需要哪些功能,价格应 16 该控制在什么位置,我的实践能力有了很大的提高。 在硬件设计过程中,我使用了 Proteus6 和 Protel2004。使用 Keil-51 编写调 试程序。搭接硬件和调试程序时,将 Proteus6 和 Keil-51 连接进行仿真,能够 得到正确的逻辑电路和正确的程序。这些都使我对开发工具的使用更加熟练。 设计思路是制作中最重要的,只要你的设计思路是成功的,那你的设计已经 成功了一半。因此我们在设计前做好充分的准备,像查找各种芯片的使用、基本 的接法,计时电路的零时刻锁存,抢答器的选手号锁存等,为我们设计的成功打 下坚实的基础。 总体来说,这次实习我受益匪浅。在摸索该如何设计电路使之实现所需功能的过程中,特 别有趣,培养了我们的设计思维,增加了实际操作能力。在让我体会到了设计电路的艰辛的 同时,要熟练地掌握课本上的知识,这样才能对试验中出现的问题进行分析解决。 致谢致谢 首先,感谢我的父母,你们永远健康快乐是我最大的心愿,我永远爱着你们。 感谢我的导师马晓阳及三年来的所有任课教师,他们严谨细致的作风一直是 我工作、学习中的榜样;他们不拘一格的思路给予我无尽的启迪。 感谢我的所有同学及大学里帮助过我
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豆粕部分替代鱼粉对黑鲷幼鱼生长性能及生理指标的影响探究
- 调脂颗粒对内皮细胞自噬的干预机制及临床意义探究
- 2026云南黄金有限责任公司技能人员社会招聘30人(镇沅)考试模拟试题及答案详解
- 2026山东淄博市沂源县卫生健康系统事业单位招聘急需紧缺卫生类专业技术人才10人笔试备考题库及答案详解
- 语篇分析:解锁英语阅读能力提升的密码
- 语法隐喻:英语言语笑话背后的生成密码
- 语境教学法对初中生英语习得效果的影响:理论实践与启示
- 语义增强融合人-物时空关系图:行为识别的创新探索
- 词块理论融入大学非英语专业词汇教学的实践与探索
- 诉讼事件下上市公司慈善捐赠行为的多维剖析与战略考量
- 2026年人力资源管理师面试情景应对题库
- 2026年全国新高考2卷数学试卷(含答案及解析)
- 2026人教版一年级数学下册期末模拟测试卷(三套含答案)可直接打印
- 煤矿重大事故隐患判定标准2026版解读
- 初中人教版八年级道德与法治下册全册教学反思(2026春)
- 2026年汽车驾驶员(技师)新版试题及答案
- 2026北京市规划和自然资源委员会所属事业单位招聘30人考试参考题库及答案解析
- 静守初心静待花开:高三下学期班主任带班育人方略与实践思考
- 2026年全国《安全生产月》知识培训试题及答案
- 2024-2025学年上海市杨浦区五年级(下)期末数学试卷 含解析
- 23G409先张法预应力混凝土管桩
评论
0/150
提交评论