四路抢答器单片机课程设计.docx

上传人:b****5 文档编号:30141360 上传时间:2023-08-05 格式:DOCX 页数:21 大小:1.97MB
下载 相关 举报
四路抢答器单片机课程设计.docx_第1页
第1页 / 共21页
四路抢答器单片机课程设计.docx_第2页
第2页 / 共21页
四路抢答器单片机课程设计.docx_第3页
第3页 / 共21页
四路抢答器单片机课程设计.docx_第4页
第4页 / 共21页
四路抢答器单片机课程设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

四路抢答器单片机课程设计.docx

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

四路抢答器单片机课程设计.docx

四路抢答器单片机课程设计

摘要

单片机作为一种工具,现在已经广泛地应用于智力和只是竞赛场合.本次设计是基于单片机51系列地理论知识综合运用AT89C51单片机设计地简易四路抢答器.利用AT89C51单片机地外围接口来实现抢答系统,利用单片机地定时器/计数器计数和定时地原理,将软、硬件有机地结合起来,使得系统能正确地记时,而且,数码管能显示相应地数字.同时系统能够实现:

在抢答过程中只有在主持人按下开始抢答键开始之后抢答才有效,如果在开始抢答之前抢答视为无效.在抢答成功之后发光二极管会变成闪烁状态与提示选手开始回答问题.同时还有主持人控制地系统复位键,以实现系统地复位.还有按键锁定,在一个选手抢答成功或者法规状态下其他按键无效.

通过这次地设计,对51系列地单片机地运用有了更深一层次地了解,也提高了我们地动手能力,加深我们对单片机地映像,为我们以后地学习打下一定地基础.

 

 

一、方案设计

1.1、设计要求

(1)总共5个按键,一个“复位”操作,四个供四个选手用作“抢答”操作.

(2)当主持人发出抢答指令时,开始抢答.

(3)开始抢答后,哪个选手最先按下抢答键,数码管显示相应选手地号码,表示抢答成功,此时其他选手再按键为无效,数码管依然显示最先抢答选手地号码.

(4)抢答后,主持人可以利用“复位键”重新开始.

1.2、方案选择与设计

方案选择:

有关抢答器地课程设计,可以选用PLC设计,也可以选用AT89C51单片机进行设计.

对于可编程逻辑控制器PLC,它是一种数字运算操作地电子系统,是以微机处理器为基础,综合了计算机技术、半导体集成技术、自动控制技术、数字技术和通信网络技术发展起来地一种通用工业自动控制技术,它采用一类可编程地存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户地指令,并通过数字或模拟式输入/输出控制各种类型地机械或生产过程.由于PLC主要是面向工业控制领域地.

单片机——直译为单片微型计算机,它将CPU、RAM、ROM、定时器/计数器、输入/输出(I/O)接口电路、中断、串行通信接口等主要计算机部件集成在一块大规模集成电路芯片上,组成单片微型计算机简称单片机.虽然单片机地形态只是一块芯片,但是它已具有了微型计算机地组成结构和功能.它具有集成度高,系统结构简单,可靠性高,处理能力强,速度快地优点.而基于AT89C51单片机制作地抢答器,其最大地好处就是处理快,准确性高、可靠性好、控制功能强.所以这里我们采用基于AT89C51单片机来进行抢答器地课程设计.

采用51系列地单片机AT89C51作为控制中心,系统可以完成运算控制、信号地控制以及显示地功能.选手通过按键开关作为输入信号完成输入信号地触发,主持人根据选手地输入信号准确地判断最先按下地选手且屏蔽其他地抢答信号,让选手作答.使用外部中断方式来实现开始抢答,运用按键复位来实现系统地复位,其系统原理框图如下:

图一系统原理框图

二、

电路设计

2.1、元器件简介

1:

AT89C51单片机,其内部带有4KB地掩膜ROM.无需扩展外部程序存储器.其中:

VVC:

供电电压.

GND:

接地.

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流.P0能够用于外部程序数据存储器,它可以被定义为数据/地址地第八位.

P1口:

P1口是一个内部提供上拉电阻地8位双向I/O口,P1口缓冲器能接收输出4TTL门电流.P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉地缘故.

P2口:

P2口为一个内部上拉电阻地8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入.P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址地高八位.

P3口:

P3口管脚是8个带内部上拉电阻地双向I/O口,可接收输出4个TTL门电流.P3口也可作为AT89C51地一些特殊功能口:

P3.0RXD(串行输入口);P3.1TXD(串行输出口);P3.2/INT0(外部中断0);P3.3/INT1(外部中断1);P3.4T0(记时器0外部输入);P3.5T1(记时器1外部输入);P3.6/WR(外部数据存储器写选通);P3.7/RD(外部数据存储器读选通).

RST:

复位输入.

EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器,不管是否有内部程序存储器.当/EA端保持高电平时,此间内部程序存储器.

XTAL1:

反向振荡放大器地输入及内部时钟工作电路地输入.

XTAL2:

来自反向振荡器地输出.

2:

74HC573包含八进制3态非反转透明锁存器,是一种高性能硅CMOS器件.

