八路抢答器课程设计论文_第1页
八路抢答器课程设计论文_第2页
八路抢答器课程设计论文_第3页
八路抢答器课程设计论文_第4页
八路抢答器课程设计论文_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、八路抢答器课程设计序在飞速发展的当下,从家用电器到办公自动化、工业自动化,以及各种智能仪器到智能接口,单片机的应用非常广泛。同时,单片机具有体积小、价格低、可靠性高、智能化、实时性、可塑性好等优点。,是开发心软、智能小的嵌入式产品的首选。随着电子技术的飞速发展,微型计算机作为嵌入式控制系统的主体和核心,取代了传统控制系统的常规电子电路。同时,智能建筑的发展和成熟为基于单片机的照明控制系统的推广应用奠定了坚实的基础。这个设计是基于“八路争抢”的基本思想。考虑到根据需要设置限时答题的功能,采用80C51单片机和外围接口实现的抢答系统,利用单片机的定时器/计数器定时和计数原理,将软件和硬件有机结合,

2、使系统能正确计时,数码管能正确显示时间。使用开关作为键盘输出,扬声器会提示。同时,系统可以实现:在抢答中,抢答只有在开始后才有效,如果在开始前抢答则无效;答题时限和答题时间可设置为1-99s;可以显示哪个玩家有效哪个无效,按右键后有音乐提示;抢答时间和抢答时间倒计时时,系统计时会自动复位,时间到后主控会强制复位。钥匙被锁上了。在有效状态下,密钥是无效和非法的。目录1前言 TOC o 1-3 h z u HYPERLINK l _RefHeading_Toc390095591 第一章设计目的与要求3 HYPERLINK l _RefHeading_Toc390095592 1.1、设计目的3 H

3、YPERLINK l _RefHeading_Toc390095593 1.2、设计要求3 HYPERLINK l _RefHeading_Toc390095596 第2章方案设计4 HYPERLINK l _RefHeading_Toc390095597 2.1、几种常见的抢答模式4 HYPERLINK l _RefHeading_Toc390095598 2.2、研究背景4 HYPERLINK l _RefHeading_Toc390095599 2.3、本文研究的主要容4 HYPERLINK l _RefHeading_Toc390095600 2.4、方案论证5 HYPERLINK l

4、 _RefHeading_Toc390095601 第3章主要元器件介绍6 HYPERLINK l _RefHeading_Toc390095602 3.1、AT89C51单片机介绍6 HYPERLINK l _RefHeading_Toc390095603 3.1.1 AT89C51芯片简介6 HYPERLINK l _RefHeading_Toc390095604 3.1.2 引脚说明7 HYPERLINK l _RefHeading_Toc390095605 3.2、7SEG-MPX4-CC简介8 HYPERLINK l _RefHeading_Toc390095606 3.3、SOUN

5、DER蜂鸣器简介9 HYPERLINK l _RefHeading_Toc390095607 3.4、RX8电阻块简介9 HYPERLINK l _RefHeading_Toc390095608 第4章硬件电路设计10 HYPERLINK l _RefHeading_Toc390095609 4.1、控制和设置电路10 HYPERLINK l _RefHeading_Toc390095610 4.2、外部振荡电路10 HYPERLINK l _RefHeading_Toc390095611 4.3、复位电路11 HYPERLINK l _RefHeading_Toc390095612 4.4、

6、抢答输入电路12 HYPERLINK l _RefHeading_Toc390095613 4.5、显示电路12 HYPERLINK l _RefHeading_Toc390095614 第5章软件设计与主要子程序13 HYPERLINK l _RefHeading_Toc390095615 5.1、软件设计思路13 HYPERLINK l _RefHeading_Toc390095616 5.2、主程模块13 HYPERLINK l _RefHeading_Toc390095617 5.3、查询子程序设计14 HYPERLINK l _RefHeading_Toc390095618 5.4、

7、抢答时间设置子程序设计15 HYPERLINK l _RefHeading_Toc390095619 5.5、发声子程序设计16 HYPERLINK l _RefHeading_Toc390095620 5.6、响铃子程序设计17 HYPERLINK l _RefHeading_Toc390095621 5.7、显示子程序设计17 HYPERLINK l _RefHeading_Toc390095622 第6章系统仿真与调试18 HYPERLINK l _RefHeading_Toc390095623 6.1、Keil编译18 HYPERLINK l _RefHeading_Toc390095

