基于单片机的16路数字抢答器_第1页
基于单片机的16路数字抢答器_第2页
基于单片机的16路数字抢答器_第3页
基于单片机的16路数字抢答器_第4页
基于单片机的16路数字抢答器_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、1目录目录目录.11 设计概述.21.1 抢答器的工作原理.22 系统硬件电路设计.32.1 AT89C51 单片机硬件电路 .32.2 晶振复位及开始抢答电路.32.3 选手抢答键(矩阵式键盘).42.4 显示器与显示驱动电路.42.5 蜂鸣器音频输出电路.53 系统软件设计.73.1 程序设计.73.2 主程序设计.73.3 系统流程图.83.3.1 硬件复位流程图.83.3.2 系统程序流程图.83.3.3 显示抢答违规流程图.93.3.4 抢答成功流程图.94 系统仿真.104.1 PROTEUS软件介绍.104.2 仿真电路设计.104.3 仿真测试.104.3.1 开始抢答仿真.1

2、04.3.2 抢答犯规仿真.114.3.3 抢答成功仿真.114.4 仿真结果分析.125 结束语.13参考文献.14附录 A 系统电路图.15附录 B 原器件清单.16附录 C 程序清单.1721 1 设计概述设计概述1.11.1 抢答器的工作原理抢答器的工作原理抢答器的工作原理是采用单片机最小系统,用查询式键盘进行抢答。采用动态显示组号。主持人按下开始抢答键才可以抢答。主持人没有按下开始抢答按纽(P3.2) ,有人抢答则抢答违规,报警并显示组号,主持人按下开始抢答开关重新抢答。主持人按下开始抢答按纽(P3.2),蜂鸣响声提示,且数码管10秒倒计时(10秒内抢答有效) ,有人在10秒抢答,蜂

3、鸣器响声提示并显示他的组号,3秒开始20秒倒计时(20秒内必须回答完问题) 。20秒后主持人按下复位开关为下一题的抢答做准备。单片机最小系统、抢答按键模块(四位并行数码显示、4*4矩阵式键盘) 、显示模块、显示驱动模块、抢答开关模块、蜂鸣器音频输出模块。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理, 输出控制信号,单片机控制的智能抢答器。3 2 2 系统硬件电路设计系统硬件电路设计2.12.1 AT89C51AT89C51 单片机硬件电路单片机硬件电路单片机(SCM)是单片微型计算机(Single Chip Microcomputer)的简称。它是把中央处理器 CPU、随机存储

4、器 RAM、只读存储器 ROM、I/O 接口电路、定时/计数器以及输入输出适配器都集成在一块芯片上,构成一个完整的微型计算机。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出适配器简单,功能较低2。目前,单片机在民用和工业测控领域得到最广泛的应用,早已深深地融入人们的生活中。近年来,AT89C51 在我国非常流行,它最大的特点是内部有可以多次重复编程的 ROM,并且 ROM 可以直接用编程器来擦写,使用起来比较方便。本设计使用到的元器件包括:AT89C51 芯片、数码 LED 显示器、七段 LED 数码管的译码。其中 AT89C51 是系统的核心,它主要负责控制各个部分的协调工作。在

5、其外围接上复位电路,上拉电阻,数码管,按钮以及振荡器,p1.0-p1.7 为抢答输入键接口,数码管段选 P0 口,位选 P2 口,蜂鸣器输出为 P3.0 口。2.22.2 晶振复位及开始抢答电路晶振复位及开始抢答电路晶振的频率为 12MHZ,提供 89C51 的时钟脉冲使 89C51 工作,复位电路是单片机初始化,使单片机重新开始执行程序。当复位开关按下 RST 由低电平变为高电平,则程序从头开始执行,在此次课程设计电路中当一个问题结束主持人后按下复位开关后进行下一题的准备。 4图 2.1 复位及开始抢答电路2.32.3 选手抢答键(矩阵式键盘)选手抢答键(矩阵式键盘)89C51 的 P1 口

6、做一个 4*4 的行列式键盘。P1.0 至 P1.3 轮流输出低电平在软件查询 P1.4 至 P1.7 的电平变化来输入组号。给每一个选手编号 1 至 16,当选手按下按钮时,电平变化从 P1 口输入,经单片机处理后从 P0 输出由数码管显示抢答者编号。 图 2.2 选手抢答电路2.42.4 显示器与显示驱动电路显示器与显示驱动电路数码管的显示可以分为两种:静态显示和动态显示。静态显示的段选位和位选位均单独连接,因此占用的 I/O 接口多,无法扩展多个数码管。而数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划的同名端连在一起,当单片机输出字形