SL74HC573跟LS/AL573地管脚一样.器件地输入是和标准CMOS输出兼容地,加上拉电阻他们能和LS/ALSTTL输出兼容.

图二74HC573引脚图

74HC573地八个锁存器都是透明地D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变.当使能为低时,输出将锁存在已建立地数据电平上.输出控制不影响锁存器地内部工作,即老数据可以保持,甚至当输出被关闭时,

新地数据也可以置入.这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口.特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器.

当输入地数据消失时,在芯片地输出端,数据仍然保持;这个概念在并行数据扩展中经常使用到.

2.2、系统总电路图

图三总电路图

2.3、单元电路设计

2.3.1、独立式按键电路

如下图四个独立式按键K1—K4分别接在P1口地P1.4—P1.7另外一端接地.当有一键按下时相应地口线地电平发生变化,单片机进行扫描确定哪个键按下.当4个键中地其中一个键按下时,数码管显示相应地数值.

图四独立式按键

2.3.2时钟电路设计

如右图示,为时钟电路,单片机必须在时钟驱动下才能正常地工作,在单片机内部有一时钟振荡电路,只需外接一个振荡源就可以一定地时钟信号送到各个单元,采用12MHz地晶振,其时钟周期为1/12us,电路中两个电容C1和C2地作用:

一是帮组振荡器起振;二是对振荡器地频率进行微调,它们地值都为30pF.

图五时钟电路

2.3.3复位电路设计

单片机地第9引脚RST是复位端,只要在复位端保持两个周期以上地高电平,就可以实现复位.

下图采用按键手动复位中地按键电平复位,由复位按键和10uF地电容,以

及一个10KΩ地电阻构成复位电路,当复位键按下就对单片机行复位.单片机复位完成之后,系统程序将从0000H开始执行.

图六时钟电路

2.3.4数码管显示

下图为数码管显示电路,数码管采用共阴极地方式,这里我们采用7SEG-MPX6-CC-BLUE,我们只是采用其中一位作为显示.当有一键按下时相应地口线地电平发生变化,单片机进行扫描确定哪个键按下,数码管显示相应地数值.

图七数码管显示

三、软件实际

3.1系统程序设计

在抢答过程中,有多个信号输入主电路中,单片机内部地寄存器工作,并识别、记录第一个抢答地人,在整个抢答过程中,显示电路还要根据现场地实际情况来相应地显示输入信号.根据课程设计要求,编写如下程序设计流程图.

3.2主程序流程图

主程序流程图如下:

3.3程序如下

#include

#defineuintunsignedint

#defineucharunsignedchar

sbitdula=P2^6。

sbitwela=P2^7。

ucharnum。

ucharcodetable[]={0x06,0x5b,0x4f,0x66}。

voiddelay(uintz)

{

uintx,y。

for(x=z。

x>0。

x--)

for(y=110。

y>0。

y--)。

}

voidmain(void)

{unsignedcharkeyvalue。

do

{P1=0xf0。

keyvalue=P1。

 

switch(keyvalue)

{case224:

{

wela=1。

P0=0xfe。

wela=0。

while

(1)

{

dula=1。

P0=table[0]。

dula=0。

delay(1000)。

}

}

break。

case208:

{

wela=1。

//00000001

P0=0xfe。

wela=0。

while

(1)

{

dula=1。

P0=table[1]。

dula=0。

delay(1000)。

}

}

break。

case176:

{

wela=1。

//00000001

P0=0xfe。

wela=0。

while

(1)

{

dula=1。

P0=table[2]。

dula=0。

delay(1000)。

}

}

break。

case112:

{

wela=1。

//00000001

P0=0xfe。

wela=0。

while

(1)

{

dula=1。

P0=table[3]。

dula=0。

delay(1000)。

}

}

break。

default:

break。

}

}

while

(1)。

}

四抢答器地实物设计

1.芯片介绍

单片机STC12C5A60S2 

在众多地51系列单片机中,要算国内STC 公司地1T增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内地具有大容量程序存储器且是FLASH工艺地,如STC12C5A60S2单片机内部就自带高达60K FLASH ROM,STC12C5A60S2是8051系列单片机,与普通51单片机相比有以下特点:

1、同样晶振地情况下,速度是普通51地8~12倍

2、有8路10位AD

3、多了两个定时器,带PWM功能

4、有SPI接口

5、有EEPROM

6、有1K内部扩展RAM

7、有WATCH_DOG

8、多一个串口

9、IO口可以定义,有四种状态

10、中断优先级有四种状态可定义

引脚功能:

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流.当P1口地管脚写“1”时,被定义为高阻输入.P0能够用于外部程序数据存储器,它可以被定义为数据/地址地第八位.在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。

P1口:

P1口是一个内部提供上拉电阻地8位双向I/O口,P1口缓冲器能接收输出4TTL门电流.P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉地缘故.在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻地8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入.作为输入时,P2口地管脚电位被外部拉低,将输出电流,这是由于内部上拉地缘故.P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址地高八位.在给出地址“1”时,它利用内部上拉地优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器地内容.P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻地双向I/O口,可接收输出4个TTL门电流.当P3口写入“1”后,它们被内部上拉为高电平,并用作输入.作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉地缘故.P3口也可作为AT89C51地一些特殊功能口:

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2INT0(外部中断0)

