基于AT89S52单片机的抢答器毕业设计c语言.docx

上传人:b****7 文档编号:23601691 上传时间:2023-05-18 格式:DOCX 页数:40 大小:3.34MB
下载 相关 举报
基于AT89S52单片机的抢答器毕业设计c语言.docx_第1页
第1页 / 共40页
基于AT89S52单片机的抢答器毕业设计c语言.docx_第2页
第2页 / 共40页
基于AT89S52单片机的抢答器毕业设计c语言.docx_第3页
第3页 / 共40页
基于AT89S52单片机的抢答器毕业设计c语言.docx_第4页
第4页 / 共40页
基于AT89S52单片机的抢答器毕业设计c语言.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

基于AT89S52单片机的抢答器毕业设计c语言.docx

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

基于AT89S52单片机的抢答器毕业设计c语言.docx

基于AT89S52单片机的抢答器毕业设计c语言

 

学士学位论文(设计)

 

论文题目

基于单片机的多路智能抢答器的设计

作者姓名

指导教师

所在院系

专业名称

完成时间

2009年5月15日

XXXX学院本科毕业论文(设计)诚信承诺书

中文题目:

基于单片机的多路智能抢答器的设计

外文题目:

DesignofMultipathCallingImplementBasedonMCS

学生姓名

学号

院系专业

班级

学生承诺

我承诺在毕业论文(设计)活动中遵守学校有关规定,恪守学术规范,本人毕业论文(设计)内容除特别注明和引用外,均为本人观点,不存在剽窃、抄袭他人学术成果,伪造、篡改实验数据的情况。

如有违规行为,我愿承担一切责任,接受学校的处理。

学生(签名):

2009年5月15日

指导教师承诺

我承诺在指导学生毕业论文(设计)活动中遵守学校有关规定,恪守学术规范,经过本人核查,该生毕业论文(设计)内容除特别注明和引用外,均为该生本人观点,不存在剽窃、抄袭他人学术成果,伪造、篡改实验数据的现象。

指导教师(签名):

2009年5月15日

XXXX学院学士学位论文评审表

基于单片机的多路智能抢答器的设计

摘要:

抢答器是一种通过数码显示和警示等手段,准确、公正、直观地判断出第一抢答者的设备。

本文介绍了一种以STC89C52为核心的多路智能抢答器系统,并分别从硬件和软件两方面对设计思想进行了阐述。

硬件设计包括:

单片机最小系统,按键电路、显示电路、报警电路;软件设计包括Keil编译程序、Proteus电路仿真、ProtelDXP电路制板。

经过调试和运行,该系统达到了预期目标,具有反应灵敏、功能齐全、实用性强的特点。

关键词:

单片机键盘显示报警

中文分类号:

TP368.1

DESIGNOFMULITIPATHCALLINGIMPLEMENTBASEDONMCS

Abstract:

CallingImplementcouldaccurate,impartial,penetratingtodecidewhoistheNo.1topressthebutton,andshowstheresultsthroughnixietube.Akindofmultipathcallingimplementisintroducedinthethesis,andtheSTC89C52isitshardcore.Hardwaredesigninclude:

thesmallestMCSsystem,keyboardcircuit,displaycircuit,alarmcircuit;Softwaredesigninclude:

Keilcompiler,Proteussimulation,ProtelDXPsystemcircuitboard.Also,thedesignmethodofthecontrolsystemwasexpoundedfromaspectsofthesoftwareandthehardware.Andafterdebuggingandrunning,thesystemreachedtheexpectedtarget,whichhavemanyadvantagessuchasfastreaction,allreadyfunctionandgoodpracticability.

Keywords:

MCS,keyboard,display,alarm

基于单片机的多路智能抢答器的设计

1.概述

随着计算机技术的发展,单片机技术已经成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪表仪器智能化中扮演着举足轻重的角色。

在单片机家族的众多成员中,52系列单片机以其优越的性能、成熟的技术、高可靠性和高性价比,成为国内单片机应用领域内的主流。

