基于51单片机八路抢答器的设计.docx

上传人:b****8 文档编号:10486850 上传时间:2023-02-13 格式:DOCX 页数:43 大小:1.53MB
下载 相关 举报
基于51单片机八路抢答器的设计.docx_第1页
第1页 / 共43页
基于51单片机八路抢答器的设计.docx_第2页
第2页 / 共43页
基于51单片机八路抢答器的设计.docx_第3页
第3页 / 共43页
基于51单片机八路抢答器的设计.docx_第4页
第4页 / 共43页
基于51单片机八路抢答器的设计.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

基于51单片机八路抢答器的设计.docx

《基于51单片机八路抢答器的设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机八路抢答器的设计.docx(43页珍藏版)》请在冰豆网上搜索。

基于51单片机八路抢答器的设计.docx

基于51单片机八路抢答器的设计

编号:

 

课程设计说明书

(专业工程设计)

 

题目:

基于51单片机八路抢答器的设计

院(系):

信息与通信学院

专业:

微电子科学与工程

学生姓名:

伦海威

学号:

**********

************************************

 

2016年12月17日

 

摘要

随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。

目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。

因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。

现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上问题得以解决.针对以上情况,本文设计出以STC89C52RC单片机为核心的八路抢答器。

我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、实用性强的特点。

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

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

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

同时系统能够实现:

在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为犯规;满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。

【关键词】STC89C52RC;共阴数码管;按键;蜂鸣器

 

ABSTRACT

 Withthedevelopmentandpopularizationofscienceandtechnology,avarietyofcompetitionsmoreandmore,inwhichtheroleoftheResponderwillbeobvious.Atpresent,alotofanswerbasicallyusingsmall-scaledigitalintegratedcircuitdesign,useitisnotideal.Sodesignamoreeasy-to-useandhigh-definitionoftheResponderhasbecomeaveryurgenttask.NowMCUhasenteredvariousfields,withitspowerconsumptionissmall,intelligentandknown,soiftheuseofsingle-chipdesigntoanswer,sothattheaboveproblemscanberesolved.Inviewoftheabove,thisdesigntoSTC89C52RCsinglechipasthecoreoftheeight-.Weusethedirectdisplayofdigitaldisplay,automaticallylatchthedisplayresults,andautomaticallyresetthedesign,itcananswerinaccordancewiththedifferentinputsignals,throughthemicrocontrollercontrolandproducedifferentinputsignalcorrespondingtotheoutputsignal,andfinallythroughLEDdigitaltubeshowsthecorrespondingnumberofroad,evenifthetwogroupsoftheanswertimedifferenceofafewmicroseconds,whichcanbedistinguishedwhichgroupofprioritypressthebutton,whichmakesfulluseoftheadvantagesofSCMsystemwithasimple,powerful,reliableGood,practicalandstrongfeatures.

   Thedesignisbasedoneight-wayanswerforthebasicidea.Takingintoaccounttheneedtosetthetimelimittoanswerthefunction,theuseof51MCUandperipheralinterfacetoachievetheanswerinthesystem,theuseofsingle-chiptimer/countertimingandcountingprinciple,thesoftwareandhardwareorganicallycombine,makingthesystemcorrectlyTime,whileallowingthedigitaltubetodisplaythecorrecttime.Withtheswitchtodothekeyboardoutput,speakerandLEDindicator.Atthesametimethesystemcanbeachieved:

intheanswer,onlyafterthebeginningoftheanswerisvalid,ifinthebeginningtoanswerbeforeansweringforfoul,fulltimeafterthesystemautomaticallyresetandmasterreset.

【Keywords】STC89C52RC,commoncathodedigitaltube,button,buzzer

 

4.1.1原理图15

引言

最近几年来,随着科技的飞速发展,单片机领域正在不断的走向社会各个角落,还带动传统控制检测日新月异更新。

在实时运作和自动控制的单片机应用到系统中,单片机如今是作为一个核心部件来使用,仅掌握单片机方面知识是不够的,还应根据其具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。

“单片机原理及应用课程设计”是电子类专业的学科基础科,它是继“汇编语言程序设计”,“接口技术”等课程之后开出的实践环节课程。

 

第一章方案概述

1.1设计目标

1.1.1基本功能

1、同时供8名选手或8个代表队参加比赛,分别用8个按钮K1~K8表示。

2、设置一个系统抢答控制开关K0,该开关由主持人控制。

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

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

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

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

当主持人启动"开始"键后,定时器进行减计时。

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

在这段时间如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示FFF。

1.1.2主要技术参数

1、在抢答中,只有在主持人按“开始”按键后抢答才有效,如果在按“开始”抢答按键前抢答为犯规,系统发出警报,数码管显示违规号码及FF(如3FF)。

2、抢答限定时间和回答问题的时间是在10~60s设定。