8、624 6.2、Protues8仿真平台18 HYPERLINK l _RefHeading_Toc390095625 6.2.1、Protues8仿真简介与部分模块仿真18 HYPERLINK l _RefHeading_Toc390095626 6.2.2、硬件电路总图与仿真19 HYPERLINK l _RefHeading_Toc390095627 第7章操作方法22 HYPERLINK l _RefHeading_Toc390095628 第8章课程设计总结23 HYPERLINK l _RefHeading_Toc390095629 附录24 HYPERLINK l _RefHea

9、ding_Toc390095630 汇编程序24 HYPERLINK l _RefHeading_Toc390095631 PCB原理图36 HYPERLINK l _RefHeading_Toc390095632 参考文献37第一章设计目的和要求1.1.设计目标1)掌握51系列单片机的基本硬件结构和工作原理;2)掌握51系列单片机的汇编语言和基本编程方法;3)学习和掌握用51系列单片机开发控制系统的基本步骤和方法。1.2、设计要求1.2.1、课程设计要求熟练使用51单片机实现软硬件结合完成电子产品的设计,理论联系实际,用Keil等软件编程调试,熟悉Proteus软件仿真。加强编程实践,注意查

10、询模式和中断模式的区别,等等。1.2.2、基本设计功能要求主要分为以下几个部分:1)抢答器可供比赛中的八名选手或八名代表同时使用,分别用八个按钮S0-S7表示;2)设置系统清零和加扰控制开关S,由主机控制;3)接听装置具有及时接听功能;而抢答的时间由主持人设定为30秒。当主机启动启动键时,计时器显示时间,并在数码管上显示时间。4)系统采用两个数码管显示。第一个回答开始后,会先显示时间。当有人先回答时,会显示先回答的人的号码。5)应答器具有锁存和显示功能。选手按下一个按钮,就锁存相应的号码,扬声器发出声音提示,数码管上显示出选手的号码。实现了参赛选手的抢占锁定,抢占选手的号一直保持到主机清空系统

11、。第二章方案设计2.1、几种常见的抢答模式(1)任意答题模式:主持人在念题过程中或提出问题后说“开始”,选手可随时答题。机器判断抢答成功,不判犯规。(2) 3秒准备全自动答题模式:指主持人在给出问题后说“请准备”,然后按下“答题开始键”,机器自动发出“3 2 1开始答题”的语音指令。这时候球员可以先抢答,机器会自动判断犯规并封堵(可以封堵多组犯规)。(3)倒计时继续抢答模式:按下“抢答开始”键,机器继续计时,抢答成功暂停。给玩家加分或减分确认后,继续抢着回答,直到时间为0。(D)半自动(主持人)抢答模式:指主持人在给出问题后,说“请准备机器给出“321开始抢答”指令,按下抢答键。如果有犯规,机

12、器会自动播报。2.2.研究背景抢答器是一种应用广泛的设备,可以在各种比赛和抢答场合快速、客观地分辨出第一个获得话语权的选手。早期的应答器仅由几个三极管、可控硅、发光管等组成。,并且可以通过发光管的指示来识别玩家。现在的抢答器大多采用单片机(如MCS-51)和数字集成电路,增加了很多新功能,如选手显示、按下前或按下后计时、选手得分显示等。本课题利用80C51单片机和外围接口实现抢答系统,利用单片机的定时器/计数器计时计数原理,将软件和硬件有机结合,使系统能够正确计时,同时数码管能够正确显示时间和选手。使用开关作为键盘输出,扬声器会提示。问答抢答器是由单片机设计制作的。由于其功能主要通过软件编程实

