




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
。 华 北 水 利 水 电 学 院 毕 业 设 计 任 务 书 设计题目:多路智力竞赛抢答器设计(软件部分) 专 业: 班级学号: 姓 名: 指导教师: 设计期限: 年 月 日开始 年 月日结束 院 系: 年 月 日 一、 毕业设计的目的 通过本次毕业设计,锻炼学生综合运用所学知识进行实践的能力,提高学生 自学知识、掌握技术的能力,提高学生实际动手能力,熟悉硬件电路设计的系 统流程,掌握 8 路多功能抢答器的原理与实现方法。 二、 主要设计内容 本系统采用模块化设计智能抢答器,在抢答比赛中广泛应用,各组分别有一 个抢答按钮。主持人有开始和显示、复位键。在后台主持人可以修改,抢答 时间和选手回答问题的时间设置,原始状态下抢答时间为 30s,回答问题时间 为 30s。通过加键和减键修改上述时间,改完后结束键确定。新时间开始有效, 主持人按键开始后,选手开始抢答为有效,数码显示屏显示抢答时间倒计时 和选手号,并且发生提示。主持人可按键结束,新一轮抢答开始。 三、 重点研究问题 1、如何实现对抢答器的时间和得分控制; 2、抢答器功能的完备。 四、 其他要求 1 焊接时注意不要出现不良焊接,以免造成短路。 2 尽量做到简化电路板,使其美观。 五、 设计成果要求 1、设计出 8 路多功能抢答器,使其能够正常显示时间以及抢答号码。 2、根据电路图焊接电路硬件并调试。 3、撰写 8 路多功能抢答器设计的报告。 六、 其它 1、收集资料,设计整个系统硬件原理框图和软件流程图。 2、硬件各个模块功能分析。 3、硬件子单元模块设计。 4、总体测试、调试等。 5、整理文档及外文翻译资料、编写毕业设计说明书。 华北水利水电学院本科生毕业设计开题报告 2011 年 3 月 21 日 学生 姓名 史世昭 学号 200712305 专业 电子信息科学与技术 题目 名称 多路智力竞赛抢答器设计(软件部分) 课题 来源 自选 主 要 内 容 1、课题背景 抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅 速、客观地分辨出最先获得发言权的选手。早期的抢答器只由几个三极管、 可控硅、发光管等组成,能通过发光管的指示辩认出选手号码。现在大多数 抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能, 如选手号码显示、抢按前或抢按后的计时、选手得分显示等功能。 本课题利用 STC89C51 单片机及外围接口实现的抢答系统,利用单片 机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得 系统能够正确地进行计时,同时使数码管能够正确地显示时间和选手号码。 用开关做键盘输出,扬声器发生提示。系统达到要求:在抢答中,只有开始 后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的 时间可以自己设定;可以显示是哪位选手有效抢答和无效抢答;抢答时间和 回答问题时间倒记时显示,时间完后系统自动复位;按键锁定,在有效状态 下,按键无效非法;增加抢答器计分功能,并且可以显示选手的得分情况。 2、课题的主要内容 本系统采用模块化设计智能抢答器,在抢答比赛中广泛应用,各组分别 有一个抢答按钮。主持人有开始和结束、复位键。在后台主持人可以修改, 抢答时间和选手回答问题的时间设置,原始状态下抢答时间为 30s,回答问 题时间为 30s。通过加键和减键修改上述时间,改完后结束键确定。新时间 开始有效,主持人按键开始后,选手开始抢答为有效,数码显示屏显示抢答 时间倒计时和选手号,并且发生提示。主持人可按键结束,新一轮抢答开始。 通过研究并在设计验证后发现,采用单片机技术设计的抢答器与目前常 用的抢答器相比,首先,电路连接简单,因为大多数功能单元都通过程序设 计在单片机内部,第二,工作性能可靠,抗干扰能力优于目前抢答器。所以 本研究是一个实用的工程设计,具有创新性。 3、 此次设计的主要目标是: 1,可实现 8 路选手的抢答 2,答题时间可由主持人自由设置 3,答题时主持人可同时设置下一题的答题时间 4,抢答信号由主持人发出,计时期间蜂鸣器发出声响 5,倒计时期间有 10 秒和 5 秒两种提示报警声音 6,各选手一旦抢答成功,可以手动给其计分,并可选择显示 采取的 主要技 术路线 或方法 查阅资料,熟悉组成八路多功能抢答器的技术指标和质量指标,初步构 思出整体电路。 熟悉仿真软件 PROTEUS 的使用,画出八路多功能抢答器电路图,利用 KEIL 软件编写程序,并进行仿真,根据仿真结果进行分析比较,得出具体 的设计电路图。购买元器件,检测元器件,按照电路原理图焊接成实物;完 成毕业设计论文。 预期的 成果及 形式 完成八路多功能抢答器的设计并成功焊接称电路板,使之能够正常运行。 撰写一篇关于所设计的报告,内容包括:设计中所涉及的技术知识,各 部分电路的组成及功能,设计的方法与步骤,设计中的心得体会和对以往所 学知识的理解等内容。 通过本次毕业设计,综合运用所学专业知识分析、解决实际问题的能力; 掌握文献检索、资料查询的基本方法以及获取新知识的能力;计算机硬件或 应用系统设计和开发的基本能力;书面和口头表达的能力;协作配合工作的 能力得到训练和提高。 时 间 安 排 周次 日期 内容安排 3 3.21 明确设计内容,查阅准备相关资料 4 3.22-3.28 熟悉设计内容,理清设计思路 5 3.29-4.04 了解抢答器的结构、原理、优点及应用 6 4.05-4.11 掌握电路的整体设计,熟悉八路多功能抢 答器的工作原理 7 4.12-4.18 熟悉 PROTEUS 软件和 KEIL 软件的使用 8 4.19-4.25 画出八路抢答器电路图及显示电路图 9 4.26-5.02 使用 PROTEUS 软件仿真,绘制仿真图形, 编写程序,并根据仿真结果进行分析比较 得出结论 10 5.03-5.09 按照电路原理图焊接成实物 11 5.10-5.16 撰写毕业设计论文 13 5.24-5.30 提交论文,答辩 指导教 师意见 签 名: 年 月 日 备注 1 程相波,卫安军.基于 MCS-51 单片机的八路抢答器设计方法研究J.北 京工业职业技术学院学报,2007,(2). 2林凌,李刚,丁茹,李小霞.新型单片机接口器件与技术M.西安:西安电子 科技大学出版社,2005 年. 3李增生.对抢答器的改进J.电子制作,2000,(12). 4马轲瀛.八路数字抢答器系统J.华商,2007,(23). 5高伟.STC89C51 单片机原理及应用M.北京:国防工业出版社,2008 年. 6蔡朝阳.单片机控制实习与专题制作M.北京:北京航空航天大学出版社, 2006 年. 7丁建伟.抢答器电路设计J.兰州工业高等专科学校学报,2008,(04). 8 胡学海.单片机原理及应用系统设计M.北京:北京电子工业出版社, 2005 年. 9 单片机与嵌入式系统. 北京航空航天大学,2008 10 苏小红 c 语言大学实用教程 电子工业出版社, 2004 11 范文斌 数字电子技术基础 清华大学出版社, 2007 I 摘 要 抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。但抢答器的使用频 率较低,且有的要么制作复杂,要么可靠性低。作为一个单位,如果专门购一台抢答器 虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢 答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。 本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用 STC89C51 单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理, 将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地 显示时间。用开关做键盘输出,蜂鸣器发生提示。同时系统能够实现:在抢答中,只有 开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可 以自己设定;可以显示是哪位选手有效抢答和无效抢答;抢答时间和回答问题时间倒记 时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无 效非法;增加抢答器计分功能,回答正确可以给予加分并且可以显示选手的得分情况。 关键词: 抢答器;STC89C51;多路 II ABSTRACT Responder as a tool has been widely used in various occasions intelligence and knowledge competitions.But Responder frequency of use is low, and some production is complex low reliability.As a unit, if the Responder specifically purchased a economically affordable though, but use few number of times each year, often due to long-term storage (electronic devices) Responder damage, then the trouble and time of the acquisition will affect theactivities carried out, so the design of this Responder. Answer in this design is based on eight basic concept.Taking into account the need to set the time limit to answer according to the function, the use of external interface MCU and STC89C51 the answer in the system, using the microcontroller timer / counter timing and counting in principle, the hardware and software together organically, making the system can correctlyto carry out time, while making the digital display the time correctly.The keyboard to do with the switch output, buzzer prompt occurs.At the same time the system can be achieved: In the Responder, the Responder is valid only after the start, if the answer in before the answer in the beginning to be invalid; answer in a limited time and answer the questions of the time can be set; can show who is calling players answer in effective and ineffective Responder;answer in the time and the time to answer questions countdown show full time after the system automatically reset the time and the master force reduction; key lock, in the effective state, the button is not illegal; increase Responder scoring function, III to give extra points for correct answers andplayers can show the scores. Key words: Responder; STC89C51; Multiple 目 录 摘 要 I ABSTRACT .II 第一章 绪论 .1 1.1 课题研究的相关背景 1 1.2 选题的目的和意义 1 1.3 课题研究的内容 1 1.4 国内外研究现状 2 1.5 抢答器目前存在的主要问题 2 第二章 抢答器的系统概括 .3 2.1 系统的主要功能 .3 2.2 系统需求分析 .4 2.3 抢答器的工作流程 .4 2.4 抢答器的工作过程 .5 2.5 抢答器的优点及组成 .6 第三章 软件设计 .7 3.1 主程序系统结构 .7 3.2 软件任务分析 .7 3.3 单片机的 C 程序设计简介 .8 3.4 主程序设计 .9 3.4.1 定时器初始化函数: .10 3.4.2 倒计时函数: 10 3.4.3 数码管显示函数: .11 3.4.4 采集选手并显示号码: 12 3.4.5 设定时间并显示: 13 3.4.6 选手抢答成功并回答正确予以加分并且显示得分: 15 3.5 本章小结 16 第四章 PROTEUS 仿真系列组图 .17 4.1 复位图 17 4.2 设置计时时间 17 4.3 抢答成功并显示倒计时 18 4.4 答题正确并显示其得分 18 4.5 本章小结 18 第五章 总结与展望 .19 5.1 总结 19 5.2 展望 20 参 考 文 献 21 致 谢 22 附录一 总体电路图 23 附录二 实物图 24 附录三 软件代码 25 附录四 外文及翻译 43 英文资料 .43 中文翻译 .48 华北水利水电学院毕业设计 1 第一章 绪论 1.1 课题研究的相关背景 抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地 分辨出最先获得发言权的选手。早期的抢答器只由几个三极管、可控硅、发光管等组成, 能通过发光管的指示辩认出选手号码。现在大多数抢答器均使用单片机(如MCS-51型) 和数字集成电路,并增加了许多新功能,如选手号码显示、抢按前或抢按后的计时、选 手得分显示等功能。 本课题利用STC89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计 数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时, 同时使数码管能够正确地显示时间和选手号码。用开关做键盘输出,扬声器发生提示。 系统达到要求:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢 答限定时间和回答问题的时间可以自己设定;可以显示是哪位选手有效抢答和无效抢答; 抢答时间和回答问题时间倒记时显示,时间完后系统自动复位;按键锁定,在有效状态 下,按键无效非法;增加抢答器计分功能,并且可以显示选手的得分情况。 1.2 选题的目的和意义 通过这次设计,掌握 51 单片机的原理,了解简单多功能抢答器组成原理,初步掌 握多功能抢答器的调整及测试方法,提高动手能力和排除故障的能力。同时通过本课题 设计与装配、调试,提高自己的动手能力,巩固已学的理论知识,建立单片机理论和实 践的结合,了解多功能抢答器各单元电路之间的关系及相互影响,从而能正确设计、计 算定时计数的各个单元电路。初步掌握多功能抢答器的调整及测试方法。提高动手能力 和排除故障的能力。 1.3 课题研究的内容 本系统采用模块化设计智能抢答器,在抢答比赛中广泛应用,各组分别有一个抢答 按钮。主持人有开始和显示、复位键。在后台主持人可以修改,抢答时间和选手回答问 华北水利水电学院毕业设计 2 题的时间设置,原始状态下抢答时间为 30s,回答问题时间为 30s。通过加键和减键修 改上述时间,改完后结束键确定。新时间开始有效,主持人按键开始后,选手开始抢答 为有效,数码显示屏显示抢答时间倒计时和选手号,并且发生提示。主持人可按键结束, 新一轮抢答开始。 通过研究并在设计验证后发现,采用单片机技术设计的抢答器与目前常用的抢答器 相比,首先,电路连接简单,因为大多数功能单元都通过程序设计在单片机内部,第二, 工作性能可靠,抗干扰能力优于目前抢答器。所以本研究是一个实用的工程设计,具有 创新性。 1.4 国内外研究现状 抢答器作为一种电子产品,早已广泛应用于各种智力和知识竞赛场合,但目前所使 用的抢答器有的电路较复杂不便于制作,可靠性低,实现起来很困难;有的则用一些专 用的集成块,而专用集成块的购买又很困难。为适应高校等多代表队单位活动的需要而 设计一个多功能抢答器,这种抢答器具有电路简单,元件普通,易于购买等优点,很好 地解决了制作者制作困难和难于购买的问题。在国内外已经开始了普遍的应用。 1.5 抢答器目前存在的主要问题 目前多数抢答器存在 3 个不足之处:第一,现场线路连接复杂。因为每个选手位于 抢答现场的不同位置,每个选手与控制台之间要有长长的连接线。选手越多,连接线就 越多、越乱,这些连接线不仅影响了现场的美观,而且降低了抢答器的可靠性,增加了 安装的难度,甚至影响了现场人员的走动。第二,电路复杂。因为单片机只完成号码处 理、计时、数据运算等功能,其它功能如选手号码的识别、译码、计分显示等仍只能通 过数字集成电路完成。采用单片机扫描技术识别选手抢按号码时,电路的延迟时间较大。 第三,选手抢按成功,但出现没有抢答被记录的问题。 华北水利水电学院毕业设计 3 第二章 抢答器的系统概括 2.1 系统的主要功能 本系统是借用单片机采用模块化设计的八路多功能抢答器,包括 8 路抢答按纽、计 时显示、提示功能等(根据需要可另设或多设相关功能) 、开始与结束控制按钮、时限 设定、各种相关显示调控功能等(根据需要也可另设或多设相关功能) 。 参赛者系统,除享有抢答按纽的权利功能外,还有人性化的提示功能和时间提示功 能,也可设定由主控控制在参赛者终端表现的趣味性功能等;主控系统的控制按钮做开 始与结束控制,能够控制倒计时的时间,可以根据参赛者回答问题的正确与否给与是否 加分的操作,能够按键显示参赛者的得分情况。 系统的主要功能模块方框图如图 2-1 所示。 STC 89C51 单片机 8 位 七段 数码 管显 示 声音电路 = 8 路抢答 按键输入 复位电路 开始、显示 按键输入 加一、减一 按键输入 时钟 图 2-1 系统主要功能模块 本系统采用模块化设计的八路抢答器,在抢答比赛中广泛应用,各组分别有一个抢 答按钮。一共有 8 个按键输入,分别对应 8 路选手的抢答按键。 主持人有开始和显示键。在后台主持人可以修改,抢答时间和选手回答问题的时间 设置,原始状态下抢答时间为 30s,回答问题时间为 30s。通过加键和减键修改上述时 间。新时间开始有效,主持人按键开始后,选手开始抢答为有效,数码显示屏显示抢答 华北水利水电学院毕业设计 4 时间倒计时和选手号,并且发出声音提示。参赛者抢答后,主持人可根据其回答的是否 正确来给与其是否加分,并能够通过显示按钮将其显示出来。 单片机是整个抢答器的核心,内部电路设计用 C 语言编写。它完成了时间参数的设 定,抢按号码的译码,保存;显示;输出,抢按及答题倒计时功能等。 2.2 系统需求分析 1,可实现 8 路选手的抢答 2,答题时间可由主持人自由设置 3,答题时主持人可同时设置下一题的答题时间 4,抢答信号由主持人发出,计时期间蜂鸣器发出声响 5,倒计时期间有 10 秒和 5 秒两种提示报警声音 6,各选手一旦抢答成功,可以手动给其计分,并可选择显示 7,答题一旦开始,主持人能强制转到计时界面。 2.3 抢答器的工作流程 抢答器的基本工作原理:在抢答竞赛或呼叫时,有多个信号同时或不同时送入主电 路中,抢答器内部的寄存器工作,并识别、记录第一个号码,同时内部的定时器开始工 作,记录有关时间并产生超时信号。在整个抢答器工作过程中,显示电路、声音电路等 还要根据现场的实际情况向外电路输出相应信号。抢答器的工作流程分为:系统复位、 时间设定,计分设置等几部分,如图2-2所示,下面分别予以介绍。 华北水利水电学院毕业设计 5 图2-2 抢答器工作流程 2.4 抢答器的工作过程 1、如果想调节抢答时间或答题时间,按“加一”键或“减一”键进入调节状态, 此时会显示现在设定的抢答时间或回答时间值,如想加十秒按一下“加“ 键,如果想减十 秒按一下“减”键,时间 LED 上会显示改变后的时间。 2、主持人按“抢答开始“键,会有提示音,并立刻进入抢答倒计时(预设 30s 抢答 时间) ,如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设 30s 回答时间) ,不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到会每秒 响一下提示音。 3、如倒计时期间,参赛者按下其当前按钮,显示器将会显示其对应号码,并进入 其回答倒计时时间。 4. 参赛者回答完毕后,主持人可根据其回答的是否正确来给与是否予以是否加分。 总而言之,本课题利用STC89C51单片机及外围接口实现的抢答系统设计了抢答器, 该抢答器增加了新功能、提高了系统的可靠性、简化了电路结构、节约了成本,是一个 设置时间 开始 倒计时 抢答并显示其号码 回答并显示 其回答时间 判断是否回答 正确并予以加 分 结束 开 始 下 一 题 华北水利水电学院毕业设计 6 实用的工程设计。 2.5 抢答器的优点及组成 在知识比赛中,特别是做抢答题目的时候,在抢答过程中,为了知道哪一组或哪一 位选手先答题,必须要设计一个系统来完成这个任务。如果在抢答中,靠视觉是很难判 断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢 答时间相差几微秒,也可分辨出哪组优先答题。本文主要介绍了单片机抢答器设计及工 作原理,以及它的实际用途。系统工作原理本系统采用 STC89C51 单片机作为核心。控 制系统的四个模块分别为:存储模块、显示模块、声音模块、抢答开关模块。该抢答器 系统通过八个按键输入抢答信号;利用存储程序来完成软件的设计;利用 2 个 4 位七段 共阴数码管来完成显示功能。工作时,用按键通过开关电路输入各路的抢答信号,经单 片机的处理,输出控制信号,控制 8 位七段共阴数码管和喇叭工作。在数码管上显示哪 一组先答题,从而实现整个抢答过程。 华北水利水电学院毕业设计 7 第三章 软件设计 3.1 主程序系统结构 主程序主要包括以下几个模块:系统初始化模块,按键模块,显示模块。其中按键 模块又包括调整时间模块,正确抢答模块,回答计分模块。 初始化模块就是将系统的所有数据先初始化,然后等待扫描或者中断;按键模块就 是通过系统的键盘扫描来判断具体是哪个模块得到了运行;而显示模块就是根据不同的 情况分别显示出来。系统结构图如下: 图 3-1 软件系统结构图 3.2 软件任务分析 软件任务分析环节是为软件设计做一个总体规划。从软件的功能来看可分为两大类: 一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示,打印,输出控制 和通信等,另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统 软件中充当组织调度角色的软件。这两类软件的设计方法各有特色,执行软件的设计偏 回 答 计 分 模 块 正 确 抢 答 模 块 数码显示模块 系统初始化模块 按键模块 调 整 时 间 模 块 华北水利水电学院毕业设计 8 重算法效率,与硬件关系密切,千变万化。 软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进行功能定义和 接口定义(输入输出定义) 。在各执行模块进行定义时,将要牵扯到的数据结构和数据 类型问题也一并规划好。 各执行模块规划好后,就可以监控程序了。首先根据系统功能和键盘设置选择一种 最适合的监控程序结构。相对来讲,执行模块任务明确单纯,比较容易编程,而监控程 序较易出问题。这如同当一名操作工人比较容易,而当一个厂长就比较难了。 软件任务分析的另一个内容是如何安排监控软件和各执行模块。整个系统软件可分 为后台程序(背景程序)和前台程序。后台程序指主程序及其调用的子程序,这类程序 对实时性要求不是太高,延误几十 ms 甚至几百 ms 也没关系,故通常将监控程序(键 盘解释程序) ,显示程序和打印程序等与操作者打交道的程序放在后台程序中执行;而 前台程序安排一些实时性要求较高的内容,如定时系统和外部中断(如掉电中断) 。也 可以将全部程序均安排在前台,后台程序为“使系统进入睡眠状态” ,以利于系统节电 和抗干扰。 3.3 单片机的 C 程序设计简介 C 语言语法简洁,紧凑;使用方便,灵活;具有丰富的运算符和数据结构;并且能 够通过函数实现程序的模块化。它既具有高级语言的一切功能,也具有低级语言的一些 功能。因此它既可以用来编写系统软件,也可以用来编写应用程序。它是当前国际上广 泛流行的一种计算机高级语言。 单片机的软件设计也可通过 C 来实现,但需注意以下几点: 1.头文件必须的特殊包含“regx51.h” ,此头文件定义了所有 8051 功能寄存器及中 断。若不包含此头文件,则程序编译时出错,编译器不识别这些特殊功能寄存器名。 2.为了和硬件相联系,常定义些特殊位,可访问位寻址对象。例: sbit itemer7=P16。 华北水利水电学院毕业设计 9 3.4 主程序设计 在本设计中包括了以下主要的程序:主程序,定时器初始化程序,数码管显示程序, 采集选手程序,抢答时间调整程序,回答时间调整程序,倒计时程序,回答正确给与加 分程序,发声程序。主流程图如 3-2 所示: 显示 开始键 加一键 减一键 调整 时间 调整回 答时间 抢答 回答 正确 给与 加分 回答 错误 不加分 Y Y Y 初始化 图 3-2 程序设计流程图 如图所示,当系统初始化完成之后,数码管会显示出其初始化的情况,当“开始” 键按下之后,系统将会对 8 个抢答按钮进行扫描,如果有选手抢答成功的话,数码管将 会显示其对应号码,并且开始回答倒计时,当选手回答完毕后,主持人可根据选手的答 题情况,判断是否按下“加分”键来给予加分。在开始前,主持人可以通过“加 1”和 “减 1”键来调整选手的抢答和回答时间,并且可以通过“显示”键来直接显示出调整 华北水利水电学院毕业设计 10 的时间以及各个选手的得分情况。 以下是各个程序的设计: 3.4.1 定时器初始化函数: void timer_init() TMOD=0x11;/T0,T1 分别工作在定时器方式 1 TH0=TH0NUM; TL0=TL0NUM; TH1=TH1NUM; TL1=TL1NUM; TR0=1; /开定时 TR1=1; ET0=1; /开定时中断 ET1=1; EA=1; void timer1() interrupt 3 TH1=TH1NUM; TL1=TL1NUM; i+; buzzer=OFF; /计时器 0 中断 void temer0() interrupt 1 TH0=TH0NUM; TL0=TL0NUM; t+; /扫描频率到 ,选取相应数码管点亮 if(t=6) /共扫描六个数码管 t=0; reg_sign(); 此程序主要说明开定时器 1 中断为计时功能,开定时器 0 中断为扫描功能 3.4.2 倒计时函数: void display() if(i=20)/计时到 1s 华北水利水电学院毕业设计 11 i=0; buzzer=ON; sum40-; if(sum40=-1) /计时到 10s sum40=9; sum41-; if(sum41=-1)/最大时间为 99s sum41=9; 通过计算可以得知,定时器 1 每 50ms 发生一次中断,所以当定时器发生 20 次中断 的时候,正好经过 1 秒,以此来完成对 1 秒的倒计时。此程序主要完成对选手抢答及回 答倒计时的功能。 3.4.3 数码管显示函数: 显示程序采用动态扫描。在显示程序中,用到的数码管总共只有6位,可通过锁存 器的锁存功能来完成对数码管位的控制。连续的动态扫描,轮流向各位数码管送出字形 码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人感觉是一组稳定的数据 显示。程序循环检测是否有信号,执行相应处理,最后通过显示程序显示相应的数值和 符号。下图为数码管显示流程图: 开始 初始化 段选? 位选? P0 口数据输入 数码管显示 Y N N Y 华北水利水电学院毕业设计 12 图 3-3 数码管显示流程图 其部分代码如下: void reg_sign() xuan_e=0; P0=xuant; xuan_e=1; /允许送数 xuan_e=0; /禁止送数 reg_e=0; if(reg_i=0) /if 嵌套来实现各个显示功能 led(m); else if(reg_i=1) show_time(); else play_num(reg_i); reg_e=1; reg_e=0; 3.4.4 采集选手并显示号码: 系统一直对选手按键进行扫描,当选手的抢答键按下之后,系统将会在数码管上显 示其对应号码,此时,如果有其他选手按键,将会认为抢答无效。其流程图如下: 华北水利水电学院毕业设计 13 开始 按键按下? 数码管显示 选手号码 其他选手 抢答无效 下 一 题 结束 Y N 图 3-4 显示抢答选手号码流程图 其部分代码如下: void led(uchar itemer)/格式:-0- 00 extern uchar t; if(t=3 | t=5) P0=0x10; /这两位显示“-” else if(t=2) /该位黑屏 P0=0x00; else if(t=4) /该位显示选手号码 P0=regitemer; else P0=regsum4t;/前两位为时间显示 3.4.5 设定时间并显示: 系统初始化完成之后,主持人可根据实际需要来调整抢回答时间, “加 1”按钮按下, 时间加 10 秒, “减 1”按钮按下,时间减 10 秒,并且可以在数码管显示出来。流程图如 下: 华北水利水电学院毕业设计 14 初始化 “加 1” 按键按下? “减 1” 按键按下? 时间加 10 秒 时间减 10 秒 数码管显示 Y N N Y 图 3-5 设定时间并显示流程图 其部分代码如下: void set_time() /时间设置按键功能和显示按钮功能 extern char time; extern uchar reg_i; if(time_up=0) delay(); if(time_up=0) /加一按钮 time+; if(time=10) time=0; sum43=time; /设定时间与定时时间一致 while(!time_up); if(time_down=0) /减一按钮 delay(); if(time_down=0) time-; if(time=-1) time=9; 华北水利水电学院毕业设计 15 sum43=time; /设定时间和定时时间一致 while(!time_down); 3.4.6 选手抢答成功并回答正确予以加分并且显示得分: 当选手抢答成功后,开始回答,此时会有倒计时,回答完毕后,主持人可根据其是否 回答正确,通过“加分”键来给予加分。其流程图如下: 开始 抢答成功并回答 “加分” 按键按下? 该选手积分 加 1 并显示 结束 Y N 图 3-6 选手得分的流程图 其部分代码如下: void play_num(uchar wwt) /此函数为调用时显示各位选手的得分格式 :0-000 extern uchar t; switch(wwt) case 2: if(t=2) /此位显示 0 华北水利水电学院毕业设计 16 P0=reg0; else if(t=3 | t=4) /此两位显示“ - “ P0=0x10; else if(t=0) P0=regcode_num0;/最右边是选手的得分,个位 else if(t=1) P0=regcode_num8;/得分十位(最大积分 99 分) else P0=reg1; /选手号码显示在最左边 break; case 3: if(t=2) P0=reg0; else if(t=3 | t=4) P0=0x10; else if(t=0) P0=regcode_num1; else if(t=1) P0=regcode_num9; else P0=reg2; break; 3.5 本章小结 本章是抢答器的软件设计,实现抢答功能主要是通过编写程序的方法集成在 STC89C51 内部。将程序下载到硬件电路中,实现抢答功能。 华北水利水电学院毕业设计 17 第四章 Proteus 仿真系列组图 4.1 复位图 图 4-1 复位显示 该图显示当单片机复位后,在 8 位七段数码管上显示的初始状态。 4.2 设置计时时间 图 4-2 计时时间为 30 秒 图 4-3 计时时间为 20 秒 通过加一和减一按钮来设定抢答的时间。 华北水利水电学院毕业设计 18 4.3 抢答成功并显示倒计时 图 4-4 四号选手抢答 图中显示的是若 4 号选手抢答成功的时候,8 位数码管的第一显示是“4”号选手抢 答成功,最后两位显示选手答题倒计时时间还有 19 秒。 4.4 答题正确并显示其得分 图 4-5 四号选手的得分 4.5 本章小结 本章是抢答器的系统仿真部分,并对抢答器的各个流程做出了具体仿真结果。从仿 真图上可以进一步得出结论:利用单片机设计的抢答器工作性能稳定,延迟时间小,电 路结构简单,是一个实用、创新性的电路设计。 华北水利水电学院毕业设计 19 第五章 总结与展望 5.1 总结 本文研究与设计的八路多功能抢答器采用了通用的电子元器件,利用STC89C51单 片机及外围接口实现抢答系统,利用单片机的定时器/ 计数器定时和记数的原理,将软、 硬件有机地结合起来。理论联系实践,体现出大学生动手能力。通过查资料和搜集有关 的文献,培养了自学能力和动手能力。并且由原先的被动的接受知识转换为主动的寻求 知识,这可以说是学习方法上的一个很大的突破。在以往的传统的学习模式下,我们可 能会记住很多的书本知识,但是通过毕业论文,我们学会了如何将学到的知识转化为自 己的东西,学会了怎么更好的处理知识和实践相结合的问题。把握重点、攻克难关,学 到用到、活学活用。在设计过程中由于时间仓促有很多地方难免存在不足之处,硬件设 计已经完成,在软件设计中有些功能还尚未开发出来。但在以后的工作中,我们会严格 要求自己,追求完美。 整个设计通过了软件和硬件上的调试、仿真。我想这对于自己以后的学习和工作都 会有很大的帮助的。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书 本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地 理解,而且要不断地更正以前的错误思维。对于单片机设计,其硬件电路是比较简单的, 主要是解决程序设计中的问题。而程序设计是一个很灵活的东西,它反映了你解决问题 的逻辑思维和创新能力。它才是一个设计的灵魂所在。因此在整个设计过程中大部分时 间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关 键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件和硬件 的结合,二者是密不可分的。 但是,通过这次设计我也发现自己的很多不足之处。在设计过程中我发现自己考虑 问题很不全面,自己的专业知识掌握的很不牢固,所掌握的计算机应用软件还不够多, 我希望自己的这些不足之处能在今后的工作和学习中得到改善。而且,通过这次设计, 我懂得了学习的重要性,学会了坚持和努力,这将为以后的学习做出了最好的榜样! 华北水利水电学院毕业设计 20 5.2 展望 回头再看看该设计,还可以将设计的扩展功能增强:1、可以设计声控装置,在主 持人说开始时,系统自动完成清零并开始计时的功能。2、将抢答按键用无线实现,如 红外线,使抢答者可以远距离进行抢答,并简化按键模块的线路布置。3.设计一直没有 解决的问题,就是如果两个选手同时抢答予以什么处理。如果提供相应的器材及时间上 的宽限,一定可以完成上述扩展功能,进一步完善作品。 华北水利水电学院毕业设计 21 参 考 文 献 1 程相波,卫安军.基于 MCS-51 单片机的八路抢答器设计方法研究J.北京工业职业 技术学院学报,2007,(2). 2林凌,李刚,丁茹,李小霞.新型单片机接口器件与技术M.西安:西安电子科技大学出 版社,2005 年. 3李增生.对抢答器的改进J.电子制作,2000,(12). 4马轲瀛.八路数字抢答器系统J.华商,2007,(23). 5高伟.AT89 单片机原理及应用M.北京:国防工业出版社,2008 年. 6蔡朝阳.单片机控制实习与专题制作M.北京:北京航空航天大学出版社,2006 年. 7杨凌霄.微型计算机原理及应用M.江苏:中国矿业大学出版社,2004 年. 8丁建伟.抢答器电路设计J.兰州工业高等专科学校学报,2008,(04). 9 胡学海.单片机原理及应用系统设计M.北京:北京电子工业出版社,2005 年. 10 单片机与嵌入式系统. 北京航空航天大学,2008 11 马岩 单片机的 c 语言应用程序设计 北京航空航天出版社, 2002 12 边春元 c51 单片机典型模块设计与应用 机械工业出版社, 2008 13 苏小红 c 语言大学实用教程 电子工业出版社, 2004 14 范文斌 数字电子技术基础 清华大学出版社, 2007 华北水利水电学院毕业设计 22 致 谢 本毕业设计是在辛艳辉老师精心指导和大力支持下完成的。 辛老师以其严谨求实的治学态度、高度的敬业精神、兢兢业业、孜孜以求的工作作 风和大胆创新的进取精神对我产生重要影响。她渊博的知识、开阔的视野和敏锐的思维 给了我深深的启迪。 面对如此复杂的电路设计,真的十分迷茫,设计时间安排以及参考书目也不知从何 下手,此时经验丰富的辛老师对我的课程设计的开展起到了非常重要的引导作用,同时, 设计中遇到的难题也在与辛老师的指导与讨论中得以一一解决。在此次毕业设计过程中 我学到了许多关于电路设计、单片机及其开发方面的知识,实践技能有了一定的提高。 另外,我还要特别感谢同班同学对我论文写作的指导,他们为我完成这篇论文提供 了巨大的帮助,使我得以顺利完成此次毕业设计。同时对大学两年我所有的任课老师, 在此我也表示衷心的感谢,是他们让我具有了扎实的基础知识,学会了走向工作岗位的 专业技能。 最后,再次对关心、帮助我的老师和同学表示衷心地感谢。 史世昭 2011 年 5 月 华北水利水电学院毕业设计 23 附录一 总体电路图 华北水利水电学院毕业设计 24 附录二 实物图 华北水利水电学院毕业设计 25 附录三 软件代码 头文件: #ifndef _includes_h_ #define _includes_h_ #include “regx51.h“ #define reg_e P2_6 #define xuan_e P2_7 #define OFF 1 /蜂鸣器关 #define ON 0 /蜂鸣器开 #define uchar unsigned char #define uint unsigned int #define TH1NUM 0X4b /计时时间设置,根据不同大小的晶振 #define TL1NUM 0Xfe #define TH0NUM 0Xf0 /扫描频率控制 #define TL0NUM 0X00 sbit itemer1=P10; sbit itemer2=P11; sbit itemer3=P12; sbit itemer4=P13; sbit itemer5=P14; sbit itemer6=P15; sbit itemer7=P16; sbit itemer8=P17; sbit buzzer =P23; /蜂鸣器 sbit start =P36; /主持人启动按钮 sbit time_up =P35; /时间加 1 sbit time_down =P37; /时间减 1 sbit disreg =P34; /屏幕显示 sbit panduan =P33; 华北水利水电学院毕业设计 26 bit f=0; void led(uchar); uchar key(); void reg_sign(); void set_time(); void show_time(); void play_num(); void num_code(); uchar reg=0xed,0x81,0xf4,0xb5,0x99, 0x3d,0x7d,0x85,0xfd,0xbd, 0x10; char sum4=0,0,0,0,0,0;/6 位数码管显示 uchar xuan=0xdf,0xef,0xf7,0xf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有关安全的施工规范
- 静脉血气操作技巧
- 学校危房加固方案范本
- 临泽硅pu跑道施工方案
- 宁夏葡萄酒与防沙治沙职业技术学院《医学显微形态学(一)》2023-2024学年第一学期期末试卷
- 重庆资源与环境保护职业学院《电脑辅助设计一(AutoCAD)》2023-2024学年第二学期期末试卷
- 新疆轻工职业技术学院《临床医学概要2》2023-2024学年第二学期期末试卷
- 山西卫生健康职业学院《网球》2023-2024学年第二学期期末试卷
- 《全球文化交流盛宴》课件
- 四川师范大学《医学科研方法入门及设计》2023-2024学年第二学期期末试卷
- 骆驼祥子考点单选题100道及答案解析
- 新教科版小学1-6年级科学需做实验目录
- 电动葫芦出厂检验报告
- 如何培养孩子的创造力与想象力
- 挖机大中斗油封资料,液压泵资料
- 住院患者探视登记表
- 废气处理工程施工方案模板
- 境外所得个税新政解析PPT课件
- 工程网络计划技术概述
- 《不定期船营运管理模拟系统》实验指导书
- 华上集团基本法讲述
评论
0/150
提交评论