7、码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM 端电路的控制,通过分时轮流控制各个数码管的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。本次设计电路包括显示和驱动,显示采用数码管,驱动用三极管 PNP。数码管要显示抢答违规者编号、抢答 10秒倒计时、正常抢答者编号和回答问题时间 20 秒倒计时,数码管采用动态显示。驱动电路 PNP 发射极接+5V 电压,当基极为低电平是集电极为高电平则能驱动数码管使其显示数字。因为 PNP 是模拟器件而数码管为数字器件,PNP 的集电极如果不接一个较大的电阻显示就会出问题。所以在 PNP 的集电极

8、接了一个 10千欧的电阻。5图 2.3 显示器与显示驱动电路2.52.5 蜂鸣器音频输出电路蜂鸣器音频输出电路蜂鸣器是一种电子电路中常用的发声器件,蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种。提供蜂鸣器发声所需要较高的电流,单片机的 I/O 口驱动能力有限,而我们知道三极管有电流放大的作用,在这里就是利用三极管放大电流来使蜂鸣器获得足够的驱动电流。蜂鸣器音频输出电路的功能是用来报警,当遇到报警信号时,发出蜂鸣声,以此来提醒操作者。本电路通过控制不同频率的矩形脉冲来控制蜂鸣器发声。此次课程设计中只需要一些简单的提示声音,如有抢答违规,开始抢答,抢答时间结束和回答问题时间到的提示声音。本课程设计从 P3

9、.0 口输出一个矩形脉冲来控制驱动器 PNP 集电极的高低电平时间来控制蜂鸣器的声音。6图 2.4 蜂鸣器音频输出电路图7 3 3 系统软件设计系统软件设计3.3.1 1 程序设计程序设计程序设计(Programming)是指设计、编制、调试程序的方法和过程。它是目标明确的智力活动。在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出。为了完成上述任务,在进行软件设计时,通常

10、把整个过程分成若干个部分,每一部分叫做一个模块。把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为模块化程序设计。所谓“模块” ,实质上就是能完成一定功能,并相对独立的程序段,这种程序设计方法称为模块程序设计法。模块程序设计法的主要优点是:(1)单个模块比起一个完整的程序易编写、调试及修改。(2)程序的易读性好。(3)程序的修改可局部化。(4)模块可以共存,一个模块可以被多个任务在不同条件下调用。(5)模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。本系统软件采用模块化结构,由主程序键盘子程序、显示驱动子程序构成。

11、3.23.2 主程序设计主程序设计为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人按开始键发布抢答命令,若在主持人未按开始键之前,有选手提前答题,则为违规抢答,蜂鸣器会发出警告声,并在显示器上显示犯规的选手编号。当有选手抢答成功,则程序打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序,其他选手在此之后按键无效。当8在扫描到有人按下了抢答键,马上关闭 T0、调用显示程序、封锁键盘。3.33.3 系统流程图系统流程图3.3.13.3.1 硬件复位流程图硬件复位流程图开 始初

12、始化读键盘是否有键按下调用显示抢答违规并报警子程序中断条件是否满足进入中断程序NNYY图 3.1 硬件复位流程图3.3.23.3.2 系统程序流程图系统程序流程图 NY开中断并响声提示设定定时器初值并启动定时器10 秒抢答倒计时开始显示调用读键子程序作为延时程序是否有按键按下10 到时中断并返回调用抢答者获得回答的子程序9图 3.2 系统程序流程图3.3.33.3.3 显示抢答违规流程图显示抢答违规流程图开始报警提示两次显示违者编号图 3.3 显示抢答违规流程图3.3.43.3.4 抢答成功流程图抢答成功流程图图 3.4 抢答成功流程图开始响声提示设定定时器初值并启动显示抢答者且 3 秒后 2

13、0 秒倒计时20 秒回答问题时间到并响声提示RET10 4 4 系统仿真系统仿真4.14.1 ProteusProteus 软件介绍软件介绍在该设计中,利用 Proteus 软件进行仿真。Proteus 运行于 Windows 操作系统上,可以仿真、分析(SPICE)数字电路、模拟电路、数模混合电路,是目前唯一能实现对 51、PIC、AVR、HC11、ARM 等处理器的仿真软件。4.24.2 仿真电路设计仿真电路设计将单片机最小系统、显示模块、抢答开关模块和音频输出模块进行PROTEUS 设计。打开 PROTEUS 的 ISIS S 编辑环境,从 PROTEUS 中选取该电路所需要的元器件,放

