课程设计八路智力竞赛抢答器的设计Word文件下载.docx

上传人:b****6 文档编号:19596709 上传时间:2023-01-08 格式:DOCX 页数:31 大小:337.26KB
下载 相关 举报
课程设计八路智力竞赛抢答器的设计Word文件下载.docx_第1页
第1页 / 共31页
课程设计八路智力竞赛抢答器的设计Word文件下载.docx_第2页
第2页 / 共31页
课程设计八路智力竞赛抢答器的设计Word文件下载.docx_第3页
第3页 / 共31页
课程设计八路智力竞赛抢答器的设计Word文件下载.docx_第4页
第4页 / 共31页
课程设计八路智力竞赛抢答器的设计Word文件下载.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

课程设计八路智力竞赛抢答器的设计Word文件下载.docx

《课程设计八路智力竞赛抢答器的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《课程设计八路智力竞赛抢答器的设计Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。

课程设计八路智力竞赛抢答器的设计Word文件下载.docx

P3.2抢答时间调整整,P3.3回答时间调整,P3.4为时间加1调整,P3.5为时间减1调整。

6、当参赛选手在回答问题时要求使用锦囊,则主持人按下抢答开始键,计时重新开始。

1.2设计方框图

如图(1-1)所示为八路智力抢答器设计的物理模块划分如下:

 

图1-1设计物理框图

通过主持人的相关操作(包括开始、停止、调时、锦囊使用等),以及选手的抢答,显示模块与语音模块应能迅速做出正确回应。

如主持人按下开始,语音模块立刻给以语音提示,显示模块立刻显示抢答倒计时;

当有选手抢答,显示模块应马上显示最先抢答的选手号,并进入答题倒计时…而这一切,都有赖于本设计的核心模块—51单片机来控制。

通过一系列的汇编程序,来控制、实现相应的逻辑功能。

本设计中大部分的较为复杂的逻辑控制,都是用相应的汇编程来控制实现的。

根据相应的设计要求,对本设计可作如下分析:

1、由设计要求1,本设计应具有抢答时间调整和回答时间调整程序,并由相应引脚来控制:

P3.2抢答时间调整,P3.3回答时间调整,P3.4为加1s,P3.5为减1s;

2、根据设计要求2,本设计应具有抢答、回答倒计时功能,即倒计时程序。

通过查询开始键的状态来决定是否进入抢答倒计时,开始键按下后有人抢答便立即进入回答倒计时,倒计时小于5s时,调用发声程序;

3、程序中应不断查询"

键的状态,一旦其按下,应立即退出,并进入查询程序(用来查询开始键与八路抢答键的状态);

4、为使本设计具有锦囊功能,在回答倒计时过程中,若按下开始键,回答倒计时重新开始。

1.3抢答器的程序流程

本设计采用P3.2、P3.3分别接抢答时间调节和答题时间调节按钮,即通过外部中断0、外部中断1分别控制抢答、答题时间的调整。

因此,设计的软件部分可分为工作模块、外部中断0模块、外部中断1模块。

对流程图的分析,也分三部分来介绍。

(1)工作时(非调节时间时)的流程

平时正常工作时,程序的流程图绘制如图1-2:

对工作流程图中的某些部分解释如下:

初始化部分:

包括对定时计数器的工作方式、初始化数值的设置,还包括对抢答时间与答题时间的预设,另外,还应对外部中断0、外部中断1进行开放。

抢答倒计时、回答倒计时部分:

由于二者功能的相似性,本设计将二者在一个子程序——倒计时程序中一起编写。

犯规程序部分:

包括对犯规选手号的显示、报警器的间断工作。

另外,由于在设计要求主持人能随时对工作过程终止,因此,要不断查询停止键的状态,一旦按下,便回到初始化后的状态;

在倒计时过程中还要不断将与5S比较,当小于5S时,还需调用发声程序;

小于5S后,又需要不断将与0较,当其等于零时,立即返回。

图1-2工作流程图

(2)外部中断0(抢答时间调整)流程

外部中断0(抢答时间调整)的流程图见图1-3:

图1-3INT0流程图