13、现,所以采用了单片机80C51,它是一种低功耗、高性能的CMOS 8位单片机。4KB内存,允许在系统中重写或用程序员编程。这个竞猜抢答器的准确度很高,其误差主要是晶体振荡器本身的误差造成的。本系统采用智能抢答器的模块化设计,广泛应用于抢答比赛中。每组有一个应答按钮。主机有开始、结束和复位键。在后台,主持人可以修改答题时间和玩家答题时间的设置。原始状态下,答题时间为0s,答题时间为0s。新时间开始生效。主持人按下按钮后,选手开始抢着回答。数字显示屏显示冲时倒计时和参赛选手号,最后扬声器上出现提示。如果主持人不按开始键,选手先回答将被视为犯规。主持人可以按键结束,新一轮的抢答开始。2.3.本研究的

14、主要内容该设计完全按照之前的设计要求完成,完全符合之前的设计要求。2.4.方案演示方案:设计选用AT80C51作为本次设计的核心部件,利用单片机灵活的编程设计和丰富的I/O口及其控制的准确性,实现基本的密码锁功能。该方案完全按照第一章的基本设计要求进行设计。主控制器发光二极管显示器发声器键盘显示器时钟频率重接电路图2.1单片机控制方案控制系统主要由单片机应用电路、存储器接口电路和显示接口电路组成。其中,单片机80C51是系统的核心,主要负责控制各部分的协调。要求:该系统的核心器件是80C51。将复位电路、上拉电阻、数码管、按钮和扬声器连接到其外围。元件:晶体振荡器X1,电容C1,C2,C3,电

15、阻RP1,P3.0,P3.1由裁判控制,分别是第一个答案的停止键和开始键。P1.0-P1.7为8组抢答的输入端口,P2.0 - P2.3为数码管的段选端口,位选端口为P0.0 - P0.6的输出端口,带外中断0,1和P3.3,P3.4 P3.5为抢答的定时调整端口,实现各队定时,加减调整,外中断0,1实现抢答。第3章主要部件介绍3.1 at89c 51单片机介绍3 . 1 . 1 at89c 51芯片介绍AT80C51是一款8位CMOS微控制器,带4KB flash可编程/可擦除只读存储器,在MCS-51系列单片机中功耗低,性能高。它采用高密度非易失性存储器技术制造,与80C51引脚和指令系统

16、完全兼容。主要性能:兼容MCS-51微控制器产品系列。4KB在线重编程的闪存可以存储10年的数据。工作电压范围宽:Vcc在全静态下可以工作在2.7V到6V;从0Hz到16MHz的可编程存储器具有三级加密保护,128*8位RAM,32条可编程I/O线,两个16位定时器/计数器,具有五个中断源和两个优先级的中断结构,可编程全双工串行通道,空闲状态下的低功耗和断电状态下的存储容量。80C51单片机将控制应用所需的所有基本功能集成到一个有限尺寸的集成电路芯片中。根据功能,它由以下功能部件组成:微处理器、数据存储器、程序存储器、并行I/O口、串口、定时器/计数器、中断系统和特殊功能寄存器。都是单总线连接

17、,基本结构还是传统的CPU加外围芯片的结构模式。然而,各种功能组件的控制是具有特殊功能寄存器的集中控制模式。微处理器、数据存储器、程序存储器、并行I/O口、串口、定时器/计数器和中断系统的功能和说明与8951单片机类似。共有21个特殊功能寄存器,用于管理、控制和监控芯片各功能的组件。其实就是一些控制寄存器和状态寄存器,是有特殊功能的RAM区域。从上面可以看出,80C51单片机的硬件结构具有各种功能元件齐全、功能强大的特点。特别值得一提的是,单片机CPU中的位处理器实际上是一个完整的1位微机,有自己的CPU、位寄存器、I/O口和指令集。1位计算机在开关决策、逻辑电路模拟和过程控制方面非常有效。8