各种知识竞赛、文娱活动的广泛开展,使抢答器成了必不可少的电子设备,它为参赛选手提供了公正、客观、快速的裁决,已逐渐发展成为一种成型的电子产品,但市面上所售抢答器价格一般较贵且多为小规模集成电路构成,其性能单一,工作起来不够理想。

本文介绍了一种以STC89C52单片机为核心的智能抢答器,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、成本较低,实用性强的特点。

1.1研究目标与任务

抢答器在电视台、商业机构、学校及企事业单位都有广泛应用,它为各种竞赛增添了刺激性、娱乐性,在一定程度上丰富了人们的业余生活。

它的基本功能是:

有几个小组参赛,当主持人允许抢答的情况下,优先抢答者发出抢答信号,此时其他参赛组的抢答电路即失去控制作用;在主持人解除抢答信号后,电路才自动恢复到各组又均可抢答的状态中。

本课题目标是开发并且制作一种结构简单、实用性强、基于单片机的智能抢答器,从而公正、快速、准确的裁决出第一抢答者。

1.2方案设计与论证

方案一:

系统各部分采用中小规模集成数字电路,用机械开关按钮作为控制开关,完成抢答输入信号的触发[1,2]。

该方案的特点是中小规模集成电路应用技术成熟,性能可靠,能方便地完成选手抢答的基本功能,但是由于系统功能要求较高,所以电路连接集成电路相对较多,而且过于复杂,并且制作过程工序比较烦琐,使用不太方便。

方案二:

采用52系列单片机STC89C52作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现[3,4]。

由于使用单片机作为控制核心,其技术比较成熟,应用起来方便、简单,并且周围的辅助电路也比较少,便于控制和实现。

整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩展和更改。

经过比较,显然方案二比方案一简单的多,不但从性能上优于方案一,而且在使用上及其功能的实现上都较方案一简洁,并且由于单片机具有优越的高集成电路性,使其工作速度更快、效率更高。

另外STC89C52单片机可以采用12MHz的晶振,提高了信号的测量精度,并且使该系统可以通过软件改进来扩展功能。

而方案一采用了中小规模集成电路,由于其复杂的电路性能,可能会使信号的输入输出产生延时及不必要的误差。

因此选择方案二比较适合。

1.3研究步骤

(1)根据要求,设计出比较合理的方案,选取合适的硬件器件,熟悉各个器件的性能;

(2)编写程序,根据设计的要求,编制主程序以及各子程序模块;

(3)通过Keil、Proteus等软件进行仿真;

(4)仿真成功后开始搭建实物电路,并且进行调试;

(5)进行PCB设计;

(6)实验总结;

(7)撰写研究报告。

2.电路原理图的设计

根据设计功能的要求,电路应该包括控制电路,按键电路,以及用来显示裁决结果的显示电路。

除了用数码管显示目前的动作情形,同时也需要用声音提醒或者警告操作人员,因此也在电路设计时加入了报警电路。

2.1电路组成框图

抢答器电路总体设计方框图如图1所示:

图1抢答器总体设计方框图

2.2电路原理图

抢答器电路原理图如图2所示,控制电路以单片机STC89C52为核心,按键电路采用矩阵式键盘的接法,显示电路采共阴极数码管动态显示,报警采用蜂鸣器报警电路。

图2抢答器电路设计原理图

3.电路硬件设计

电路硬件包括:

单片机最小系统(即控制电路)、按键电路、显示电路、报警电路。

3.1单片机最小系统

(1)系统结构

总线型单片机非总线应用的最小系统示意图如图3所示,只有单片机和时钟电路、复位电路构成的最简单电路,并行总线不用于外围扩展,可作为应用系统的I/O口使用。

图3总线型单片机非总线应用的最小系统

(2)系统特点

有大量可使用的I/O口;

没有并行扩展,应用系统结构简单;

外围器件只能通过UART口的串行移位方式或虚拟串行扩展总线进行扩展。

(3)STC89C52单片机

