基于单片机的多路抢答器课程设计报告

合集下载

基于c51单片机四路抢答器课程设计报告

基于c51单片机四路抢答器课程设计报告

. . . .基于c51单片机四路抢答器目录一.摘要 (1)二.方案设计 (1)2.1 (1)2.2 (1)三.元器件电路设计 (1)3.1 元器件简介 (1)3.2 独立式按键电路 (1)3.3 时钟电路设计 (1)3.4指示灯电路设计 (1)四.软件实现 (1)4.1系统程序设计 (1)4.2主程序流程图如下 (1)4.3程序清单 (1)五. 心得与体会 (1)六.参考文献 (1)一.摘要单片机作为一种工具,现在已经广泛的应用于竞赛场合。

本次试验是基于单片机51系列的理论知识综合运用AT89c52单片机设计的简易四路抢答器。

运用AT89c52单片机的外围借口来实现抢答系统,利用单片机的定时器/计数器计数和定时的原理,将软、硬件有机的结合起来,使得系统能正确的记时,发光二极管能正常的闪烁。

同时系统能够实现:在抢答过程中只有主持人按下开始抢答按键后抢答才有效,如果在开始抢答之前抢答视为无效。

在抢答成功之后发光二极管会变成闪烁状态并提示选手开始回答问题。

同时还有主持人控制的系统复位键,以实现系统的复位。

还有按键锁定,在一个选手抢答成功或者违规状态下其他按键无效。

通过这次的设计,对51系列的单片机的运用有了更深一层次的了解,也提高了我们的动手能力,加深我们对单片机的影响,为我们以后的学习打下一定基础。

二.方案设计2.1(1).总共4个按键,四个供选手用作“抢答”操作。

(2).用1个发光二极管用作开始强大的指示灯,用4个发光二极管分别显示4个选手的抢答状态。

(3).开始抢答后,哪个选手抢答键先按下,该选手的抢答指示灯亮,表示抢答成功,此时其他选手再按键为无效,抢答成功开始3秒计时,到时指示灯变为闪烁,以提示选手抢答后必须3秒内回答问题。

2.2方案:依据课题要求,基于AT89c52单片机制作器的抢答器,其最大的好处就是处理快,准确性高,可靠性好,控制功能强。

采用51系列的单片机AT89c52作为控制中心,系统可以完成运算控制、信号的控制以及显示功能。

51多路抢答器课程设计

51多路抢答器课程设计

51多路抢答器课程设计一、课程目标知识目标:1. 学生理解抢答器的原理,掌握51单片机的使用方法。

2. 学生能够运用所学知识,设计并实现一个多路抢答器的电路。

3. 学生了解抢答器在现实生活中的应用,理解其工作原理与电路设计之间的关系。

技能目标:1. 学生能够独立完成51单片机的编程与调试。

2. 学生能够利用所学知识,解决实际电路设计中的问题。

3. 学生通过动手实践,培养电路设计与制作的能力。

情感态度价值观目标:1. 学生在学习过程中,培养团队协作精神和解决问题的能力。

2. 学生通过实践,体会科技的魅力,增强创新意识。

3. 学生关注科技发展,树立正确的科技观,认识到科技对生活的影响。

课程性质:本课程为实践性较强的课程,通过理论与实验相结合的方式,让学生在实际操作中掌握知识。

学生特点:学生具备一定的电子技术基础知识,具有较强的动手能力和好奇心。

教学要求:注重理论与实践相结合,鼓励学生动手实践,培养学生的创新意识和实际操作能力。

将目标分解为具体的学习成果,以便在教学过程中进行有效评估。

二、教学内容本课程依据课程目标,结合教材内容,制定以下教学大纲:1. 抢答器原理介绍- 抢答器的基本概念- 抢答器的工作原理与分类- 51单片机在抢答器中的应用2. 51单片机基础- 51单片机的内部结构与功能- 51单片机的编程语言与指令系统- 51单片机的I/O口编程与应用3. 多路抢答器电路设计- 电路设计原理与步骤- 常用电子元件的选择与应用- 抢答器电路图绘制与仿真4. 抢答器程序设计- 程序设计基本思路与方法- 51单片机程序编写与调试- 抢答器程序功能实现5. 实践操作与调试- 抢答器电路搭建与测试- 程序下载与调试- 系统优化与故障排查教学内容安排和进度:1-2课时:抢答器原理介绍与51单片机基础3-4课时:多路抢答器电路设计5-6课时:抢答器程序设计7-8课时:实践操作与调试教学内容与教材关联性:本教学内容紧密围绕教材中关于51单片机及其应用的相关章节,确保科学性和系统性。

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

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