14、置元器件、放置电源和地,再点菜单栏工具下拉的电气规则检查,当规则检查出现:“NETLIST GENERATED OK NO ERC ERRORD FOUND” ,表示通过检查,电路设计完成。4.34.3 仿真测试仿真测试 4.3.14.3.1 开始抢答仿真开始抢答仿真主持人按开始按钮后,进入抢答 10 秒倒计时,仿真结果如图 4.1。11图 4.1 10 秒抢答倒计时开始4.3.24.3.2 抢答犯规仿真抢答犯规仿真 若在主持人还未按开始按钮时,就抢答则为抢答犯规。4 号选手在主持人未宣布开始时就抢答,从而造成犯规,犯规仿真如图 4.2。图 4.2 4 号选手犯规抢答4.3.34.3.3 抢答

15、成功仿真抢答成功仿真主持人按开始按钮后,10 秒内抢答则为成功抢答。仿真图为 15 号选手成功12抢答,抢答后进入 20 秒倒计时答题时间,抢答成功仿真如图 4.3。图 4.3 15 号选手成功抢答4.44.4 仿真结果分析仿真结果分析通过对电路的仿真,可以看出基于 AT89C51 单片机控制的抢答器在PROTEUS 软件上可以很好的实现抢答报警、抢答成功显示、抢答倒计时等一系列功能。当仿真开始运行时,各个模块处于初始状态。此时显示器并无状态显示,但此时抢答键和蜂鸣器都处于开启状态,若此时有选手按下抢答键,则蜂鸣器会发出报警声,并且在数码管上显示犯规的选手的编号。主持人重新按下开始键,此时表示

16、抢答正式开始,并且数码管显示 10 秒倒计时,同时蜂鸣器发出声音提醒选手抢答开始了。选手抢答成功,同时也进入到倒计时 20 秒答题时间。从仿真的测试结果来看,此设计还是能比较好的实现预期的目标。13 5 5 结束语结束语通过本次课程设计使我对 Proteus 仿真软件的使用和汇编语言有了更进一步的了解和掌握。在最初编写过程中,我也曾经因为实践经验的缺乏失落过,也曾经因仿真成功而热情高涨。特别是 Proteus 仿真软件的使用,不知是由于电脑的问题还是怎么,这个软件的安装就花了我很长的时间,好不容易安装好了,又对软件的使用一点都不熟悉,要从头开始学起,对着老师发给我们的芯片原理进行仿真画图,刚刚

17、开始时候真的很难下手,因为是英文版的软件,很多东西都看不太明白,都是通过自己一个个来慢慢琢磨,才把仿真图画了出来,然后把写好的程序导入芯片,进行仿真,当看到程序正常运行的那一刻,心中真是有几分的喜悦。虽然这只是一次的较简单的课程设计,可是平心而论,也耗费了我不少的心血。我想说:为完成这次课程设计我们确实很辛苦,但苦中仍有乐,和同学们相互帮助,当蜂鸣器响了起来是对我这段日子以来最好的告慰。而且对于论文的总体构思也有了很多经验,相信自己经过这一次的训练与学习,对于今后的14毕业论文会有更多帮助。这次课程设计让我充分理解了 89C51 芯片的工作原理,知道了抢答器的硬件和软件的实现过程,并且通过自己

18、动手编写程序来控制抢答器的工作,我感到非常有成就感,也锻炼了我的编程能力。在刚开始编程的时候,我感到很茫然,不知道怎么样下手,但是通过自己的仔细的分析和老师的细心的指导,在认真分析了原来已有的代码后,和应有的硬件后,经过多次调试和测试终于成功了。参考文献参考文献1 李泉溪. 单片机原理与应用实例仿真.北京航天航空大学出版社 2009 年2 江世明. 基于 Proteus 的单片机应用技术. 电子工业出版社 2008 年3 喻宗泉. 单片机原理与应用技术.西安电子科技大学出版社 2005 年4 万光毅. 单片机实验与实践教程. 北京航天航空大学出版社 2003 年15附录附录 A A 系统电路图

19、系统电路图系统电路图如下:系统电路图如下:16附录附录 B B 原器件清单原器件清单AT89C51 芯片一块11.0592 晶振一个12864 液晶显示屏一块蜂鸣器一个PNP 三极管 5 个排阻 1 个500 电阻 5 个10K 电阻 5 个1K 电阻 2 个1uF 电容 2 个1uF 电解电容一个17按键 18 个附录附录 C C 程序清单程序清单ORG 0000H LJMP MAIN ORG 0013H LJMP ESS1 ORG 0100HMAIN:SETB EA SETB EX1 SETB IT1 ;外部中断 1 初始化 L16:MOV P1,#0FFH MOV R2,#00H CLR