STC89C52单片机具有片内E2PROM,是真正的单片机,由于不需要外接EPROM,所以应用非常普遍。

STC89C52的主要工作特性如下:

片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为10000次;

片内数据存储器内含256字节的RAM;

具有32根可编程I/O口线;

具有3个可编程定时器;

中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;

串行口是具有一个全双工的可编程串行通信口;

具有一个数据指针DPTR;

低功耗工作模式有空闲模式和掉电模式;

具有可编程的3级程序锁定位;

单片机STC89C52工作电源电压为5(1+0.2)V,且典型值为5V;

单片机STC89C52最高工作频率为24MHz,单片机正常工作时,都需要有一个时钟电路和一个复位电路。

STC89C52的内部结构图如图4所示:

图4STC89C52内部结构图

52单片机有4个8位并行输入/输出接口:

P0、P1、P2和P3口这四个口既可以并行输入或输出8位数据,又可按位使用,即每一位均能独立做输入或输出用。

图5为各接口的电气结构示意图[5,6]:

图5P0、P1、P2、P3口的电气结构图

I/O端口的结构

锁存器加引脚的典型结构

52的I/O端口都由内部总线实现操作控制。

P0-P3四个I/O端口都可以用作普通I/O口,因此,要求有输出锁存功能。

内部总线又是分时操作,故每个I/O端口都有相应的锁存器。

然而,I/O端口又是外部的输入/输出通道,必须有相应的引脚,故形成了I/O端口的锁存器加引脚的典型结构。

I/O的复用结构

I/O端口的总线复用。

在使用并行扩展总线时,P0口可做数据总线口和低8位地址总线口,P0口为三态双向口。

P0口输出并行总线的地址/数据信号;P2口输出高8位地址信号。

I/O端口的功能复用。

P3口为复用的I/O端口,口内有复用输出功能的控制端;引脚也有复用输入功能的控制端。

P3口的第二功能输入引脚功能表如表1所示:

 

表1P3口的第二功能输入引脚

端口引脚

第二功能

说明

P3.0

RXD

串行数据接受

P3.1

TXD

串行数据发送

P3.2

外部中断0申请

P3.3

外部中断1申请

P3.4

T0

定时/计数器0输入

P3.5

T1

定时/计数器1输入

P3.6

外部数据存储器写选通

P3.7

外部数据存储器读选通

准双向口结构

P0、P1、P2、P3口作为普通I/O口使用时,都是准双向口结构,准双向口的典型结构如图(5)-b所示,准双向口的输入操作和输出操作本质不同,输入操作是读引脚状态;输出操作是对口锁存器的写入操作。

由口锁存器和引脚电路可知:

当由内部总线给口锁存器置0或1时,锁存器中的“1”或“0”状态立即反映到引脚上。

但是在输入操作(读引脚)时,如果口锁存器状态为“0”,引脚被钳位在“0”状态,导致无法读出引脚的高电平输入。

I/O端口的应用特性

端口的自动识别。

无论是P0、P2口的总线复用,还是P3口的功能复用,内部资源会自动选择,不需要通过指令的状态选择。

口锁存器的读、改、写操作。

许多涉及到I/O端口的操作,实际上只是设计口锁存器的读出、修改、写入的操作。

这些指令都是一些逻辑运算指令、置位/清除指令、条件转移指令以及将I/O口作为目的地址的操作指令。

P0口作为普通I/O口使用。

当不使用并行扩展总线时,P0、P2口都可以做普通I/O口。

但是P0口为开漏结构,作I/O口时必须外加上拉电阻。

I/O口的驱动特性。

P0口每一个I/O口可输出驱动8个TTL负载。

而P1-P3口只能驱动4个。

(4)时钟电路

时钟电路用于产生单片机工作所需要的时钟信号。

设计中采用了比较典型的内部时钟方式,如图6所示:

其工作原理是:

片内高增益反向放大器XTAL1、XTAL2外接作为反馈元件的晶体(呈感性)与电容组成的并联谐振回路构成一个自激振荡器向内部时钟电路提供振荡时钟。

