

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、封面作者: PanHongliang目录:1 绪论 31.1课题研究的相关背景31.2选题的目的和意义31.3课题研究的内容31.4国内外研究现状4仅供个人学习1.5抢答器目前存在的主要问题42PROTEU 简介 42.1进入PROTEUS ISIS52.2PROTEUS工作界面52.3PROTEU的主要功能82.3.1 PROTEUSVSM功能.82.3.2PROTEUS PCB设计功能.83PIC单片机93.1PIC 单片机简介 93.2PIC16F87的RAM数据存储器93.2.1通用寄存器93.2.2特殊功能寄存器103.3输入/输出端口的基本功能103.4 PIC 单片机指令系统简介
2、 113.5MPLAB简介144抢答器系统的设计原理及方案154.1方案 154.1.1方案一(采用数字电路)154.1.2方案二(采用单片机)164.1.3方案三(采用PLC)164.2方案比较及选择175 基于 PROTEUS多路抢答器硬件电路设计 175.1多路抢答器设计要求175.2PIC单片机控制的多路抢答器工作原理185.3基于PROTEU的多路抢答器硬件电路设计195.3.1多路抢答器总体电路设计195.3.2多路抢答器编码电路设计225.3.3多路抢答器报警电路设计235.4多路抢答器系统软件设计235.4.1多路抢答器系统软件流程图 235.4.2汇编程序清单24543基于M
3、PLAB勺程序编译和调试306 仿真与调试 336.1仿真结果分析及说明 336.1.1仿真分析 356.1.2仿真说明 36总结与展望38致谢 40参考文献 411 绪 论1.1 课题研究勺相关背景抢答器是一种应用非常广泛勺设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权勺选手。早期勺抢答器只由几个三极管、可 控硅、发光管等组成,能通过发光管勺指示辩认出选手号码。现在大多数抢答 器均使用单片机和数字集成电路,并增加了许多新功能,如选手号码显示、抢 按前或抢按后勺计时、选手得分显示等功能。1.2 选题勺目勺和意义通过这次设计,掌握PIC单片机勺原理,了解简单多功能抢答器组成原
4、 理,初步掌握多功能抢答器勺调整及测试方法,提高动手能力和排除故障勺能 力。同时通过本课题设计与装配、调试,提高自己勺动手能力,巩固已学勺理 论知识,建立单片机理论和实践勺结合,了解多功能抢答器各单元电路之间勺 关系及相互影响,从而能正确设计、计算定时计数勺各个单元电路。初步掌握 多功能抢答器勺调整及测试方法。提高动手能力和排除故障勺能力。1.3 课题研究勺内容本系统采用模块化设计智能抢答器,在抢答比赛中广泛应用,各组分别有一个抢答按钮。主持人有开始和结束、复位键。在后台主持人可以修改,抢答时间和选手回答问题的时间设置,原始状态下抢答时间为20s,回答问题时间 为30s。通过加键和减键修改上述
5、时间,改完后结束键确定。新时间开始有效,主持人按键开始后,选手开始抢答为有效,数码显示屏显示抢答时间倒计 时和选手号,在最后五秒扬声器发生提示。如果主持人没有按下开始键而选手 就抢答视为犯规,数码显示屏显示犯规者的代号,扬声器持续发生。主持人可 按键结束,新一轮抢答开始。通过研究并在设计验证后发现, 采用单片机技术设计的抢答器与目前常用 的抢答器相比, 首先,电路连接简单,因为大多数功能单元都通过程序设计在 单片机内部,第二,工作性能可靠,抗干扰能力优于目前抢答器。所以本研究 是一个实用的工程设计,具有创新性。本论文章节的结构和内容如下: 第一章:绪论。简要介绍了抢答器的发展现状,说明了本课题
6、研究的内容。 第二章:Proteus简介。简要介绍Proteus。第三章:PIC单片机简介。简要介绍PIC16f87的主要性能和主要输入输出端口 以及其 MPLAB。第四章:抢答器的设计原理及系统方案。第五章:基于ProteuS的多路抢答器设计。第六章:仿真与调试。第七章:总结。总结课题设计,指出设计中的一些问题,提出改善的意见, 并展望抢答器的未来设计。1.4 国内外研究现状抢答器作为一种电子产品,早已广泛应用于各种智力和知识竞赛场合,但 目前所使用的抢答器有的电路较复杂不便于制作,可靠性低,实现起来很困 难;有的则用一些专用的集成块,而专用集成块的购买又很困难。为适应高校 等多代表队单位活
7、动的需要而设计一个多功能抢答器,这种抢答器具有电路简 单,元件普通,易于购买等优点,很好地解决了制作者制作困难和难于购买的 问题。在国内外已经开始了普遍的应用2。1.5 抢答器目前存在的主要问题随着改革开放事业的不断深入,促使人们学科学、学技术、学知识的手段 多种多样,抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。但 抢答器的使用频率校低,且有的要么制作复杂,要么可靠性低,减少兴致。作 为一个单位若专购一台抢答器虽然在经济上可以承受,但每年使用的次数极 少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就 会影响活动的开展。而且目前多数抢答器存在3个不足之处:第一,现
8、场线路连接复杂。因为每 个选手位于抢答现场的不同位置,每个选手与控制台之间要有长长的连接线。 选手越多,连接线就越多、越乱,这些连接线不仅影响了现场的美观,而且降 低了抢答器的可靠性,增加了安装的难度,甚至影响了现场人员的走动。第 二,电路复杂。因为单片机只完成号码处理、计时、数据运算等功能,其它功 能如选手号码的识别、译码、计分显示等仍只能通过数字集成电路完成。采用 单片机扫描技术识别选手抢按号码时,电路的延迟时间较大。第三,选手抢按 成功,但出现没有抢答被记录的问题。2 PROTEUS 简介Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运 行于Wind
9、ows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚 拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿 真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系 列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提 供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能, 同时可以观察
10、各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也 必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片 机和SPICE分析于一身的仿真软件,功能极其强大。2.1 进入 proteus isis双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的“开始“程序” “Proteus 6 Professiona” “ISIS 6 Professiona”,出现如图1-1所 示屏幕,表明进入Proteus ISIS集成环境。图 1-1 启动时的屏幕2.2proteus 工作界面Pr
11、oteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。包 括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预 览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形 编辑窗口。图1-2 Proteus ISIS的工作界面 为了方便介绍,我分别对窗口内各部分进行中文说明(见上图)。下面简单 介绍各部分的功能:1图形编辑窗口(The Editing Window):顾名思义,它是用来绘制原理图 的。蓝色方框内为可编辑区,元件要放到它里面。注意,这个窗口是没有滚动 条的,你可用预览窗口来改变原理图的可视范围。2.预览窗口(The Overvie
12、w Window):它可显示两个内容,一个是:当你在元件表中选择一个元件时,它会显示该元件的预览图;另一个是,当你的鼠标 焦点落在原理图编辑窗口时(即放置元件到原理图编辑窗口后或在原理图编辑 窗口中点击鼠标后),它会显示整张原理图的缩略图,并会显示一个绿色的方 框,绿色的方框里面的内容就是当前原理图窗口中显示的内容,因此,你可用 鼠标在它上面点击来改变绿色的方框的位置,从而改变原理图的可视范围。3.绘图工具栏(Mode Selector Toolbar):主要模型(Main Modes):1.选择元件(components)(默认选择的)2.放置连接点3.放置标签(用总线时会用到)4.放置文本
13、5.用于绘制总线6.用于放置子电路7.用于即时编辑元件参数(先单击该图标再单击要修改的元件)配件(Gadgets):1.终端接口(terminals):有VCC、地、输出、输入等接口2.器件引脚:用于绘制各种引脚3.仿真图表(graph):用于各种分析,如Noise An alysis4.录音机5.信号发生器(generators)6.电压探针:使用仿真图表时要用到7.电流探针:使用仿真图表时要用到8.虚拟仪表:有示波器等2D图形(2D Graphics):1.画各种直线2.画各种方框3.画各种圆4.画各种圆弧5.画各种多边形6.画各种文本7.画符号8.画原点等4对象选择器窗口(The Obj
14、ect Selector):用于挑选元件(componentS、终端接口(terminals)、信号发生器(generators) 仿真图表(graph)等。举例,当你选择“元件(componentS”,单击“P”按钮会打开挑选元件对话框,选择了一个元件后(单击了“0K”后),该元件会在元件列表中显示,以后要用到该元件时,只 需在元件列表中选择即可。5预览对象方位控制按钮(0rientation Toolbar): 旋转:旋转角度只能是90的整数倍。翻转:完成水平翻转和垂直翻转。 使用方法:先右键单击元件,再点击(左击)相应的旋转图标。6仿真进程控制按钮仿真控制按钮1.运行2.单步运行3.暂停
15、4.停止2.3 PROTEUS 的主要功能2.3.1 PROTEUS VSM功能Proteus软件的ISIS原理图设计界面同时还支持电路的虚拟仿真VSM。当电路元件在调用时,选用具有动画演示功能的器件或具有仿真模型的器件,当电路 连接完成无误后,直接运行仿真按钮,即可实现声、光、动等逼真的效果,以 检验电路硬件及软件设计的对错。Proteus VSM有两种不同的仿真方式:交互式仿真和基于图表的仿真。交互式仿真实时直观地反映电路设计仿真结果; 基于图表的仿真用来精确分析电路的各种性能,如频率特性、噪声特性 等。Proteus VSM中的整个电路分析是在ISIS原理图设计模块下延续下来的,原理 图
16、中可以包含以下仿真工具:探针直接布置在线路上,用于采集和测量电压/电流信号; 电路激励系统的多种激励信号源;虚拟仪器用于观测电路的运行状况;曲线图表用于分析电路的参数指标2.3.2PROTEUS PCB设计功能Proteus不仅可以实现高级原理图设计、混合模式SPICE仿真,还可以进行PCB系统特性设计以及手动、自动布线,以此来实现一个完整的电子系统设 计。基于高性能网表的ARES PCB设计软件完全补足了ISIS。ARES PCB设计系 统是一个具有32位数据库,能够进行元件布局、撤消和重试的,具有自动布线 功能的超强性能的PCB设计系统,其自动布局和自动布线工具使PCB的设计 尽可能地简便
17、,复杂的工作尽量都由计算机来完成。同时,ARES也支持手动 布线,系统限制相较少。ARES PCB设计系统的主要特性表现在以下几个方面:1.有16个铜箔层,2个丝印层和4个机械层;2.能够将元件进行任意角的布置;3.在放置元件时能够自动生成飞线和力向量;4.具有理想的基于网表的手工布线系统;5.物理设计规则检测功能可以保证设计的完整性;6.具有超过1000种标准封装的元件库;7.具有完整的CADCAM输出以及嵌板工具;8.当用户修改了原理图并重新加载网表,ARES将更新相关联的元件和连 线。同理,ARES中的变化也将自动地反馈到原理图中。3 PIC单片机3.1 PIC 单片机简介PIC单片机系
18、列是美国微芯公司(Micro Ship)的产品,是当前市场份额增长最 快的单片机之一。CPU采用RISC结构,分别有33、35、58条指令(视单片机的 级别而定),属精简指令集。而51系列有111条指令,AVR单片机有118条指 令,都比前者复杂。采用Halyard双总线结构,运行速度快(指令周期约160200n S),它能使程序存储器的访问和数据存储器的访问并行处理, 这种指令流 水线结构, 在一个周期内完成两部分工作, 一是执行指令, 二是从程序存储器 取出下一条指令,这样总的看来每条指令只需一个周期(个别除外),这也是高效率运行的原因之一。此外,它还具有低工作电压、低功耗、驱动能力强等特
19、 点。PIC系列单片机的:IO口是双向的,其输出电路为CMOS互补推挽输出 电路。I/O脚增加了用于设置输入或输出状态的方向寄存器(TRISn,其中n对 应各口,如A、B、C、D、E等),从而解决了51系列I/O脚为高电平时同为 输入和输出的状态。当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状 态,有相当的驱动能力,低电平吸人电流达25mA,高电平输出电流可达20mA。相对于51系列而言,这是一个很大的优点,它可以直接驱动数码管显 示且外电路简单。它的A/D为10位,能满足精度要求。具有在线调试及编程(ISP)功能。该系列
20、单片机的专用寄存器(SFR)并不像51系列那样都集中在一个固定的地 址区间内(80FFH),而是分散在四个地址区间内,即存储体0(Bank0:00-7FH)、存储体1(Bankl:80-FFH)、存储体2(Bank2:100-17FH)、存储体3(Bank3:180-1FFH)。只有5个专用寄存器PCL、STATUS、FSR、PCLATH、INTCON在4个存储体内同时出现。在编程过程中,少不了要与专用寄存器打 交道,得反复地选择对应的存储体,也即对状态寄存器STATUS的第6位(RPl)和第5位(RPO)置位或清零。数据的传送和逻辑运算基本上都得通过工作寄存器w(相当于5l系列的累加器A)来
21、进行, 而51系列的还可以通过寄存器相互之间直接传送(如:MOV30H,20H;将寄存器20H的内容直接传送至寄存器30H中),因而PIC单 片机的瓶颈现象比51系列还要严重,这在编程中很有感受。3.2 PIC16F87 的 RAM 数据存储器3.2.1通用寄存器通用寄存器(GPR,General Purpose Registers)用于通用目的,即由用户 自由安排和存放随机数据(单片机上电复位后其内容是不确定的),因此称为“通用寄存器”。对于870来说,共有128个单元,划分为2部分:第1部分位于体0中, 有96个单元,地址为20H-7FH第2部分位于体1中,有32个单元,地址为A0H-BF
22、H其中体0中高地址处的16个单元比较特殊(70H-7FH, 在其它3个 体内, 分别利用地址F0H-FFH 170H-17FH和1FOH-1FFH都能够访问到这16个单元。322特殊功能寄存器1.状态寄存器STATUSBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0RPRP1RPOTOPDZDCCQ其中Z是零标志位,若为1,则表示算术或逻辑运算的结果为0,为1则 表示算术或逻辑运算的结果不为0。RP0和RP1是RAM数据存储器体选位, 仅用于直接寻址。若为00则表示选中体0,为01表示选中体1,为10表示 选中体2,为11表示选中体3。在这里其他几位就不做详细介绍了。2.实现间
23、接寻址的寄存器INDF和FSR其实位于RAM最顶端、地址码为00H的INDF寄存器,是一个空寄存 器,它只有地址编码,并不存在一个真正(物理上)的寄存器单元。用它来 与FSR寄存器配合,实现间接寻址。当寻址INDF时,实际上是访问以FSR内容为地址的RAM单元。3与程序计数器PC相关的寄存器PCL和PCLATH程序计数器PC是一个13位宽的、专门为CPU提供程序存储器地址的寄 存器,它的内容时刻指向CPU下一步要执行的那条指令所在的程序存储器单 元。为了与其他8位宽的寄存器进行交换,将它分成PCL和PCH两部分: 低8位PCL有自己的地址,可读可写;而高5位PCH却没有自己的地址,不 能用软件
24、访问,也就不能直接写入,只能用寄存器PCLATH装载的方式来进 行直接写入。除了上面介绍的5个寄存器外,还有其它一些寄存器,在这里就不再具体介 绍了。3.3 输入/输出端口的基本功能输入/输出端口(也称I/O口)是单片机内部电路与外部世界交换信息的 通道。输入端口负责从外界接收监测信号、键盘信号等各种开关信号。输出 端口负责向外界输送由内部电路产生的处理结果、显示信息、控制命令、驱 动信号等。1与输入/输出端口相关的2个寄存器在PIC单片机中,各个I/O端口都具备两个基本的专用寄存器:数据寄存 器和方向寄存器即PORTX和TRISX。2基本输入/输出端口的工作原理对一个端口引脚进行4种基本操作
25、分别说明如下:1) 写I/O方向寄存其TRIS Latch根据方向寄存器中写入内容的不同,又可以分为两种情况:写入1则对应引脚被设置为“输入”;写入0则对应引脚被设置为“输出”。2) 经端口引脚输出数据 经端口引脚输出数据的前提是, 该端口引脚必须预先被设定为“输出”态。然后把欲输出的数据X(0或1)放到数据总线上,接着由控制线WR Port送来脉 冲下降沿作为触发信号,X被锁入Data Latch中。3) 从端口引脚输入数据 对于这种操作,根据防线寄存器内容的不同,又可以分为两种情况:(1) 方向寄存器的内容为1,读取的是引脚的网逻辑电平。(2) 方向寄存器的内容为0,读取的是端口数据寄存器
26、中锁存的数据。4)读取I/O方向寄存器TRIS Latch由RD TRIS送来“读脉冲”,打开三态门将TRIS Latch锁存的内容转移到内部数据总线上。3.4 PIC 单片机指令系统简介每个PIC指令都是14位字长,可以分为指明指令类型的操作码和进一步 指明指令操作的一个或多个操作数。仅有35条指令(RISC),都是单字节(14bit)指令,除了跳转指令以外所有指令都是单周期指令。3.4.1指令说明1、数据传送类指令1) MOVF f,d移动f操作数:0f127 d0,1受影响的状态位:Z根据d的状态,将寄存器f的内容移入目标寄存 器。如果d = 0, 目标寄存器是W寄存器。如果d=1,目标
27、寄存器是f寄存器 本身。由于该指令影响状态标志位乙可用于在d=1时检测数据寄存器的内 容是否为0。2) MOVWFf将W的内容移动至f操作数:0f127受影响的状态位:无说明:将数据从W寄存器送入寄存器f。3) MOVLW k将立即数移动到W寄存器操作数:0k255受影响的状态位:无说明:8位立即数k送入W寄存器。4) SWAPF f,df半字节交换 操作数:0f127 d0,1受影响的状态位:无说明:寄存器“”勺高半字节和低半字节交换。如果d”为0,结果存入W寄存器。如果d”为1,结果存回到寄存器“”2、算术运算类指令1) ADDWF f,d W加f操作数:0f127d foj受影响的状态位
28、:C, DC, Z说明:W寄存器与“寄存器的内容相加。如果d”为0,结果存入W寄存 器。果 d d”为1,结果存回到寄存器“”2) SUBWF f,d f减去W操作数:0f127 d0,1受影响的状态位:C, DC, Z说明:f寄存器内容减去W寄存器内容(使用2进制补码的方法)。如果 d d”为0,结果存入W寄存器。如果d”为1,结果存回到寄存器“”3) ADDLW k立即数加W操作数:0k255受影响的状态位:C, DC, Z说明:8位立即数“”与W寄存器的内容相加,结果存入W寄存器。4) SUBLW k立即数减去W操作数:0k255受影响的状态位:C, DC, Z说明:8位立即数k”减去W
29、寄存器的内容(使用2进制补码的方法)。结 果存入W寄存器。5) INCF f,d f加1操作数:0f127d0,1受影响的状态位:Z说明:寄存器f”勺内容递增。如果d”为0,结果存入W寄存器。如果d” 为1,结果存回到寄存器 “f”。6) DECF f,d f减1操作数:0f127d0,1受影响的状态位:Z说明:寄存器f”减1。如果d”为0,结果存入W寄存器。如果d”为1,结 果存回到寄存器f”。3、逻辑运算类指令1)CLRF ff清零操作数:0f127受影响的状态位:Z说明:寄存器f已清零,Z位置1。2)CLRW W清零操作数:无 受影响的状态位:Z说明:W寄存器被清零。全零位(Z)置1。3
30、) CLRWDT看门狗定时器清零 操作数: 无受影响的状态位:TO,PD说明:CLRWDT指令复位看门狗定时器。而且还复位WDT预分频器。状 态位TO和PD置位。4)BCF f,b f位清零 操作数:0f1270b7受影响的状态位:无说明:寄存器f”中的b”位被清零。5)BSF f,b f位置1操作数:0f1270b7受影响的状态位: 无说明:寄存器f”中的b”位被置1o o6)RLF f,df带进位左循环操作数:0f127d0,1受影响的状态位:C说明:寄存器f的内容连同进位标志位循环左移1位。如果d”为0,结果 存入W寄存器。如果d”为1,结果存回到寄存器f”7)RRF f,df带进位右循
31、环操作数:0f127d0,1受影响的状态位:C说明:寄存器f的内容连同进位标志位循环右移1位。如果d”为o,结果 存入W寄存器。如果d”为1,结果存回到寄存器f”8) ANDWF f,d W和f与运算操作数:0f127dOJ受影响的状态位:Z说明:W寄存器和f寄存器进行与运算。如果d”为0,结果存入寄存器W。如 果d”为1,结果存回到寄存器f”9)IORWF f,dW和f或运算操作数:0f127d0,1受影响的状态位:Z说明:W寄存器和f寄存器进行或运算。如果d”为0,结果存入W寄存 器。如果d”为1,结果存回到寄存器f”10)XORWF f,dW和f异或运算操作数:0f127d0,1受影响的
32、状态位:Z说明:W寄存器与f”寄存器的内容进行异或运算。如果d”为0,结果存入1,结果存回到寄存器f”。4、控制转移类指令1) CALL k调用子程序操作数:0k2047受影响的状态位:无说明: 调用子程序。 首先, 将返回地址( 地址被装入PC位。PC高位从CLATHW。如果d”为1,结果存回到寄存器f”。11)ANDLW k立即数和W与运算 操作数:0k255受影响的状态位:Z说明:寄存器W的内容与器。12)IORLW k操作数:0k255受影响的状态位:Z说明:寄存器W的内容与器。13)XORLW k操作数:0k255受影响的状态位:Z说明:寄存器W的内容与8位立即数8位立即数k”进行与
33、运算,立即数和W或运算8位立即数k ”进行或运算。立即数和W异或运算k ”进行异或运算结果存入结果存入结果存入寄存寄存寄存COMF f,d f取反0f127d0,1受影响的状态位:Z说明:取寄存器f中内容的补码。如果14)操作数:d”为0,结果存入W。如果d”为PC+1)压入堆栈。11位立即数装入。CALL是双周期指令。2)GOTO k无条件转移操作数:0k2047受影响的状态位:无说明:GOTO是无条件转移指令。11位立即数被装入PC位。PC高位从PCLATH装入。GOTO是双周期指令。3)BTFSC f,b检测位,为0则跳过操作数:0f1270b7操作:如果(f)= 0则跳过受影响的状态位
34、:无说明:如果寄存器“”的位b”为1”则执行下一条指令。如果寄存器 “”的 位b”为0”则放弃执行下一条指令,而执行一条NOP指令,使该指令变成2TCY指令。4)BTFSS f,b检测f的位,为1跳过操作数:0f1270b 7操作:如果(f)= 1则跳过受影响的状态位:无说明:如果寄存器 “的位b”为0”则执行下一条指令。如果位b”为1”,则放弃执行下一条指令而执行一条NOP指令,使该指令成为2TCY指 令。5)RETURN从子程序返回操作数:无操作:TOS PC受影响的状态位:无说明:从子程序返回。执行出栈操作,将栈顶(TOS)单元内容装入程序计数器。这是双周期指令。3.5 MPLAB 简介
35、MPLAB集成开发环境(IDE)是一个综合的编辑器、工程管理器和设计平 台,适用于使用Microchip PICmicro和dsPIC单片机进行嵌入式设计的应用开 发。MPLAB IDE的功能:MPLAB IDE是基于Windows?操作系统的集成开发环境,适用于PICmicro MCU系列和dsPIC数字信号控制器的开发。MPLAB IDE提供以下功 能:?使用内置的编辑器创建和编辑源代码。?汇编、编译和链接源代码。?通过使用内置的软件模拟器观察程序流程,或者使用在线仿真器或在线调试 器以实时方式观察程序流程来调试可执行逻辑。?用软件模拟器或仿真器进行时序测量。?查看Watch窗口中的变量。
36、?使用器件编程器将固件烧写入器件4. 抢答器系统的设计原理及方案4.1 方案制作抢答器可以用好多的方法,可以用单片机来完成,它的功能强大制作 简单,并且外围的元件也很少;也可以用PLC来实现,他的制作也是比较简 单;还可以用我们学过的EDA技术来制作;最后也可以用数字电路来实现,它 的原理比较简单,集成块的价格也比较便宜且很容易购买。4.1.1方案一(采用数字电路)1、原理方框图定时抢答器的总体框图如图4.1.1所示,它由主体电路和扩展电路两部分组成。 主体电路完成基本的抢答功能,即开始抢答后,当选手按动抢答键时,能显示 选手的编号,同时能封锁输入电路,禁止其他选手抢答。扩展电路完成定时抢 答
37、的功能。图4.1.1图4.1.1所示的定时抢答器的工作过程是:接通电源时,节目主持人将开关置于 “清除”位置,抢答器处于禁止工作状态,编号显示器灭灯,定时显示器显示设 定的时间,当节目主持人宣布 “抢答开始 ”,同时将控制开关拨到 “开始”位置, 扬声器给出声响提示,抢答器处于工作状态,定时器倒计时。当定时时间到, 却没有选手抢答时,系统报警,并封锁输入电路,禁止选手超时后抢答。当选 手在定时时间内按动抢答键时,抢答器要完成以下四项工作:1优先编码电路立即分辨出抢答者的编号,并由锁存器进行锁存,然后由译码 显示电路显示编号;2扬声器发出短暂声响,提醒节目主持人注意;3控制电路要对输入编码电路进
38、行封锁,避免其他选手再次进行抢答;4控制电路要使定时器停止工作,时间显示器上显示剩余的抢答时间,并保持 到主持人将系统清零为止。当选手将问题回答完毕,主持人操作控制开关,使 系统回复到禁止工作状态,以便进行下一轮抢答。4.1.2方案二(采用单片机)1、原理方框图此电路完成的功能如图4.1.2所示,当主持人宣布抢答开始的时候,按下开始按 钮,此时电路进入抢答状态,选手的输入采用了扫描式的输入,之后把相应的 信息送往单片机,再由单片机输出到显示输出电路中。此时有人第一按下相应 的抢答按钮,经过单片机的控制选择,在八段显示器上显示相应的号码,并锁 存,同时禁止其他按钮的输入。图4.1.24.1.3方
39、案三(采用PLC)1、原理方框图此电路的功能如图4.1.3所示,当主持人打开启动开关后,在设定时间TO内,如果某组抢先按下抢答按钮,则驱动音效电路发出声响,指示灯LI亮,并且在8段数码管显示器上显示出抢答成功的组号,此时电路实现互锁,其他组再 按下抢答按钮为无效。如果在时间TO内,无人应答,则驱动音效电路发出声响,指示灯L2亮,表 示抢答者均放弃该题。在抢答成功后,主持人打开限时开关SW2,启动计时器,在设定的时间TI内 回答有效,当到达设定时间TI时,驱动音效电路,指示灯L3亮,表示答题 时间到。图 4.1.34.2 方案比较及选择方案比较数字电路单片机PLC制作难度低一般一般0解单片机分功
40、16F8,经运算和处理后,启 T 击一 T能说明器原理框图7单片机图 5.1 PIC如图5.1所示,系统框图各部 单片机控制器:选用PIC和复位输入信号等 答显示数码管等。抢答输入:共8路,选用单刀双掷开关,锁存器 1编码电路:对8路抢答输入信号进行编码(输出为 实现对PIC1687输入端口的扩展抢答输除输入入:选用单刀双掷开关, 复位输入:选用单刀双掷开关, 锁存器1和解除存入2:封锁后抢答输入信号。复位输入F 答输入、端接收抢答输入、解除输入经锁存器控制抢答指示灯和抢赛选手的抢答输入,并4位二进制代码), 为继续抢答作准备 硬件复位操作实现封锁的解除可对单片机进行 用锁存器实现对制器心6轻
41、7输卿存的扩展(PIC16F87)0抢。答显示实现难度一般低低价格低一般高电路原理简单一般一般设计难度简单高一般通过上面的方案比较,数字电路的制作方案比较容易实现,但是所需要的芯片 太多,不易于集成。PLC的价格太贵,对于抢答器的设计并不适合。而用单片 机设计抢答器其所需的芯片并不太多,而且价格较低,虽然其设计难度较高, 但对于当今社会的发展,学好一门单片机是相当重要的,所以本次设计我采用PIC单片机来设计抢答器。5.基于 PROTEU 的多路抢答器设计5.1多路抢答器设计要求1多路抢答器电路可供不少于8名参赛选手使用;2每名参赛选手各有一个抢答按钮,在主持人用按钮清零,并发出抢答指 令后,实
42、行抢答;3电路配有LED数码显示,能显示优先抢答的选手编号,同时配有语音提 示电路。数码显示和语音提示可由主持人用清除按钮解除;4电路对参赛选手的动作先后有较强的分辩能力。5.2PIC单片机控制的多路抢答器工作原理用单片机设计多路抢答器包括硬件电路设计和软件程序设计。硬件电 路的核心是PIC16F87单片机,配以输入输出电路构成。软件程序采用PIC汇编语言编写单片机程序。PIC单片机控制的多路抢答器原理框图,如图5.1所示。参抢答指示:共8路,对应指示参赛选手的抢答输入。抢答显示:用LCD数码管显示参赛选手的编号。启动指示和解除指示:分别指示仿真运行后的状态(抢答开始)和解除 封锁后的状态(解
43、除封锁后,允许继续抢答)。语音报警电路:当有抢答输入时,语音报警电路发出一定频率的声音,起到提示的作用。当解除信号输入时,语音报警电路停止工作。5.3基于PROTEU的多路抢答器硬件电路设计5.3.1多路抢答器总体电路设计1.创建一个新的设计文件首先进入Proteus ISIS编辑环境。选择“File/New Design”选项,在弹出的模板对话框中选择DEFAULT模板,并将新建的设计保存。如图5.3.1(a)所示。如图5.3.1(a)2.置工作环境打开Template菜单,对工作环境进行设置。3.拾取元器件选择Library下的Pick Device/Symbol菜单项,出现如图5.3.1
44、(b)所示对话 框。图5.3.1(b)元件拾取对话框在Keywords中输入你所需要的元器件名称,单击OK按扭,或在元器件列表区域双击元器件名称,即可完成对该元件的添加。4.在原理图中放置元件选择对象选择器中的PIC16F84A元器件,在Proteus ISIS编辑环境主界 面的预览窗口将出现PIC16F84A的图标。在编辑窗口双击鼠标左键,元器件PIC16F84A被放置到原理图中。按照上述步骤,将其他元器件放置到原理图中。5.编辑元器件放置好元器件后,双击相应的元器件,即可打开该元器件的编辑对话 框。6.绘制原理图单击的一个对象连接点。如果想让Proteus ISIS自动定出走线路径,只需
45、单击另一个连接点;如果想自己决定走线路径,只需在希望的拐点处单击。 按照上述步骤,将所有的原器件按照所需方式连线。连接后的原理图如图5.3.1(c)所 示。5.3.1(c)连接后的原理图8.对原理图进行电气规则检测选择Tools下的Electrical Rule Check菜单项,出现电气规则检测报告单。 如图5.3.1(d)所示。图5.3.1(d)电气规则检查报告单9存盘及输出报表将设计好的原理图文件存盘。同时,可使用Tools菜单下的Bill ofMaterials草单项输出BOM文档。如图5.3.1(e)所示。图5.3.1(e)输出的BOM文档5.3.2多路抢答器编码电路设计因为本次设计
46、是用PIC16F87作为核心器件, 而对于八路抢答器而言所需输入 端口较多,但是PIC16F87的输入/输出端口并不是太多,因此对于PIC16F87的 输入/输出端口进行阔展无疑是本次设计的一个难点。而本次设计采用由74LS147等组成的编码电路将八路抢答信号进行编码,输出四路编码信号,这 样就减少了对于PIC16F87输入/输出的要求。其功能表如图5.3.2(a)所示。输入输出|1|2|3|4|5|6|7|8|9丫丫4丫丫3丫丫2Y10000000000000*11001*101000*1000111*10000110*11 00000101*1000000100*10000000011*1
47、000000000101000000000001图5.3.2(a) 74IS147的功能表而74IS147输出的是反码,因此需要加上反向器,编码电路如图5.3.2(b)所示。图5.3.2(b)编码电路5.3.3多路抢答器报警电路设计对于报警电路的设计,我采用由一个提供频率为1HZ的信号源、一个与门和一个SOUNDER(声音输出仿真,元件)组成的电路,如图5.3.3所示。图5.3.3报警电路5.4 多路抢答器系统软件设计5.4.1多路抢答器系统软件流程图软件设计思路本处程序采用查询方式,检测抢答输入信号。抢答信号的互锁用状态标志FLAG(表示寄存器FLAG的bitO)实现,当FLAG=1时,允许
48、抢答;FLAG=0时,禁止抢答。一旦有抢答输入,在对应的子程序中将状态标志FLAG清0,则其他抢答输入被封锁。 子程序中, 将状态标志FLAG置位, 多路抢答器软件程序流程图多路抢答器软件程序流程图,如图直到程序检测到解除信号后,在解除 允许继续抢答。5.4.1所示。a主程序5.4.2汇编程序清单图 5.4.1 多路抢答器程序流程图#in elude P16F87.INCFLAG EQU 20H志;MPASM 汇编器包含对定义标志变量寄存器PIC16F87 的定义FLAG,用FLAG作为抢答允许标ORG 00H;主程序MAIN:BSF STATUS, RP0;选择1区MOVLW 0X3F;将A
49、口方向控制码3FH先送WMOVWF TRISA;再转存至方向寄存器TRISA(A口低6位输入,高2位输出)MOVLW 0X00 ;将 B 口方向控制码 00H 先送 WMOVWF TRISB;再转存至方向寄存器TRISB(B口全为输出)BCF STATUS, RP0;选择0区MOVLW 0XD0;以W作中转MOVWF PORTA;将1100 0000B送A口,最高位为1不影响MOVLW 0X00;以W作中转;程序存放首地址(b)解除子程序(c) 1#抢答子程序MOVWF PORTB;将0000 0000B送B口,灯全不亮CALL LATCH_1;调用LATCH_1子程序,将B口数据锁存至锁存器
50、1MOVLW 0X40;将0100 0000B,锁存至锁存器2(启动指示灯X10亮,数码管显示0)MOVWF PORTBCALL LATCH 2BSF FLAG, 0;FLAG=1(标志位置1, ;循环检测LOOP:BTFSS PORTA, 4;检测RA4(解除输入) ,入) ,跳转一步CAL主程序ECHU;若RA4=0(有解除输入),调用 ;检测1#参赛选手的抢答情况允许抢答)若RA4=1(无解除输JIECHU(解锁子程序)BTFSS FLAG, 0;检测允许抢答标志,若FLAG=1,允许抢 答,跳转一步,检测1#抢答输入情况GOTO LOOP;若FLAG=0,禁止抢答,跳转至LOOP(重新
51、检 测)MOVF PORTA,0;以W作中转ANDLW 0X0F;将A口内容和0000 1111B按位与操作,保留最低4位(编码电路的输出代码)SUBLW 0 x01;用01H和A口最低3位数据相减,检测是否等于1(是否1#参 赛选手抢答)BTFSC STATUS, Z;检测状态寄存器STATUS,若Z=0,表示A口最低3位数据不等于1,则跳转一步,继续检测其他抢 答信号CALL S1;若Z=1,表示A口最低3位数据等于01H(1#参赛选手有抢答),调用S1;检测2#参赛选手的抢答情况BTFSS FLAG,0GOTO LOOPMOVF PORTA,0ANDLW 0X0FSUBLW 0 x02B
52、TFSC STATUS, ZCALL S2;检测3#参赛选手的抢答情况BTFSS FLAG, 0GOTO LOOPMOVF PORTA,0ANDLW 0X0FSUBLW 0 x03BTFSC STATUS, ZCALL S3;检测4#参赛选手的抢答情况BTFSS FLAG, 0GOTO LOOPMOVF PORTA, 0ANDLW 0X0FSUBLW 0 x04BTFSC STATUS, ZCALL S4;检测5#参赛选手的抢答情况BTFSS FLAG, 0GOTO LOOPMOVF PORTA, 0ANDLW 0X0FSUBLW 0 x05BTFSC STATUS, ZCALL S5;检测6
53、#参赛选手的抢答情况BTFSS FLAG, 0GOTO LOOPMOVF PORTA, 0ANDLW 0X0FSUBLW 0 x06BTFSC STATUS, ZCALL S6;检测7#参赛选手的抢答情况BTFSS FLAG, 0GOTO LOOPMOVF PORTA, 0ANDLW 0X0FSUBLW 0 x07BTFSC STATUS, ZCALL S7;检测8#参赛选手的抢答情况BTFSS FLAG, 0GOTO LOOPMOVF PORTA, 0ANDLW 0X0FSUBLW 0 x08BTFSC STATUS, ZCALL S8GOTO LOOP;处理1#抢答子程序S1:BCF FL
54、AG, 0;抢答标志复位(FLAG=0),禁止其他抢答输入MOVLW0X01;以W作中转MOVWF PORTB;将01H(控制指示灯X1亮,其他均不亮)送B口CALL LATCH_1;调用LATCH_1,进一步将01H锁存至锁存器1MOVLW 0X51;以W作中转MOVWF PORTB;将51H(控制启动指示灯X10亮,其他均不亮,数码管显 示“1”,同时控制蜂鸣器发声)送B口CALL LATCH_2;调用LATCH_2,进一步将51H锁存至锁存器2 RETURN;处理1#抢答子程序返回;处理2#抢答子程序S2:BCF FLAG, 0MOVLW 0X02MOVWF PORTBCALL LATC
55、H_1MOVLW 0X52MOVWF PORTBCALL LATCH_2RETURN;处理3#抢答子程序S3:BCF FLAG, 0MOVLW 0X04MOVWF PORTBCALL LATCH_1MOVLW 0X53MOVWF PORTBCALL LATCH_2RETURN;处理4#抢答子程序S4:BCF FLAG, 0MOVLW 0X08MOVWF PORTB CALL LATCH_1 MOVLW 0X54MOVWF PORTB CALL LATCH_2 RETURN;处理5#抢答子程序S5:BCF FLAG, 0 MOVLW 0X10 MOVWF PORTB CALL LATCH_1 M
56、OVLW0X55 MOVWF PORTB CALL LATCH_2 RETURN;处理6#抢答子程序S6:BCF FLAG, 0 MOVLW 0X20 MOVWF PORTB CALL LATCH_1 MOVLW0X56 MOVWF PORTB CALL LATCH_2 RETURN;处理7#抢答子程序S7:BCF FLAG, 0 MOVLW 0X40 MOVWF PORTB CALL LATCH_1 MOVLW0X57 MOVWF PORTBCALL LATCH_2RETURN;处理8#抢答子程序S8:BCF FLAG, 0MOVLW 0X80MOVWF PORTBCALL LATCH_1M
57、OVLW 0X58MOVWF PORTBCALL LATCH_2RETURNJIECHU:BSF FLAG, 0; 抢答标志置位 (FLAG=1) , 解除后, 允许继续抢 答MOVLW0X00;以 W 作中转MOVWF PORTB;将00H(控制所有指示灯不亮)送B口CALL LATCH_1;调用LATCH_1,进一步将OOH锁存至锁存器1MOVLW 0X60;以W作中转MOVWF PORTB;将60H(控制启动指示灯X10亮、解除指示灯X9亮、数码管显示“0”、控制蜂鸣器停止发声)送B口CALL LATCH_2;调用LATCH_2,进一步将60H锁存至锁存器2RETURN;解除子程序返回;
58、锁存1子程序LATCH_1:BSF PORTA, 6;RA6产生上升沿,将B口数据锁存至锁存器1BCF PORTA, 6;RA6恢复为低电平RETURN;锁存1子程序返回 ;锁存2子程序LATCH_2:BCF PORTA, 6;RA6产生下降沿,将B口数据锁存至锁存器1BSF PORTA, 6;RA6恢复为高电平RETURN;锁存2子程序返回END;结束5.4.3基于MPLAB的程序编译和调试1.创建工程1)选择器件 使用工程向导创建工程,选择工程向导。在Welcome(欢迎)对话框中,单击 “下一步” 继续。下一个对话框(Step One(第一步)让您选择器件(已选 定)。确定所选择的是PI
59、C16F87。否则,请在下拉列表中选择PIC16F87。单 击“下一步”。如图543(a)所示。图5.4.3(a)选择器件2)选择语言工具 工程向导的第二步是设置该工程所要使用的语言工具。在工具包内容中选“MPASM”,如图5.4.3(b)所示。图5.3.4(b)选择语言工具 完成后,点击“下一步”。3)为工程命名向导的第三步让您为工程命名并将它存入文件夹。如图5.4.3(c)所示。图5.4.3(c)为工程命名完成后点击“下一步”。4)添加文件工程向导的第四步允许为工程选择文件。如图5.4.3(d)所示。图5.4.3(d)添加文件 完成后点击“下一步”。然后点击“完成”。2.添加源文件 右击“
60、源文件”,选择“添加文件”。如图5.4.3(e)所示。图5.4.3(e)添加源文件3.编译源程序选择“工程/编译”,这样就会在Output(输出)窗口显示编译结果。如图4.5.3 (f)所示。图4.5.3(f)编译结果输出 如果没有错误,那么将成功生成“.HEX”文件。6 仿真与调试6.1 仿真结果分析及说明双击PIC16f87,在Program File中选择已编译通过,成功生成的.HEX文 件。单击OK按钮。如图6.1 (a)所示。图6.1 (a)加载.HEX文件单击play按钮进入仿真环境。如图6.1(b)所示。图6.1(b)进入仿真环境6.1.1仿真分析 仿真过程如下: 电路能完成多路抢答输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025采购石料合同范本
- 2025届高三押题信息卷(一)政治及答案
- 职业技术学院2024级电梯工程技术专业人才培养方案
- 十二指肠扩张的临床护理
- 新质生产力含金量
- 浅析新质生产力
- 2025商品房买卖合同司法解释
- 2025年BIM工程师之BIM工程师综合练习试卷B卷附答案
- 新质生产力安全生产月
- 2025年上海市各区高三二模语文试题汇编《积累运用》含答案
- 中国酒类企业ESG披露指南
- 2024年企业质量月知识竞赛试题库500题(含答案)
- 腹膜后隙局部解剖
- 2024年新疆中考地理真题卷及答案
- 部编版二年级下册语文课文3我是一只小虫子同步练习C卷
- 小升初奥数不同题型100道及答案(完整版)
- 初一英语英语阅读理解专项训练15篇
- GB/T 4008-2024锰硅合金
- 鳌虾和蝗虫的比较解剖专家讲座
- 2024急性脑梗死溶栓规范诊治指南(附缺血性脑卒中急诊急救专家共识总结归纳表格)
- 《鸿门宴》公开课一等奖创新教学设计 统编版高中语文必修下册
评论
0/150
提交评论