免费预览已结束,剩余30页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京信息职业技术学院毕业论文作者 学号 系部 电子信息工程系 专业 电子信息工程技术 题目 基于单片机的抢答器设计 指导教师 评阅教师 完成时间: 2011 年 4 月 20 日 毕业论文中文摘要题目:基于单片机的抢答设计摘要:随着我国经济和文化事业的发展,在很多竞争场合都要求有快速公正的竞争裁决,例如证券、股票交易及各种智力竞赛等。智力竞赛是一种生动活泼的教育方式,而抢答就是智力竞赛中非常常见的一种答题方式。抢答能引起参赛者和观众的极大兴趣,并且能在极短的时间内,使人们迅速增加一些科学知识和生活常识。但是,在这类比赛中,对于谁先谁后抢答,在何时抢答,如何计算答题时间等等问题,若是仅凭主持人的主观判断,就很容易出现误判。一般的抢答器由很多门电路组成,线路复杂,可靠性低,特别是抢答路数增多时,实现起来更加困难。本文介绍一种利用at89c51单片机及其外围接口电路实现的抢答系统,具有很强的实用性。本设计功能齐全,可通过led数码管显示出获得抢答权的编组号,抢答器要有自动定时功能,并且一次抢答时间由主持人任意设定。当主持人启动“开始”键后,定时器自动减计时,并在显示器上显示。同时扬声器上发出短暂声响,并能显示各组选手的得分情况;实现进行倒计时、发光提示、违例判别和不同分值的加减、不同分值的赋初值等功能。主持人的控制台上,设有开始键、加分键、初值加分键、3分键、5分键,方便主持人在整个抢答过程中进行控制,保证了整个抢答过程在公正、公平的环境下进行。关键词:单片机;at89c51;led数码管;竞赛抢答器毕业论文外文摘要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目录1 绪论11.1选题背景及其意义12 需求分析23 系统方案设计33.1抢答器工作流程33.2功能模块设计33.5 方案一44 硬件电路设计54.1 电源的设计54.2 复位电路54.3 时钟晶振电路64.4 抢答电路74.5 主持人控制台电路84.6 显示电路94.7 报警电路设计115 系统程序设计135.1 系统主程序设计135.2延时子程序设计155.3倒计时程序设计16结论18致谢19参考文献20附录a21附录b30311 绪论1.1选题背景及其意义 在生活和生产的各个领域中,凡是有自动控制要求的地方都会有单片机的身影;从简单到复杂,从空中、地面到地下,凡是能想象到的地方几乎都有使用单片机的需求。现在尽管单片机的应用已经很普遍了,但仍然有许多可以用单片机控制而尚未实现的项目,因此单片机的应用大有想象和拓展的空间。在此次设计中选用的8051类单片机,最早由intel公司推出,8051/31类单片机是世界上用量最大的几种单片机之一。由于intel公司将重点放在186、386、奔腾等与pc类兼容的高档芯片的开发上,8051类单片机则主要由philips、atmel、三星、华邦等公司生产,这些公司都在保持与8051单片机兼容的基础上改善了8051许多特性(如时序特性),提高了速度、降低了时钟频率、放宽了电源电压的动态范围,降低了产品价格。设计中使用的at89c51单片机是由atmel公司生产的,具有功耗低、可靠性好等特点。单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,而更重要的意义还在于:单片机的应用正从根本上改变着传统控制系统的设计思想和设计方法。从前必须由模拟电路和数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)的方法实现了,这种以软件取代硬件并提高系统性能的控制系统“软化”技术,是对传统控制技术的一次革命。随着单片机应用的推广普及,控制技术必将不断发展自己、日益完善和更加充实。2 需求分析随着我国经济、化事业的发展,各种各样的竞赛如雨后春笋般的呈现了出来,校园、公司、政府机关、电视节目等都常常举办一些抢答竞赛,有了这些竞赛,就需要有快速、公正、有效的竞赛裁决。有些抢答竞赛的举办方通过参赛选手举起答题板,主持人凭感觉来决定参赛者的答题权。由于主持人主观判断失误会造成竞赛的不公平性;而好一些的竞赛举办方会使用抢答器,这就使得竞赛答题权的分配公平准确了许多。抢答器的发展也是比较快的,从一开始的光具有抢答锁定功能的一个电路,到现在的具有倒计时、定时、自动(或手动)复位、报警(即声响提示,有的以音乐的方式来体现)、屏幕显示、按键发光等多种功能的技术合并,这就可以说明其多种功用及发展的快速。现在的抢答器有jlq-2 普通型抢答器、jlq-3型 带到计时型抢答器、jlj-2型 3位led电子记分器、spc-7a单屏小型、spc-7b 单屏中型、智力竞赛抢答器、有锁定功能抢答器、多功能智力抢答器可以说是多不胜数。对抢答器使用的需求使得我们这里设计的基于at89c51单片机的竞赛抢答器有了很好的发挥空间,这种抢答器不仅结构简单、功能强大、可靠性高、操作简单方便、成本也很低。能够被大众所接受,具有很高的推广价值。竞赛抢答器应当具有优先裁决能力,对最先抢答的选手给予答题权;应具有违例处罚功能,对抢答违例的选手扣分,以确保抢答竞赛的公正进行;还应具有计时功能,以避免选手抢答后无限制的拖延时间;比赛结束或赛中可以查询每组参赛选手的分数,以最高分数选出优胜者。因此设计应包含以下内容:1抢答开始时,无人按下抢答键,主持人可以按下控制键,结束本题的抢答,进入下一题的抢答。2主持人在没有按下开始键之前,如果有选手按下抢答键,就会违例,被扣分,并有红色发光二极管发光,提示主持人和参赛选手。3 控制台上应设有抢答开始、加分、调整时间以及分数查询等按键。4 在选手抢答后会有倒计时,选手应在规定的时间内回答完问题。5抢答器要有自动定时功能,并且一次抢答时间由主持人任意设定。当主持人启动“开始”键后,定时器自动减计时,并在显示器上显示。同时扬声器上发出短暂声响;6竞赛抢答器还应具有将选手编号和选手分数送到数码管显示的功能,使大家对分数一目了然。3 系统方案设计3.1抢答器工作流程此次设计的竞赛抢答系统采用八路抢答,最多可以有八组选手参与比赛,各位选手的分数最多可以显示到十位,但这不影响本设计的功能。如有需要,我们可以将其扩展到百位分数、千位分数。竞赛抢答器在最初会分别显示每名选手的编号和与其相对应的初始分数值,每名选手的初始分为10分,以避免有选手在竞赛中违例,将分值扣至负分。在显示了选手编号和分数后,会显示每道题的分值,默认为每题2分;如果在抢答器开机时按下分值调整的开关,每道题的分值就可以改变,分别可以调整为每题3分或每题5分。接下来将显示选手抢答后的计时时间,选手回答的问题必须在时限内完成并回答正确,主持人才会为选手加分。计时的时间也是可以调整的,默认为30秒;主持人可以通过按键将时间设置为60秒或90秒。在主持人按下开始键,允许抢答前,如果有选手提前按下了抢答键,则会因为其违例而扣掉1分,红色发光二极管会提示主持人和选手有人违例,并伴有蜂鸣声,同时数码管上会显示出违例选手的号码以及其扣掉1分后的得分。主持人按下开始键后,所有数码管熄灭,选手们可以开始抢答,当有选手抢答后,数码管上会显示抢到答题权的选手的编号,并开始倒计时,其他选手再按下抢答键是无效的,因为只有一名选手可以答题。当计时结束后,数码管会显示选手当前分数,等待主持人判断选手是否回答正确。回答正确主持人会为选手加分,选手的分数会显示出来;若不正确,则跳到下一轮竞赛,不为选手加分。如果主持人按下开始键后,无人抢答,则主持人可以控制抢答器,进入下一轮的抢答竞赛。当中场休息或比赛结束时,主持人可以通过查分按键来查询每组选手的得分情况,数码管会依次显示出选手的编号和与其相对应的分数。主持人和参赛选手可以凭此来了解自己的得分情况并评出优胜者。3.2功能模块设计 由以上需求分析,我们对竞赛抢答器作出了相应的功能模块设计。本设计的主要功能模块有:(1)键盘输入:8个按键,供给8组参赛选手进行抢答,单片机识别到有按键按下时,可以识别具体是哪位选手按下了抢答按键;主持人有抢答开始按键,题目的分值调整按键,计时调整按键,为选手加分的按键以及跳转到下一轮竞赛的按键。(2)译码显示:利用单片机的部分p1口和全部的p2口构成的输出口,信号经由驱动cd4511锁存译码进行显示。系统主要有两个显示部分,既选手编号的显示和选手分数的显示。根据这些功能模块,设计出了以下三种方案。3.5 方案一方案三功能框图如3-3所示。图3-3 方案三功能框图方案三使用at89c51、数码管、发光二极管、cd4511等器件就可以实现所需功能。4 硬件电路设计4.1 电源的设计由于at89c51单片机和cd4511锁存译码器件的工作电压范围都是+5v,因此本系统所使用的电源是由220v的交流电通过变压器换为9v,再通过桥式整流器,三端稳压器7805组成的直流稳压电源电路,可以稳定的输出+5v电压。电源电路需要一个桥式整流器、三端稳压器7805、104电容2枚、50v/470f电容和25v/100f电容各一个。电源电路如图4-1所示。图4-1 电源电路图4.2 复位电路计算机在启动运行时都需要复位,使中央处理器cpu和系统中的其他部件都处于一个确定的初始状态并从这个状态开始工作。mcs51单片机有一个复位引脚rst,它是史密特触发器(对于chmos单片机,rst引脚内部有一个拉低电阻),当振荡器起振后,该引脚上出现2个机器周期(既24个时钟周期)以上的高电平,使器件复位,只要rst保持高电平,mcs51就保持复位状态。复位电路有两种:上电自动复位电路和人工复位电路,在这里我们采用人工复位。当复位键按下时,单片机会初始化为0000h,使单片机从起始地址0000h单元开始执行程序。此外,当程序运行出错或操作错误使系统处于死锁状态时,可以利用按下复位键来重新启动。复位电路的核心是使rst的引脚出现10毫秒以上的稳定高电平,这样就能实现可靠的复位,复位端rst(9引脚)经电阻,开关(复位按键)与vcc电源接通,同时并联一个电容,这样能提供足够宽度的阈值电压完成复位。复位电路如图4-2。图4-2 复位电路图4.3 时钟晶振电路时钟电路是计算机的心脏,它控制着计算机的工作节奏。mcs51单片机允许的时钟频率因型号而异。mcs51单片机内部都有一个反向放大器,xtal1、xtal2分别为反向放大器输入和输出端,外接定时反馈元件以后就组成了振荡电路,产生时钟送至单片机内部的各个部件。xtal1(19脚)和xtal2(18脚)两端跨接石英晶体及两个电容,就构成了稳定的自激振荡器。石英晶体在起振后能在xtal2线上输出一个3v左右的正弦波,以便使单片机内的振荡器osc(oscillator)电路按石英晶振相同的频率自激振荡。在本系统中,电容器c1和c2取33pf,对振荡频率有微调作用;晶振频率为12mhz,使系统得到更精确的时钟。时钟晶振电路如图4-3所示。图4-3 时钟晶振电路图4.4 抢答电路利用按键输入作为抢答信号的输入,电路连接简单,通过程序可以实现很多功能。键盘输入分为独立联接式和行列式(矩阵式)两类。在按键数目比较多时可以采用行列式,以减少与单片机接口时所用的输入/输出线的数目,本设计模拟8路抢答,加上开始键,加分键、时间设置按键、分数设置按键、查分键和两个进入下一轮抢答的按键一共是16个按键,故采用独立联接式即可。各按键相互独立的接通一条输入数据线,该电路使用的是查询方式。8个抢答按键与at89c51单片机的p0口连接,p1、p2、p3口内部都有拉高电路是准双向口。使用p1、p2、p3口做为输入口时,可以直接接按键,按键的另一端直接接地。当按键按下时,p1、p2、p3口就可以读取低电平。达到通过按键对单片机进行控制的目的。p0口是开漏输出的,内部没有拉高电路,是三态双向i/o口,用p0口作为输入口时,一般需要连接10k的拉高电阻3。 图4-4 抢答电路图我们在此设计中使用p0口的八位作为输入口,接收八组选手的抢答信号时必须连接10k的拉高电阻。抢答电路见图4-4。当打开竞赛抢答器的电源开关时,单片机at89c51开始初始化,由程序将p0口的每一位都置为高电平。当有按键按下时,p0口中与按键相对应的那一位就会变为低电平,检测出p0口的哪一位变成了低电平,系统就会得知是几号选手按下了抢答按键,如果主持人已经按下了开始抢答按键,程序则会跳转到与之相对应的选手抢答子程序,进行倒计时以及等待主持人对答案的正确与否判定,对选手加分还是不加分;若选手按下抢答按键时,主持人并没有按下抢答开始按键,则系统会跳转到选手违例惩罚的子程序,对违例犯规的选手扣分并将分数和选手号的信息传送到显示电路,显示出选手的编号和分数。4.5 主持人控制台电路在比赛开始前,主持人可以对答题时间和每道题的分值进行调整。将答题时间调整为30秒、60秒和90秒;而每道题的分值可以设置在2分、3分、和5分不等。由于p1口和p3口是准双向口,它们的每一位可以分别定义为输入线和输出线,并且内部都具有拉高电路,因此当使用他们作为输入口时,不需要加拉高电阻,直接连在按键上即可。p3.2口至p3.7口分别为开始控制键、加分按键、回答错误转至下一题抢答按键、无人抢答直接跳至下一轮抢答按键、答题时间调整按键和分数查询按键。p1.6口和p1.7口上连接的是自锁开关,开关闭合时,与开关相连接的那一位将检测到高电平,程序跳转到相应的调分子程序。当两个开关同时按下时,以先按下的为准,开关都没有按下时,每道题的分值为默认的两分。主持人控制台电路见图4-5。 图4-5 主持人控制台电路图4.6 显示电路为了能够显示选手的编号、得分情况和倒计时时间,我们就必须加入显示电路,这里的显示电路是使用cd4511来为共阴极数码管提供驱动译码实现的。led数码管是由发光二极管显示字段的显示器件,由七个led发光二极管排列成“8”字,形状如图4-6。我们在这里使用的是共阴极数码管,共阴极数码管的公共端接地,另外的任意一端接高电平,数码管的相应字段就会被点亮。根据需要选择段码信号,数码管就可以显示“09”十个数字。abfcedgh图4-6 八段数码管共阴极数码管内部电路如图4-7所示。abcdefghcommmm图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时的数值。图4-8 cd4511引脚图显示电路如图4-9所示:图4-9 显示电路图在显示电路中cd4511的lt接高电平,le接低电平,bi接at89c51单片机的p1.4口,由p1.4口的信号变化来控制数码管的亮和灭,部分p1口和全部分的p2口分别接cd4511的dcba口,为显示电路输入bcd码。在cd4511与数码管之间一定要加限流电阻,防止数码管烧坏。p1口电路负责显示选手编号;p2口电路则用来显示选手的分数和倒计时的秒数。使用p1.5口连接一个红色的发光二极管,当有选手抢答违例时就会发光,提示主持人和参赛选手有人违例,以示报警。4.7 报警电路设计报警控制电路的控制信号由单片机at89c51的p1.5口输出,通过一个限流电阻与三极管c945的基极相连接。电路图如图4-10所示。(1)压电蜂鸣器工作原理压电蜂鸣器以压电陶瓷制作而成。压电陶瓷是一类有将压力与电流相互转换能力的特殊陶瓷。当压电陶瓷在一定方向上受到一个压力使其晶体结构发生形变时,它就会在内部产生一个电流,电流的变化与压力的变化密切相关。反之,当在压电陶瓷上加上一定频率的电压,就会在内部产生一定频率的电流,从而就会引起压电陶瓷微小形变,这一形变带动空气发生振动。如果频率适当,就产生蜂鸣声,可以被人耳所听见。(2)报警控制电路工作过程报警控制信号由单片机at89c51的p1.5端输出,通过一个限流电阻加到三极管c945的基极5。当p1.5端的输出信号发生变化时,则三极管c945将交替的工作于截止、饱和状态,形成高低电平的波,从而使压电蜂鸣器发出声音。保护电阻r4计算如下:设定p1.5脚电压为4.5v,三极管c945基极电流为3ma,电压为0.7v,那么r11取1.5k的标称阻值。q1c945r111.5ku8buzzervcc12j2gndp1.5图4-10 报警工作电路5 系统程序设计5.1 系统主程序设计在程序的最初,使用伪指令中的equ指令,将标号赋值。为选手分数,倒计时时间和每道题的分数赋值,使其具有固定的地址。为下面的编程提供方便。在将选手分数、倒计时时间和每道题的分值赋初值后,系统开始显示选手编号和选手相对应的分数。使用查表的方式为cd4511驱动器传送编码,其译码后经由数码管显示出来。在显示时,由p1.4口来控制cd4511的bi位,以改变数码管的显示和熄灭,具体方法是当p1.4置1时,数码管显示数字,当p1.4置零时,数码管全部熄灭。显示过程中调用延时子程序来控制显示时间,主程序流程图见图5-1。 选手分数显示的主要代码如下:mov p1,#011h ;1号选手 mov a,30hmov dptr,#tablemovc a,a+dptrmov p2,alcall delay_1s ;显示1.5秒lcall delay_500msmov p1,#00hlcall delay_50ms ;灭50毫秒结束了每位选手的编号和分数显示后,竞赛抢答系统将显示每道题的分值,若事先已经按下了修改分值的开关,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,amov dptr,#tablemovc a,a+dptrsetb p1.4mov p2,alcall delay_1sljmp shijian图5-1 系统主程序流程图在主持人按下开始抢答按键之前,如果有选手提前按下了抢答按键,竞赛抢答系统就会自动跳转到违例扣分的程序,为违例的选手扣一分,在数码管上显示选手的编号和扣分剩余的得分,同时红色发光二极管发光,以此提示主持人和全体参赛选手。这种机制就避免了有的选手始终按着抢答按键,霸占抢答权的现象。维持了抢答竞赛的正常秩序。主持人按下开始抢答按键后单片机系统的p1.4口会变为低电平,所有cd4511将不再为数码管传递信号,所有的数码管熄灭,选手可以开始抢答。有选手抢答,at89c51的p0口就会有电平变化,根据具体是p0口的哪一位而跳转到相应的子程序。显示抢到答题权的选手编号并倒计时。计时结束,主持人根据选手的答题情况来选择是否加分。正确则加分;错误不加分,并都跳转到下一轮竞赛中去。主持人按下开始抢答按键后,若没有选手抢答,主持人可以根据需要通过按键使竞赛抢答系统跳转到下一轮抢答竞赛。5.2延时子程序设计在竞赛抢答系统中,使用到最多的就是延时子程序,我们使用的延时程序是依靠多重循环来实现的,也就是软件延时程序。延时程序与mcs51单片机指令执行时间有很大的关系,使用12mhz晶振时,一个机器周期为1s,执行一条djnz指令的时间为2s,可以用双重循环来写出延时程序1。延时子程序流程图如下。图5-2 延时子程序程序流程图例如延时50ms的程序如下。del: mov r7,#200del1:mov r6,#123 nopdel2:djnz r6,del2 ;2123+2=248s djnz r7,del1 ;(248+2)200+1 ;=50.001msret5.3倒计时程序设计在竞赛抢答系统中,选手正常抢答时,数码管上会显示选手的编号和倒计时时间,这里倒计时使用了1s的延时程序,为计时时间设置一个初值,每隔1秒减一,并查表找到当前时间所对应的bcd码,由p2口传送给cd4511,经过译码后,由数码管显示出来秒数,以倒计时时间为30秒为例,当计时值为29时,就查表找到29的bcd码,在数码管上显示。依此类推显示28、27、26、。判断计时时间值是否为零,当计时值为零时,系统将停止计时,显示选手分数,等待主持人的裁决。倒计时子程序流程图如5-2所示。图5-2 延时子程序程序流程图倒计时程序主要代码如下:;1号选手daojishi1:mov r1,amov dptr,#tablemovc a,a+dptrmov p2,amov a,r1lcall delay_1sdec acjne a,#0,daojishi1ljmp jiafen1使用这种计时方法有一定的误差,每秒会有几s的误差,由于我们计时的时间最多为90秒。而且每次计时结束后,下次再计时又是从头开始,所以90秒内的误差不会超过几毫秒,这点误差我们可以忽略,若要连续计时更长的时间就不能使用这种方法了,因为长时间计时会累积出很大的误差。结论通过这段时间的设计,使我对单片机系统的应用有了全新的认识,提高了单片机应用系统的开发能力。在中小型比赛对竞赛抢答器的需求调查中,我了解到中小型的抢答竞赛需要什么样的抢答器,这样的抢答器都需要哪些功能,价格应该控制在什么位置,我的实践能力有了很大的提高。在硬件设计过程中,我使用了proteus6和protel2004。使用keil-51编写调试程序。搭接硬件和调试程序时,将proteus6和keil-51连接进行仿真,能够得到正确的逻辑电路和正确的程序。这些都使我对开发工具的使用更加熟练。 设计思路是制作中最重要的,只要你的设计思路是成功的,那你的设计已经成功了一半。因此我们在设计前做好充分的准备,像查找各种芯片的使用、基本的接法,计时电路的零时刻锁存,抢答器的选手号锁存等,为我们设计的成功打下坚实的基础。总体来说,这次实习我受益匪浅。在摸索该如何设计电路使之实现所需功能的过程中,特别有趣,培养了我们的设计思维,增加了实际操作能力。在让我体会到了设计电路的艰辛的同时,要熟练地掌握课本上的知识,这样才能对试验中出现的问题进行分析解决。致谢首先,感谢我的父母,你们永远健康快乐是我最大的心愿,我永远爱着你们。感谢我的导师孙威明及四年来的所有任课教师,他们严谨细致的作风一直是我工作、学习中的榜样;他们不拘一格的思路给予我无尽的启迪。感谢我的所有同学及大学里帮助过我的人,我在你们身上学到了很多我不具备的品德。在这里请接受我诚挚的谢意,谢谢你们!再见 大学!参考文献1 张友德,赵志英,涂时亮.单片微型机原理、应用与实验.复旦大学出版社,2004:93-95.2 谢宜人.单片机实用技术问答.人民邮电出版社,2003:55-58.3 何立民.mcs-51系列单片机应用系统设计.北京航空航天大学出版社,1993.4 李华主编.mcs-51系列单片机实用接口技术.北京航空航天大学出版社,1993.5 林志琦等.基于proteus的单片机可视化软硬件仿真.北京航空航天大学出版社,2006.6 沈关明,温冬娣主编.ibm-pc汇编语言程序设计.清华大学出版社,2003.7 姚燕南主编.微型计算机原理(第四版).西安电子科技大学出版社,2002.8 朱定华编著单片机原理及接口技术学习辅导.电子工业出版社, 2001.9 高明编著单片微机接口与系统设计.哈工大出版社,1995.a) stauffer. the smart house system: a technical overviewj .computer applications journal, 1993.ustrial electronics, control, and instrumentation, 1996. proceedings of the 1996 ieee iecon 22nd international conference on. 5-10 aug. 1996.10 kaplan ,and krueger. artificial life - artifical personality j .oz 15 kansas state university school of architecture, 1993.附录a程序代码;*;存放选手分数fenshu1 equ 30hfenshu2 equ 31h;*;存放计时时间daojishi equ 38h;*;每题答对得分meitidefen equ 39horg 0000hajmp chushi;*;每位选手初始给10分chushi: mov fenshu1,#010mov fenshu2,#010;*;倒计时,初始为30秒mov daojishi,#30;*;初始每题答对得分为2分mov meitidefen,#02ajmp xianshifen;*;显示分数初始分数xianshifen:mov p1,#011h ;1号选手 mov a,30hmov dptr,#tablemovc a,a+dptrmov p2,alcall delay_1s ;显示1.5秒lcall delay_500msmov p1,#00hlcall delay_50ms ;灭50毫秒mov p1,#012h ;2号选手mov a,31hmov dptr,#tablemovc a,a+dptrmov p2,alcall delay_1slcall delay_500msmov p1,#00hlcall delay_50msajmp mainmain: ;选择每题分数jb p1.6,meiti_3 ;闭合开关,每题3分jb p1.7,meiti_5 ;闭合开关,每题3分setb p1.4 ;允许显示mov a,meitidefen ;若开关没有闭合,默认每题2分mov dptr,#tablemovc a,a+dptrmov p2,alcall delay_1s ;显示2秒lcall delay_1scpl p1.4ajmp shijianmeiti_3: ;跳转到每题3分设置ljmp shezhi_3fenmeiti_5: ;跳转到每题5分设置 ljmp shezhi_5fenshijian: ;时间设定setb p1.4 ;允许显示mov a,daojishi mov dptr,#tablemovc a,a+dptrmov p2,a ;显示定时时间 mov p0,#0ffhmov p3,#0ffhjnb p3.6,tiaoshi ;调时键按下jnb p3.7,xianshi ;查分按键按下nopnopnopjnb p0.0,error1 ;1号选手抢答违例jnb p0.1,error2 ;2号选手抢答违例jnb p3.2,start ;开始键按下,开始抢答ljmp shijiantiaoshi: ;跳转到时间设置 ljmp shezhi_sjerror1:ljmp erro1error2:ljmp erro2xianshi:ljmp xianshifen;*;开始键按下,选手开始抢答start:mov p1,#00h ;数码管熄灭mov p0,#0ffhjnb p0.0,xuanshou1 ;1号选手抢答jnb p0.1,xuanshou2 ;2号选手抢答jnb p3.5,wuqiangda ;没有选手抢答ljmp startxuanshou1:ljmp xs1xuanshou2:ljmp xs2wuqiangda:ljmp shijian;*;选手抢答,进行相应处理;选手1xs1: ;1号选手抢答 mov p1,#011h ;显示选手号码mov a,daojishi lcall daojishi1 ;开始倒计时ajmp jiafen1 ;对选手进行加分处理jiafen1: mov a,fenshu1 ;显示选手原有分数 mov dptr,#tablemovc a,a+dptrmov p2,ajnb p3.3,jiafen1_1 ;选手答对lcall delay_10msjnb p3.3,jiafen1_1jnb p3.4,bujiafen1 ;选手答错,返回 进行下一轮抢答 lcall delay_10msjnb p3.4,bujiafen1ajmp jiafen1jiafen1_1: ;对选手加分 mov r2,meitidefenmov a,fenshu1add a,r2mov fenshu1,a ;显示选手加分后分数mov dptr,#tablemovc a,a+dptrmov p2,alcall delay_1slcall delay_500msmov p1,#00hljmp shijianbujiafen1: ;加分结束返回,进行下一轮抢答ljmp bujiafen;*;选手2xs2:mov p1,#012hmov a,daojishilcall daojishi2ajmp jiafen2jiafen2:mov a,fenshu2mov dptr,#tablemovc a,a+dptrmov p2,ajnb p3.3,jiafen2_1lcall delay_10msjnb p3.3,jiafen2_1jnb p3.4,bujiafen1lcall delay_10msjnb p3.4,bujiafen2ajmp jiafen2jiafen2_1:mov r2,meitidefenmov a,fenshu2add a,r2mov fenshu2,amov dptr,#tablemovc a,a+dptrmov p2,alcall delay_1slcall delay_500msmov p1,#00hljmp shijianbujiafen2:ljmp bujiafen;*ljmp shijian;倒计时程序;1号选手daojishi1:mov r1,amov dptr,#tablemovc a,a+dptrmov p2,amov a,r1lcall delay_1sdec acjne a,#0,daojishi1ljmp jiafen1;2号选手daojishi2:mov r1,amov dptr,#tablemovc a,a+dptrmov p2,amov a,r1lcall delay_1sdec acjne a,#0,daojishi2ljmp jiafen2;*;违例抢答erro1: ;1号选手违例mov p1,#031hmov a,fenshu1dec a ;减1分mov fenshu1,amov dptr,#tablemovc a,a+dptrmov p2,alcall delay_1slcall delay_1smov p1,#00hljmp shijianerro2: ;2号选手违例,减1分mov p1,#032hmov a,fenshu2dec a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人事个人工作计划5篇
- 防溺水的讲话稿8篇
- 水电工年度工作总结
- 2024年国开电大【本科】《个人理财》形考任务1234(含答案)
- DB31-T 1396-2023 风机系统运行能效评估技术规范
- 兰亭集序、滕王阁序、赤壁赋比较阅读
- 金融事业说明会
- 公路土工试验规程(JTG-E40-2007)
- 《矛盾定义新课教学》课件
- 《用电检查与稽查》课件
- 搬运装卸服务外包搬运装卸实施方案
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 医院手术室地震应急预案
- 上肢内固定取出的手术配合
- 宝丰县永顺铝土有限公司铝土矿、高铝粘土矿、水泥灰岩矿矿山地质环境保护与土地复垦方案
- 2024年合肥高新公共资源交易有限公司招聘笔试参考题库附带答案详解
- 英才计划面试常见问题及解答
- (高清版)TDT 1058-2020 第三次全国国土调查县级数据库建设技术规范
- (高清版)TDT 1075-2023 光伏发电站工程项目用地控制指标
- 农业经济学重点整理-农业经济学重点整理
- 心理疗愈创业版
评论
0/150
提交评论