振荡器的频率主要取决于晶体的振荡频率,一般晶体可以在1.2-12MHz之间任选。

电容的大小影响振荡器电路的稳定性和快速性,其值有微调作用,通常取30pF左右。

在设计电路板时,晶振和电容应尽可能的靠近芯片,以减小分布电容,保证振荡器振荡的稳定性[7]。

图6单片机外接晶体的接法

(5)复位电路

复位是单片机的初始化操作,其主要功能是将程序计数器PC初始化为0000H,使单片机从0000H单元开始执行程序。

复位操作不影响片内RAM的内容,但是对SFR中的一些寄存器有影响。

图7各种复位电路

单片机的复位是靠外部电路复位的。

其复位方式有上电复位和按键手动复位两种。

复位电路中的电阻、电容数值的设置,是为了保证在RST管脚处至少保持两个机器周期(24个振荡周期)的高电平而完成复位过程的,也就是在斯密特触发器的输入端维持在最低阀值电压以上足够长时间,使斯密特触发器产生一个正脉冲。

电阻值通常为1K,电容值通常为22uF。

图7为几种常见的复位电路接法[8]。

3.2按键电路

(1)键盘接口和键输入软件中应解决的几个问题

消除抖动

按键的合断过程存在一个抖动的暂态过程,这种抖动的暂态过程大约经过5-10ms的时间,人的肉眼是察觉不到的,但对于高速的CPU是有反应的,可能产生误处理。

为了保证键动作一次,仅作一次处理,必须采取措施以消除抖动。

本设计中采用了软件消抖的方法。

软件消抖是用延时来躲过暂态抖动过程,执行一段大于10ms的延时程序后,再读取稳定的键状态。

键盘的监测方法

对于计算机应用系统,键盘扫描只是CPU工作的一部分,键盘处理只是在有键按下时才有意义。

对于是否有键按下的信息输入方式有中断方式和查询方式两种。

(2)行列式键盘工作原理

行列式键盘又叫矩阵式键盘。

用I/O线组成行、列结构,按键设置在行与列的交点上,这样可以节约I/O口线。

4×4矩阵式键盘的示意图如图8所示:

图84×4矩阵式键盘的示意图

检测键盘上有无键按下可采用查询工作方式。

首先由P1口的高四位输出0电平,从P1口的低四位读取键盘的状态;再从P1口的低四位输出0电平,从P1口的高四位读取键盘状态。

将两次读取的结果组合起来就可以得到一组特征编码[9],如表2所示:

表24×4矩阵式键盘键码表

按键名称

K0

K1

K2

K3

K4

K5

K6

K7

K8

特征键码

77H

7BH

0BBH

0DBH

7DH

0BDH

0DDH

7EH

0BEH

按键名称

K9

KA

KB

KC

KD

KE

KF

未按

特征键码

0DEH

0B7H

0D7H

0EEH

OEDH

0EBH

0E7H

0FFH

3.3显示电路

显示电路为六位共阴极LED动态显示接口电路。

单个共阴极7段数码的段选码如表3所示:

表37段共阴数码管段选码表

显示字符

0

1

2

3

4

5

6

7

8

9

共阴极段选码

3FH

06H

5BH

4FH

66H

6DH

7DH

07H

7FH

6FH

共阴极LED数码管将发光二极管的阴极(负极)短接后作为公共阴极,当驱动信号为高电平、“-”端接低电平时才能发光。

这样的多位显示,将所有位的选线并联在一起,由一个8位I/O口控制,实现各部分的分时选通。

由于所有位选皆由一个I/O口控制,在每一瞬间6位LED会显示相同的字符。

想要每一位显示不同的字符,就必须采用扫描方法轮流点亮各位LED,即在每一瞬间只使某一位显示字符。

在此瞬间,段选控制I/O口输出相应字型码,而位选则控制I/O口在该显示位送出低电平,以保证该位显示相应字符。

