八路智能抢答器_第1页
八路智能抢答器_第2页
八路智能抢答器_第3页
八路智能抢答器_第4页
八路智能抢答器_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、本科生课程论文(设计)八路智能抢答器设计 专 业电气工程及其自动化班 级 一班 学 生 姓 名 张海东 联 系 方 式 2014年 5 月摘要本系统采用软硬件结合的方法而设计,其中硬件设计是借用单片机AT89C51为中心控制模块,采用模块化设计思想,根据系统功能划分成六个模块,分别为:核心控制模块、电源模块、时钟与复位模块、按键输入模块、显示模块、报警模块。软件设计是采用汇编语言编程。本设计限定抢答人数为八人,抢答过程如下:当主持人按“抢答开始按键”后,数码显示屏显示抢答时间倒计时,并在最后五秒启动报警电路提示,在抢答时间过程中八名选手进行抢答,按键”后,新一轮抢答开始。显示模块在初始显示、超

2、过规定抢答时间仍无人抢答和答题超过规定时间后显示“FFF”。抢答时间和回答问题的时间可以设定,设定范围为1-99s,原始状态下抢答时间为10s,回答问题时间为30s。后台主持人可以通过“抢答时间调整键”、“回答时间调整键”和时间“加1”、“减1”按键修改抢答时间和选手回答问题的时间时间,改完后“停止按键”确定,新时间开始有效。在抢答器设计过程抢答成功后,显示模块显示选手号和回答问题时间。回答完问题后,主持人可按“停止按键”结束,新一轮抢答开始。如果在主持人没有按下“抢答开始按键”而选手就抢答,则视为犯规,显示模块显示“FF”并显示选手号码,而且报警电路进行提示。主持人按“停止中,首先完成总体方

3、案的论证制定,然后分析系统的工作原理,在此基础上设计出各部分单元电路原理图,进一步完成对系统电路的设计。在对系统工作原理充分研究的基础上,选择合适的元件型号和参数,再用protel绘图软件画出电路原理图,最后根据电路接口编写软件程序。关键字:抢答器;单片机;AT89C51;模块;按键目录摘要2第一章 抢答器的概述31.1 系统设计的功能41.1.1 基本功能41.1.2 扩展功能41.2 抢答器的需求分析4第二章 单片机的功能简介42.1 89系列单片机的概况52.2 AT89C52单片机的内部结构5第三章 硬件电路的设计83.1 设计原理83.2 时钟频率电路模块93.3复位电路模块103.

4、3.1 复位电路的可靠性设计103.3.2人工复位113.4 显示电路模块123.4.1 74HC244介绍123.5发声模块13第四章 软件设计144.1 实现抢答主程序分析144.2非正常抢答查询分析164.3正确抢答程序分析184.4时间调整程序分析214.5显示程序处理244.6报警程序24第五章 抢答器电路原图及仿真255.1抢答器原理图255.2仿真软件介绍265.2.1Proteus软件简介265.2.2基本操作步骤265.2.3使用Proteus软件的便利。265.3仿真测试效果27第六章 总结30参考文献31附录一32附录二40第一章 抢答器的概述1.1 系统设计的功能1.1

5、.1 基本功能(1) 同时供8名选手比赛,分别用8个按钮S0 S7表示。(2)设置一个系统清除和抢答控制开关S,该开关由主持人控制。(3)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。1.1.2 扩展功能(1)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动开始键后,定时器进行减计时。(2)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 (3)如果定时时间

6、已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。(4)抢答限定时间和回答问题的时间可是在199s设定。1.2 抢答器的需求分析1、在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效。2、可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示。3、抢答时间和回答问题时间倒记时显示,时间完后系统自动复位。4、按键锁定,在有效状态下,按键无效非法。第二章 单片机的功能简介 2.1 89系列单片机的概况单片微型计算机简称单片机(MCU),是典型的嵌入式微控制器,单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、