一旦因P3.2对应键的按下,便进入INT0中断过程。

通过不断对P3.4(加1s)和P3.5(减1s)进行不断的查询,来对抢答时间进行调整:

发现P3.4按下,就对原抢答时间加1s,发现P3.5下,就对原抢答时间减1s并调用显示程序。

根据设计要求,当加至99s时,若再加1s,则时间变为0;

当减至0s后,若再减一秒,时间变为99s。

因此,流程中应该对当前时间于99s或0s比较,再作出相应处理。

另外,在中断过程中还需要不时对停止按钮进行查询,一旦发现其按下,立即中断返回。

由于本中断过程在返回前一直是循环执行的,因此,只需要在每次循环末查询一次即可,如流程图所示

(3)外部中断1(答题时间调整)流程

外部中断1(答题时间调整)流程与外部中断1流程大同小异。

其程序流程参见图1-4:

与抢答时间调整类似,一旦因P3.3对应的按钮按下,便进入INT1中断过程。

当加至99s时,若再加1s,则时间变为0;

同上,在中断过程中,也还需要不时对停止按钮进行查询,一旦发现其按下,立即中断返回。

图1-4INT1流程图

二抢答器单元设计及其说明

2.1主要芯片的介绍

AT89SC52的引脚图如图2-1所示

图2-1AT89SC52芯片引脚图

1)主要性能

本方案所使用的主要芯片是AT89SC52,它与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:

0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。

2)功能特性描述

At89sc52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89SC52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

8位微控制器8K字节在系统可编程FlashAT89S52。

3)P0、P1口介绍

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),参见表2-1

表2-1P1.0P2.0引脚功能特性

4)本方案中用到的一些引脚介绍

XTAL1:

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

XTAL2:

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

特殊功能寄存器:

 在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE)。

 并非所有的地址都被定义,从80H—FFH共128个字节只有一部分被定义,还有相当一部分没有定义。

对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。

不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。

 AT89C52除了与AT89C51所有的定时/计数器0和定时/计数器1外,还增加了一个定时/计数器2。

定时/计数器2的控制和状态位位于T2CON,T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2在16位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。

2.2程序流程图

图2-2程序流程图

2.3MAX7219

2.3.1MAX7219引脚说明

引脚说明见表2-2

表2-2MAX7219引脚说明

引脚号

名称

功能说明

1

Din

串行数据输入端在CLK的上升沿数据被锁入芯片内部16位移位寄存器。

2.3.5~8.10.11

DIG0~DIG7

8位LED位选线,从共阴极LED中吸入电流。

4.9

GND

地线(两个GND必须连在一起)。

12

Load

锁入输入的数据在Load上升沿最后的16位串行数据被锁入。

13

CLK

时钟输入,最高时钟频率为10MHZ,在CLK的上升沿数据被锁入内部移位寄存器,在CLK的下降沿,数据从Dout脚被输出。

14~1720~23

SegA~SegG.DP

7段驱动和小数点驱动

18

Iset

该脚通过一个电阻与V+相连,设置峰值段电流。

19

V+

电源电压,+5V。

24

Dout

串行数据输出。

输入到Din的数据在16.5个时钟周期后在Dout脚发出,该脚用于与级联扩展

2.3.2基本的工作方法

MAX7219与8031单片机连接采用三线串行接口,典型应用电路如表2-3所示。

_Y&

F_e

N;

y-jGuest

表2-316位数据包的数据格式如下:

D0~D7

D8~D11

D12

D13

D14

D15

LSBDATAMSB

ADDRESS

D7~D0:

8位数据位,D7最高位,D0最低位;

D11~D8:

4位地址位;

D15~D12:

无关位,通常全取1。

MAX7219通过D11~D84位地址位译码,可寻址14个内部寄存器,分别是8个LED显示位寄存器,5个控制寄存器和1个空操作寄存器。

LED显示寄存器由内部8×

8静态RAM构成,操作者可直接对位寄存器进行个别寻址,以刷新和保持数据,只要V+超过2V(一般为+5V)。

_ay6i/e8G(rW0n_~Guest控制寄存器包括:

译码模式,显示亮度调节,扫描限制(选择扫描位数),关断和显示测试寄存器。

EETOP专业博客---电子工程师自己的家园1w_}_m_0@-?