如此轮流,使每一位分时显示该位应显示字符。

其管脚配置及动态显示接口电路如图9所示:

图9共阴极数码管管脚配置及动态显示接口电路

3.4报警电路

考虑到实验室现有的元器件,设计中采用了蜂鸣器报警电路,如果有条件还可以采用更高级的语音报警电路,那样更加直观方便。

电路的接法如图10所示[10]:

图10蜂鸣器报警电路

工作工程:

蜂鸣器经过74LS04接在P3.7口,当P3.7输出为低电平“0”时,74LS04端输出为“1”,晶体管导通,蜂鸣器两端获得约+5V的电压而鸣叫;当P3.7输出为高电平“1”时,三极管截止,蜂鸣器停止鸣叫。

电路中74LS04不仅起到了反向作用,还有增大负载能力的作用。

4.系统软件的设计

众多软件的联合使用对应用系统的设计起到了很重要的作用,在实物制作之前对设计进行仿真,可以检验程序的执行结果是否与设计的功能相同,这样可以对程序进行改进。

在这里用到了KeilC和Proteus,同时在电路制板时用到了ProtelDXP绘制PCB板。

4.1编译软件——KeilC

(1)KeilC的使用

KeilC是众多单片机应用开发软件中优秀的软件之一,它集编辑,编译,仿真等于一体,同时支持汇编和C语言的程序设计,本设计使用它作为C编译器,使用方法如下:

首先建立一个工程,然后将C程序文件添加到工程下链接编译,接着设置生成并输出HEX文件,如果程序编译后有错误就进行调试[11]。

(2)程序设计

完整的程序参见附录。

主流程

主流程图如图11所示:

   图11主流程图  图12按键扫描流程

按键扫描流程

每一个按键都对应一个处理子程序,通过对按键扫描进行按键识别。

按键识别的方法包含了行扫描法和反转法。

按键扫描流程图如图12所示,包括了对矩阵键盘和调整时间按键的扫描。

中断流程图

设计采用了外部中断,中断程序流程图如图13所示:

图13中断流程图

4.2仿真软件——Proteus

Proteus是一款常用的仿真软件,和Keil联合使用,对设计的完善起到很大的作用,也对硬件的搭建提供了连线依据。

Proteus的使用相对比较简单,在元件库中找到相应电路所要用到的元件后放置在原理图纸上,然后用导线连接起来就可以了。

在选用元件后,可以在原理图纸上双击某元件,更改它的属性,如电阻的名称、阻值等。

本设计中使用了单片机,需要加载程序文件。

之前已经使用KeilC生成了所需要的HEX文件,直接加载进来就可以了。

这时就可以运行仿真了。

在仿真之前最好再检查一下电路的连接,确认正确之后再运行,以免粗心造成运行结果与设计的不相符合。

设计的仿真原理图如图14所示:

图14电路仿真原理图

4.3制板软件——ProtelDXP

PCB电路板的设计流程[12]:

(1)设计原理图

创建一个新项目;创建一张新的原理图图纸;查找元件;在原理图中放置元件;设置元件属性;放置电源和接地符号;绘制原理图。

(2)定义元件封装

原理图设计完成后,元件的封装有可能被遗漏或有错误。

对于用户自己设计的元件或者是某些特殊元件,必须由用户自己定义或修改元件的封装。

(3)设置PCB图纸

可以设定PCB电路板的结构及尺寸,板层数目,通孔的类型,网格的大小等,既可以用系统提供的PCB设计模板进行设计,也可以手动设计PCB板。

(4)生成网表和加载网表

网表是电路原理图和印刷电路板设计的接口,只有将网表引入PCB系统后,才能进行电路板的自动布线。

(5)布线

设置布线规则后,先自动布线,然后手工调整。

在元件很少且布线简单的情况下,也可以直接进行手动布线。

制成的电路板如图15所示:

图15抢答器的PCB电路图

5.调试及故障分析

5.1程序调试

程序调试:

