单片机课程设计(完整版六路抢答器)

合集下载

六路抢答器课程设计(附程序)

六路抢答器课程设计(附程序)

北京科技大学本科生课程设计说明书题目:六路抢答器学院:专业:姓名:学号:指导教师签字:摘要随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。

各种技术都离不开计算机,计算机已经在人们生活的各个方面普及了。

本课程设计是微机原理及接口技术的简单应用。

运用所学的微机原理和接口技术知识完成六路抢答器。

通过硬件与软件的结合,用我们刚刚学过的汇编语言编写程序模拟分析了六路抢答器出现的各种情况。

该抢答器以主持人为中心,操作抢答器的开始与复位,选手们可以根据主持人的提示进行抢答,该抢答器基本能满足现在社会抢答的需要,设计简单,成本低,适合小型抢答场合。

关键词:抢答器硬件电路软件编程模拟系统前言随着人们生活水平的提高,微机已经成为人们生活中重要的部分,掌握微机原理是我们信息类专业的必备知识。

8086/8088CPU是基础且广泛应用的处理器,它由执行单元和总线接口部分组成。

本说明书是包括课程设计的要求、汇编语言程序以及相关的硬件设计等内容组成。

根据汇编语言的优点,运用汇编语言的来编写程序,使程序更加便于阅读和理解。

本说明书是根据本人课堂上所学的知识以及参考相关文献的基础上编写的。

通过这次的编写,使我对微机原理和各种软硬件系统的认识变得更加深刻,打下实践的基础。

全书共分为4章,第1章为课题的来源,为本说明书的导论,基本概括来介绍了本设计题目的基本要求。

第2章为总体的设计思路,系统的介绍了本课题的具体如何实现。

第3章为硬件设计,该部分主要介绍了所需要的硬件和硬件的连接。

第4章为软件设计,该部分主要介绍了设计流程和具体实现的程序代码。

本说明书的编写得到了许多同学的关心和帮助,正是由于他们的指导、帮助和大力支持,才使本说明书得以顺利的完成。

由于本人水平有限,说明书中难免存在不足与疏漏之处,恳请老师不吝指正。

目录摘要 (2)引言 (3)课程设计任务书 (5)1[课题来源] (6)1.1[需求分析] (6)1.1.1[课题来源的意义] (6)1.1.2[设计内容] (6)1.1.3[设计目的] (6)1.1.4[系统功能] (6)2[总体设计思路] (8)2.1[设计思路] (8)2.2[红黄绿灯的表示] (9)3[硬件设计] (10)3.1[芯片8255] (10)3.1.1[芯片8255,8253,8259的引脚] (10)3.1.2[芯片8255,8253,8259的工作方式] (11)3.2[硬件连接] (12)3.2.1[硬件连接图] (12)3.2.2[其他配置] (14)4[软件设计] (15)4.1[程序流程图] (15)4.2[程序设计] (16)小结 (23)参考文献 (24)课程设计任务书一.设计内容设计一个具有6路抢答的抢答器,启动计算机,计算机自动为系统各芯片进行初始化,抢答器开始工作。

基于-51单片机6路抢答器

基于-51单片机6路抢答器

摘要此次设计选择使用AT89C51单片机为核心的控制元件,设计制作一个简易的抢答器。

本设计是以AT89C51单片机作为控制的主要核心,LED显示器,蜂鸣器等六路抢答器的程序,并且利用了单片机的延迟时电路,时钟电路,键复位电路以及定时器/中断等其他电路。

六路抢答器的设计特点是让选手应答时间与选手实时显示出来,利用复位电路开场新一轮的比赛或者游戏,我们使用的也是我们所掌握的C语言来进展编程,实现了一些根本功能。

该系统的设计是可行的,以确定准确,简便,强烈的扩展能力。

它的表达的功能主要是比赛开场时,主持人读完题目后按下抢答键,语音提示答题开场,提示音完毕后开场倒计时,这时数码管开场进展10s的倒计时,当有选手进展抢答时,选手按下抢答键,这时候数码管显示屏上就会显示出对应答题者的编号以及抢答所剩余的时间。