单片机抢答器课程设计报告一、引言本篇报告主要介绍了单片机抢答器的课程设计,包括设计目的、设计原理、硬件系统和软件程序等方面。

单片机抢答器是一种基于单片机技术的电子设备,可以用于学校或公司内部的竞赛或考试等场合,提高参赛者的竞争力和活跃度。

二、设计目的本次课程设计的目的是通过实践操作,掌握单片机应用技术和电子电路基础知识,提高学生自主学习和解决实际问题的能力。

同时,也为学生提供一个锻炼自己竞争能力和团队协作能力的机会。

三、设计原理单片机抢答器主要由两个部分组成:硬件系统和软件程序。

硬件系统包括按键模块、LED显示模块、蜂鸣器模块、LCD液晶显示屏模块和单片机控制模块等。

软件程序则是由C语言编写而成,主要功能是控制各个模块之间的协调工作。

四、硬件系统1. 按键模块按键模块采用矩阵按键方式实现,可以同时检测多个按键的状态。

在设计中,我们采用了4x4的矩阵按键,即16个按键。

其中,有一个按键作为重置键,用于清除上一次抢答结果。

2. LED显示模块LED显示模块采用共阴极方式实现,可以同时控制多个LED的状态。

在设计中,我们采用了8个LED灯,分别代表1~8号选手。

3. 蜂鸣器模块蜂鸣器模块可以发出不同频率的声音信号,用于提示选手抢答成功或失败。

在设计中,我们采用了一个5V的主动蜂鸣器。

4. LCD液晶显示屏模块LCD液晶显示屏模块可以显示选手抢答结果和当前比赛状态等信息。

在设计中,我们采用了一个16x2字符型液晶显示屏。

5. 单片机控制模块单片机控制模块是整个硬件系统的核心部分,主要负责各个模块之间的协调工作。

在设计中,我们采用了AT89C51单片机作为控制芯片。

五、软件程序软件程序是整个系统的灵魂部分,主要负责实现各种功能。

在本次课程设计中,我们使用C语言编写了单片机抢答器的软件程序。

主要功能包括:初始化、检测按键状态、显示比赛状态、判断抢答结果等。

六、实验结果经过多次实验,我们成功地实现了单片机抢答器的设计。

单片机抢答器实训报告

单片机抢答器实训报告

一、实训背景与目的随着电子技术的飞速发展,单片机作为一种低功耗、高性能的微处理器,被广泛应用于各个领域。

为了提高学生的实践能力和创新意识,本实训课程旨在通过设计和实现单片机抢答器,让学生深入了解单片机的基本原理、接口技术以及编程方法,同时培养学生的团队合作精神和动手能力。

二、实训内容与要求本次实训要求设计并实现一个基于单片机的六路抢答器。

该抢答器应具备以下功能:1. 抢答功能:六位选手通过按下对应的按钮(K0~K5)进行抢答,系统优先识别并锁存第一个按下按钮的选手编号。

2. 显示功能:抢答成功后,在LED数码管上显示该选手的编号。

3. 锁存功能:一旦选手抢答成功,其编号将保持显示,直至主持人手动清除。

4. 提示功能:扬声器发出报警声提示主持人抢答成功。

三、实训过程与实现1. 硬件设计本实训采用AT89C52单片机作为主控芯片,外围电路主要包括以下部分:- 按键模块:六位选手分别通过K0~K5按钮进行抢答。

- 显示模块:使用LED数码管显示选手编号。

- 锁存模块:通过单片机的I/O口实现选手编号的锁存。

- 提示模块:使用扬声器发出报警声。

2. 软件设计软件设计主要涉及单片机编程,主要包括以下部分:- 主程序:初始化单片机,设置I/O口,并进入主循环。

- 抢答程序:检测按键状态,判断是否发生抢答,并执行相应的操作。

- 显示程序:根据锁存的选手编号,更新LED数码管显示。

- 提示程序:抢答成功后,通过扬声器发出报警声。