3、数码管可以显示是哪位选手有效抢答和无效抢答,正确按键后有音提示并在数码管上正确显示。

4、主持人按下“开始”按键后抢答时间和回答问题时间倒记时在数码管上显示,时间完后系统自动复位为FFF。

5、在抢答时间和倒计时时间准备到达时,系统会发出警报提示。

6、按键锁定,在有效状态下,按键无效非法。

第二章硬件设计与原理

以STC89C52RC单片机为核心,起着控制作用。

系统包括数码管显示电路、复位电路、时钟电路、按键输入电路和蜂鸣器报警电路。

设计思路分为六个模块:

复位电路、晶振电路模块、STC89C52RC、数码管显示电路、按键输入电路和蜂鸣器报警电路这六个模块。

2.1总设计框图

设计总框图如下图2-1所示。

图2-1设计总框图

2.2硬件设计分析

2.2.1单片机主控模块

51单片机是对目前所有兼容intel8031指令系统的单片机的统称。

该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的8为单片机之一。

单片机是在一块芯片内集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。

51系列单片机内包含以下几个部件:

一个8位CPU;一个片内振荡器及时钟电路;

4KB的ROM程序存储器;

一个128B的RAM数据存储器;

寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路;

32条可编程的I/O口线;

两个16位定时/计数器;

一个可编程全双工串行口;

5个中断源、两个优先级嵌套中断结构。

2.2.2STC89C52芯片简介

单片机是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。

就其组成和功能而言,一块单片机芯片就是一台计算机。

它是一种高性能、低功耗的8位CMOS微处理芯片,市场应用最多。

8KBFlashROM,可以擦除1000次以上,数据保存10年。

STC89C52RC的主要特性如下表2-1所示。

表2-1STC89C52RC的主要功能特性

兼容MCS—51指令系统

32个可编程I/O线

4k字节可编程闪烁存储器

可编程UARL通道

三个16位可编程定时/计数器中断

时钟频率0-24MHz

2个外部中断源,共8个中断源

256×8bit内部RAM

2个读写中断口线

可直接驱动LED

软件设置睡眠和唤醒功能

低功耗空闲和掉电模式

2.2.3封装和引脚说明

STC89C52单片机为双列直插式(DIP)芯片,是最常用的有总线扩展引脚的DIP40封装。

如图2-2所示。

(1).电源及时钟引脚

Vcc:

接入电源。

Vss:

接地。

XTAL1:

振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端。

(2).控制线引脚

RST:

RST是复位信号输入端。

ALE/PROG:

地址锁存允许信号输入端。

在存取外存储器时,用于锁存低8位地址信号。

当单片机正常工作后,ALE端就周期性地以时钟振荡频率的1/6固定频率向外输出正脉冲信号。

此引脚的第2功能PROG是作为编程脉冲输入端。

PSEN:

程序存储器允许输出端。

CPU从外部程序存储器取指令时,PSEN信号会自动产生负脉冲,作为外部程序存储器的选通信号。

EA/Vpp:

程序存储器地址允许输入端。

当EA为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令;当EA为低电平时,CPU只执行片外程序存储器指令。

(3).并行I/O引脚

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:

P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。

Flash编程和程序校验期间,P1接收低8位地址。

P2口:

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。

Flash编程或校验时,P2亦接收高位地址和一些控制信号。

P3口:

P3口是一组带有内部上拉电阻的8位双向I/O口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

如表2-2所示。

图2-2STC89C52单片机引脚封装

表2-2P3特殊功能口

口管脚

备选功能

P3.0RXD

串行输入口

P3.1TXD

串行输出口

P3.2/INT0

外部中断0

P3.3/INT1

外部中断1

P3.4T0

记时器0外部输入

P3.5T1

记时器1外部输入

P3.6/WR

外部数据存储器写选通

P3.7/RD

外部数据存储器读选通

单片机最小系统原理图如图2-3所示。

图2-3单片机最小系统

单片机最小系统说明:

时钟信号的产生:

在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。

而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟振荡电路。

时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。

一般地,电容C2和C3取30pF左右,晶体的振荡频率范围是1.2-12MHz。

如果晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。

单片机复位使CPU和系统中的其他功能部件都处在一个确定的初始状态下,并从这个状态开始工作。

单片机复位条件:

必须使9脚加上持续两个机器周期(即24个振荡周期)的高电平。

2.2.4数码管显示电路

显示系统采用四位一体数码管来显示,LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。

LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。

以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示sP,即点),每个发光二极管的阳极连在一起,如图2-4所示。

这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。

为方便起见,本文主要讨论共阴八段LED数码显示管,其他类形的显示管与其类似。

图2-4LED数码管

LED灯的显示原理:

通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如H,G,F,E,D,C,B,A全亮显示为8,采用共阴极连接驱动代码,代码表如下表2-3所示。