如果10秒计时时间到了还没有人做出抢答,蜂鸣器就会发出声音并且语音提示抢答完毕,这一题就作废即所有人均不得分,然后开场新一轮的抢答。

在下一轮抢答开场之前按下复位键将时间归零,再按下开场键进展新的一轮。

抢答者答复正确后,评审员按下加分键,该选手编号所对应的数码管显示的数字就增加〔按一次加一分,最高显示9分〕。

相反,如果抢答者答复错误,在抢答者分数不为0的情况下,评审员按下减分键,该选手编号所对应的数码管显示数字就减少〔按一次减一分,最低显示0分〕。

关键词:单片机、AT89C51、抢答器Abstract:The design options using AT89C51 microcontroller as the core control elements, design a simple Responder. The design is based on the six-way Responder AT89C51 microcontroller as the main core control, LED display, beeper and other procedures, and use of the single-chip delay circuit, clock circuit, key reset circuit and a timer / interrupt other circuits. Six-way Responder design feature is to allow players the response time and the player numbers displayed in real time, using the reset circuit to start a new round of the petition or game, we used our disposal C language programming, to achieve some basic functions.The design of the system is feasible to determine the accurate, simple, strong expansion capability. Its main function is to reflect the start of the game, the host title after reading press answer key, voice prompt answer began, the tone began the countdown ends, then the digital countdown began 10s, when there are players to answer in time , players press the answer key, this time will show the number of respondents and the corresponding answer in the time remaining on the digital display. If 10 seconds to answer in time of time to make a nobody, a buzzer will sound and the end of the voice prompt answer this question on the void that all men are not scoring, then start a new round of answer. Before you start to answer in the next round will be time to press the reset button to zero, and then press the start key to make a new round. Responder who answered correctly, the assessors press plus key, alphanumeric display of the player number corresponding increases (once plus one points, the maximum display 9 points). Conversely, if the answer were wrong answer, answer in person at a fraction is not 0, the panelists Press the minus key points, the player number that corresponds to the digital display figures decrease (once by one point, the lowest display 0 ).Keywords:AT89C51、RESPONDER、SCM目录第一章概述 (1)第二章各模块的选择和论证 (2)1. 方框图┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ (2)2.1抢答器显示模块选择 (2)2.2 控制器选择 (3)2.3 键盘选择 (3)2.4 时钟频率电路的设计 (4)2.5 复位电路的设计 (5)2.6 报警电路 (5)3. 系统硬件连接图 (6)4. 元器件清单 (6)第三章软件的设计 (6)3.1程序流程图 (7)3.2源程序 (8)第四章系统调试 (16)4.1 硬件调试问题分析 (17)4.2 软件调试问题分析 (17)参考文献 (19)第一章概述随着科学技术的开展,电子技术在近几年也得到了快速的开展,而在我们的生活中处处都运用到电子技术,例如现在随着智力竞赛、电视娱乐节目越来越多,为了实现比赛的公平性,就需要一个能在多人进展比赛的情况下能够实现抢答的机器,所以我们就需要这么一个能够简单操作的抢答器。

六路抢答器说明书

六路抢答器说明书

附件1:学号:课程设计题目六路电子抢答器学院机电工程学院专业机械工程及其自动化班级机自1205姓名于永杰指导教师尹海斌2015 年 1 月8 日单片机课程设计任务书目录第一章选题背景———————————————— 4 1.1概述———————————————————4 1.2选题的目的和意义—————————————4 ————————————— 4第二章方案选择及设计思路与原理方框图—————5————————————————— 6 ———————————————— 6—————————————7第三章系统硬件总体设计————————————8 3.1 中央控制器———————————————8 译码驱动显示电路设计———————————10时钟电路设计———————————————13 ——————————————— 14 ——————————————— 14 ——————————————— 15 ————————————16第四章 Proteus系统仿真————————————17第五章程序设计————————————————22第六章课程设计总结——————————————28第七章参考文献————————————————28第一章选题背景抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。

现在大多数抢答器均使用单片机和数字集成电路,并增加了许多新功能,如选手号码显示、抢按报警、选手得分等功能。

本课题利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时/计数器定时和计数的原理使得系统能够正确地进行计时同时使LED显示屏能够正确的显示时间和选手的号码。

用开关做键盘输出,扬声器发出提示。