3. 系统调试在完成硬件和软件设计后,需要进行系统调试。

主要步骤如下:- 硬件调试:检查电路连接是否正确,确保各个模块能够正常工作。

- 软件调试:通过仿真软件或实际硬件进行程序调试,修正错误。

四、实训结果与分析经过一系列的硬件和软件设计、调试,最终成功实现了基于单片机的六路抢答器。

该抢答器能够满足以下要求:1. 抢答功能:能够正确识别并锁存第一个按下按钮的选手编号。

2. 显示功能:能够通过LED数码管显示选手编号。

单片机课设 多路抢答器 课程设计报告兼程序

单片机课设  多路抢答器  课程设计报告兼程序

设计课题:多路抢答器学院:电气与信息工程学院专业:电气工程及其自动化班级:学号:姓名:目录一、任务及设计要求 (2)1.任务 (2)2.要求 (2)二、系统原理图 (2)三、硬件原理图 (6)1.元器件清单 (6)2.硬件设计 (6)3.软件设计 (11)4.性能分析 (13)四、流程图 (15)1.总体流程图 (15)2.抢答器模块 (16)3.北京时间模块流程图 (17)五、程序 (18)六、产品使用说明书 (27)1.功能 (27)2.使用说明 (28)七、心得体会 (29)八、参考文献,教师评语 (30)一、任务及设计要求1、任务设计一多路抢答器,每组设计一抢答按扭供选手使用2、要求(1)设计一多路数字抢答器(2)设置一个系统清除和抢答控制开关,该开关由主持人控制(3)抢答器具有锁存与显示功能。

选手按动按扭,锁存相应的编号,并在LED数码管或LCD上显示,同时系统报警。

优先抢答选手的编号一直保持到主持人将系统信号清除为止(4)抢答器具有定时抢答功能。

当主持人启动“开始”键后,计时器进行计时,同时绿灯亮(可蜂鸣器替代或显示对应标志)。

参赛选手在设定时间内进行抢答,抢答有效,定时器停止工作,绿灯灭,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止,如果定时时间已到,无人抢答,本次抢答无效,系统报警。

中途可以暂停。

(5)显示定时时间,可倒数显示(6)定时时间进入最后十秒时,可用蜂鸣器提醒(7)显示北京时间,可调整二、系统原理图硬件原理:ADUC848管脚图如下图所示。

Pin1~4:(P1.0~P1.3)作为矩阵式键盘或独立按键的输入,P1口只能用于输入,默认用于模拟输入,作为数字输入使用时应先往P1口相应引脚写0,这里可以用P0&=0xf0。

若P2、P3、P0口要作为输入,则应往相应引脚写1。

Pin5、6:AVDD、AGND,模拟电源输入。

Pin7、8:外部参考电压接入,Pin7接AGND。

单片机课程设计报告(基于多路数字抢答器)[1]

单片机课程设计报告(基于多路数字抢答器)[1]

目录摘要 (I)第1章绪论 (1)1.1 单片机抢答器的背景 (1)1.2 抢答器的意义 (1)第2章设计概述 (2)2.1 抢答器工作原理 (2)2.2 设计目的与要求 (2)2.3 设计任务 (2)2.4 运行环境及工具 (2)第3章系统硬件电路设计 (3)3.1 AT89C51单片机硬件电路 (3)3.2 原理及电路总框图 (3)3.3 晶振复位及开始抢答电路 (4)3.4 选手抢答键 (4)3.5 显示与显示驱动电路 (5)3.6 蜂鸣器音频输出电路 (6)第4章系统软件设计 (7)4.1 程序设计 (7)4.2 主程序设计 (7)4.3 系统流程图 (8)4.4 程序清单 (9)第5章系统仿真 (18)5.1 Proteus软件介绍 (18)5.2 仿真电路设计 (18)5.3 仿真测试 (18)5.4 仿真结果分析 (20)第6章结束语 (21)参考文献 (22)第1章绪论1.1 单片机抢答器的背景二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。

不过,这种电脑,通常是指个人计算机,简称PC机。

它由主机、键盘、显示器等组成。

还有一类计算机,大多数人却不怎么熟悉。

这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。

顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。

因为它体积小,通常都藏在被控机械的“肚子”里。

它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。

现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。

各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。

究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上[1]。

