基于单片机的抢答器设计.docx
《基于单片机的抢答器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的抢答器设计.docx(40页珍藏版)》请在冰豆网上搜索。
基于单片机的抢答器设计
毕业设计报告(论文)
题目:
基于单片机的抢答器设计
所属系电子工程系
专业自动化
学号01208429
姓 名陈凯凯
指导教师陈刚
起讫日期2012.3---2012.5
设计地点东南大学成贤学院
东南大学成贤学院毕业设计报告(论文)
诚信承诺
本人承诺所呈交的毕业设计报告(论文)及取得的成果是在导师指导下完成,引用他人成果的部分均已列出参考文献。
如论文涉及任何知识产权纠纷,本人将承担一切责任。
学生签名:
陈凯凯
日 期:
2012年5月9日星期三
摘要
随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。
目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想,因此设计一种更易于使用和区分度高的抢答器就成了非常迫切的任务。
现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若有单片机来设计抢答器,更使以上的问题得以解决,针对以上的情况,本文主要以AT89S52单片机为核心器件,设计实现了八路抢答器系统。
利用C语言编程及单片机芯片与外围硬件电路来实现八路抢答、锁存、显示、定时、报警、清零和优先抢答等功能。
工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理,输出控制信号,控制数码管和其它硬件工作。
在数码管上显示优先答题组号以及答题之后的分数,从而实现整个抢答过程。
关键词:
单片机;AT89S52;数码管;八路抢答器
Abstract
Withthedevelopmentandpopularizationofscienceandtechnology,moreandmorevarietyintothecontest,whichwillcleartheroleofResponder.Responderbasicallypresent,manysmall-scaledigitalintegratedcircuitdesign,isnotidealtouse,sothedesigniseasiertouseanddistinguishbetweenahighofResponderhasbecomeaveryurgenttask.NowhaveaccesstoallareasofSCM,withitslowpowerconsumption,knownforintelligent,soifRespondermicrocontrollertodesign,moresothantheproblemsareresolved,fortheabove,thispapermainlyAT89S52microcontrollerasthecorecomponentdesignAchievedeightRespondersystem.UseofClanguageprogrammingandmicrocontrollerchipsandhardwaretoachievetheeightperipheralanswerin,latch,display,time,alarm,clearanswerinotherfunctionsandpriorities.Work,withthekeyswitchcircuitbytheanswerintheinputsignalsfromvariousquarters,theMCU'sprocessing,theoutputcontrolsignaltocontrolthedigitalpipesandotherhardwarework.Priorityinthedigitaldisplaygroupnumberandtheanswerafteranswerthescore,inordertoachievetheanswerintheprocess.
Keywords:
microcontroller;AT89S52;OctalLED;Responder
第一章绪论
1.1单片机抢答器的背景
二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成。
还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。
究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
在知识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。
若在抢答中,只靠人的视觉(或者是听觉)是很难判断出哪一组(或哪一个选手)先抢答到题的。
利用单片机编程来设计抢答器,可以使以上问题得以解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题的。
本文主要介绍了抢答器的工作原理及设计,以及它的实际用途。
1.2单片机抢答器的意义
本系统采用单片机作为整个控制核心。
控制系统的四个模块为:
显示模块、存储模块、语音模块、抢答开关模块。
该系统通过开关电路八个按键输入抢答信号;利用一个数码管来完成显示功能;用按键来让选手进行抢答,在数码管上显示哪一组先答题的,从而实现整个抢答过程。
在知识比赛中,特别是做抢答题目的时候,在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。
如果在抢答中,靠视觉是很难判断出哪组先答题。
利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。
本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。
系统工作原理本系统采用89c52单片机作为核心。
控制系统的四个模块分别为:
存储模块、显示模块、语音模块、抢答开关模块。
该抢答器系统通过开关电路八个按键输入抢答信号;利用一个数码管来完成显示功能。
工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理,输出控制信号,单片机控制的智能抢答器设计。
1.3抢答器的应用
随着我国经济和文化事业的发展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此出现了抢答器。
抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。
因此我们设计了以单片机为核心的新型智能的抢答器,在保留了原始抢答器的基本功能的同时又增加一系列的实用功能并简化其电路结构。
抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。
传统普通抢答器主要存在以下缺陷:
(一)、在一次抢答过程中,当出现超前违规抢答时,只能处理违规抢答信号,而对没有违规的有效抢答信号不能进行处理,因而使该次抢答过程变为无效。
(二)、当有多个违规抢答时,普通抢答器或采用优先编码电路选择其中一个,或利用抢答电路电子元件的“竞争”选择其中一个。
对于后者由于抢答电路制作完毕后电子元件被固定。
各路抢答信号的“竞争”能力也被固定,因而本质上也有优先权。
普通抢答器存在不公平性。
(三)、当有多个违规抢答时,普通抢答器只能“抓住”其中一个而出现“漏洞”。
1.4方案设计
1.4.1方案一用数字电路制作
设计如图1-1所示,采用8D锁存器,优先编码器,译码器等数字电路组成。
其电路功能比较单一,制作复杂,有一定技术缺陷。
图1-1数字电路设计方框图
1.4.2方案二用单片机制作抢答器
系统设计如图1-2所示,包括键盘模块、选手显示模块、得分显示模块、倒计时显示模块、蜂鸣器模块、CPU模块等。
其具有多功能,制作简单,便于调试。
图1-2单片机抢答器设计框图
通过对两个方案的选择和分析,由于方案二制作简单、成本较低、性价比好而且调试方便等原因。
所以选择方案二的设计。
第二章系统设计
2.1单片机的介绍
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。
INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。
为了设计此系统,采用了MCS-51兼容单片机AT89S52单片机作为控制芯片。
2.1.1单片机AT89S52基本知识
AT89S52是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S52具有如下特点:
40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
2.1.2单片机AT89S52产品特点
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
内部数据存储器的高128个单元是为专用寄存器提供的,因此该区也称作特殊功能寄存器(SFR),它们主要用于存放控制命令、状态或数据。
除去程序计数器PC外,还有21个特殊功能寄存器,其地址空间为80H~FFH。
这21个寄存器中有11个特殊功能寄存器具有位寻址能力,它们的字节地址刚好能被8整除。
下面将对部分专用寄存器作简要介绍。
2.1.3单片机AT89S52的使用
AT89S52单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。
该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准的80C51指令集兼容。
片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。
通过把通用的8位CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。
它的应用范围广,可用于解决复杂的控制问题,且成本较低。
其结构框图如图2-1所示。
图2-1AT89S52结构框图
2.1.4单片机AT89S52的特性
AT89S52的主要特性如下:
兼容MCS51产品
8K字节可擦写1000次的在线可编程ISP闪存
4.0V到5.5V的工作电源范围
全静态工作:
0Hz~24MHz
3级程序存储器加密
256字节内部RAM
32条可编程I/O线
3个16位定时器/计数器
8个中断源
UART串行通道
低功耗空闲方式和掉电方式
通过中断终止掉电方式
看门狗定时器
双数据指针
灵活的在线编程(字节和页模式)
2.1.5AT89S52引脚功能与封装
图2-2是AT89S52引脚图。
图2-2AT89S52引脚图
按照功能,AT89S52的引脚可分为主电源、外接晶体振荡或振荡器、多功能I/O口、控制和复位等。
1.多功能I/O口
AT89S52共有四个8位的并行I/O口:
P0、P1、P2、P3端口,对应的引脚分别是P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7,共32根I/O线。
每根线可以单独用作输入或输出。
①P0端口,该口是一个8位漏极开路的双向I/O口。
在作为输出口时,每根引脚可以带动8个TTL输入负载。
当把“1”写入P0时,则它的引脚可用作高阻抗输入。
当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址/数据总线,在该模式,P0口拥有内部上拉电阻。
在对Flash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。
②P1端口,该口是带有内部上拉电阻的8位双向I/O端口,P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。
P1口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在对Flash编程和程序校验时,P1口接收低8位地址。
另外,P1.0与P1.1可以配置成定时/计数器2的外部计数输入端(P1.0/T2)与定时/计数器2的触发输入端(P1.0/T2EX),如表2.1所示。
表2.1 P1口管脚复用功能
端口引脚
复用功能
P1.0
T2(定时器/计算器2的外部输入端)
P1.1
T2EX(定时器/计算器2的外部触发端和双向控制)
P1.5
MOSI(用于在线编程)
P1.6
MISO(用于在线编程)
P1.7
SCK(用于在线编程)
③P2端口,该口是带有内部上拉电阻的8位双向I/O端口,P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。
P2口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器或16位的外部数据存储器时,P2口送出高8位地址,在访问8位地址的外部数据存储器时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。
在对Flash编程和程序校验期间,P2口也接收高位地址或一些控制信号。
④P3端口,该口是带有内部上拉电阻的8位双向I/O端口,P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。
P3口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在AT89S52中,同样P3口还用于一些复用功能,如表2.2所列。
在对Flash编程和程序校验期间,P3口还接收一些控制信号。
表2.2P3端口引脚与复用功能表
端口引脚
复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外部中断0)
P3.3
INT1(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
2.RST 复位输入端。
在振荡器运行时,在此脚上出现两个机器周期的高电平将使其单片机复位。
看门狗定时器(Watchdog)溢出后,该引脚会保持98个振荡周期的高电平。
在SFRAUXR(地址8EH)寄存器中的DISRTO位可以用于屏蔽这种功能。
DISRTO位的默认状态,是复位高电平输出功能使能。
3.ALE/PROG 地址锁存允许信号。
在存取外部存储器时,这个输出信号用于锁存低字节地址。
在对Flash存储器编程时,这条引脚用于输入编程脉冲PROG。
一般情况下,ALE是振荡器频率的6分频信号,可用于外部定时或时钟。
但是,在对外部数据存储器每次存取中,会跳过一个ALE脉冲。
在需要时,可以把地址8EH中的SFR寄存器的0位置为“1”,从而屏蔽ALE的工作;而只有在MOVX或MOVC指令执行时ALE才被激活。
在单片机处于外部执行方式时,对ALE屏蔽位置“1”并不起作用。
4.PSEN 程序存储器允许信号。
它用于读外部程序存储器。
当AT89S52在执行来自外部存储器的指令时,每一个机器周期PSEN被激活2次。
在对外部数据存储器的每次存取中,PSEN的2次激活会被跳过。
5.EA/Vpp 外部存取允许信号。
为了确保单片机从地址为0000H~FFFFH的外部程序存储器中读取代码,故要把EA接到GND端,即地端。
但是,如果锁定位1被编程,则EA在复位时被锁存。
当执行内部程序时,EA应接到Vcc。
在对Flash存储器编程时,这条引脚接收12V编程电压Vpp。
6.XTAL1 振荡器的反相放大器输入,内部时钟工作电路的输入。
7.XTAL2 振荡器的反相放大器输出。
2.2LED数码管
2.2.1LED数码管主要技术参数
图2-3数码管
数码管使用条件:
a、段及小数点上加限流电阻
b、使用电压:
段:
根据发光颜色决定; 小数点:
根据发光颜色决定
c、使用电流:
静态:
总电流80mA(每段10mA);动态:
平均电流4-5mA 峰值电流100mA
上面这个只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的,4位数码管引脚图数码管使用注意事项说明:
(1)数码管表面不要用手触摸,不要用手去弄引角;
(2)焊接温度:
260度;焊接时间:
5S
(3)表面有保护膜的产品,可以在使用前撕下来。
2.2.2LED数码管的引脚说明
这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),如下图所示。
图中的8个LED分别与上面那个图中的A~DP各段相对应,通过控制各个LED的亮灭来显示数字。
图2-4共阳数码管内部结构
图2-5共阴数码管内部结构
对于单个数码管来说,从它的正面看进去,左下角那个脚为1脚,以逆时针方向依次为1`10脚,左上角那个脚便是10脚了,上面两个图中的数字分别与这10个管脚一一对应。
注意,3脚和8脚是连通的,这两个都是公共脚。
还有一种比较常用的是四位数码管,内部的4个数码管共用a~dp这8根数据线,为人们的使用提供了方便,因为里面有4个数码管,所以它有4个公共端,加上a~dp,共有12个引脚,下面便是一个共阴的四位数码管的内部结构图(共阳的与之相反)。
引脚排列依然是从左下角的那个脚(1脚)开始,以逆时针方向依次为1~12脚,下图中的数字与之一一对应。
图2-64位共阳数码管内部结构
2.2.3数码管编码说明
4位数码管编码说明,如2.3表所示:
表2.3控制命令表
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
e
d
dp
c
g
b
f
a
0
0
0
1
0
1
0
0
0
28H
1
1
1
1
0
1
0
1
1
EBH
2
0
0
1
1
0
0
1
0
32H
3
1
0
1
0
0
0
1
0
A2H
4
1
1
1
0
0
0
0
1
E1H
5
1
0
1
0
0
1
0
0
A4H
6
0
0
1
0
0
1
0
0
24H
7
1
1
1
0
1
0
1
0
EAH
8
0
0
1
0
0
0
0
0
20H
9
1
0
1
0
0
0
0
0
A0H
H
0
1
1
0
0
0
0
1
61H
L
0
0
1
1
0
0
0
1
3DH
-
1
1
1
1
0
1
1
1
F7H
C
0
0
1
1
1
1
0
0
3CH
第三章硬件设计
3.1单片机最小系统电路
图3-1单片机最小系统
(1)单片机9脚接复位电路,可按复位按钮S1给单片机复位。
(2)晶振采用12MHZ。
(3)由于单片机只访问片内FlashROM并执行内部程序存储器中的指令,因此单片机的31脚接高电平VCC。
3.2报警电路
图3-2蜂鸣器电路
本系统中采用蜂鸣器报警,由于单片机输出电流较小,所以用三极管9013驱动蜂鸣器发出声音。
3.3四位数码管显示电路
图3-3数码管显示电路
4位数码管为共阳管,由于单片机输出电流比较小,故用4个PNP型的三极管9015来驱动数码管。
单片机输出低电平时三极管导通,使数码管的4各公共端1、4、5和12脚为高电平,此时数码管的数据端输入低电平后数码管被点亮,120欧电阻R12到R19为三极管的限流电阻。
3.4主持人按键电路
图3-4主持人按键电路
S2,S3,S4为主持人按键,S2为主持人复位按键,按一次数码管全部清零,这个时候主持人开始读题,读完题后按抢答开始按键S3,开始抢答,抢答完成后,主持人按S4键给抢答正确选手加分,按S5键可依次查询各个选手得分情况。
3.5选手抢答按键电路
图4-5选手抢答按键电路
S6-S13为8路选手抢答按键,分别对应着1-8号选手。
3.6电路原材料清单
序号
名称
型号
单位
数量
备注
1
电阻
1KΩ
支
1
2
电阻
200Ω
支
5
4
电阻
510Ω
支
8
5
电阻
5.6KΩ
支
1
6
电阻
10KΩ
支
12
7
晶振
12MHz
支
1
8
普通电容
33pF
支
2
9
电解电容
10uF/50V
支
1
10
5号电池
节
3
11
小按钮
支
13
12
三极管
9012
支
4
13
三极管
9013
支
1
14
蜂鸣器
支
1
15
数码管
支
1
16
单片机
AT89S52
支
1
3.7使用工具及仪表清单
序号
名称
型号
单位
数量
备注
1
万用表
块
1
2
內热式电烙铁
1
3
焊锡丝
若干
4
直流稳压电源
台