①、通过单片机课程设计,熟练掌握编程方法,将单片机理论知识与实践相结合。

②、通过六路电子抢答器控制系统的设计,掌握定时/计数器的使用方法,和简单程序的编写,提高实践能力。

单片机设计的六路抢答器

单片机设计的六路抢答器

目录一、设计任务与要求 (2)二、元器件清单及简介 (2)三、设计原理分析及简单设计过程 (3)四、设计中的问题及改进 (8)五、总结 (8)六、参考文献6路抢答器设计一、设计任务与要求1、第一人抢答开关按下后,红LED亮,别人不能再抢答,用1位数码管显示抢答号。

2、主持人有复位开关,按下开关后绿LED灯亮,同时两位动态数码管进行20秒倒计时,有人抢答后停止。

二、元器件清单及简介1.原器件清单如下表所示:2.元器件简介2.1 关于SM420364的介绍SM420364是12个引脚的8段数码管,其中6、7、10、11管脚要通过上拉电阻接电源。

SM420364的逻辑符号和管脚排列如下图所示:2.2 关于AT89S51的介绍2.2.1、AT89S51单片机采用40个引脚的双列直插封装方式,如下图所示:2.2.2、40个引脚按其功能可分为如下三类:(1)电源及时钟引脚(2)控制引脚(3)I/O口引脚2.2.3、AT89S51单片机的片内集成了如下功能部件:AT89S51单片机片内集成了一个8位CPU,数据存储器,4KB Flash ROM,4个8位可编程并行I/O口(P0、P1、P2、P3)。

1个全双工的异步串行口,2个可编程的16位定时器/计数器,1个看门狗定时器,中断系统具有5个中断源、5个中断向量,特殊功能寄存器(SFR)26个,低功耗节电模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式、3个程序加密锁定位。

2.3 其他器材的简单说明限流电阻:保护二极管不被烧坏。

三、设计原理分析及简单设计过程3.1 设计思路此抢答器的设计采用模块化结构,主要由以下3个组成,即数码管显示模块、按键控制模块、LED发光显示模块。

在设计此抢答器时,采用模块化的设计思想,使设计起来更加简单、方便、快捷。

此电路是一时钟产生,触发,倒计时计数,数码码显示,在此结构的基础上,构造主体电路和辅助电路两个部分。

3.2 基本原理该抢答器供六人个的抢答比赛使用。

格式范文基于51单片机的六路抢答器设计与制作

格式范文基于51单片机的六路抢答器设计与制作

毕业设计(论文)题目:基于51单片机的六路抢答器设计与制作系部:电子信息技术系专业:电子信息工程学号:070306090学生姓名:金建磊指导教师姓名:刘刚指导教师职称:副教授二○一○年五月八日摘要随着科学技术的不断发展,促使人们学科学、学技术、学知识的手段多种多样。

抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。

但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低,减少兴致。

做为一个单位若专购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。

本设计是以六路抢答为基本理念。

考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。

用开关做键盘输出,扬声器发生提示。

同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。

关键词: AT89C51 LED数码管抢答器计时报警目录第一章绪论 (1)1.1 课题研究的相关背景 (1)1.2 选题的目的和意义 (1)1.3 课题研究的内容 (1)1.4 国内外研究现状 (2)1.5 抢答器目前存在的主要问题 (2)第二章抢答器的系统概述 (4)2.1 系统的主要功能 (4)2.2 系统需求分析 (5)2.3 抢答器的工作流程 (5)2.4 抢答器的工作过程 (5)2.5 器件选型方案及详细清单 (7)2.6 AT89C51特殊功能寄存器 (7)2.7 AT89C51的功能及简介 (7)2.7.1 AT89C51单片机的内部结构图 (7)2.7.2 AT89C51单片机 (8)2.8 抢答器的优点及组成 (9)第三章系统总体方案的设计 (10)3.1 硬件电路的设计 (10)3.2 总体原理图 (10)3.3 时钟频率电路的设计 (11)3.4 复位电路的设计 (12)3.5 显示电路的设计 (12)3.5.1 显示模块在系统软件中的安排 (13)3.6 键盘扫描电路的设计 (15)3.6.1 键盘抖动的软件处理 (15)3.7 发声 (16)3.8 系统复位 (16)3.9 本章小结 (17)第四章软件设计 (18)4.1 主程序系统结构图 (18)4.2软件任务分析 (18)4.3 程序流程图 (19)4.4本章小结 (20)第五章 Proteus仿真系列组图 (20)5.1系统仿真图 (20)5.1.1复位图 (20)5.1.2设置计时时间 (21)5.1.3非法抢答并显示座号 (21)5.1.4抢答成功并显示倒计时 (22)5.1.5三号选手抢答成功 (23)5.2本章小结 (23)总结 (24)参考文献 (25)致谢 (26)附录一 (27)附录二 (34)第一章绪论1.1 课题研究的相关背景抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。

