八路抢答器课程设计Word文档下载推荐.docx
- 文档编号:22416055
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:43
- 大小:529.07KB
八路抢答器课程设计Word文档下载推荐.docx
《八路抢答器课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《八路抢答器课程设计Word文档下载推荐.docx(43页珍藏版)》请在冰豆网上搜索。
5.2、主程模块13
5.3、查询子程序设计14
5.4、抢答时间设置子程序设计15
5.5、发声子程序设计16
5.6、响铃子程序设计17
5.7、显示子程序设计17
第6章系统仿真与调试18
6.1、Keil编译18
6.2、Protues8仿真平台18
6.2.1、Protues8仿真简介及部分模块仿真18
6.2.2、硬件电路总图与仿真19
第7章操作方法22
第8章课程设计总结23
附录24
汇编程序24
PCB原理图36
参考文献37
第一章设计目的及要求
1.1、设计目的
1)掌握51系列单片机的基本硬件结构及工作原理;
2)掌握51系列单片机的汇编语言及基本程序设计方法;
3)学习并掌握使用51系列单片机开发控制系统的基本步骤及方法。
1.2、设计要求
1.2.1、课程设计要求
能熟练运用51单片机实现硬件与软件结合完成电子产品的设计,把理论真正运用于实践,会用Keil等软件编程调试运行,熟悉应用Proteus软件仿真。
强化编程练习,注意查询方式与中断方式的区别等等。
1.2.2、基本设计功能要求主要分为以下几个部分:
1)抢答器同时供八名选手或八名代表在比赛中使用,分别用八个按钮s0—s7表示;
2)设置一个系统清除和抢答控制开关s,该开关由主持人控制;
3)抢答器具有定时抢答功能;
且一次抢答时间由主持人设定30秒,当主持人启动开始键后,定时器进行显计时,并在数码管上显示计时时间。
4)该系统采用2个数码管显示,抢答启动后,首先显示时间,当有人抢答时,显示抢答人员所对应的编号
5)抢答器具备锁存与显示功能,当选手按下按钮后,锁存相应的编号,扬声器发生声响提示,并在数码管上显示该选手的编号,选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
第2章方案设计
2.1、几种常见的抢答模式
(一)任意抢答模式:
主持人念题过程或出题后说“开始”,选手随时抢答,机器判别抢答成功不判别犯规。
(二)3秒预备全自动抢答模式:
指的是主持人出题后说“请准备”,然后按下“抢答启动键”机器自动发出“321开始抢答”的语音指令,此时选手就可以抢答,机器会自动判别犯规并屏蔽(可屏蔽多组犯规)。
(三)倒计时继续抢答模式:
按“抢答启动”键后机器连续计时,抢答成功暂停,给选手加分或减分确认后继续抢答倒计时知道计时为0为止。
(四)半自动(主持人)抢答模式:
指的是主持人出题后说:
请准备机器发出“321开始抢答”的指令按下抢答按钮,如有犯规机器会自动播报。
2.2、研究背景
抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。
早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辩认出选手号码。
现在大多数抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢按前或抢按后的计时、选手得分显示等功能。
本课题利用80C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间和选手号码。
智力竞赛抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,采用单片机80C51,它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的存储器,且允许在系统内改写或用编程器编程。
该智力竞赛抢答器的准确度很高,其误差主要由晶振自身的误差所造成。
本系统采用模块化设计智能抢答器,在抢答比赛中广泛应用,各组分别有一个抢答按钮。
主持人有开始和结束、复位键。
在后台主持人可以修改,抢答时间和选手回答问题的时间设置,原始状态下抢答时间为0s,回答问题时间为0s。
新时间开始有效,主持人按键开始后,选手开始抢答为有效,数码显示屏显示抢答时间倒计时和选手号,在最后扬声器发生提示。
如果主持人没有按下开始键而选手就抢答视为犯规。
主持人可按键结束,新一轮抢答开始。
2.3、本文研究的主要内容
设计内容完全按照前面的设计要求完成,完全满足前面的设计要求。
2.4、方案论证
方案:
设计选用单片机AT80C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。
方案完全按照第1章的基本设计要求设计。
图2.1单片机控制方案
控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。
其中单片机80C51是系统工作的核心,它主要负责控制各个部分协调工作。
所需元件:
该系统的核心器件是80C51。
在其外围接上复位电路、上拉电阻、数码管、按钮及扬声器。
元件为:
晶振X1、电容C1、C2、C3、电阻RP1、P3.0和P3.1由裁判控制,分别是抢答停止和开始键。
P1.0-P1.7是8组抢答的输入口,P2.0--P2.3口为数码管的段选口,位选口用的是P0.0--P0.6口输出,外部中断0、1和P3.3,P3.4为抢答记时调整口,实现的对个队进行计时,并且加减调整,外部中断0,1实现了答题时间调整.P3.4P3.5分别实现了时间的加一和减一.P3.6为蜂鸣器的控制口。
第3章主要元器件介绍
3.1、AT80C51单片机介绍
3.1.1AT80C51芯片简介
AT80C51是MCS—51系列单片机中的一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。
主要性能:
与MCS-51微控制器产品系列兼容。
片内有4KB可在线重复编程的快闪擦写存储器存储数据保存时间为10年。
宽工作电压范围:
Vcc可为2.7V到6V全静态工作;
可从0Hz至16MHz程序存储器具有3级加密保护128*8位内部RAM32条可编程I/O线、两个16位定时器/计数器、中断结构具有5个中断源和2个优先级、可编程全双工串行通道、空闲状态维持低功耗和掉电状态保存存储内容。
80C51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。
如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。
它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。
但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。
微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统各部分功能及说明类似于8951单片机内部结构说明。
特殊功能寄存器共有21个,用于对片内的各功能的部件进行管理、控制、监视。
实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。
由上可见,80C51单片机的硬件结构具有功能部件种类全,功能强等特点。
特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个1位微计算机有自己的CPU、位寄存器、I/O口和指令集。
1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;
而8位机在数据采集,运算处理方面有明显的长处。
MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机设计的精美之处。
3.1.2引脚说明
图3.1是标准的双列直插式集成电路芯片。
图3.180C51引脚图
P00~P07P0口8位双向口线(在引脚的39~32号端子)。
P10~P17P1口8位双向口线(在引脚的1~8号端子)。
P20~P27P2口8位双向口线(在引脚的21~28号端子)。
P30~P37P3口8位双向口线(在引脚的10~17号端子)。
1、P0口有三个功能:
(1)外部扩展存储器时,用作数据总线(如图中的D0~D7为数据总线接口)
(2)外部扩展存储器时,用作地址总线(如图中的A0~A7为地址总线接口)
(3)不扩展时,可做一般的I/O口使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
2、P1口功能:
P1口只做I/O口使用,其内部有上拉电阻。
3、P2口有两个功能:
(1)扩展外部存储器时,当作地址总线使用;
(2)做一般I/O口使用,其内部有上拉电阻。
4、P3口有两个功能:
除了作为I/O口使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。
当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;
所以如果P0口作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。
5、ALE/PROG地址锁存控制信号:
在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。
PROG为编程脉冲的输入端,在89C51单片机内部有一个4KB的程序存储器(ROM),ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入进这个ROM中的呢?
实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。
6、PSEN外部程序存储器读选通信号:
在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作:
(1)内部ROM读取时,PSEN不动作;
(2)外部ROM读取时,在每个机器周期会动作两次;
(3)外部RAM读取时,两个PSEN脉冲被跳过不会输出;
(4)外接ROM时,与ROM的EA脚相接。
7、EA/VPP访问程序存储器控制信号:
(1)接高电平时:
CPU读取内部程序存储器(ROM)
(2)接低电平时:
CPU读取外部程序存储器(ROM)。
8031单片机内部是没有ROM的,那么在应用8031单片机时,这个脚是一直接低电平的。
8、RST复位信号:
当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。
9、XTAL1和XTAL2:
外接晶振引脚。
当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;
当使用外部时钟时,用于接外部时钟脉冲信号。
10、VCC:
电源端接+5V电压输入。
11、GND:
接地端。
3.2、7SEG-MPX4-CC简介
采用七段码7SEG-MPX4-CC显示,它是共阴极的由高电平点亮。
图形如下:
图3.27SEG-MPX4-CC引脚图
3.3、SOUNDER蜂鸣器简介
外部还接有SOUNDER蜂鸣器(由于SPEAKER缺少驱动电路,所以为了方便起见,这里使用带有自驱动的SOUNDER蜂鸣器)用来发出报警音,并且使用LED,使其能看到发声状态。
3.4、RX8电阻块简介
RX8电阻块用于单片机IO用作低电平输入时是提供灌电流,电阻大小的确定一般都是根据你的拉电阻的选择,因为漏极输出的IO内阻相当大,等效电路的电阻就是你的拉电阻,拉电流就是你的外接电源/拉电阻,一般的TTL电平驱动电流在20ma-25ma,可以视情况选择电阻的大小。
图3.2RX8电阻块
第4章硬件电路设计
硬件电路的设计主要包括控制和设置电路设计、外部震荡电路设计、复位电路设计、抢答输入电路设计和显示电路设计。
4.1、控制和设置电路
如图所示电路,80C51单片机由微处理器,存储器,I/O口以及特殊功能寄存器SFR等部分构成。
其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为4KB,片内数据存储器为128个字节。
80C51单片机有4个8位的并行I/O口:
P0口,P1口,P2口和P3口。
各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。
P1口是唯一的单功能口,仅能用作通用的数据输入/输出口。
P3口是双功能口除了具有数据输入/输出功能外,每条接口还具有不同的第二功能,如P3.0是串行输入口线,P3.1口是串行输出口线。
在需要外部程序存储器和数据存储器扩展时,P0可作为分时复用的低8位地址/数据总线,P2口可作为高8位的地址总线。
P3口也可作为80C51的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。
图4.1控制和设置电路
4.2、外部振荡电路
单片机外部振荡电路单片机必须在80C51的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元。
外部振荡电路如下:
图4.2外部震荡电路
4.3、复位电路
外部中断和内部中断并存,单片机有硬件复位端,只要输入持续4个机器周期的高电平即可实现复位。
硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,应为本设计功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位。
只能用软复位。
软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程。
复位电路如下:
图4.3复位电路
4.4、抢答输入电路
采用八个BUTTON按钮作为抢答的选择按键如图所示:
图4.4抢答输入电路
4.5、显示电路
如下:
图4.5显示电路
第5章软件设计及主要子程序
5.1、软件设计思路
图5.1软件设计思路
5.2、主程模块
智力竞赛抢答器要求有计时记忆功能,一次时间设置完,复位后不需重新进行时间设定,通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示字型码。
当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功。
同时显示其分数,分数的加减可由裁判手动进行。
采用独立式键盘,可实现八路抢答。
在显示时使用的是七段数码管显示在本设计中根据实际情况采用的是动态显示方法,并通过查表法将其在数码管上显示出来,其中P1口为字型码输入端,P2口低6位为字选段输入端。
通过查表将字型码送给7段数码管显示的数字。
软件去抖动,如果“开始键”按下就向下执行,否者跳到开始。
采用倒计时程序,使其具有倒计时功能。
回答倒计时30秒。
抢答时间5秒。
采用发声亮灯警报,起到报警作用。
图5.2主程序流程图
5.3、查询子程序设计
START:
MOVR5,#0BH
MOVR4,#0BH
MOVR3,#0BH
ACALLDISPLAY;
未开始抢答时候显示FFF
JBP3.0,NEXT;
ddddddd
ACALLDELAY
JBP3.0,NEXT;
去抖动,如果"
开始键"
按下就向下执行,否者跳到非法
抢答查询
ACALLBARK;
按键发声
MOVA,R1
MOVR6,A;
送R1->
R6,因为R1中保存了抢答时间
SETBOK;
抢答标志位,用于COUNT只程序中判断是否查询抢答
MOVR7,#01H;
读抢答键数据信号标志,这里表示只读一次有用信号
MOVR3,#0AH;
抢答只显示计时,灭号数
AJMPCOUNT;
进入倒计时程序,"
查询有效抢答的程序"
在COUNT里面
NEXT:
JNBP1.0,FALSE1
JNBP1.1,FALSE2
JNBP1.2,FALSE3
JNBP1.3,FALSE4
JNBP1.4,FALSE5
JNBP1.5,FALSE6
JNBP1.6,FALSE7
JNBP1.7,FALSE8
AJMPSTART
5.4、抢答时间设置子程序设计
INT0SUB:
MOVB,#0AH
DIVAB
MOVR5,A
MOVR4,B
MOVR3,#0AH
先在两个时间LED上显示R1
JNBP3.4,INC0;
P3.4为+1s键,如按下跳到INCO
JNBP3.5,DEC0;
P3.5为-1s键,如按下跳到DECO
JNBP3.1,BACK0;
P3.1为确定键,如按下跳到BACKO
AJMPINT0SUB
INC0:
MOVA,R1
CJNEA,#63H,ADD0;
如果不是99,R2加1,如果加到99,R1就置0,重新加起。
MOVR1,#00H
ACALLDELAY1
ADD0:
INCR1
DEC0:
JZSETR1;
如果R1为0,R1就置99,
DECR1
SETR1:
MOVR1,#63H
BACK0:
RETI
5.5、发声子程序设计
BARK:
SETBRING
CLRRING;
RET
5.6、响铃子程序设计
T0INT:
MOVTH0,#0ECH
MOVTL0,#0FFH
JNBRING,OUT;
CPLP3.6;
RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音
OUT:
5.7、显示子程序设计
DISPLAY:
MOVDPTR,#DAT1
;
查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出,
MOVA,R3
MOVCA,@A+DPTR
MOVP2,#0feH
MOVP0,A
ACALLDELAY2
MOVDPTR,#DAT2
MOVA,R5
MOVP2,#0fdH
MOVA,R4
MOVP2,#0fbH
RET
DAT1:
DB00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H
"
灭"
"
1"
2"
3"
4"
5"
6"
7"
8"
9"
F"
DAT2:
DB3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H
第一个为零,其他与上相同,因为十位如果为零显示熄灭
第6章系统仿真与调试
6.1、Keil编译
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
本次设计采用汇编语言编程,生成.hex文件以供装载到Protues中的单片机进行仿真。
6.2、Protues8仿真平台
6.2.1、Protues8仿真简介及部分模块仿真
Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
迄今为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。
在编译方面,它也支持IAR、Keil和MATLAB等多种编译。
目标代码的加载方法为,在Protues编辑环境双击AT89C51,弹出下图所示的对话框,在PROGRAMFILM一栏中单击打开按钮,选中Keil中生成的lzy.hex文件,在CLOCKFREQUENCY栏中设置系统工作频率为12MHZ,单击OK完成目标代码的加载。
图6.1程序代码加载
6.2.2、硬件电路总图与仿真
点击运行按钮启动系统仿真,为了保护密码的隐蔽,输入密码时不显示数字而是显示一横线。
硬件总图如下:
图6.2总图
五号违规抢答:
图6.3五号违规抢答
时间调整:
图6.4时间增加
图6.5时间减少
七号正在答题:
图6.6七号正在答题
第7章操作方法
点击运行:
1、如果想调节抢答时间或答题时间,按抢答时间调节键或答题时间调节键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下"
加2s"
键,如果想减一秒按一下"
-2s"
键,时间LED上会显示改变后的时间,调整范围为0s~99s,0s时再减2s会跳到99,99s时再加2s会变到0s。
主持人按"
抢答开始"
键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 八路 抢答 课程设计