表2-3LED驱动代码

显示数值

H,G,F,E,D,C,B,A

驱动代码

0

00111111

3FH

1

00000110

06H

2

01011011

5BH

3

01001111

4FH

4

01100110

66H

5

01101101

6DH

6

01111101

7DH

7

00000111

07H

8

01111111

7FH

9

01101111

6FH

2.2.5按键输入电路

按键是由一组按压式或触摸式开关构成的阵列,是一种常用的输入设备。

键盘可分为编码式键盘和非编码式键盘两种。

1.编码键盘通过硬件电路产生被按按键的键码,这种键盘所需程序简单,但硬件电路复杂、价格昂贵通常不被单片机系统采用。

2.非编码键盘常用一些按键排列成行列矩阵,其硬件逻辑与按键编码不存在严格的对应关系,而要由所用的程序来决定。

非编码键盘的硬件接口简单,但是要占用较多的CPU时间,通常采用可编程键盘管理芯片来克服这个缺点。

本设计使用两种按键,一种是按键式非编码键盘和轻触式非编码开关。

在接线时由于有四个引脚,连接时需要用万用表进行测量,然后接通两个引脚,原理图如图2-5(a),(b)所示。

要进行数据的计算就必须先进行数据的输入,也就必须确定按键输入的数值是什么,这就需要对键盘进行扫描,从而确定究竟是哪个键按下。

图2-5(a)按键电路

图2-5(b)按键电路

2.2.6报警与指示电路

在电路设计当中,设有报警与指示电路如图2-6所示,电路在整个电路中起到报警提示的作用。

图2-6报警与指示电路

 

第三章软件仿真

一般调试都是在编写代码完之后用来验证电路的准确与否,通过反复修改程序代码来来使电路尽可能完善,但是单单依靠软件来仿真并不能保证电路能实现想要的功能,因为软件仿真并不像现实的一样。

所以还要依靠硬件电路来实现,不断修改。

3.1软件调试部分

使用Proteus和KeiluVision4软件来仿真,Proteus软件是用来仿真电路图,而KeiluVision4软件用来编译代码和编写代码,总程序如附录一所示。

3.1.1PROTEUS简介

ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。

它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:

(1)现了单片机仿真和SPICE电路仿真相结合。

具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

(2)支持主流单片机系统的仿真。

目前支持的单片机类型有:

68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

(3)提供软件调试功能。

在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。

(4)具有强大的原理图绘制功能。

可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。

还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。

配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:

*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。

PROTEUS是单片机课堂教学的先进助手。

PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。

前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

它的元器件、连接线路等却和传统的单片机实验硬件高度对应。

这在相当程度上替代了传统的单片机实验教学的功能,例:

元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

课程设计、毕业设计是学生走向就业的重要实践环节。

由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。

3.1.2软件调试

用软件来调试查找编程上的错误,可以比较好的修改电路和程序,使得电路能尽可能完善和正确。

如图3-1为电路连接图在Proteus的接法。

图3-1Proteus电路原理图

而KeiluVision4用来检查语法和编译上的错误,用起来比较方便,它是和Proteus软件相结合的,只有编译没有问题、正确后才能导入Proteus中得到正确的结果。

如图3-2是编译检查正确后的结果。

图3-2KeilUvision4编写程序

其次,用KeilUvision4编写程序,编译无误后生成HEX文件,通过在网上买的最小系统来烧录程序,最小系统烧录程序很简单,只需插到电脑的USB接口,在网上下载烧录STC系列的单片机的烧录软件,找到生成HEX文件,即可下载。

3.2Proteus仿真图

下图片为通过Proteus软件将已经用KeilUvision4编写的程序,编译无误后生成HEX文件装载入单片机中仿真出来后的结果。

图3-3(a)为仿真的初始画面,图3-3(b)为6号犯规仿真结果图,图3-3(c)为4号成功抢答的仿真结果图,图3-3(d)为抢答时间调整仿真结果图,图3-3(e)为答题时间调整仿真结果图。

图3-3(a)仿真初始画面

图3-3(b)6号犯规

图3-3(c)4号成功抢答

图3-3(d)抢答时间调整

图3-3(e)答题时间调整

 

第四章硬件调试

为了能够更好地完成电路的设计我使用DXP这款软件来制作电路板

4.1DXP软件简介

Altium公司作为EDA领域里的一个领先公司,在原来Protel99SE的基础上,应用最先进的软件设计方法,于2002年率先推出了一款基于Windows2000和WindowsXP操作系统的EDA设计软件ProtelDXP。

并于2004年推出了整合Protel完整PCB板级设计功能的一体化电子产品开发系统环境——AltiumDesigner2004版。

ProtelDXP在前版本的基础上增加了许多新的功能。

新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。

ProtelDXP是第一个将所有设计工具集于一身的板级设计系统,电

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1