《六路抢答器设计》doc版

《六路抢答器设计》doc版

《六路抢答器设计》doc版《六路抢答器设计》doc版《单片机原理及应用》课程设计报告题目六路抢答器的设计姓名XXX、XX、XX 专业班级11电子信息工程2班指导教师许长安日期2013.12.20 目录一、设计任务及要求1 二、元器件清单及简介1 1、元器件清单1 2、AT89C52简介2 三、设计原理及分析3 1、总原理图3 2、时钟频率电路4 3、显示电路4 4、抢答电路4 5、软件设计5 四、设计中遇到的问题与改进6 五、总结6 六、参考文献6 附录一:7 一、设计任务及要求1、设计一个六路抢答器;2、系统设置复位按钮,按动后,重新开始抢答;3、选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人按下复位键为止。

抢答后显示优先抢答者序号,同时红LED亮。

并且不出现其他抢答者的序号;4、抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间设定为20 秒,当主持人启动“开始”开关后,定时器开始减计时,同时绿LED亮;5、设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。

并保持到主持人按复位键。

二、元器件清单及简介1、元器件清单元器件清单如表2-1所示:AT89C52 1片12M晶振1个30pf普通电容2个10uf电解电容1个2K电阻1个10K排阻2个100Ω电阻4个四角按键7个红LED 1个绿LED 1个四位共阴八段数码管1个表2-1 2、AT89C52简介AT89C52是美国ATMEL 公司生产的低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes 的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。

抢答器单片机课程设计报告

抢答器单片机课程设计报告

目录一课程设计题目及要求 (2)二设计整体思路 (2)三原理图 (2)四程序模块 (3)五软件程序 (4)六心得体会 (13)一、课程设计题目及要求①抢答开关电路分别设定选手抢答键8个、主持人开始抢答键和复位键,开始指示灯,犯规指示灯,抢答成功指示灯。

②系统工作后,首先由主持人按下开始键,开始指示灯亮,单片机进入20秒倒计时并显示,台位号显示0。

③选手们开始抢答,如果在20秒内无人抢答,则蜂鸣器发声报警,等待主持人按复位键,进入下一题;④若有人抢答,数码管同步显示抢答选手的编号,同时蜂鸣器器发声提示,表示抢答成功,抢答成功指示灯亮,开始指示灯灭。

同时封锁输入电路,禁止其他选手抢答⑤在主持人按下开始抢答键前,有选手提前按下抢答键时,视为抢答犯规,犯规指示灯点亮,数码管显示犯规选手台位号,同时蜂鸣器发声提示抢答犯规。

⑥主持人按下复位键,系统返回到抢答状态,进行下一轮抢答。

⑦当主机发送09H,从机回发09H,主机显示9,当主机发送非09H时,从机回发台位号,并在主机显示。

⑧二、设计整体思路根据任务要求抢答器由抢答输入、单片机识别和处理、输出信息和状态的显示、串行通信四部分组成。

抢答器的工作原理是采用单片机最小系统,用程序查询方式采用动态显示组号。

由波码开关K1~K8组成8路抢答器的输入,有复位按钮和C1,电阻组成复位电路。

单片机运行时对P1口扫描检测,判断是否有按键按下,进一步确定是哪路键位按下。

P2口做倒计时20秒两位数码管驱动,每位数码管输入为8位二进制代码。

第一位数码管为抢答台位数码显示。

D1、D2、D3发光二极管只是抢答器的工作状态,蜂鸣器BUZI发出声音提示。

