单片机抢答器课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机抢答器课程设计
摘要
抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辩认出选手号码。目前大多数抢答器均使用单片机(如MCS-51型)和数字集成电路。本设计利用89C51单片机及外围接口实现多路抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。
关键词:抢答器;单片机89c51 ;数字集成电路;定时器/计数器
Abstract
Responder is a kind of widely used equipment, in all kinds of competition, vies to answer first occasion, it can quickly and objectively identify the players get voice. Early responder only by a few triode, SCR, luminous tube, etc, can through the luminous tube instructions recognition player number. Now most of the responder all use SCM (such as MCS - 51 type) 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.引言
目前电视节目日益丰富,其中的竞赛环节也越来越多,其中抢答器是不可或缺的器材。它能准确、公正、直观地判断出第一抢答者。本次设计通过Proteus 软件设计并利用KeilC软件编辑程序,仿真验证。使系统能够完成多路抢答。2.设计方案及原理
本次设计的抢答过程主要分为准备抢答,开始抢答,开始答题以及答题结束四个阶段。本方案以AT89C51单片机作为主控核心,与晶振、数码管等构成二路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时电路等,本设计的系统实用性强、判断精确、操作简单、扩展功能强。
3.硬件设计
在抢答中,只有规定开始后抢答才有效,如果在开始抢答前抢答为无效;显示灯可以显示是哪位选手有效抢答,抢答时间和回答问题时间倒记时显示在数码管上,时间用尽后系统自动复位;如系统原理电路所示P1.0为开始抢答,P1.1为开始抢答倒计时,P3.0-P3.1为二路抢答输入,P3.6-P3.7为与选手对应的提示灯,P0.0-P0.7为数码管,RST复位,XTAL1和XTAL2接晶振电路。
图3.1 系统原理电路图
4.软件设计
两路抢答器由两个按键控制,程序一致判断是否有按键按下,若没有按键按下则循环判断,直到有按键按下后,立即把通过按键输入的信号储存起来然后对2路输入信号进行扫描判断,最后根据扫描结果转入查表程序取数同时发光二极管亮起,表示抢答成功。软件设计利用中断系统的基本构成原理编写中断服程序,其信号由按键电路提供,由CPU响应中断,并输出响应。用到了查询按键模块、定时器模块、显示时间模块、显示组号模块、报警模块等。程序流程图如图4.1
所示。
图4.1 系统流程图5.系统仿真及实际调试
图5.1 开始抢答倒计时仿真结果图
图5.2 开始答题倒计时仿真图
6.总结
本次课程设计的题目是基于单片机的多路抢答器设计,在设计的过程中出现了以下几种问题。例如利用Proteus软件仿真的时候多次出现数码管不亮的情况,并且复位键按下电路无反应的现象,通过对程序的调试并重新装入才解决了数码管不亮的问题。而复位键不灵敏的问题则是因为时间过短导致复位显示不明显。此外,开始的时候并没有体现出多路抢答,后来在老师的指导下添加了两路电路才使得本次课程设计圆满完成。本次单片机课程设计,充分的将理论与实际结合起来,并且遇到了很多实实在在的需要亲自解决的问题,通过查阅相关资料,问题最终得到解决。而这些才是作为一名工科学生最宝贵的财富。
参考文献
[1] 王思明,张金敏,苟军年,张鑫,杨乔礼.单片机原理及应用系统设计[C].北京:科学出版社.2012.9:90-151.
[2] 李华,王思明,张金敏.单片机原理及应用[C].兰州:兰州大学出版社.2001.5:59-86.
[3] 柯文松.十路抢答器的设计[J]. 龙岩师专学报.1988.2.
[4] 吕锴.部德才.徐明达.单片机串行通讯在抢答器设计中的应用[J]齐齐哈尔大学学报.2011.4:73-75.
[5] 宋春华,江涛,王贵恩,裴小英.基于单片机控制的数字抢答器[J]河南机电高等专科学校学报.2005.5:32-33.
8.附录
#include
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,0x f8,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++;