18、位计算机在数据采集和运算处理方面具有明显的优势。MCS-51单片机中8位机和1位机的硬件资源结合在一起,互为补充。是MCS-51单片机技术上的突破,也是MCS-51单片机设计之美。引脚描述图3.1是标准双列直插式集成电路芯片。图3.1 80C51引脚图P0 P07p0端口8位双向端口线(引脚39 32端子处)。P10 P17p1端口8位双向端口线(在引脚的1 8号端)。P20 P27p2端口8位双向端口线(在引脚的21 28端)。端口p3 p37p3的8位双向端口线(在引脚的10 17端)。1.P0端口有三个功能:(1)当外部存储器被扩展时,它被用作数据总线(图中的D0 D7是数据总线接口)(

19、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数据锁存控制信

20、号:系统扩展时,用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时,用R

21、OM的EA引脚连接。7.EA/VPP存取程序存储器控制信号:(1)高电平连接时:CPU读取本部门的程序存储器(ROM)。(2)连接低电平时:CPU读取外部程序存储器(ROM)。8031单片机中没有ROM,所以在使用8031单片机时,这个管脚是直接低电平。8.RST复位信号:当输入信号连续2个机器周期以上为高电平时有效,用于完成单片机的复位初始化操作。当程序计数器PC复位= 0000H时,复位后将从程序存储器的0000H单元中读取第一个指令代码。9.XTAL1和XTAL2:外部晶振引脚。使用芯片时钟时,这两个管脚用于应时晶体和微调电容的外接;使用外部时钟时,用于连接外部时钟脉冲信号。10.VCC

22、:电源端接+5V电压输入。11.GND:接地端子。3.2、7 SEG-MP x4-CC的介绍显示采用七段码7SEG-MPX4-CC,共阴极,高电平点亮。该图如下:图3.2 7SEG-MPX4-CC引脚图3.3.发声器蜂鸣器介绍还有一个外接的发声器蜂鸣器(由于音箱缺少驱动电路,这里为了方便使用了带自驱动的发声器蜂鸣器)发出报警声,并使用LED使其能够看到声音状态。该图如下:图3.2 7SEG-MPX4-CC引脚图3.4.RX8电阻块简介当MCU IO用作低电平输入时,RX8电阻块用于提供电流。电阻的确定通常基于牵引电阻的选择。因为漏极输出的IO电阻相当大,等效电路的电阻就是你的拉电阻,拉电流就是

23、你的外部电源/拉电阻。一般TTL级驱动电流为20ma-25ma,可以根据情况选择阻值。该图如下:图3.2 RX8电阻模块第四章硬件电路设计硬件设计主要包括控制与设置电路设计、外部振荡电路设计、复位电路设计、抢占式输入电路设计和显示电路设计。4.1.控制和设置电路如图所示,80C51单片机由微处理器、存储器、I/O口和专用功能寄存器SFR组成。物理上,它的内存被设计成两个独立的空间:程序内存和数据内存。芯片程序存储器容量为4KB,芯片数据存储器容量为128字节。80C51单片机有4个8位并行I/O口:P0口、P1口、P2口和P3口。每个接口由一个接口锁存器、一个输出驱动器和一个输入缓冲器组成。P

24、1端口是唯一的单功能端口,只能用作通用数据输入/输出端口。P3是一个双重功能的港口。除了数据输入/输出功能,每个接口还具有不同的第二功能,例如P3.0是串行输入端口线,P3.1是串行输出端口线。当需要外部程序存储器和数据存储器扩展时,P0可以用作时分复用的低8位地址/数据总线,P2端口可以用作高8位地址总线。P3端口还可以作为80C51的一些特殊功能端口,同时可以接收一些控制信号进行flash编程和程序验证。图4.1控制和设置电路4.2.外部振荡电路单片机外部振荡电路单片机只有在80C51的驱动下才能工作。单片机内部有一个时钟振荡电路,只需要外接一个振荡源就可以产生一定的时钟信号并发送给单片机

25、的各个单元。外部振荡电路如下:图4.2外部振荡器电路4.3.重接电路外部中断和部分中断并存,微控制器有一个硬件复位端,输入一个高电平可以复位4个机器周期。硬件复位后,可以看到寄存器和存储器的值都恢复到初始值,应该是这个设计功能中倒计时时间的记忆功能,所以无法进行单片机的硬件复位。只能使用软复位。实际上,软复位是指当程序结束时,程序指针会通过一个跳转指令跳转到该程序。复位电路如下:图4.3复位电路4.4、抢答输入电路八个按钮按钮用作回答问题的选择按钮,如图所示:图4.4抢答输入电路4.5.显示电路显示采用七段码7SEG-MPX4-CC,共阴极,高电平点亮。如下所示:图4.5显示电路第5章软件设计

26、和主要子程序5.1.软件设计理念系统初始化模块关键模块非法答案模块正确答案模块调整高峰时间。调整回答时间模块数字显示模块图5.1软件设计思路5.2.主流程模块问答抢答器需要计时和记忆功能。时间设置一次后,不需要重新设置时间。键盘扫描并输出按键信息,然后由单片机转换成可在七段数码管上显示的字体代码。答题完毕,数码管上会显示答题者的数字提示,表示答题成功。同时显示比分,可以由裁判手动完成比分的加减。带独立键盘,可实现八路加扰。显示器采用七段数字显示。根据实际情况,本设计采用动态显示法,并通过查表法显示在数码管上。P1端口是字体代码输入,P2端口的低6位是字选择输入。通过查表将字体代码发送到7段数码

27、管显示的数字。软件去抖动,如果按下“开始键”就会向下执行,否则就会跳到开始。采用倒计时程序,使其具有倒计时功能。30秒内回答。接听时间5秒。声光报警器起到报警作用。展示FFF开始按键?添加一个按键?一键按压?回答时间调整和抓取回答时间。抖动非法抢劫回答:处理显示打破规则标准争着第一个回答问题显示紧急回答倒数计时。YYY初始化图5.2主程序流程图5.3、查询子程序设计开始:MOV R5,#0BHMOVR4MOV R3,#0BH来电显示;不先回答的时候给FFF看看。P3.0,下一个;ddddddd呼叫延迟P3.0,下一个;要摇,按下“开始键”就向下执行,否则跳转到非法。匆忙回答询问一片叫唤声;按键

28、发出声音R1 MOVMOVR6;送R1-R6,因为抢先答题时间在R1省了。SETB还好;抢答标志位,用于判断是否在COUNT程序中查询抢答。MOV R7,# 01H读取预应答键的数据信号符号,表示只读取一次有用的信号。MOV R3,# 0AH第一个答案只显示了熄灭的时间和次数。AJMP计数;进入倒计时程序,“有效抢答查询程序”在计数中。下一个:JNB P1.0,错误1JNB P1.1,错误2JNB P1.2,错误3JNB P1.3,错误4JNB P1.4,错误5JNB P1.5,假6JNB P1.6,假7JNB P1.7,假8跳到开始处5.4.设置先答时间的子程序设计。MOV A,R1MOV

29、B,#0AH除法指令MOV R5,AMOVR4湾MOV R3,#0AH来电显示;首先,在两个时间发光二极管上显示R1。JNB P3.4,INC0P3.4是+1s键,如果按下,跳转到INCO。JNB P3.5,DEC0P3.5是-1s键,如果按下,跳转到DECO。JNB P3.1,BACK0P3.1是确认键,比如按下跳转到BACKO。AJMP INT0SUBInc 0:R1 MOV ACJNE A,#63H,ADD0如果不是99,R2加1;如果它被加到99,R1被设置为0并再次被加。MOV R1,#00H呼叫延迟1AJMP INT0SUBADD0: INC R1呼叫延迟1AJMP INT0SUB

30、10月0日:R1 MOVJZ集1;如果R1是0,R1被设置为99,十二月R1呼叫延迟1AJMP INT0SUB第一组:SETR1,第63位呼叫延迟1AJMP INT0SUB回0: RETI5.5、声音子程序设计树皮:SETB戒指呼叫延迟1呼叫延迟1CLR环;按键发出声音浸水使柔软5.6、环形子程序设计国际:MOV TH0,#0ECHMOV TL0,#0FFHJNB环,出去;CPL P3.6当响铃标志位为1时,P3.6端口会使喇叭以一定的频率发声,而不是短促的。出局:RETI5.7.显示子程序设计展示:MOVDPTR,#DAT1;查表显示程序,用P0口作为段码选择口输出/P2低三位作为位码选择口

31、输出,MOV A,R3MOVC A,A+DPTRMOV P2,#0feHMOV P0,A通话延迟2MOV DPTR,#DAT2MOV A,R5MOVC A,A+DPTRMOV P2,#0fdHMOV P0,A通话延迟2R4 MOVMOVC A,A+DPTRMOV P2,#0fbHMOV P0,A通话延迟2浸水使柔软DAT1:DB 00h、06h、5bh、4fh、66h、6dh、7dh、07h、7fh、6fh、00h、71H;熄灭, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,熄灭, F DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7

32、fh,6fh,00H,71H;第一个是零,其他的同上,因为如果十位数都是零,显示就灭了。第六章系统模拟和调试6.1、Keil编译LC51是美国Keil软件公司生产的51系列兼容单片机C语言的软件开发系统。与汇编语言相比,C语言在功能、结构、可读性和可维护性方面具有明显的优势。Keil提供了完整的开发方案,包括C编译器、宏汇编、连接器、库管理和强大的模拟调试器。这些部分通过集成开发环境(uVision)组合在一起。如果用C语言编程,那么Keil几乎是最佳选择。即使你只用汇编语言而不用C语言,其方便易用的集成环境和强大的软件仿真调试工具也会让你事半功倍。本设计采用汇编语言编程生成。十六进制文件,供

33、单片机加载到Protues中进行仿真。6.2.Protues8仿真平台6.2.1介绍Protues8仿真和部分模块的仿真Protues软件是英国Labcenter电子公司发布的EDA工具软件。它不仅具有其他EDA工具的仿真功能,还可以仿真单片机及外围设备。是目前模拟单片机及外围设备的最佳工具。Proteus是国际著名的EDA工具(仿真软件),从原理图布局、代码调试到MCU与外围电路的协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。迄今为止,它是全球唯一一个集电路仿真软件、PCB设计软件和虚拟模型仿真软件于一体的设计平台。其处理器型号支持8051、HC11、PIC10/12/1

34、6/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。编译方面,也支持IAR,Keil,MATLAB。加载目标代码的方法是在Protues编辑环境中双击AT89C51,弹出如下图所示的对话框。在程序片列中点击打开按钮,选择Keil中生成的lzy.hex文件,在时钟频率列中设置系统工作频率为12MHZ,点击确定完成目标代码的加载。图6.1程序代码加载6.2.2.硬件电路总图及仿真单击运行按钮开始系统模拟。为了保护密码的隐蔽性,输入密码时显示一条横线而不是数字。总的硬件框图如下:图6.2总体布局5号非法回答:图6.3五号违规答题。时间调整:图6.4时间增加图6.5时间缩短

35、第七个是回答问题:图6.6七号在答题。第七章操作方法单击运行:1.如果要调整抢答时间或接听时间,按抢答时间调整键或接听时间调整键进入调整状态,此时会显示设定的抢答时间或接听时间值。如果你想增加一秒,点击“增加2s”键,如果你想减少一秒,点击“-2s”键,改变后的时间将显示在时间LED上。调节范围为0s99s,0s,当0s减少2s时,将跳到99,99s。当主持人按下“抢答开始”键时,会有提示音,随即进入抢答倒计时(预设抢答时间30s)。如果有参赛者,会有提示音,并显示其号码,立即进入答题倒计时(预设抢答时间60s)。不会进行抢答询问,所以只有第一个按抢答的选手有效。当倒计时时间小于5s时,每秒会

36、发出一次提示音。比如在倒计时过程中,主持人如果想停止倒计时,可以随时按下“停止”键,系统会自动进入就绪状态,等待主持人按下“抢答开始”进入下一次抢答计时。4.如果主持人没有按下“抢答”键,但有人按下抢答,犯规抢答,LED闪烁FF和犯规次数,一直响,直到按下“停止”键。5.P3.0为开始接听,P3.1为停止,p1.0-p1.7为八路接听输入数码管段选择端口P0,选择端口P2为低3位,蜂鸣器输出为端口p3.6. P3.2冲时调整,P3.3接听时间调整,P3.4时间加1调整,P3.5时间减1调整。第八章课程设计概述这次通过单片机对八路抢答器的设计和仿真,使我对电子产品的设计程序和步骤有了牢固的掌握,

37、也对51单片机的基本原理和设计理念有了深刻的理解。第一次用Proteus做仿真,不知从何下手。经常在软件里找不到自己想要的组件,就下载了一个教程,很快就开始了。短短一周时间,从开始选题到完成设计,虽然遇到了很多头疼的问题,但是通过查阅资料,复习了之前学过的知识,结合单片机原理与接口技术课程,理论联系实际,解决了实际问题,巩固、深化、拓展了关于单片机设计的知识。尤其重要的是让我知道,无论做什么,都不能把它想得简单或困难,需要实践,才能真正理解和解决问题。单片机课程设计是一项实践性很强、难度很大的设计。本设计运用了单片机、电路等知识。通过这次课程设计,我对单片机及其附属电路有了一定的了解,对课本上

38、的知识有了更深入的掌握,对自己的不足也有了深刻的认识。完成这个课程设计的过程是一个从无到有的过程,经历了几个过程:兴奋、自信、失落、努力、启蒙、完成。刚做课程设计的时候,认真看设计题目和要求,以为没什么难的,用的知识书都有。但是当我开始做的时候,我发现算法和设计是如此的繁琐。努力了一天,没有结果。失落的心情油然而生。于是,我去图书馆和网上找资料,在学习了很多类似的资料和文献后,终于有了一些想法。努力的过程是痛苦的,尤其是思考算法和程序框架的时候,迷茫和烦躁,尤其是一个努力思考出来的结果被自己推翻,痛得无以言表。在痛苦中挣扎,建立,推翻,参考别人的想法,建立,再推翻。在这样不断的循环中,程序最终

39、得以完善。苦难是非常痛苦的,我深深体会到征服自己“未知领域”的艰难。但是当课程设计完成的时候,感觉很甜蜜,没有付出就没有收获的喜悦,没有知识就不知道回报的快乐,没有付出就没有收获,没有付出就没有回报。在这种痛苦和快乐的交换中,我学到了知识和做人的道理。通过这短短一周的实践,我感觉自己的理论知识和来自课本的实践还有很大的差距。至少很多组件不知道自己有什么功能,在仿真仪器里是什么代码。是的,感觉自己掌握了知识,但是实际操作有问题。遇到了很多问题,花了很多时间。这让我重新思考我们的学习,深刻认识到动手和实践在我们专业中的重要性。理论未经实践检验是无法实施的。就像我们编的程序,很多方面考虑的不够,实际

40、应用中几乎没有涉及到预防措施。这个课程设计让我学到了很多书本上学不到的东西。我学实际应用的时候,就是把接入成本降到最低。设计中不仅要考虑大的方面,小的方面也要尽善尽美。最大的收获是对C51语言的应用有了深刻的理解(虽然最后是用汇编语言写的,但我也尝试学习了C51)。附录汇编程序;电气类123-胡-2022012146;八路抢答器源程序OK EQU 20H;应答开始标志位环EQU 22H;环形标志位ORG 0000H转移到主程序ORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0

41、040H主要:MOV R1,# 30;初始高峰时间为30秒。MOVR2,第60位;最初回答时间为60s。MOVTMOD,排名第11位;定时器/模式1未设置MOV TH0,#0F0HMOV TL0,# 0FFH发声频率越高,声音越尖锐。MOV TH1,#3CHMOV TL1,# 0B0H50毫秒是溢出中断。开中断SETB ET0SETB ET1SETB EX0SETB EX1;允许四个中断,T0/T0/INT0/INT1。CLR正常CLR环SETB TR1SETB TR0;运行计时器,开始显示F FF。如果再次计数,重置TH1/TL1。;查询程序:开始:MOV R5,#0BHMOVR4MOV R

42、3,#0BH来电显示;未启动时显示关闭P3.0,下一个呼叫延迟P3.0,下一个;要摇,按开始,就下去;否则会跳转到非法答题程序。一片叫唤声;按键发出声音R1 MOVMOVR6SETB还好吗MOV R7,#01HMOV R3,# 0AH答案只显示时间。AJMP计数;进入倒计时程序,“查询有效预答程序”在计数中。下一个:JNB P1.0,错误1JNB P1.1,错误2JNB P1.2,错误3JNB P1.3,错误4JNB P1.4,错误5JNB P1.5,假6JNB P1.6,假7JNB P1.7,假8跳到开始处;非法回答的处理程序:假1: MOV R3,#01HAJMP误差错误2: MOV R3

43、,#02HAJMP误差假3: MOV R3,#03HAJMP误差假4: MOV R3,#04HAJMP误差假5: MOV R3,#05HAJMP误差假6: MOV R3,#06HAJMP误差假7: MOV R3,#07HAJMP误差假8: MOV R3,#08HAJMP误差;INT0(预回答时间R1调整程序):MOV A,R1MOV B,#0AH除法指令MOV R5,AMOVR4湾MOV R3,#0AH来电显示;LED首先显示两次R1。JNB P3.4,INC0+1sJNB P3.5,DEC0-1sJNB P3.1,BACK0Ok键AJMP INT0SUBInc 0:R1 MOV ACJNE

44、A,#63H,ADD0如果不是99,R2加1;如果是99,R1被设置为零。MOV R1,#00H呼叫延迟1AJMP INT0SUBADD0: INC R1呼叫延迟1AJMP INT0SUB10月0日:R1 MOVJZ集1;如果R1是0,R1被设置为99。十二月R1呼叫延迟1AJMP INT0SUB第一组:SETR1,第63位呼叫延迟1AJMP INT0SUB回0: RETI;INT1(响应时间R2的调整程序):第一小组:R2 MOVMOV B,#0AH除法指令MOV R5,AMOVR4湾MOV R3,#0AH来电显示JNB P3.4,INC1JNB P3.5,DEC1JNB P3.1,第一页A

45、JMP INT1SUB第一名:R2 MOVCJNE A,#63H,ADD1MOV R2,#00H呼叫延迟1AJMP INT1SUB地址1:R2公司呼叫延迟1AJMP INT1SUB12月1日:R2 MOVJZ SETR2十二月R2呼叫延迟1AJMP INT1SUB第二组:SETR2,第63位呼叫延迟1AJMP INT1SUB第一页:RETI;倒计时程序(回答倒计时和回答倒计时):重复:MOV A,R2MOVR6CLR环计数:MOV R0,# 00H重置定时器中断次数MOV TH1,#3CHMOV TL1,# 0B0H重置计时器重新计票:MOV A,R6;R6省下倒计时时间,之前的时间给了R6M

46、OV B,#0AH除法指令MOV 30H,A;将一位/十位除以十。MOV 31H,BMOV R5,30HMOV R4,31HR6 MOVSUBB A,#07HJNC更大;大于5s就跳到更大;如果小于等于5s,会提醒你。MOV A,R0CJNE A,#0AH,满;1s跑下来0.5s。CLR环AJMP检查满:CJNE A,#14H,检查;这里是1s的情况。SETB环R6 MOVJZ辞职了;暂停。MOV R0,#00HR6十二月;1s标志位减1AJMP检查较大:MOV A,R0CJNE A,#14H,检查;如果1s停止运行十二月R6MOV R0,#00H查:JNB P3.1,退出;按停止键退出。JN

47、B好的,检查;只有在倒计时回答时才有效。AJMP NEXTTJNB 3.0,重复NEXTT:来电显示好的,ACCOUT锁定并回答AJMP重新计票帐户:MOV A,36HJNB ACC.0,TRUE1JNB ACC.1,TRUE2JNB ACC.2,TRUE3JNB ACC.3,TRUE4JNB ACC.4,TRUE5JNB ACC.5,TRUE6JNB ACC.6,TZ1JNB ACC.7,TZ2AJMP重新计票TZ1: JMP真实7TZ2: JMP真相8退出:CLR OK按停止键执行程序。CLR环跳到开始处;正常应答程序:真实1:叫声R2 MOVMOVR6;回答时间R2派R6。MOV R3,#01HCLR OK锁定并回答AJMP计数真实2:叫声R2 MOVMOVR6MOV R3,#02HCLR正常AJMP计数真相3:叫声R2 MOVMOVR6MOV R3,#03HCLR正常AJMP计数真相4:叫声R2 MOVMOVR6MOV R3,#04HCLR正常AJMP计数真相5:叫声R2 MOVMOVR6MOV R3,#05HCLR正常AJMP计数真相6:一声呼唤R2 MOVMOVR6M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论