其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。

定时器倒计时,选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。

51单片机六路抢答器

51单片机六路抢答器

《单片机原理与应用》课程设计报告题目:6路抢答器的设计专业:计算机工程系班级:07计科2班学号:姓名:天津理工大学中环信息学院计算机工程系2007年6月30 日一设计目的1.熟悉单片机控制系统,并了解系统设计的一般规律。

2.掌握8255芯片的结构及编程方法。

3.熟悉模拟用于娱乐或比赛抢答器的实现方法。

二设计要求当主持人宣布开始以后,6个参赛队员可以按自己面前的抢答键进行抢答。

要求用数码管显示抢答队员编号,且蜂鸣器发出提示音;一个队员抢答后,在主持人按复位键之前,其他队员不能再次抢答。

设计电路时,要考虑主持人用按键来控制抢答开始,开始按钮可兼作复位用。

三设计使用的仪器和设备Dais MS-51设计软件、Dais-PG系列嵌入式MCS-51教学实验平台、8255芯片、PC51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。

它的处理对象不是字或字节而是位。

它不光能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。

虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属少见。

51系列在片内RAM区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址20H~2FH,它既可作字节处理,也可作位处理(作位处理时,合128个位,相应位地址为OOH~7FH),使用极为灵活。

这一功能无疑给使用者提供了极大的方便,因为一个较复杂的程序在运行过程中会遇到很多分支,因而需建立很多标志位,在运行过程中,需要对有关的标志位进行置位、清零或检测,以确定程序的运行方向。

而实施这一处理(包括前面所有的位功能),只需用一条位操作指令即可。

对周围的其他位不会产生影响。

有的单片机并不能直接对RAM单元中的位进行操作,如A VR系列单片机中,若想对RAM中的某位置位时,必须通过状态寄存器SREG的T位进行中转。

51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学号 2010《单片机中级教程原理与应用》课程设计(2010届本科)题目:六路抢答器设计学院:物理与机电工程学院专业:电气程及其自动化作者姓名:指导教师:职称:副教授完成日期: 201 年12 月15 日摘要本设计是六路智力抢答器。

使用51系列单片机,编写应用程序来实现智力抢答功能。

硬件设计使用的是51系列单片机中的89C51。

硬件设计利用其中断控制程序进行抢答部分的处理,通过非门的控制去申请单片机内部的中断,以达到显示抢答的目的。

软件设计利用中断系统的基本构成原理编写中断服务程序,其信号由按键电路提供,由CPU响应中断,并输出响应。

用到了查询按键模块、定时器模块、显示时间模块、显示组号模块、报警模块等。

关键词:89C51 中断定时器报警电路等目录第1章绪论 (3)1.1 智能抢答器的发展现状 (3)1.2 抢答器的背景和特点 (3)第2章抢答器的系统概述 (3)2.1 六路抢答器设计功能要求 (3)2.2 抢答器设计方案 (4)第3章系统硬件电路设计 (4)3.1 系统电路图 (4)3.2 时钟频率电路的设计 (5)3.3 键盘扫描电路的设计 (5)3.4 显示电路的设计 (6)第4章系统软件设计 (7)4.1 程序流程图 (7)4.2 系统程序 (7)第5章仿真调试及性能分析 (8)5.1 仿真调试 (8)一、上电显示 (8)二、开始抢答倒计时显示 (8)三、正确抢答显示 (9)四、违规抢答显示 (9)5.2 性能分析 (10)第6章设计出现的问题及总结 (10)6.1 设计出现的问题 (10)6.2 总结 (10)附录 (13)第1章绪论1.1 智能抢答器的发展现状随着电子技术的发展,现在的抢答器功能越来越强,可靠性和准确性也越来越高。

能够实现抢答器功能的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式,但这种方式制作过程复杂,而且准确性与可靠性不高,成品面积大。

对于目前抢答器的功能描述,如涵盖抢答器、抢答限时、选手答题计时及犯规组号抢答器具有抢答自锁,灯光指示、暂停复位、电子音乐报声、自动定时等功能,还有工作模式的切换和时间设定,对于这些,随着科学技术的发展,肯定还要得到进一步的改进。

一般都要趋向于智能化。