7、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 2.2 AT89C52单片机的内部结构1、总线:总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它线组成的传输线束,按照计算机所传输的信息种类,计算机的总线

8、可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。2、封装形式:AT89C52有40引脚封装形式如图2-2-1芯片引脚排列。图2-13、I/O口:同一类型的数据输入(I:in)输出(O:out)引脚的一个集合总成。4、CPU:中央处理器(英文CentralProcessingUnit,CPU)是一台计算

9、机的运算核心和控制核心。CPU、内部存储器和输入/输出设备是电子计算机三大核心部件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。5、晶振:是石英振荡器的简称,英文名为Crystal,它是时钟电路中最重要的部件,它的主要作用是向显卡、网卡、主板等配件的各部分提供基准频率,它就像个标尺,工作频率不稳定会造成相关设备工作频率不稳定,自然容易出现问题。晶振还有个作用是在电路产生震荡电流,发出时钟信号.6、复位电路:简单地说,单片机的复位就和计算机的重起是一样的概念、任何单片机在工作之前都要有个复位的过程,复位对单片

10、机来说,是程序还没有开始执行,是在做准备工作。一般的复位只需要5ms的时间。复位电路的实现可以用很多种方法但是从功能上一般分为两种:一种是电源源位,即外部的复位电路在系统通上电源之后直接使单片机工作,单片机的起停通过电源控制;另一种方法是在复位电路中设计按键开关通过按键开关触发复位电平,控制单片机的复位。7、单片机P3第二功能各引脚功能定义,P3.0 RXD(串行口输入)P3.1 TXD(串行口输出)P3.2 INT0(外部中断0输入) P3.3INT1(外部中断1输入)P3.4T0(定时计数器0的外部输入) P3.5T1(定时计数器1的外部输入)P3.6WR(片外数据存储器写选通)P3.7R

11、D(片外数据存储器读选通)8、锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个I/O口既能输出也能输入的问题。9、脉冲定义:一个物理量在短持续时间内突变后迅速回到其初始状态的过程。其内部结构如图2-2所示。外部定时元件复位中断电源系统时钟ROMCPU定时/计数器串行I/O口并行I/O口RAM 图2-2单片机的内部结构图第三章 硬件电路的设计3.1 设计原理本系统采用AT89C52单片机作为核心,控

12、制系统的四个模块分别为:单片机最小系统、显示模块、显示驱动模块、抢答开关模块。抢答器原理框图如图3-1所示。开关抢答模块单片机最小系统显示驱动模块显示模块抢答器原理图3-1 总体设计之后,然后进行单元电路设计。单元电路设计分为电源电路设计、时钟和复位电路、键盘电路、显示报警电路等。总电路原理如3-2图 P3.0为开始抢答,P3.1为停止抢答,P3.2 为抢答时间调整,P3.3为回答时间调整,P3.4为加分,P3.5为减分,P1.0-P1.7为八抢答输入,数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。 3-2总电路原理图3.2 时钟频率电路模块晶振的选择:6MHz的晶振,其机器周期

13、是2us。12MHz的晶振,其机器周期是1us, 也就是说在执行同一条指令时用6MHz的晶振所用的时间是12MHz晶振的两倍。为了提高整个系统的性能选择了12MHz的晶振。振荡方式的选择:内部振荡方式,MCS-51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。这样就构成了内部振荡方式外部振荡方式是把已有的时钟信号引入单片机内。这种方式适合用来使单片机的时钟与外部信号一致。在这个设计中没有也无需与外部时钟信号一致,所以选择了内部振荡方式,由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自

14、激振荡器并产生振荡时钟脉冲。晶振我选择了12MHz,相对于6MHz的晶振,整个系统的运行速度更快了。电容器C1、C2起稳定振荡频率、快速起振的作用,电容值我选择了30pF。内部振荡方式所得的时钟信号稳定性高。图3-3时钟电路的设计一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2的典型值为30PF。单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。