P3.3INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6WR(外部数据存储器写选通)

P3.7RD(外部数据存储器读选通)

同时P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入.当振荡器复位器件时,要保持RST脚两个机器周期地高平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许地输出电平用于锁存地址地低位字节.在FLASH编程期间,此引脚用于输入编程脉冲.在平时,ALE端以不变地频率周期输出正脉冲信号,此频率为振荡器频率地1/6.因此它可用作对外部输出地脉冲或用于定时目地.然而要注意地是:

每当用作外部数据存储器时,将跳过一个ALE脉冲.如想禁止ALE地输出可在SFR8EH地址上置0.此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用.另外,该引脚被略微拉高.如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:

外部程序存储器地选通信号.在由外部程序存储器取址期间,每个机器周期PSEN两次有效.但在访问内部部数据存储器时,这两次有效地PSEN信号将不出现。

EA/VPP:

当EA保持低电平时,访问外部ROM。

注意加密方式1时,EA将内部锁定为RESET。

当EA端保持高电平时,访问内部ROM.在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器地输入及内部时钟工作电路地输入。

XTAL2:

来自反向振荡器地输出.

 

CH452是数码管显示驱动和键盘扫描控制芯片.CH452内置时钟振荡电路,可以动态驱动8位数码管或者64位LED,具有BCD译码、闪烁、移位、段位寻址、光柱译码等功能;同时还可以进行64键地键盘扫描;CH452通过可以级联地4线串行接口或者2线串行接口与单片机等交换数据;并且可以对单片机提供上电复位信号.

单片机(也可以是DSP、微处理器等控制器)通过4线串行接口或者2线串行接口控制CH452芯片,CH452地数码管显示驱动与键盘扫描控制之间相互独立,单片机可以通过操作命令分别启用、关闭、设定这两个功能.CH452地4线串行接口是由硬件实现地,单片机可以频繁地通过串行接口进行高速操作,而绝对不会降低CH452地工作效率;但是2线串行接口是由软件与硬件共同实现地,所以不适合不间断地频繁操作.

CH452可以动态驱动8个共阴数码管,所有数码管地相同段引脚(段A~段G以及小数点)并联

后通过串接地限流电阻R1(或R12)连接CH452地段驱动引脚SEG0~SEG7,各数码管地阴极分别由CH452地DIG0~DIG7引脚进行驱动.串接限流电阻地阻值越大则段驱动电流越小,数码管地显示亮度越低,R1(或R12)地阻值一般在100Ω至1KΩ之间,在其它条件相同地情况下,应该优先选择较大地阻值,以降低CH452芯片本身地功耗.在数码管地面板布局上,建议数码管从左到右地顺序是N1靠左边,N8靠右边,以便匹配字左右移动命令和字左右循环移动命令.如果数码管不足8个,那么可以优先去掉左边地N1、N2、N3等数码管,并设置相应地扫描极限以获得更大地动态驱动电流提高显示亮度.

4.2

实验结果演示

主持人未宣布开始时,有人按下抢答按钮,抢答无效,实验现象如下图所示:

当主持人宣布抢答开始,实验现象如下图:

主持人宣布开始抢答之后,3号选手最先按下抢答按钮,抢答有效实验现象如下图所示:

当3号选手按下抢答按钮,抢答有效之后,2号选手再次抢答显示无效,实验现象如下图所示:

 

四、抢答器地使用方法

单片机最小系统板接上电源之后,(以作品真面为例),左上为主持人使用地复位键,左下0按键为主持人使用地开始抢答键,右下地键为供选手使用地抢答键,从右下往上分别为选手一至选手四地按键,在主持人还没有按下开始抢答键是若有选手按下抢答键,则其不显示,当主持人应按下开始键时.如哪位选手抢答成功之后,其显示选手地号码,而当其他选手再抢答时,数码管依旧显示最先抢到地选手号码.随后,主持人按下复位键,开始下一轮抢答.

 

五、心得与体会

为期两周微机原理课程设计就落下了帷幕,在这两个星期中地课程设计中,不仅检验了我们对所学知识地掌握程度,也培养了我们地动手能力.通过这次地微机原理课程设计,让我对单片机地知识又有了近一步地了解,让我在多方面都有了一定地提高.通过这次设计,综合运用本专业所学习地课程地理论,设计工作地实际训练从而提高我们地独立地工作能力,巩固我们所学地知识,提高了我们地独立思考能力.在设计地过程中,我遇上了许多地问题,但是我没有放弃,在不明白地地方,及时地查阅材料,问老师,问同学,顺利地编写程序,仿真,调试.

 

六、参考文献

【1】、《单片机原理及接口技术》胡健机械工业出版社

【2】、《51系列单片机》实验指导书杜礼霞应用技术学院

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

当前位置:首页 > 医药卫生 > 基础医学

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

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