基于单片机的8路抢答器课程设计报告

基于单片机的8路抢答器课程设计报告单片机原理及接口技术课程设计报告设计题目:基于单片机的8路抢答器学号:××××××姓名:××指导教师:×××信息与电气工程学院二零一五年七月基于单片机的8路抢答器单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。

若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。

而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。

本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。

单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。

对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。

抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。

选手们都站在同一个起跑线上,体现了公平公正的原则。

1. 设计任务结合实际情况,基于AT89C51单片机设计一个8路抢答器。

该系统应满足的功能要求为:(1) 设计一个可供8人进行的抢答器;(2) 系统设置复位按钮,按动后,重新开始抢答;(3) 抢答器开始时数码管显示序号0,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统清除为止。

抢答后显示优先抢答者序号,同时发出音响。

,并且不出现其他抢答者的序号;(4) 抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间可设定在1~99秒(本例中设置为20s),当主持人启动“开始”开关后,定时器开始减计时,数码管显示倒计时的时间,同时蜂鸣器有短暂的声响;(5) 设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。

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

上海电机学院课程设计目录第1章绪论 (1)1.1 单片机抢答器的背景 (1)1.2 抢答器的意义 (1)第2章设计概述 (2)2.1 抢答器的工作原理 (2)2.2 设计任务 (2)第3章系统硬件电路设计 (2)3.1 AT89C51单片机硬件电路 (2)3.2原理及电路总框图 (3)第4章系统软件设计 (6)4.1 主程序设计 (6)4.2 子程序设计 (6)4.2.1数码管显示电路 (6)4.2.2键盘扫描段码表 (7)4.3 系统流程图 (7)4.3.1系统主程序流程图 (7)4.3.2系统中断程序流程图 (7)4.4 源程序代码 (9)第5章结束语 (17)5.1 小结 (17)5.2 心得体会 (17)参考文献 (18)第1章绪论1.1 单片机抢答器的背景对于抢答器我们大家来说并不陌生, 他是用于很多竞赛场合。

真正实现先抢先答, 让最先抢到题的选手来回答问题。

抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气, 选手们都站在同一个起跑线上, 体现了公平公正的原则。

1.2 抢答器的意义本系统采用单片机作为整个控制核心。

控制系统的四个模块为: 显示模块、存储模块、抢答开关, 总开关模块。

该系统通过一个自锁按键输入抢答信号;利用一个数码管来完成显示功能;用按键来让选手进行抢答, 在数码管上显示哪一组先答题的, 从而实现整个抢答过程。

在知识比赛中, 特别是做抢答题目的时候, 在抢答过程中, 为了知道哪一组或哪一位选手先答题, 必须要设计一个系统来完成这个任务。

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

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

相对于类似电视台这类花几万元采购的抢答器系统, 如果个人组织小型的抢答比赛, 这毕竟不合适, 但是依靠单片机的低成本, 低功耗, 可以很好的解决个人用户需要举办小型抢答比赛的需求, 而且精度高, 操作性好。

多路抢答器课程设计报告

课程设计报告(论文)设计课题:多路抢答器单片机技术课程设计课程设计任务书姓名:专业:班级:指导教师:李宗睿职称:讲师课程设计题目:多路抢答器已知技术参数和设计要求:利用单片机实验室的试验箱完成多路抢答器。

利用单片机实验箱上的开关作为抢答按键,设置一个抢答开始开关供主持人使用,当开始抢答后,显示器进行5s倒计时显示,如果时间到,抢答无效,在5s内,当某一路抢答后,显示器显示是哪一路完成抢答。

再设置一个按键,在每一题完成抢答后,按键触发下一题开始抢答。

所需仪器设备:计算机一台实验箱一台成果验收形式:设计成果现场验收、回答提问、课程设计报告参考文献:单片机课程教材时间安排2011-2012学年第2学期第15周一班:周一~周3上午;二班:周三下午~周五上午:8:00~12:00;下午:14:00~18:00指导教师:李宗睿教研室主任:王俊红2012年 5 月18 日注:本表下发学生一份,指导教师一份,栏目不够时请另附页。

课程设计任务书装订于设计计算说明书(或论文)封面之后,目录页之前。

内容摘要此次课程设计主要是应用实验室的试验箱完成两路抢答器的功能。

主要设置了三个按键,一个主持人按键、两个选手按键。