1.2 抢答器的背景和特点在各类竞赛中,特别是做抢答题时,在抢答过程中,为了知道哪一组或哪一名选手先答题,必须要有一个系统来完成这个任务。

如果在抢答过程中,只靠人的视觉是很难判断出哪组先答题。

利用单片机来设计抢答器,使以上问题得以解决,即使有两组的抢答时间相差几微秒,也可分辨出哪组优先答题。

抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。

早期的抢大漆只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辨认出选手号码。

现在大多数抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢按前或抢按后的计时、选手得分显示功能。

像这类抢答器,制作过程简单,准确性与可靠性高,而且安装维护简单。

对于抢答器的应用,如早期的数字电路,随着科技的逐步发展,进而到了单片机的控制来实现其功能,而且功能齐全,电路简单,成本低,性能高,真正朝着有利的方向发展。

第2章抢答器的系统概述2.1 六路抢答器设计功能要求1、基本要求(1)抢答器同时供6名选手或6个代表队比赛,分别用6个按钮S0 ~ S5表示。

(2)设置一个系统清除和抢答控制开关S,该开关由主持人控制。

(3)抢答器具有锁存与显示功能。

即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。

选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。

(4)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。

当主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。

(5)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。

(6)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示FF。

2.2 抢答器设计方案在设计中采用的单片机是AT89C51,它主要负责控制各个部分协调工作。

P1.0和P1.7由裁判控制,分别是抢答开始和停止键。

P1.1—P1.6是6组抢答的输入口,按下对应按钮即为抢答。

P0口为数码管的段选口,位选口用的是P2口的低4位。

P3.6为蜂鸣器的控制口。

外部还接有蜂鸣器用来发出报警音。

采用7SEG-MPX4-CA-BLUE显示,它是共阴极的由高电平点亮。

系统仿真用到了Proteus7.10软件,通过仿真可以显示所设计系统的功能,对于程序的调试等有很大的帮助。

第3章系统硬件电路设计3.1 系统电路图如图3-1,P1.0为开始抢答,P1.7为停止,P1.1-P1.6为六路抢答输入,数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。

图3-1 系统电路原理图3.2 时钟频率电路的设计单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。

图3-2晶振电路的设计3.3 键盘扫描电路的设计P1.0和P1.7由裁判控制,分别是抢答开始和停止键。

P1.1-P1.6是6组抢答的输入口,按下按钮抢答。

图3-3 点键盘扫描电路3.4 显示电路的设计采用7个电阻做为上拉电阻,数码管7SEG-MPX4-CA-BLUE,它是共阴极的数码管。

采用74LS04单输入非门。

图3-4 显示电路的设计第4章系统软件设计软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。

4.1 程序流程图图4-1 程序流程图4.2 系统程序在本设计中包括了以下六个主要的程序:主程序、非法抢答程序、倒计时程序、正常抢答处理程序、犯规处理程序、显示及发声程序。

P1.0为开始抢答,P1.7为停止,p1.1-p1.6为六路抢答输入数码管段选P0口,位选P2口,蜂鸣器输出为P3.6口。

注:源程序代码见附页第5章仿真调试及性能分析5.1 仿真调试一、上电显示图5-1 上电显示图当上电时,数码显示管显示“FFF”,其中,左边两个数码管显示时间,最后一个显示抢答选手的编号。

二、开始抢答倒计时显示图5-3 开始抢答倒计时显示当主持人按下“开始”按钮后,定时器开始48s倒计时,各选手要在48s中完成抢答,当倒计时剩余5s时,若还无人抢答,蜂鸣器就会发出声响进行提示。

若无人抢答,此轮抢答结束,显示器显示“FFF”。

三、正确抢答显示图5-3 正确抢答显示如图,当主持人按下“开始”按钮后,五号选手抢答成功,并开始答题倒计时,要求选手在限定时间内作答。

当倒计时剩余5s时,蜂鸣器开始发出声响,当倒计时完成时,显示器显示“FFF”。

四、违规抢答显示图5-4 违规抢答显示当主持人还未按下“开始”按钮,选手就按下了抢答键,就会出现如上图所示情况,并且蜂鸣器会一直发出警报,直到按下结束“按钮”。