7B_`-v&

{L_tPGueste(|_o'

x*U`)vGuestMAX7219的驱动程序首先必须对5个控制寄存器(地址分配见表2-4)初始设置即初始化,各控制寄存器设置含义如下:

译码模式选择寄存器(地址=F9H);

5G)s_J'

w_G_m+C_[GuestEETOP专业博客---电子工程师自己的家园_\_x_G/U9Y3O_|共有4种译码模式供选择,当数据位全0时选择“非译码方式”。

在此方式下,8个数据位分别一一对应7个段和小数点。

通常选择此方式。

1Q_e

{_b#kqGuest_k5{4q6Y+vGuest扫描限制寄存器:

地址=FBH;

用于设置显示的LED个数(1~8),当D2D1D0=111、D7D6D5D4D3无关时,可接8个LED管。

EETOP专业博客---电子工程师自己的家园9r_B3}_D_w#Y0X

亮度调节寄存器:

地址=FAH;

_CB!

i_a_er_p-qGuest共有16级选择,用于LED显示亮度的强弱设置。

EETOP专业博客---电子工程师自己的家园9^9l_i_a(}8D$h_w^

关断模式寄存器:

地址=FCH;

EETOP专业博客---电子工程师自己的家园_K__*{_a_V_@_SI

有两种模式选择:

一种是关断状态模式(D0=0);

一种是正常操作状态(D0=1),通常选择正常操作状态。

EETOP专业博客---电子工程师自己的家园b_j_@_A_|_}_Q

显示测试寄存器:

地址=FFH;

有两种选择用于设置LED是测试状态还是正常操作状态:

当在测试状态时(D0=1)各位全应亮,一般选择正常操作状态(D0

=0)。

表2-4寄存器地址分配表

寄存器名称

地址

D15~D12

D11

D10

D9

D8

空操作

ⅹⅹⅹⅹ

Digit0

Digit1

Digit2

Digit3

Digit4

Digit5

Digit6

Digit7

译码模式

亮度调节

扫描限制

关断模式

显示测试

2.3.3MAX7219初始化

表2-5初始化设置各项的选择及对应数值

设置项目

选择

颠倒后的数值(16位)

显示亮度

17/32

5F1FH

0~7位

DFEFH

译码方式

非译码方式

9F00H

正常操作

FF00H

关断方式

3F80H

2.3.4部分程序功能介绍

全部程序见附录二,下面仅介绍部分程序

由于在读抢答数据口的时候,单片机首先进入倒计时程序,再调用显示程序,最后才检测按键口,然而在检测按键口时动态扫描要调用三次(4ms)延时程序.这样就会导致读数据口出现滞后,造成1号优先最高.8号最低.故采用在延时子程序中加了读数据口程序.保证了灵敏度和可靠性,程序如下:

===加减时间延时(起到不会按下就加N个数)======

DELAY1:

MOV35H,#08H

LOOP0:

ACALLDISPLAY

DJNZ35H,LOOP0

RET

;

=====延时4236个机器周期(去抖动用到)=====

DELAY:

MOV32H,#12H

LOOP:

MOV33H,#0AFH

LOOP1:

DJNZ33H,LOOP1

DJNZ32H,LOOP

RET;

=====延时4236个机器周期(显示用到)=====

DELAY2:

MOV32H,#43H

LOOP3:

MOV33H,#1EH

MOVA,R7;

每隔60~70个机器周期读一次P1口,全为1时为无效数据,继续读,有一个不为1时,转到正常抢答处理

JNZAAAA1;

没读到有效数据时继续转到AAAA1

LOOP2:

DJNZ33H,LOOP2

DJNZ32H,LOOP3

=====读抢答按键数据口程序=====

主持人时间设定程序如下:

ACALLDISPLAY;

先在两个时间LED上显示R1

JNBP3.4,INC0;

P3.4为+1s键,如按下跳到INCO

JNBP3.5,DEC0;

P3.5为-1s键,如按下跳到DECO

JNBP3.1,BACK0;

P3.1为确定键,如按下跳到BACKO

2.4LCD简介

2.4.1LCD和LED的区别

LED为英文(LightEmittingDiode)的缩写,是发光二极管的一种,LCD是液晶显示器,两者相差太多.但是用LED的点阵也能组成显示器,适用于户外大屏幕显示,分辨率较低。

LCD为英文(LiquidCrystalDisplay)的缩写,即液晶显示器,是一种数字显示技术,通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。

与传统的阴极射线管LCD占用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳。

LCD技术能够显示更加清晰,明亮的图象。

LED是发光二极管

特点:

自发光,从远处可以看见,价格相对较低

缺点;

显示的内容少,一般是数码,LED电子滚动显示,等等,很耗电,控制复杂。

由于LCD比LED的效果好,所以本设计我们选择了LCD作为我们设计的显示器。

2.4.2单片机和分立元件的区别

单片机相当于一个集成电路,将一些功能都集成在一个芯片中,在一小块芯片中能实现各种功能的器件。

分立元件是指电阻\电感\电容等器件。

这是相对于集成电路来说的,比如一个电路,他用了一个集成电路,外加一些零件即能实现需要的功能,而一般来说,用分立元件也能实现,但体积可能会大一些,可靠性可能也差一些。

通过两者的比较,单片机明显优于分立元件,所以本设计我们选择了用单片机。

其系统硬件设计如图2-3

图2-3单片机系统硬件设计

2.4.3显示电路设计和LCD的引脚功能说明

液晶显示模块是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源、结构件等装配在一起的组件。

英文名称叫“LCDModule”,简称“LCM”,中文称为“液晶显示模块”,其流程图如2-4所示,实物图如2-5所示。

如图2-4LCD流程图

图2-5LCD1602实物图

2.4.4液晶显示模块

表2-6LCD引脚功能

编号

符号

引脚说明

VSS

电源地

9

D2

双向数据口

2

VDD

电源正极

10

D3

3

VL

对比度调节

11

D4

4

RS

数据/命令选择

D5

5

R/W

读/写选择

D6

6

E

模块使能端

14

D7

7

D0

15

BLK

背光源地

8

D1

16

BLA

背光源正极

VDD:

电源正极,4.5-5.5V,通常使用5V电压;

VL:

LCD对比度调节端,电压调节范围为0-5V。

接正电源时对比度最弱,接地电源时对比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度,或者直接串接一个电阻到地;

RS:

MCU写入数据或者指令选择端。

MCU要写入指令时,使RS为低电平;

MCU要写入数据时,使RS为高电平;

R/W:

读写控制端。

R/W为高电平时,读取数据;

R/W为低电平时,写入数据;

E:

LCD模块使能信号控制端。

写数据时,需要下降沿触发模块。

D0-D7:

8位数据总线,三态双向。

如果MCU的I/O口资源紧张的话,该模块也可以只使用4位数据线D4-D7接口传送数据。

本充电器就是采用4位数据传送方式;

BLA:

LED背光正极。

需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右;

BLK:

LED背光地端。

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);

按能显示多少个“8”可分为1位、2位、4位等等数码管;

按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

三  抢答器电路原图及仿真

3.1抢答器原理图

抢答器电路原理框图如图3-1所示,其中右上部分是4个七段数码管,作为显示输出部分,左上部分是钟控部分,除了S1-S8是选手控制按钮,其余按钮式主持人控制系统。

图3-1抢答器电路原理框图

各按键功能介绍如下:

①SET键为复位键,按下复位键系统进入就绪状态;

②B1、B2分别为30s、60s预置时间键;

③“+”、“-”键可以调节时间;

④EN键用来确定自设时间;

⑤ON键用来确定一切就绪,按下它系统就进入倒计时抢答;

⑥S1-S8为8个抢答按键。

3.2仿真软件介绍

1)Proteus软件简介

Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。

ISIS是Proteus系统的中心,它远不仅是一个图表库。

它是具有控制原理图画图的外观设计环境。

Proteus软件是一种低投资的电子设计自动化软件,提供可仿

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

当前位置:首页 > 教学研究 > 教学计划

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

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