20、 P1.0 INC R2 JB P1.4,L0 LCALL DE0 L0:INC R2 JB P1.5,L1 LCALL DE0 L1:INC R2 JB P1.6,L2 LCALL DE0 L2:INC R2 JB P1.7,L318 LCALL DE0 L3:SETB P1.0 CLR P1.1 INC R2 JB P1.4,L4 LCALL DE0 L4:INC R2 JB P1.5,L5 LCALL DE0 L5:INC R2 JB P1.6,L6 LCALL DE0 L6:INC R2 JB P1.7,L7 LCALL DE0 L7:SETB P1.1 CLR P1.2 INC R2

21、 JB P1.4,L8 LCALL DE0 L8:INC R2 JB P1.5,L9 LCALL DE0 L9:INC R2 JB P1.6,L10 LCALL DE0 L10:INC R2 JB P1.7,L11 LCALL DE0 L11:SETB P1.2 CLR P1.3 INC R2 JB P1.4,L12 LCALL DE0 L12:INC R2 JB P1.5,L13 LCALL DE0 L13:INC R2 JB P1.6,L14 LCALL DE0 L14:INC R2 JB P1.7,L15 LCALL DE0 L15:LJMP L16 ;读行列式键盘 ESS1:MOV 7

22、0H,#30D ;外部中断 1 MOV R7,#0CH CLR P3.0 S2:LCALL DELAY DJNZ 70H,S2 SETB P3.0 ;蜂鸣器提示开始抢答 MOV TMOD,#00010000B MOV R3,#0AH L20:MOV 55H,#14H L19:MOV TH0,#3CH MOV TL0,#0B0H ;定时器 1初始化 SETB TR1 ;启动定时器 119 MOV A,R3 MOV B,#0AH DIV AB MOV DPTR,#TAB MOVC A,A+DPTR MOV 53H,A LCALL DELAY1 SETB P2.4 MOV A,B MOVC A,A+

23、DPTR MOV 54H,A CLR P2.5 MOVC A,A+DPTR MOV 54H,A CLR P2.5 MOV P0,54H LCALL DELAY1 SETB P2.5 L18:JNB TF1,L18 D6:CJNE R3,#0FFH,L21 LJMP L22 L21:LJMP L20 ;抢答倒计时 L22:MOV 73H,#02D S5:MOV 70H,#20D MOV 71H,#20H CLR P3.0 S4:LCALL DELAY DJNZ 70H,S4 SETB P3.0 S6:LCALL DELAY DJNZ 71H,S6 DJNZ 73H,S5 ;抢答倒计时时间到声音提

24、示 D5:RETI DE0:MOV DPTR,#TAB ;抢答违规报警并显示抢答违规组号 MOV A,R2 MOV B,#0A S10:MOV 72H,#20D MOV 73H,#10D CLR P3.0 S8:LCALL LCC DJNZ 72H,S8 SETB P3.0 S9:LCALL LCC DJNZ 73H,S9 DJNZ 71H,S10 L17:LCALL LCC LJMP L17 LCC:CLR P2.4 MOV P0,50H LCALL DELAYDELAY1:MOV P1,#0FFH ;正常抢答读键 W0:INC R2 JB P1.5,W1 LCALL DE1 W1:INC

25、R220 JB P1.6,W2 LCALL DE1 W2:INC R2 JB P1.7,W3 LCALL DE1 W3:SETB P1.0 CLR P1.1 INC R2 JB P1.4,W4 LCALL DE1 W4:INC R2 JB P1.5,W5 LCALL DE1 W5:INC R2 JB P1.6,W6 LCALL DE1 W6:INC R2 JB P1.7,W7 LCALL DE1 W7:SETB P1.1 CLR P1.2 INC R2 JB P1.4,W8 LCALL DE1 W8:INC R2 JB P1.5,W9 LCALL DE1 W9:INC R2 JB P1.6,W10 LCALL DE1 W10:INC R2 JB P1.7,W11 LCALL DE1 W11:SETB P1.2 CLR P1.3 INC R2 JB P1.4,W12 LCALL DE1 W12:INC R2 JB P1.5,W13 LCALL DE1 W13:INC R2 JB P1.6,W14 LCALL DE1 W14:INC R2 JB P1.7,W15 LCALL DE1 W15:DJNZ R4,W16 LJMP W18 W16:LJMP W17 W18:RET DE1:MOV P1,#0

温馨提示

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

评论

0/150

提交评论