程序开始执行之后主持人按下按键开始五秒倒计时,若无选手抢答则进行下一轮抢答。

主持人继续按下按键,若在五秒倒计时抢答则抢答有效并显示选手号码。

将程序复位在开始执行则依次重复进行。

索引关键词:抢答器五秒倒计时抢答有效目录一概述 (1)二方案设计与论证 (1)三单元电路设计与参数计算 (1)四总原理图及元器件清单 (3)五安装与调试 (4)(一般分静态调试与动态调试两大内容)六性能测试与分析 (4)(要围绕设计要求中的各项指标进行)七结论 (4)八心得体会 (5)九参考文献 (5)附录:程序一、概述利用单片机实验室的试验箱完成多路抢答器。

利用单片机实验箱上的开关作为抢答按键,设置一个抢答开始开关供主持人使用,当开始抢答后,显示器进行5s倒计时显示,如果时间到,抢答无效,在5s内,当某一路抢答后,显示器显示是哪一路完成抢答。

课程设计(论文)基于80c52单片机的多路数字定时抢答器设计

课程设计任务书学生姓名: XXX 专业班级:电子科学与技术1302班指导教师: XX 工作单位:信息工程学院题目: 多路数字定时抢答器设计初始条件:本课程设计既可以选用集成电路:74LSl48,74LS279,74LS48,74LSl92,NE555,74LS00,74LSl21和其它器件等,实现八路定时抢答功能。

又可以使用单片机系统构建多路数字定时抢答器。

要求用蜂鸣器和光电二极管作声光报警器件,工作电源Vcc为+5V。

要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。

2、技术要求:①可同时供8名选手(或代表队)参赛,其编号分别是0到7,各用一个抢答按钮,按钮的编号与选手的编号相对应。

②给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。

③抢答器具有数据锁存和显示的功能。

抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时扬声器给出音响提示。

此外,要封锁输入电路,禁止其它选手抢答。

优先抢答选手的编号一直保持到主持人将系统清零为止。

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

当节目主持人启动“开始”键后,要求定时器立即进行减计时,并用显示器进行显示,同时扬声器发出短暂的声响,声响持续时间0.5秒左右。

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

⑥如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统进行短暂的报警,并封锁输入电路,禁止选手超时后抢答,定时显示器上显示00。

⑦画出总体电路原理图。

3、查阅至少5篇参考文献。

按《武汉理工大学课程设计工作规范》要求撰写设计报告书。

全文用A4纸打印,图纸应符合绘图规范。

时间安排:1、2015 年6 月29 日集中,作课设具体实施计划与课程设计报告格式的要求说明。

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

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

目前大多数抢答器均使用单片机和数字集成电路。

本设计利用89C51单片机及外围接口实现多路抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。

关键词:抢答器;单片机89c51 ;数字集成电路;定时器/计数器
Abstract
Responder is a kind of widely used equipment, in all kinds of competition, it can quickly and objectively identify the players get voice. Now most of the responder all use SCM and digital integrated circuit, This topic USES 89 c51 and peripheral interface implementation vies to answer first system, with the help of the microcontroller timer/counter timing and number principle, software and hardware organically, and makes the system can correctly to the time, at the same time make digital tube display the time correctly.
Key Words: Responder, 89c51, Digital integrated circuit, Timer/counter
1.引言
目前电视节目日益丰富,其中的竞赛环节也越来越多,其中抢答器是不可或缺的器材。

它能准确、公正、直观地判断出第一抢答者。

本次设计用AT89C51单片机作为核心控制元件,设计一个简易的抢答器,并通过Proteus软件设计并利用KeilC软件编辑程序,仿真验证。

使系统能够完成多路抢答,且系统实用性强,判断精准,操作简单。

2.设计方案及原理
本次设计的抢答过程主要分为准备抢答,开始抢答,开始答题以及答题结束四个阶段。

本方案以AT89C51单片机作为主控核心,与晶振、数码管等构成二路抢答器,利用了单片机的电源电路、按键复位电路、时钟电路、定时电路等。

具体系统设计方框图如图1所示。

图1 系统原理方框图
3.硬件设计
在抢答中,只有规定开始后抢答才有效,如果在开始抢答前抢答为无效;显示灯可以显示是哪位选手有效抢答,抢答时间和回答问题时间倒计时显示在数码管上,时间用尽后系统自动复位。