分步骤进行调试,对每一个子程序进行编译链接后,将整个程序全部编译,生成HEX文件加载到单片机上,进行仿真。

出现错误和警告时要进行分析,解决问题。

仿真分析:

启动(上电)后,显示00—00。

当主持人按键,显示30秒的抢答时间,如有选手抢答,会显示选手号码以及60秒的回答时间,回答时间剩余5秒时,会响提示音。

如果第一位选手不能回答,那么主持人再次按下START键允许其他选手继续抢答,允许其他选手抢答的时间为上一次抢答的剩余时间,答题时间仍是60秒。

如果没有人抢答,抢答倒计时还有5秒的时候会响提示音,抢答时间过后抢答器会自动进入复位状态,可以进行下一轮的抢答。

如果主持人未按START键,有选手按了抢答按键,犯规抢答,显示犯规选手号并闪烁FF,直到主持人复位。

这与预期的效果是一致的。

5.2硬件焊接及故障分析

电子电路是由许多元器件和导线连接而成,每一个元件和导线的好坏,连接的正确可靠与否,都可能产生故障,情况很复杂。

有的是一种原因引起的简单故障,也有的是多种原因引起的复杂故障。

以下是一些常见的故障:

(1)电路组装有错误或连接不牢,致使电路与原理电路不一致。

(2)电路元器件本身特性不良或损坏,特别是芯片的损坏最为常见,其次是电容的击穿、短路以及电阻的阻值与标称值不符。

因此在组装电路前应进行检查和筛选,以防组装完电路后,再查找原因所带来的种种麻烦。

(3)各仪器连线是否正确,是否与电路共地;仪表使用是否得当。

(4)以上检查无错误时,应考虑电路设计,这也是实验中尤其是在数字电路中常遇到的[13]。

硬件搭建:

按照设计的原理图一步一步完成电路的搭建。

这过程中一定要耐心、细心,否则很容易跳错线。

实物电路搭好以后,仔细对照原理图检查一遍,然后就可以上电检测了。

制作硬件过程中,出现了以下问题经过检查得到了解决:

(1)接上电源后发觉数码管无显示。

经检查后现单片机的29脚悬空未接,应该接在高电平上,这是单片机正常工作的前提。

(2)单片机不工作。

检查后判定是振荡电路不起振,原因是用跳线将振荡电路连在了远离单片机的位置,影响了振荡电路的稳定。

(3)矩阵键盘的其中一行不正常工作。

经检查后发现是虚焊。

制作的实物如图16所示:

图16抢答器实物图

电路运行的各个状态图见附录二。

6.总结

与普通抢答器相比,本设计有以下几方面优势:

(1)具有清零装置和抢答控制,可由主持人操纵避免有人提前抢答违反规则。

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

实物的制作仅仅是在实验室完成的,在实际应用中还有许多问题需要考虑,比如选手是分散在主席台下的,那么选手的按键就要通过总线进行连接,而不是实验板上简单的矩阵键盘式的连接。

另外,抢答器的功能有待进一步增强,比如增加计分功能。

而功能的扩展恰恰体现了本设计中选用单片机作为核心控制器的优势——简单的接线、灵活的可编程性。

7.致谢

在本次毕业设计过程中,我的指导老师司佑全老师对本论文从选题、构思、资料收集到最后定稿的各个环节都给予了细心指引与教导,使我得以最终完成毕业设计,在此对司老师表示衷心感谢!

司老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维以及诲人不倦的师者风范是我终生学习的楷模。

同时也要感谢祝洪峰、董巍、张能文、陈兮等同学,他们在设计的各个阶段给了我很多帮助和建议。

最后,我要向在百忙之中抽时间对本文进行审阅、评议的各位老师表示感谢!

参考文献

[1]王青萍.八路智力竞赛抢答器的设计[J].湖北教育学院学报,2007,(08):

65-67.

[2]宁志刚,黄智伟,唐慧,胡芬芬,八位数显抢答器课程设计方法研讨

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

当前位置:首页 > 人文社科 > 文化宗教

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

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