5.2 性能分析(1)具有清零装置和抢答控制,可由主持人操纵避免有人在主持人说“开始”前提前抢答违反规则。

(2)具有定时功能,在48秒内无人抢答表示所有参赛选手获参赛队对本题弃权。

(3)48秒时仍无人抢答其报警电路工作表示抢答时间耗尽并禁止抢答。

(5)主持人按"抢答开始"键,会有提示音,并立刻进入抢答倒计时(预设48s 抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设69s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。

倒数时间到小于5s会每秒响一下提示音。

(6)如倒计时期间,主持人想停止倒计时可以随时按"停止"按键,系统会自动进入准备状态,等待主持人按"抢答开始"进入下次抢答计时。

(7)如果主持人未按"抢答开始"键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FF和犯规号数并响个不停,直到按下"停止" 键为止。

第6章设计出现的问题及总结6.1 设计出现的问题在本次课程设计过程中,出现了许许多多的问题,主要包括在程序的编写及调试、仿真及调试和设计本身的不足,如查询模块、延时模块的程序编写。

此次所设计的抢答器可实现基本的操作功能,可是还存在许多不足之处,如当抢答时,如果前一位选手抢答错误而继续抢答时,前一个选手的号码不能自动被清除;还有就是不能调整抢答计时时间等等。

6.2 总结通过此次单片机设计实习,把自己在学校学到的知识转化为实验成果,积累了一定的经验,提高了分析问题和解决问题的实际能力。

我体会到课程设计的各个环节,不是孤立的,每个环节都是必不可少的。

在该课程设计的过程中,我深刻体会到了计算机研究工作的艰辛。

自己觉得理论上可行的方法,在实验的过程中却不一定行得通。

经过了一次又一次地修改程序和检查电路,终于完成了自己的课程设计。

虽然它有许多的不完善,可我却有一种无法言表的喜悦与成就感。

我明白了课程设计的过程,就是不断地改进与完善的过程。

在开发设计过程中,由于知识有限,经验不足,课程设计时间短,难免有很多的不足,敬请老师指教,以待日后加以改进。

参考文献[1]单片机中级教程原理及应用(第2版),张俊谟,北京航空航天大学出版社,2006[2]Proteus在MCS-51系统中的应用百例,周润景、袁伟亭、景晓松,电子工业出版社,2006[3]单片机系统设计与实例指导,冯育长,西安电子科技大学出版社,2007附录:源程序代码OK EQU 20H; 抢答开始标志位RING EQU 22H; 响铃标志位ORG 0000HAJMP MAINORG 000BHAJMP T0INTORG 001BHAJMP T1INTORG 0040HMAIN: MOV R1,#30H; 初设抢答时间MOV R2,#45H; 初设答题时间MOV TMOD,#11H; 设置未定时器/模式1MOV TH0,#0F0HMOV TL0,#0FFH; 越高发声频率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H; 50ms为一次溢出中断SETB EASETB ET0SETB ET1CLR OKCLR RINGSETB TR1SETB TR0; 一开始就运行定时器,以开始显示FFF.START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAY; 未开始抢答时候显示FFFJB P1.0,NEXTACALL DELAYJB P1.0,NEXT; 去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询ACALL BARK; 按键发声MOV A,R1MOV R6,A; 送R1-R6,因为R1中保存了抢答时间SETB OK; 抢答标志位,用于COUNT只程序中判断是否查询抢答MOV R3,0AH; 抢答只显示计时,灭号数AJMP COUNT; 进入倒计时程序,"查询有效抢答的程序"在COUNT里面NEXT: JNB P1.1,FALSE1JNB P1.2,FALSE2JNB P1.3,FALSE3JNB P1.4,FALSE4JNB P1.5,FALSE5JNB P1.6,FALSE6AJMP STARTFALSE1: ACALL BARK; 按键发声MOV R3,#01HAJMP ERRORFALSE2: ACALL BARKMOV R3,#02HAJMP ERRORFALSE3: ACALL BARKMOV R3,#03HAJMP ERRORFALSE4: ACALL BARKMOV R3,#04HAJMP ERRORFALSE5: ACALL BARKMOV R3,#05HAJMP ERRORFALSE6: ACALL BARKMOV R3,#06HAJMP ERRORCOUNT: MOV R0,#00H; 重置定时器中断次数MOV TH1,#3CHMOV TL1,#0B0H; 重置定时器RECOUNT: MOV A,R6; R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6 MOV B,#0AHDIV AB; 除十分出个位/十位MOV 30H,A; 十位存于(30H)MOV 31H,B; 个位存于(31H)MOV R5,30H; 取十位MOV R4,31H; 取个位MOV A,R6SUBB A,#07HJNC LARGERMOV A,R0CJNE A,#0AH,FULL; 1s中0.5s向下运行CLR RINGAJMP CHECKFULL: CJNE A,#14H,CHECK; 下面系1s的情况,响并显示号数并清R0,重新计时SETB RINGMOV A,R6JZ QUIT; 计时完毕MOV R0,#00HDEC R6; 一秒标志减1AJMP CHECKLARGER: MOV A,R0CJNE A,#14H,CHECK; 如果1s向下运行,否者跳到查"停/显示"DEC R6; 计时一秒R6自动减1MOV R0,#00HCHECK: JNB P1.7,QUIT; 如按下停止键退出ACALL DISPLAYJB OK,ACCOUT; 如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数AJMP RECOUNTACCOUT: JNB P1.1,TRUE1JNB P1.2,TRUE2JNB P1.3,TRUE3JNB P1.4,TRUE4JNB P1.5,TRUE5JNB P1.6,TRUE6AJMP RECOUNTQUIT: CLR OK; 如果按下了"停止键"执行的程序CLR RINGAJMP STARTTRUE1: ACALL BARK; 按键发声MOV A,R2MOV R6,A; 抢答时间R2送R6MOV R3,#01HCLR OK; 因为答题的计时不再查询抢答,所以就锁了抢答AJMP COUNTTRUE2:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#02HCLR OKAJMP COUNTTRUE3:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#03HCLR OKAJMP COUNTTRUE4:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#04HCLR OKAJMP COUNTTRUE5: ACALL BARK;MOV A,R2MOV R6,AMOV R3,#05HCLR OKAJMP COUNTTRUE6: ACALL BARK;MOV A,R2MOV R6,AMOV R3,#06HCLR OKAJMP COUNTERROR: MOV R0,#00HMOV TH1,#3CHMOV TL1,#0B0HMOV 34H,R3; 犯规号数暂存与(34H)HERE: MOV A,R0CJNE A,#0AH,FLASH; 0.5s向下运行->灭并停响CLR RINGMOV R3,#0AHMOV R4,#0AHMOV R5,#0AH; 三灯全灭AJMP CHECK1FLASH: CJNE A,#14H,CHECK1; 下面系1s的情况,响并显示号数并清R0,重新计SETB RINGMOV R0,#00HMOV R3,34H; 取回号数MOV R5,#0BHMOV R4,#0BH; 显示FF和号数AJMP CHECK1CHECK1: JNB P1.7,QUIT1ACALL DISPLAYAJMP HEREQUIT1: CLR RINGCLR OKAJMP STARTDISPLAY:MOV DPTR,#DAT1; 查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出MOV A,R5MOVC A,@A+DPTRMOV P2,#01HMOV P0,AACALL DELAYMOV DPTR,#DA T2MOV A,R4MOVC A,@A+DPTRMOV P2,#02HMOV P0,AACALL DELAYMOV A,R3MOVC A,@A+DPTRMOV P2,#04HMOV P0,AACALL DELAYRETDA T1: DB 00H,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;"灭","1","2","3","4","5","6","7","8","9","灭","F"DA T2: DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H;第一个为零,其他与上相同,因为十位如果为零显示熄灭DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAYDJNZ 35H,LOOP0RETDELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1DJNZ 32H,LOOPRETBARK: SETB RINGACALL DELAY1ACALL DELAY1CLR RING; 按键发声RETT0INT: MOV TH0,#0ECHMOV TL0,#0FFHJNB RING,OUTCPL P3.6 ; RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音OUT: RETIT1INT: MOV TH1,#3CHMOV TL1,#0B0HINC R0RETIEND单片机课程设成绩评定表。

相关文档
最新文档