若选手回答完毕,主持人按下准备按钮,数码管清零,可以进入下一提的抢答。

具体系统电路图如图2所示。

图中P1.0为主持人按键,提示选手开始抢答,此时二极管D1亮。

P3.0-P3.1为二路抢答的输入,为选手抢答按键。

P1.1为主持人提示开始抢答倒计时按键,此时数码管P0.0-P0.7显示6秒倒计时。

P3.6-P3.7为选手对应的提示灯,按下即亮,重复按下无效。

图2 系统原理电路图
4.软件设计
两路抢答器由两个按键控制,程序一致判断是否有按键按下,若没有按键按下则循环判断,直到有按键按下后,立即把通过按键输入的信号储存起来然后对2路输入信号进行扫描判断,发光二极管亮起,表示抢答成功。

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

用到了定时器模块、显示时间模块、计数器模块等。

程序流程图如图3所示。

图3 系统流程图
5.系统仿真及实际调试
开始抢答倒计时仿真图如图4所示。

开始答题倒计时仿真图如图5所示。

图4 开始抢答倒计时仿真图
图5 开始答题倒计时仿真图
6.总结
本次课程设计的题目是基于单片机的多路抢答器设计,在设计的过程中出现了以下几种问题。

例如利用Proteus软件仿真的时候多次出现数码管不亮的情况,并且复位键按下电路无反应的现象,通过对程序的调试并重新装入才解决了数码管不亮的问题。

而复位键不灵敏的问题则是因为时间过短导致复位显示不明显。

此外,开始的时候并没有体现出多路抢答,后来在老师的指导下添加了两路电路才使得本次课程设计圆满完成。

通过查阅相关资料,许多问题最终得到解决。

而这些才是作为一名工科学生最宝贵的财富。

参考文献
[1]王思明.张金敏.苟军年.张鑫.杨乔礼.单片机原理及应用系统设计[M].北京:科学出版
社,2012.9:90-151.
[2]李华.王思明.张金敏.单片机原理及应用[M].兰州:兰州大学出版社,2001.5:59-86.
[3]吕锴.部德才.徐明达.单片机串行通讯在抢答器设计中的应用[J].齐齐哈尔大学学
报.2011(4):73-75.
[4]宋春华.江涛.王贵恩.裴小英.基于单片机控制的数字抢答器[J].河南机电高等专科学校学
报.2005(5):32-33.
[5]杨居义.杨尧.杨晓琴.王益斌.单片机课程设计指导[M].北京:清华大学出版社,2009.9:170-174.
附录源程序代码
#include <reg51.h>
sbit start=P1^0;
sbit please=P1^1;
sbit stop=P1^2;
sbit ans=P1^3;
sbit p1=P3^0;
sbit p2=P3^1;
sbit light1=P3^6;
sbit light2=P3^7;
sbit S=P2^0;
sbit G=P2^1;
unsigned char code time[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char cont=0,shi,ge,i;
unsigned char T; //答题时间
void inter() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cont++;
}
main()
{
while(1)
{
// 1.待机阶段
while( start==1 )
{
S=1;
G=0;
P0=time[0];
for( i=0 ; i<100 ; i++ ) ;
P0=0xff;
S=0;
G=1;
P0=time[0];
for( i=0 ; i<100 ; i++ ) ;
P0=0xff;
}
// 2.抢答阶段
while(1)
{
// 1).开始抢答
ans=0;
// 判断那个选手抢到题while(1)
{
if ( p1==0 )
{
light1=0;
break;
}
if ( p2==0 )
{
light2=0;
break;
}
}
// 禁止其他选手再选题while( please==1 ) ;
// 2).开始答题
ans=1;
T=6;
TMOD=0x01;
TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;
ET0=1;
TR0=1;
while( T<200&&stop==1 ) {
shi=T/10;
ge=T%10;
S=1;
G=0;
P0=time[shi];
for( i=0 ; i<100 ; i++ ) ; P0=0xff;
S=0;
G=1;
P0=time[ge];
for( i=0 ; i<100 ; i++ ) ; P0=0xff;
if ( cont>20 )
{
cont=0;T--;
}
}
// 3).停止答题
P3=0xff;
break;
}
}
}。

相关文档
最新文档