15、其大小是时钟信号频率的倒数,常用fosc表示。如时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12s。3.3复位电路模块3.3.1 复位电路的可靠性设计计算机在启动运行是都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51的复位输入引脚RST为MCS-51提供了初始化的手段,可以使程序从指定处开始执行,在MCS-51的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作。只要 RST保持高电平,则MCS-51循环复位。只有当RST由高电平变低电平以后,MCS-51才从0000H地址开始执行

16、程序。本系统采用按键复位方式的复位电路。MCS-51单片机有一个复位引脚RST,它是施密特触发输入,当振荡器后,该引脚上出现2个机器周期(即24个时钟周期)以上的高电平。使器件复位,只要RST保持高电平,MCS-51保持复位状态。此时ALE、/PSEN、P0、P1、P2、P3口都输出高电平。RST变为低电平后,退出复位,CPU从初始状态开始工作。复位以后内部寄存器的初始状态为(SP=07,P0、P1、P2、P3为0FFH外,其它寄存器都为0。在RST复位端接一个电容至VccHE 一个电阻至Vss,就能实现上电自动复位,对于CMOS单片机只要接一个电容至Vcc即可。如图,在加电瞬间,电容通过电阻

17、充电,就在RST端出现一定时间的高电平,只要高电平时间足够长,就可以使MCS-51有效地复位。RST端在加电时应保持的高电平时间包括Vcc的上升时间和振荡器起振时间,Vcc上升时间若为10ms,振荡器起振时间和频率有关。10MHz时间约为1ms,1MHz时约为10ms,所以一般为了可靠地复位,RST在上电时应保持20ms以上的高电平。图3-4中,RC时间常数越大,上电时RST端保持高电平的时间越长。当振荡频率为12MHZ时,典型值为C=10uF,R=8.2k. 图3-4上电复位电路3.3.2人工复位除上电自动复位以外,常常需要人工复位,将一个按钮开关并联于上电自动复位电路,按一下开关就RST端

18、出现一段时间的高电平,即使器件复位。如图所示图3-5上电和开关复位而我们在这次的毕业设计中运用的人工复位电路. 其中电平复位是通过RST端经电阻和电源Vcc接通而实现的,按键手动电平复位电路如图。当时钟频率选用12MHz时,C选取10uF,R选择1000欧。3.4 显示电路模块在设计显示电路这一块时,我们采用7SEG-MPX4-CA阳极数码管、74HC244、排阻进行设计,设计电路图3-53-6图显示设计3.4.1 74HC244介绍74HC244芯片的功能如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通常使用的典型芯片为74HC244,由该芯片可构成三态数据缓冲器。由于AT

19、的51系列单片机一般用并口进行编程,理论上可以直接用单片机的几根I/O口接并口线,但如果电路板没做好,可能会连带把计算机并口烧坏,所以要加个74HC244芯片隔离一下。3.5发声模块我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音,如图3-6。3-7发声第四章 软件设计4.1 实现抢答主程序分析如程序图4-1,抢答器总共需要14个按钮,8个抢答按钮,1个开始按钮,1个复位按钮,

20、2个时间调整按钮,2个时间加减按钮,当我们按下了P3.2或P3.3则进入时间调整程序,如果P3.0没有按下而有人按下抢答按钮,则转入到非法控制子程序并调用报警程序,P3.0按下后进入倒计时程序,有人按下按钮自锁并输入到显示程序中显示抢答选手号,并开始倒计时答题。开始初始化子程序P3.2和P3。3是否按下P3.0是否按下倒计时子程序是否有人按下时间调整程序非法控制子程序正常控制子程序报警子程序返回返回是是否否返回是图4-1主程序如下OK EQU 20HRING EQU 22HORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0I

21、NT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040H MAIN: MOV R1,#30;初设抢答时间为30s MOV R2,#60;初设答题时间为60s MOV TMOD,#11H;设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH;越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H;50ms为一次溢出中断SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1;允许四个中断,T0/T1/INT0/INT1 CLR OK CLR RINGSETB TR1

22、 SETB TR0; 启动定时器1和2START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY;未开始抢答时候显示FFFJNB P3.2,INT0SUBJNB P3.3,TZ3JB P3.0,NEXT; ACALL DELAY JB P3.0,NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询 ACALL BARK;按键发声 MOV A,R1 MOV R6,A;送R1-R6,因为R1中保存了抢答时间 SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答MOV R7,#01HMOV R3,#0AH;抢答只显示计时

23、,灭号数 AJMP COUNT;进入倒计时程序,查询有效抢答的程序在COUNT里面4.2非正常抢答查询分析NYYNYYYP1。4按下?P1。3按下?P1。2按下?P1。5按下?P1.6按下?P1。7按下?YY开始P1。0按下?P1。1按下?将犯规号送到R3犯规抢答程序返回YNNNNN在主持人未按下“抢答开始键”时,为防止参赛选手发生抢答,专门设计了非法抢答查询子程序。当有选手发生抢答时,系统会将选手的号码保持下来,并送到LED显示装置进显示,同时调用非法抢答子程序。 非法抢答查询子程序流程图如图4-2所示。图4-2非法抢答查询子程序如下:NEXT: JNB P1.0,FALSE1 JNB P1

24、.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5JNB P1.5,FALSE6 JNB P1.6,TZ1 JNB P1.7,TZ2 AJMP STARTTZ1: JMP FALSE7TZ2: JMP FALSE8;非法抢答处理程序FALSE1: ACALL BARK ;按键发声MOV R3,#01H AJMP ERRORFALSE2: ACALL BARKMOV R3,#02H AJMP ERRORFALSE3: ACALL BARKMOV R3,#03H AJMP ERRORFALSE4: ACALL BARKMOV R3,#

25、04H AJMP ERRORFALSE5: ACALL BARKMOV R3,#05H AJMP ERRORFALSE6: ACALL BARKMOV R3,#06H AJMP ERRORFALSE7: ACALL BARKMOV R3,#07H AJMP ERRORFALSE8: ACALL BARKMOV R3,#08H AJMP ERRORJB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用) AJMP RECOUNT;=犯规抢答程序=ERROR: MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H;定数重置 MO

26、V 34H,R3;犯规号数暂存与(34H)4.3正确抢答程序分析要想实现正确抢答程序就需要判断哪个键按下,当按键按下后,我们对数据存储区进行清零,封锁抢答其他再按下不在起作用,然后将抢答时间送到R6中,将选手号送R3。ACCOUT:JNB P1.0,TRUE1 JNB P1.1,TRUE2 JNB P1.2,TRUE3 JNB P1.3,TRUE4 JNB P1.4,TRUE5 JNB P1.5,TRUE6 JNB P1.6, TRUE7 JNB P1.7, TRUE8 AJMP RECOUNT QUIT: CLR OK;如果按下了停止键执行的程序 CLR RING AJMP START;正常

27、抢答处理程序TRUE1: ACALL BARK;按键发声 MOV A,R2 MOV R6,A;抢答时间R2送R6 MOV R3,#01H CLR OK;因为答题的计时不再查询抢答,所以就锁了抢答 AJMP COUNTTRUE2:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#02H CLR OK AJMP COUNTTRUE3:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#03H CLR OK AJMP COUNTTRUE4:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#04H CLR OK AJMP CO

28、UNTTRUE5: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#05H CLR OK AJMP COUNTTRUE6: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#06H CLR OK AJMP COUNTTRUE7: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#07H CLR OK AJMP COUNTTRUE8: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#08H CLR OK AJMP COUNT4.4时间调整程序分析按下“抢答时间调整键”。此时,LED显示装置

29、会显示当前抢答时间的设定值,如果想加1S,按下“加1”键;如果想减1S,按下“减一”键。LED显示装置会自动显示修改后的抢答时间。抢答时间的设定值范围是099S,0S再减1S会变成99S,同理99S再加1S会变成0S。回答时间的调整与此类似。抢答时间调整子程序流程图如图4-3所示程序如下:INT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,BMOV R3,#0AH ACALL DISPLAY;先在两个时间LED上显示R1JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCO JNB P3.5,DEC0;P3.5为-1s键,如按下跳到

30、DECO JNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKO AJMP INT0SUB INC0: MOV A,R1 CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。 MOV R1,#00H ACALL DELAY1 AJMP INT0SUB ADD0: INC R1ACALL DELAY1 AJMP INT0SUB DEC0: MOV A,R1 JZ SETR1;如果R1为0, R1就置99, DEC R1 ACALL DELAY1 AJMP INT0SUB SETR1: MOV R1,#63H ACALL DELAY1 AJM

31、P INT0SUB BACK0: RETI INT1SUB:MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC1 JNB P3.5,DEC1 JNB P3.1,BACK1 AJMP INT1SUB INC1: MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY1 AJMP INT1SUBADD1: INC R2 ACALL DELAY1 AJMP INT1SUB DEC1: MOV A,R2 JZ SETR2 DEC R2 ACAL

32、L DELAY1 R1=0?P3.1键按下?R1=1送到R1R1=99返回开始设置抢答和答题时间将R1的个位和十位分别送到R4、R5调显示子程序P3.4键按下?P3.5键按下?R1=99?调延时子程序R1=1送到R1R1=0YNNYY NYNNAJMP INT1SUB图4-44.5显示程序处理显示程序处理分析:DISPLAY:MOV DPTR,#DAT1 MOV A,R3 MOVC A,A+DPTR MOV P2,#0FBH MOV P0,A ACALL DELAY2 MOV DPTR,#DAT2 MOV A,R5 MOVC A,A+DPTR MOV P2,#0FEH MOV P0,A ACA

33、LL DELAY2 MOV A,R4 MOVC A,A+DPTR MOV P2,#0FDH MOV P0,A ACALL DELAY2 RET DAT1:DB 0FFH,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H,0FFH,8EHDAT2: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H,0FFH,8EH4.6报警程序发声程序:BARK: SETB RING ACALL DELAY1 ACALL DELAY1 CLR RING;按键发声 RET;TO溢出中断(响铃程序)T0INT: MOV

34、TH0,#0ECH MOV TL0,#0FFH JNB RING,OUT;CPL P3.6;RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音 OUT: RETI;=T1溢出中断(计时程序)=T1INT: MOV TH1,#3CHMOV TL1,#0B0H INC R0 RETI第五章 抢答器电路原图及仿真 5.1抢答器原理图抢答器电路原理框图如图5-1所示,其中右上部分是4个七段数码管,作为显示输出部分,左上部分是钟控部分,除了S1-S8是选手控制按钮,其余按钮式主持人控制系统。图5-1各按键功能介绍如下: RESET键为复位键,按下复位键系统进入就绪状态; B1、B2分别为3

35、0s、60s预置时间键; “+”、“-”键可以调节时间; EN键用来确定自设时间;ON键用来确定一切就绪,按下它系统就进入倒计时抢答; S1-S8为8个抢答按键。5.2仿真软件介绍5.2.1Proteus软件简介Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。ISIS是Proteus系统的中心,它远不仅是一个图表库。它是具有控制原理图画图的外观设计环境。Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。Proteus软件提供多种现实存在的虚拟仪器仪表。此外,Pro

36、teus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供SchematicDrawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译

37、方面支持Keil和MPLAB等编译器。一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。5.2.2基本操作步骤1打开PROTEUS操作界面。2选择“P”,从元件库中提取需要的元器件(选中双击),选择完点OK。3在编辑区画电路图,修改元件参数。4进行电路仿真。5保存文件。5.2.3使用Proteus软件的便利。1培养学习者实验设计能力,并降低科研投入,不担心烧坏设备和元器件。2支持创新性设计。3培养团队合作能力。4提高

38、实验质量,扩展学习者的思路和提高学习者的学习兴趣。5.3仿真测试效果操作说明:主持人按下复位键SET,如果题目比较容易调节抢答时间为22s,按下B1键,然后调节“-”按钮,显示从30的倒计时,等显示时间减到22时,停止按动“-”按钮,再按EN键确定,然后按下ON开始抢答,同时扬声器响,显示如图3-2所示;5号选手按下键抢答成功,立即进入倒计时答题状态如图3-3所示;如果在所设时间内选手未能按时答题,则发出报警,如图3-4和3-5所示。若8位选手均未能在设定时间内正常抢答,系统同样进入报警状态,本系统所有的报警时间都设置为5s。图5-2抢答时间倒计时图5-3无人答题报警显示图5-4抢答答题状态图

39、5-5有人答题报警状态图5-6 抢答报警显示状态第六章 总结本文研究与设计的八路多功能抢答器采用了通用的电子元器件,利用AT89C52单片机及外围接口实现抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来。整体性好,人性化强、可靠性高。通过查资料和搜集有关的文献,培养了自学能力和动手能力。在以往的传统的学习模式下,我们可能会记住很多的书本知识,但是通过毕业论文,我们学会了如何将学到的知识转化为自己的东西,并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。整个设计通过了软件和硬件上的设计。我想这对于自己以后的学习和工作都会有很大的帮

40、助的。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计中的问题。而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力。它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。对我们而言,知识上的收获重要,精神上的丰收更加可喜。

41、在此要特别感谢我的指导老师对我们的指导,在此向老师说一声,老师您辛苦了!当然我也要感谢我们同组的人的积极合作。在老师的启发和我们共同的努力下,我们才能顺利的完成课程设计。在以后的工作中,我们一定会更加努力的学习,充分的发挥自己的特长。参考文献1 陈大钦编.电子技术基础实验(第二版)M.湖北:机械工业出版社,2001 2 李广弟.单片机基础M.北京:北航出版社,20103 胡学海.单片机原理及应用系统设计M.北京:京电子工业出版社,20054 卢飞跃.红外遥控多路抢答器的设计J.番禺职业技术学报,2003,2(2):10-12.5 王公堂.基于IP1C68F73的61路抢答器J.电脑开发与应用,

42、2006,9(9):83-846 梁超.一款基于单片机技术的电子抢答器J.机电工程技术,2005,34(1):48-527杨凌霄.微型计算机原理及应用.江苏:中国矿业大学出版社,2004.8丁建伟.抢答器电路设计.兰州工业高等专科学校学报,2008,(04).9柴钰.单片机原理及应用.北京:西安电子科技大学出版社,2009.附录一完整的源程序:OK EQU 20HRING EQU 22HORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1I

43、NT ORG 0040H MAIN: MOV R1,#30;初设抢答时间为30s MOV R2,#60;初设答题时间为60s MOV TMOD,#11H;设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH;越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H;50ms为一次溢出中断SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1;允许四个中断,T0/T1/INT0/INT1 CLR OK CLR RINGSETB TR1 SETB TR0; START: MOV R5,#0BH MOV R4,#0BH MO

44、V R3,#0BH ACALL DISPLAY;未开始抢答时候显示FFFJNB P3.2,INT0SUBJNB P3.3,TZ3JB P3.0,NEXT ACALL DELAY JB P3.0,NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询 ACALL BARK;按键发声 MOV A,R1 MOV R6,A;送R1-R6,因为R1中保存了抢答时间 SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答MOV R7,#01HMOV R3,#0AH;抢答只显示计时,灭号数 AJMP COUNT;进入倒计时程序,查询有效抢答的程序在COUNT里面 NEXT: JNB P

45、1.0,FALSE1 JNB P1.1,FALSE2JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,FALSE7JNB P1.7,FALSE8 AJMP START;=非法抢答处理程序=TZ3:AJMP INT1SUBFALSE1: MOV R3,#01HAJMP ERROR FALSE2: MOV R3,#02HAJMP ERROR FALSE3: MOV R3,#03H AJMP ERROR FALSE4: MOV R3,#04H AJMP ERROR FALSE5: MOV R3,#05H

46、AJMP ERROR FALSE6: MOV R3,#06H AJMP ERROR FALSE7: MOV R3,#07H AJMP ERROR FALSE8: MOV R3,#08H AJMP ERROR;=INT0(抢答时间R1调整程序)= INT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,BMOV R3,#0AH ACALL DISPLAY;先在两个时间LED上显示R1JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCO JNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECO JNB P3.1,BACK0;P3

47、.1为确定键,如按下跳到BACKO AJMP INT0SUB INC0: MOV A,R1 CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。 MOV R1,#00H ACALL DELAY1 AJMP INT0SUB ADD0: INC R1ACALL DELAY1 AJMP INT0SUB DEC0: MOV A,R1 JZ SETR1;如果R1为0, R1就置99, DEC R1 ACALL DELAY1 AJMP INT0SUB SETR1: MOV R1,#63H ACALL DELAY1 AJMP INT0SUB BACK0: RETI

48、INT1SUB:MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC1 JNB P3.5,DEC1 JNB P3.1,BACK1 AJMP INT1SUB INC1: MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY1 AJMP INT1SUBADD1: INC R2 ACALL DELAY1 AJMP INT1SUB DEC1: MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUB

49、SETR2: MOV R2,#63H ACALL DELAY1 AJMP INT1SUB BACK1: RETIREPEAT:MOV A,R2 MOV R6,A CLR RING COUNT: MOV R0,#00H;重置定时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H;重置定时器 RECOUNT:MOV A,R6;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6 MOV B,#0AH DIV AB;除十分出个位/十位MOV 30H,A;十位存于(30H) MOV 31H,B;个位存于(31H) MOV R5,30H;取十位 MOV R4,31H;取个位 MOV A

50、,R6 SUBB A,#07H JNC LARGER;大于5s跳到LARGER,小于等于5s会提醒MOV A,R0 CJNE A,#0AH,FULL;1s中0.5s向下运行 CLR RING AJMP CHECK FULL: CJNE A,#14H,CHECK;下面是1s的情况,响并显示号数并清R0,重新计 SETB RING MOV A,R6 JZ QUIT;计时完毕 MOV R0,#00H DEC R6;一秒标志减1 AJMP CHECK LARGER: MOV A,R0 CJNE A,#14H,CHECK;如果1s向下运行,否者跳到查停/显示 DEC R6;计时一秒R6自动减1 MOV

51、R0,#00H CHECK: JNB P3.1,QUIT;如按下停止键退出 JNB OK,CHECKK AJMP NEXTT CHECKK:JNB P3.0,REPEAT NEXTT: ACALL DISPLAY JB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这 里起到锁抢答作用) AJMP RECOUNT ACCOUT: MOV A,36H JNB ACC.0,TRUE1 JNB ACC.1,TRUE2 JNB ACC.2,TRUE3JNB ACC.3,TRUE4 JNB ACC.4,TRUE5 JNB ACC.5,TRUE6 JNB ACC.6,TZ1 JNB ACC.7,TZ2 AJMP RECOUNT TZ1:JMP TRUE7 TZ2:JMP TRUE8 QUIT: CLR OK;如果按下了停止键执行的程序 CLR RING AJMP START;=正常抢答处理程序= TRUE1: ACALL BARKMOV A,R2 MOV R6,A;抢答时间R2送R6 MOV R3,#01H CLR OK;因为答题的计时不再查询抢答,所以就锁了抢答 AJMP COUNT TRUE2:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#02H CLR OK AJMP

温馨提示

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

评论

0/150

提交评论