基于PROTEUS的PIC单片机设计——多路抢答器设计.doc_第1页
基于PROTEUS的PIC单片机设计——多路抢答器设计.doc_第2页
基于PROTEUS的PIC单片机设计——多路抢答器设计.doc_第3页
基于PROTEUS的PIC单片机设计——多路抢答器设计.doc_第4页
基于PROTEUS的PIC单片机设计——多路抢答器设计.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

安徽工业大学电气信息学院 共 41 页 第 1 页 装 订 线 目录 目录 1 1绪绪 论论 3 3 1 11 1 课题研究的相关背景课题研究的相关背景 3 3 1 21 2 选题的目的和意义选题的目的和意义 3 3 1 31 3 课题研究的内容课题研究的内容 3 3 1 41 4 国内外研究现状国内外研究现状 4 4 1 51 5 抢答器目前存在的主要问题抢答器目前存在的主要问题 4 4 2 2PROTEUSPROTEUS 简介简介 4 4 2 12 1 进入进入PROTEUSPROTEUS ISISISIS 5 5 2 22 2PROTEUSPROTEUS 工作界面工作界面 5 5 2 32 3 PROTEUSPROTEUS 的主要功能的主要功能 8 8 2 3 12 3 1 PROTEUSPROTEUS VSMVSM 功能功能 8 8 2 3 22 3 2 PROTEUSPROTEUS PCBPCB 设计功能设计功能 8 8 3 3 PICPIC 单片机单片机 9 9 3 13 1 PICPIC 单片机简介单片机简介 9 9 3 23 2 PIC16F87PIC16F87 的的 RAMRAM 数据存储器数据存储器 9 9 3 2 13 2 1 通用寄存器通用寄存器 9 9 3 2 23 2 2 特殊功能寄存器特殊功能寄存器 1010 3 33 3 输入输入 输出端口的基本功能输出端口的基本功能 1010 3 43 4 PICPIC 单片机指令系统简介单片机指令系统简介 1111 3 3 5 5 MPLABMPLAB 简介简介 1414 4 4 抢答器系统的设计原理及方案抢答器系统的设计原理及方案 1515 4 14 1 方案方案 1515 安徽工业大学电气信息学院 共 41 页 第 2 页 装 订 线 4 1 14 1 1 方案一 采用数字电路 方案一 采用数字电路 1515 4 1 24 1 2 方案二 采用单片机 方案二 采用单片机 1 16 6 4 1 34 1 3 方案三方案三 采用采用 PLCPLC 1616 4 24 2 方案比较及选择方案比较及选择 1717 5 5 基于基于 PROTEUSPROTEUS 的多路抢答器硬件电路设计的多路抢答器硬件电路设计 1717 5 15 1 多多路抢答器路抢答器设计要求设计要求 1717 5 5 2 2 PICPIC 单片机控制的多路抢答器工作原理单片机控制的多路抢答器工作原理 1818 5 5 3 3 基于基于 PROTEUSPROTEUS 的多路抢答器硬件电路设计的多路抢答器硬件电路设计 1919 5 5 3 13 1 多路抢答器多路抢答器总体总体电路设计电路设计 1919 5 5 3 23 2 多路抢答器多路抢答器编码编码电路设计电路设计 2 22 2 5 5 3 33 3 多路抢答器多路抢答器报警报警电路设计电路设计 2 23 3 5 5 4 4 多多路抢答器系统软件设计路抢答器系统软件设计 2323 5 4 15 4 1 多路抢答器系统软件流程图多路抢答器系统软件流程图 2323 5 5 4 4 2 2 汇编程序清单汇编程序清单 2424 5 5 4 4 3 3 基于基于 MPLABMPLAB 的程序编译和调试的程序编译和调试 3030 6 6 仿真与调试仿真与调试 3333 6 16 1 仿真结果分析及说明仿真结果分析及说明 3333 6 1 16 1 1 仿真分析仿真分析 3535 6 1 26 1 2 仿真说明仿真说明 3636 总结与展望总结与展望 3838 致致谢谢 4040 参考文献参考文献 4141 安徽工业大学电气信息学院 共 41 页 第 3 页 装 订 线 1 绪绪 论论 1 11 1 课题研究的相关背景课题研究的相关背景 抢答器是一种应用非常广泛的设备 在各种竞赛 抢答场合中 它能迅速 客 观地分辨出最先获得发言权的选手 早期的抢答器只由几个三极管 可控硅 发光 管等组成 能通过发光管的指示辩认出选手号码 现在大多数抢答器均使用单片机 和数字集成电路 并增加了许多新功能 如选手号码显示 抢按前或抢按后的计时 选手得分显示等功能 1 21 2 选题的目的和意义选题的目的和意义 通过这次设计 掌握 PIC 单片机的原理 了解简单多功能抢答器组成原理 初 步掌握多功能抢答器的调整及测试方法 提高动手能力和排除故障的能力 同时通 过本课题设计与装配 调试 提高自己的动手能力 巩固已学的理论知识 建立单 片机理论和实践的结合 了解多功能抢答器各单元电路之间的关系及相互影响 从 而能正确设计 计算定时计数的各个单元电路 初步掌握多功能抢答器的调整及测 试方法 提高动手能力和排除故障的能力 1 31 3 课题研究的内容课题研究的内容 本系统采用模块化设计智能抢答器 在抢答比赛中广泛应用 各组分别有一个 抢答按钮 主持人有开始和结束 复位键 在后台主持人可以修改 抢答时间和选 手回答问题的时间设置 原始状态下抢答时间为 20s 回答问题时间为 30s 通过加 键和减键修改上述时间 改完后结束键确定 新时间开始有效 主持人按键开始后 选手开始抢答为有效 数码显示屏显示抢答时间倒计时和选手号 在最后五秒扬声 器发生提示 如果主持人没有按下开始键而选手就抢答视为犯规 数码显示屏显示 犯规者的代号 扬声器持续发生 主持人可按键结束 新一轮抢答开始 通过研究并在设计验证后发现 采用单片机技术设计的抢答器与目前常用的抢 答器相比 首先 电路连接简单 因为大多数功能单元都通过程序设计在单片机内 部 第二 工作性能可靠 抗干扰能力优于目前抢答器 所以本研究是一个实用的 安徽工业大学电气信息学院 共 41 页 第 4 页 装 订 线 工程设计 具有创新性 本论文章节的结构和内容如下 第一章 绪论 简要介绍了抢答器的发展现状 说明了本课题研究的内容 第二章 Proteus简介 简要介绍Proteus 第三章 PIC单片机简介 简要介绍PIC16f87的主要性能和主要输入输出端口以及 其MPLAB 第四章 抢答器的设计原理及系统方案 第五章 基于Proteus的多路抢答器设计 第六章 仿真与调试 第七章 总结 总结课题设计 指出设计中的一些问题 提出改善的意见 并展 望抢答器的未来设计 1 4 国内外研究现状国内外研究现状 抢答器作为一种电子产品 早已广泛应用于各种智力和知识竞赛场合 但目前 所使用的抢答器有的电路较复杂不便于制作 可靠性低 实现起来很困难 有的则 用一些专用的集成块 而专用集成块的购买又很困难 为适应高校等多代表队单位 活动的需要而设计一个多功能抢答器 这种抢答器具有电路简单 元件普通 易于 购买等优点 很好地解决了制作者制作困难和难于购买的问题 在国内外已经开始 了普遍的应用 2 1 51 5 抢答器目前存在的主要问题抢答器目前存在的主要问题 随着改革开放事业的不断深入 促使人们学科学 学技术 学知识的手段多种 多样 抢答器作为一种工具 已广泛应用于各种智力和知识竞赛场合 但抢答器的 使用频率校低 且有的要么制作复杂 要么可靠性低 减少兴致 作为一个单位若 专购一台抢答器虽然在经济上可以承受 但每年使用的次数极少 往往因长期存放 使 电子器件的 抢答器损坏 再购置的麻烦和及时性就会影响活动的开展 而且目前多数抢答器存在 3 个不足之处 第一 现场线路连接复杂 因为每个选 手位于抢答现场的不同位置 每个选手与控制台之间要有长长的连接线 选手越多 连接线就越多 越乱 这些连接线不仅影响了现场的美观 而且降低了抢答器的可 靠性 增加了安装的难度 甚至影响了现场人员的走动 第二 电路复杂 因为单 片机只完成号码处理 计时 数据运算等功能 其它功能如选手号码的识别 译码 计分显示等仍只能通过数字集成电路完成 采用单片机扫描技术识别选手抢按号码 时 电路的延迟时间较大 第三 选手抢按成功 但出现没有抢答被记录的问题 2 PROTEUS 简介简介 Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件 它运行于 Windows 操作系统上 可以仿真 分析 SPICE 各种模拟器件和集成电路 该软件的 安徽工业大学电气信息学院 共 41 页 第 5 页 装 订 线 特点是 实现了单片机仿真和 SPICE 电路仿真相结合 具有模拟电路仿真 数字 电路仿真 单片机及其外围电路组成的系统的仿真 RS232 动态仿真 I2C 调试器 SPI 调试器 键盘和 LCD 系统仿真的功能 有各种虚拟仪器 如示波器 逻辑分析 仪 信号发生器等 支持主流单片机系统的仿真 目前支持的单片机类型有 68000 系列 8051 系列 AVR 系列 PIC12 系列 PIC16 系列 PIC18 系列 Z80 系列 HC11 系列以及各种外围芯片 提供软件调试功能 在硬件仿真系统中具 有全速 单步 设置断点等调试功能 同时可以观察各个变量 寄存器等的当前状 态 因此在该软件仿真系统中 也必须具有这些功能 同时支持第三方的软件编译 和调试环境 如 Keil C51 uVision2 等软件 具有强大的原理图绘制功能 总之 该软件是一款集单片机和 SPICE 分析于一身的仿真软件 功能极其强大 2 1 进入进入 proteus isis 双击桌面上的 ISIS 6 Professional 图标或者单击屏幕左下方的 开始 程序 Proteus 6 Professional ISIS 6 Professional 出现如图 1 1 所示屏幕 表明 进入 Proteus ISIS 集成环境 图 1 1 启动时的屏幕 2 2 proteus 工作界面工作界面 Proteus ISIS 的工作界面是一种标准的 Windows 界面 如图 1 2 所示 包括 标 题栏 主菜单 标准工具栏 绘图工具栏 状态栏 对象选择按钮 预览对象方位 控制按钮 仿真进程控制按钮 预览窗口 对象选择器窗口 图形编辑窗口 安徽工业大学电气信息学院 共 41 页 第 6 页 装 订 线 图 1 2 Proteus ISIS 的工作界面 为了方便介绍 我分别对窗口内各部分进行中文说明 见上图 下面简单 介绍各部分的功能 1 图形编辑窗口 The Editing Window 顾名思义 它是用来绘制原理图的 蓝 色方框内为可编辑区 元件要放到它里面 注意 这个窗口是没有滚动条的 你可 用预览窗口来改变原理图的可视范围 2 预览窗口 The Overview Window 它可显示两个内容 一个是 当你在元件 表中选择一个元件时 它会显示该元件的预览图 另一个是 当你的鼠标焦点落在 原理图编辑窗口时 即放置元件到原理图编辑窗口后或在原理图编辑窗口中点击鼠 标后 它会显示整张原理图的缩略图 并会显示一个绿色的方框 绿色的方框里 面的内容就是当前原理图窗口中显示的内容 因此 你可用鼠标在它上面点击来改 变绿色的方框的位置 从而改变原理图的可视范围 3 绘图工具栏 Mode Selector Toolbar 主要模型 Main Modes 1 选择元件 components 默认选择的 安徽工业大学电气信息学院 共 41 页 第 7 页 装 订 线 2 放置连接点 3 放置标签 用总线时会用到 4 放置文本 5 用于绘制总线 6 用于放置子电路 7 用于即时编辑元件参数 先单击该图标再单击要修改的元件 配件 Gadgets 1 终端接口 terminals 有VCC 地 输出 输入等接口 2 器件引脚 用于绘制各种引脚 3 仿真图表 graph 用于各种分析 如Noise Analysis 4 录音机 5 信号发生器 generators 6 电压探针 使用仿真图表时要用到 7 电流探针 使用仿真图表时要用到 8 虚拟仪表 有示波器等 2D 图形 2D Graphics 1 画各种直线 2 画各种方框 3 画各种圆 4 画各种圆弧 5 画各种多边形 6 画各种文本 7 画符号 8 画原点等 4 对象选择器窗口 The Object Selector 用于挑选元件 components 终端接口 terminals 信号发生器 generators 仿真图表 graph 等 举例 当你选择 元件 components 单击 P 按钮会打开挑选元件对话框 选择了一个元件后 单击了 OK 后 该元 件会在元件列表中显示 以后要用到该元件时 只需在元件列表中选择即可 5 预览对象方位控制按钮 Orientation Toolbar 旋转 旋转角度只能是90 的整数倍 翻转 完成水平翻转和垂直翻转 使用方法 先右键单击元件 再点击 左击 相应的旋转图标 6 仿真进程控制按钮 安徽工业大学电气信息学院 共 41 页 第 8 页 装 订 线 仿真控制按钮 1 运行 2 单步运行 3 暂停 4 停止 2 3 PROTEUS 的主要功能的主要功能 2 3 1 PROTEUS VSM 功能功能 Proteus 软件的 ISIS 原理图设计界面同时还支持电路的虚拟仿真 VSM 当电路元 件在调用时 选用具有动画演示功能的器件或具有仿真模型的器件 当电路连接完 成无误后 直接运行仿真按钮 即可实现声 光 动等逼真的效果 以检验电路硬 件及软件设计的对错 Proteus VSM 有两种不同的仿真方式 交互式仿真和基于图表的仿真 交互式仿真 实时直观地反映电路设计仿真结果 基于图表的仿真 用来精确分析电路的各种性能 如频率特性 噪声特性等 Proteus VSM 中的整个电路分析是在 ISIS 原理图设计模块下延续下来的 原理图 中可以包含以下仿真工具 探针 直接布置在线路上 用于采集和测量电压 电流信号 电路激励 系统的多种激励信号源 虚拟仪器 用于观测电路的运行状况 曲线图表 用于分析电路的参数指标 2 3 2 PROTEUS PCB 设计功能设计功能 Proteus 不仅可以实现高级原理图设计 混合模式 SPICE 仿真 还可以进行 PCB 系统特性设计以及手动 自动布线 以此来实现一个完整的电子系统设计 基于高性能网表的 ARES PCB 设计软件完全补足了 ISIS ARES PCB 设计系统 是一个具有 32 位数据库 能够进行元件布局 撤消和重试的 具有自动布线功能的 超强性能的 PCB 设计系统 其自动布局和自动布线工具使 PCB 的设计尽可能地简 便 复杂的工作尽量都由计算机来完成 同时 ARES 也支持手动布线 系统限制 相较少 ARES PCB 设计系统的主要特性表现在以下几个方面 1 有 16 个铜箔层 2 个丝印层和 4 个机械层 2 能够将元件进行任意角的布置 3 在放置元件时能够自动生成飞线和力向量 4 具有理想的基于网表的手工布线系统 5 物理设计规则检测功能可以保证设计的完整性 安徽工业大学电气信息学院 共 41 页 第 9 页 装 订 线 6 具有超过 1000 种标准封装的元件库 7 具有完整的 CADCAM 输出以及嵌板工具 8 当用户修改了原理图并重新加载网表 ARES 将更新相关联的元件和连线 同理 ARES 中的变化也将自动地反馈到原理图中 3 PIC单片机单片机 3 1 PIC 单片机简介单片机简介 PIC 单片机系列是美国微芯公司 Micro Ship 的产品 是当前市场份额增长最快的 单片机之一 CPU 采用 RISC 结构 分别有 33 35 58 条指令 视单片机的级别而 定 属精简指令集 而 51 系列有 111 条指令 AVR 单片机有 118 条指令 都比前 者复杂 采用 Halyard 双总线结构 运行速度快 指令周期约 160 200nS 它能使 程序存储器的访问和数据存储器的访问并行处理 这种指令流水线结构 在一个周 期内完成两部分工作 一是执行指令 二是从程序存储器取出下一条指令 这样总 的看来每条指令只需一个周期 个别除外 这也是高效率运行的原因之一 此外 它还具有低工作电压 低功耗 驱动能力强等特点 PIC 系列单片机的 I O 口是双向的 其输出电路为 CMOS 互补推挽输出电路 I O 脚增加了用于设置输入或输出状态的方向寄存器 TRISn 其中 n 对应各口 如 A B C D E 等 从而解决了 51 系列 I O 脚为高电平时同为输入和输出的状 态 当置位 1 时为输入状态 且不管该脚呈高电平或低电平 对外均呈高阻状态 置位 0 时为输出状态 不管该脚为何种电平 均呈低阻状态 有相当的驱动能力 低电平吸人电流达 25mA 高电平输出电流可达 20mA 相对于 51 系列而言 这是 一个很大的优点 它可以直接驱动数码管显示且外电路简单 它的 A D 为 10 位 能满足精度要求 具有在线调试及编程 ISP 功能 该系列单片机的专用寄存器 SFR 并不像 51 系列那样都集中在一个固定的地址区 间内 80 FFH 而是分散在四个地址区间内 即存储体 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 来进行 而 51 系列的还可以通过寄存器相互之间直接传送 如 MOV30H 20H 将 寄存器 20H 的内容直接传送至寄存器 30H 中 因而 PIC 单片机的瓶颈现象比 51 系 列还要严重 这在编程中很有感受 3 23 2 PIC16F87 的的 RAM 数据存储器数据存储器 3 2 1 通用寄存器通用寄存器 安徽工业大学电气信息学院 共 41 页 第 10 页 装 订 线 通用寄存器 GPR General Purpose Registers 用于通用目的 即由用户自由 安排和存放随机数据 单片机上电复位后其内容是不确定的 因此称为 通用寄存 器 对于 870 来说 共有 128 个单元 划分为 2 部分 第 1 部分位于体 0 中 有 96 个单元 地址为 20H 7FH 第 2 部分位于体 1 中 有 32 个单元 地址为 A0H BFH 其中体 0 中高地址处的 16 个单元比较特殊 70H 7FH 在其它 3 个体内 分别利用 地址 F0H FFH 170H 17FH 和 1FOH 1FFH 都能够访问到这 16 个单元 3 2 2 特殊功能寄存器特殊功能寄存器 1 状态寄存器状态寄存器 STATUS Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0 IRPRP1RP0 TOTO PDZDCCQ 其中 Z 是零标志位 若为 1 则表示算术或逻辑运算的结果为 0 为 1 则表示 算术或逻辑运算的结果不为 0 RP0 和 RP1 是 RAM 数据存储器体选位 仅用于直 接寻址 若为 00 则表示选中体 0 为 01 表示选中体 1 为 10 表示选中体 2 为 11 表示选中体 3 在这里其他几位就不做详细介绍了 2 实现间接寻址的寄存器实现间接寻址的寄存器 INDF 和和 FSR 其实位于 RAM 最顶端 地址码为 00H 的 INDF 寄存器 是一个空寄存器 它只有地址编码 并不存在一个真正 物理上 的寄存器单元 用它来与 FSR 寄 存器配合 实现间接寻址 当寻址 INDF 时 实际上是访问以 FSR 内容为地址的 RAM 单元 3 与程序计数器 与程序计数器 PC 相关的寄存器相关的寄存器 PCL 和和 PCLATH 程序计数器 PC 是一个 13 位宽的 专门为 CPU 提供程序存储器地址的寄存器 它的内容时刻指向 CPU 下一步要执行的那条指令所在的程序存储器单元 为了与 其他 8 位宽的寄存器进行交换 将它分成 PCL 和 PCH 两部分 低 8 位 PCL 有自 己的地址 可读可写 而高 5 位 PCH 却没有自己的地址 不能用软件访问 也就 不能直接写入 只能用寄存器 PCLATH 装载的方式来进行直接写入 除了上面介绍的 5 个寄存器外 还有其它一些寄存器 在这里就不再具体介绍了 3 3 输入输入 输出端口的基本功能输出端口的基本功能 输入 输出端口 也称 I O 口 是单片机内部电路与外部世界交换信息的通道 输入端口负责从外界接收监测信号 键盘信号等各种开关信号 输出端口负责向 外界输送由内部电路产生的处理结果 显示信息 控制命令 驱动信号等 1 与输入与输入 输出端口相关的输出端口相关的 2 个寄存器个寄存器 在 PIC 单片机中 各个 I O 端口都具备两个基本的专用寄存器 数据寄存器和 安徽工业大学电气信息学院 共 41 页 第 11 页 装 订 线 方向寄存器即 PORTX 和 TRISX 2 基本输入基本输入 输出端口的工作原理输出端口的工作原理 对一个端口引脚进行 4 种基本操作分别说明如下 1 写 写 I O 方向寄存其方向寄存其 TRIS Latch 根据方向寄存器中写入内容的不同 又可以分为两种情况 写入 1 则对应引脚 被设置为 输入 写入 0 则对应引脚被设置为 输出 2 经端口引脚输出数据 经端口引脚输出数据 经端口引脚输出数据的前提是 该端口引脚必须预先被设定为 输出 态 然后 把欲输出的数据 X 0 或 1 放到数据总线上 接着由控制线 WR Port 送来脉冲下降 沿作为触发信号 X 被锁入 Data Latch 中 3 从端口引脚输入数据 从端口引脚输入数据 对于这种操作 根据防线寄存器内容的不同 又可以分为两种情况 1 方向寄存器的内容为 1 读取的是引脚的网逻辑电平 2 方向寄存器的内容为 0 读取的是端口数据寄存器中锁存的数据 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 操作数 0 f 127 d 0 1 受影响的状态位 Z 根据 d 的状态 将寄存器 f 的内容移入目标寄存器 如 果 d 0 目标寄存器是 W 寄存器 如果 d 1 目标寄存器是 f 寄存器本身 由于 该指令影响状态标志位 Z 可用于在 d 1 时检测数据寄存器的内容是否为 0 2 MOVWF f 将 W 的内容移动至 f 操作数 0 f 127 受影响的状态位 无 说明 将数据从 W 寄存器送入寄存器 f 3 MOVLW k 将立即数移动到 W 寄存器 操作数 0 k 255 受影响的状态位 无 说明 8 位立即数 k 送入 W 寄存器 4 SWAPF f d f 半字节交换 操作数 0 f 127 安徽工业大学电气信息学院 共 41 页 第 12 页 装 订 线 d 0 1 受影响的状态位 无 说明 寄存器 f 的高半字节和低半字节交换 如果 d 为 0 结果存入 W 寄存器 如果 d 为 1 结果存回到寄存器 f 2 算术运算类指令 算术运算类指令 1 ADDWF f dW 加 f 操作数 0 f 127 d 受影响的状态位 C DC Z 说明 W 寄存器与 f 寄存器的内容相加 如果 d 为 0 结果存入 W 寄存器 果 d 为 1 结果存回到寄存器 f 2 SUBWF f d f 减去 W 操作数 0 f 127 d 0 1 受影响的状态位 C DC Z 说明 f 寄存器内容减去 W 寄存器内容 使用 2 进制补码的方法 如果 d 为 0 结果存入 W 寄存器 如果 d 为 1 结果存回到寄存器 f 3 ADDLW k立即数加 W 操作数 0 k 255 受影响的状态位 C DC Z 说明 8 位立即数 k 与 W 寄存器的内容相加 结果存入 W 寄存器 4 SUBLW k立即数减去 W 操作数 0 k 255 受影响的状态位 C DC Z 说明 8 位立即数 k 减去 W 寄存器的内容 使用 2 进制补码的方法 结果 存入 W 寄存器 5 INCF f df 加 1 操作数 0 f 127 d 0 1 受影响的状态位 Z 说明 寄存器 f 的内容递增 如果 d 为 0 结果存入 W 寄存器 如果 d 为 1 结果存回到寄存器 f 6 DECF f d f 减 1 操作数 0 f 127 d 0 1 受影响的状态位 Z 说明 寄存器 f 减 1 如果 d 为 0 结果存入 W 寄存器 如果 d 为 1 结 果存回到寄存器 f 3 逻辑运算类指令 逻辑运算类指令 1 CLRF ff 清零 操作数 0 f 127 受影响的状态位 Z 说明 寄存器 f 已清零 Z 位置 1 2 CLRW W 清零操作数 无 安徽工业大学电气信息学院 共 41 页 第 13 页 装 订 线 受影响的状态位 Z 说明 W 寄存器被清零 全零位 Z 置 1 3 CLRWDT看门狗定时器清零 操作数 无 受影响的状态位 TO PD 说明 CLRWDT 指令复位看门狗定时器 而且还复位 WDT 预分频器 状态位 TO 和 PD 置位 4 BCF f bf 位清零 操作数 0 f 127 0 b 7 受影响的状态位 无 说明 寄存器 f 中的 b 位被清零 5 BSF f b f 位置 1 操作数 0 f 1270 b 7 受影响的状态位 无 说明 寄存器 f 中的 b 位被置 1 6 RLF f d f 带进位左循环 操作数 0 f 127 d 0 1 受影响的状态位 C 说明 寄存器 f 的内容连同进位标志位循环左移 1 位 如果 d 为 0 结果存 入 W 寄存器 如果 d 为 1 结果存回到寄存器 f 7 RRF f df 带进位右循环 操作数 0 f 127 d 0 1 受影响的状态位 C 说明 寄存器 f 的内容连同进位标志位循环右移 1 位 如果 d 为 0 结果存入 W 寄存器 如果 d 为 1 结果存回到寄存器 f 8 ANDWF f d W 和 f 与运算 操作数 0 f 127 d 受影响的状态位 Z 说明 W 寄存器和 f 寄存器进行与运算 如果 d 为 0 结果存入寄存器 W 如果 d 为 1 结果存回到寄存器 f 9 IORWF f d W 和 f 或运算 操作数 0 f 127 d 0 1 受影响的状态位 Z 说明 W 寄存器和 f 寄存器进行或运算 如果 d 为 0 结果存入 W 寄存器 如果 d 为 1 结果存回到寄存器 f 10 XORWF f dW 和 f 异或运算 操作数 0 f 127 d 0 1 受影响的状态位 Z 说明 W 寄存器与 f 寄存器的内容进行异或运算 如果 d 为 0 结果存入 W 如果 d 为 1 结果存回到寄存器 f 11 ANDLW k 立即数和 W 与运算 操作数 0 k 255 受影响的状态位 Z 说明 寄存器 W 的内容与 8 位立即数 k 进行与运算 结果存入 W 寄存器 12 IORLW k立即数和 W 或运算 安徽工业大学电气信息学院 共 41 页 第 14 页 装 订 线 操作数 0 k 255 受影响的状态位 Z 说明 寄存器 W 的内容与 8 位立即数 k 进行或运算 结果存入 W 寄存器 13 XORLW k立即数和 W 异或运算 操作数 0 k 255 受影响的状态位 Z 说明 寄存器 W 的内容与 8 位立即数 k 进行异或运算 结果存入 W 寄存器 14 COMF f df 取反 操作数 0 f 127 d 0 1 受影响的状态位 Z 说明 取寄存器 f 中内容的补码 如果 d 为 0 结果存入 W 如果 d 为 1 结果存回到寄存器 f 4 控制转移类指令 控制转移类指令 1 CALL k调用子程序 操作数 0 k 2047 受影响的状态位 无 说明 调用子程序 首先 将返回地址 PC 1 压入堆栈 11 位立即数地址 被装入 PC 位 PC 高位从 CLATH 装入 CALL 是双周期指令 2 GOTO k无条件转移 操作数 0 k 2047 受影响的状态位 无 说明 GOTO 是无条件转移指令 11 位立即数被装入 PC 位 PC 高 位从 PCLATH 装入 GOTO 是双周期指令 3 BTFSC f b检测位 为 0 则跳过 操作数 0 f 127 0 b 7 操作 如果 f 0 则跳过 受影响的状态位 无 说明 如果寄存器 f 的位 b 为 1 则执行下一条指令 如果寄存器 f 的位 b 为 0 则放弃执行下一条指令 而执行一条 NOP 指令 使该指令变成 2TCY 指令 4 BTFSS f b 检测 f 的位 为 1 跳过 操作数 0 f 127 0 b 7 操作 如果 f 1 则跳过 受影响的状态位 无 说明 如果寄存器 f 的位 b 为 0 则执行下一条指令 如果位 b 为 1 则 放弃执行下一条指令而执行一条 NOP 指令 使该指令成为 2TCY 指令 5 RETURN从子程序返回 操作数 无 操作 TOS PC 受影响的状态位 无 安徽工业大学电气信息学院 共 41 页 第 15 页 装 订 线 说明 从子程序返回 执行出栈操作 将栈顶 TOS 单元内容装入程序计数 器 这是双周期指令 3 5 MPLAB 简介简介 MPLAB 集成开发环境 IDE 是一个综合的编辑器 项目管理器和设计平台 适用于使用Microchip PICmicro 和dsPIC 单片机进行嵌入式设计的应用开发 MPLAB IDE 的功能 MPLAB IDE 是基于Windows 操作系统的集成开发环境 适用于PICmicro MCU 系列和dsPIC 数字信号控制器的开发 MPLAB IDE 提供以下功能 使用内置的编辑器创建和编辑源代码 汇编 编译和链接源代码 通过使用内置的软件模拟器观察程序流程 或者使用在线仿真器或在线调试器以 实时方式观察程序流程来调试可执行逻辑 用软件模拟器或仿真器进行时序测量 查看Watch 窗口中的变量 使用器件编程器将固件烧写入器件 4 4 抢答器系统的设计原理及方案抢答器系统的设计原理及方案 4 1 方案方案 制作抢答器可以用好多的方法 可以用单片机来完成 它的功能强大制作简单 并且外围的元件也很少 也可以用 PLC 来实现 他的制作也是比较简单 还可以用 我们学过的 EDA 技术来制作 最后也可以用数字电路来实现 它的原理比较简单 集成块的价格也比较便宜且很容易购买 4 1 1 方案一 采用数字电路 方案一 采用数字电路 1 原理方框图 定时抢答器的总体框图如图 4 1 1 所示 它由主体电路和扩展电路两部分组成 主 体电路完成基本的抢答功能 即开始抢答后 当选手按动抢答键时 能显示选手的 编号 同时能封锁输入电路 禁止其他选手抢答 扩展电路完成定时抢答的功能 安徽工业大学电气信息学院 共 41 页 第 16 页 装 订 线 图 4 1 1 图 4 1 1 所示的定时抢答器的工作过程是 接通电源时 节目主持人将开关置于 清除 位置 抢答器处于禁止工作状态 编号显示器灭灯 定时显示器显示设定 的时间 当节目主持人宣布 抢答开始 同时将控制开关拨到 开始 位置 扬 声器给出声响提示 抢答器处于工作状态 定时器倒计时 当定时时间到 却没有 选手抢答时 系统报警 并封锁输入电路 禁止选手超时后抢答 当选手在定时时 间内按动抢答键时 抢答器要完成以下四项工作 优先编码电路立即分辨出抢答者的编号 并由锁存器进行锁存 然后由译码显示 电路显示编号 扬声器发出短暂声响 提醒节目主持人注意 控制电路要对输入编码电路进行封锁 避免其他选手再次进行抢答 控制电路要使定时器停止工作 时间显示器上显示剩余的抢答时间 并保持到主 持人将系统清零为止 当选手将问题回答完毕 主持人操作控制开关 使系统回复 到禁止工作状态 以便进行下一轮抢答 4 1 2 方案二 采用单片机 方案二 采用单片机 1 原理方框图 此电路完成的功能如图 4 1 2 所示 当主持人宣布抢答开始的时候 按下开始按钮 此时电路进入抢答状态 选手的输入采用了扫描式的输入 之后把相应的信息送往 单片机 再由单片机输出到显示输出电路中 此时有人第一按下相应的抢答按钮 安徽工业大学电气信息学院 共 41 页 第 17 页 装 订 线 经过单片机的控制选择 在八段显示器上显示相应的号码 并锁存 同时禁止其他 按钮的输入 图 4 1 2 4 1 3 方案三 采用方案三 采用 PLC 1 原理方框图 此电路的功能如图 4 1 3 所示 当主持人打开启动开关后 在设定时间 TO 内 如 果某组抢先按下抢答按钮 则驱动音效电路 发出声响 指示灯 LI 亮 并且在 8 段 数码管显示器上显示出抢答成功的组号 此时电路实现互锁 其他组再按下抢答按 钮为无效 如果在时间 TO 内 无人应答 则驱动音效电路 发出声响 指示灯 L2 亮 表示抢 答者均放弃该题 在抢答成功后 主持人打开限时开关 SW2 启动计时器 在设定的时间 TI 内回答有 效 当到达设定时间 TI 时 驱动音效电路 指示灯 L3 亮 表示答题时间到 安徽工业大学电气信息学院 共 41 页 第 18 页 装 订 线 图 4 1 3 4 2 方案比较及选择方案比较及选择 方案比较方案比较数字电路数字电路单片机单片机 PLCPLC 制作难度制作难度低低一般一般一般一般 实现难度实现难度一般一般低低低低 价格价格低低一般一般高高 电路原理电路原理简单简单一般一般一般一般 设计难度设计难度简单简单高高一般一般 通过上面的方案比较 数字电路的制作方案比较容易实现 但是所需要的芯片太多 不易于集成 PLC 的价格太贵 对于抢答器的设计并不适合 而用单片机设计抢答 器其所需的芯片并不太多 而且价格较低 虽然其设计难度较高 但对于当今社会 的发展 学好一门单片机是相当重要的 所以本次设计我采用 PIC 单片机来设计抢 答器 5 5 基于基于 PROTEUSPROTEUS 的多路抢答器设计的多路抢答器设计 5 15 1 多多路抢答器路抢答器设计要求设计要求 多路抢答器电路可供不少于 8 名参赛选手使用 每名参赛选手各有一个抢答按钮 在主持人用按钮清零 并发出抢答指令后 实行抢答 电路配有 LED 数码显示 能显示优先抢答的选手编号 同时配有语音提示电 路 数码显示和语音提示可由主持人用清除按钮解除 电路对参赛选手的动作先后有较强的分辩能力 5 25 2 PIC 单片机控制的多路抢答器工作原理单片机控制的多路抢答器工作原理 用单片机设计多路抢答器包括硬件电路设计和软件程序设计 硬件电路的核 心是 PIC16F87 单片机 配以输入输出电路构成 软件程序采用 PIC 汇编语言编 写单片机程序 PIC 单片机控制的多路抢答器原理框图 如图 5 1 所示 单片机控制器 PIC16F87 抢答输入编码电路 解除输入 复位输入 锁存器 1 解 除 指 示 启 动 指 示 抢 答 显 示 语 音 报 警 锁 存 器 2 抢 答 显 示 安徽工业大学电气信息学院 共 41 页 第 19 页 装 订 线 如图 5 1 所示 系统框图各部分功能说明如下 单片机控制器 选用 PIC16F87 单片机 输入端接收抢答输入 解除输入和复 位输入信号等 经运算和处理后 输出信号经锁存器控制抢答指示灯和抢答显示数 码管等 抢答输入 共 8 路 选用单刀双掷开关 实现参赛选手的抢答输入 并封锁 后抢答输入信号 编码电路 对 8 路抢答输入信号进行编码 输出为 4 位二进制代码 实现对 PIC16F87 输入端口的扩展 解除输入 选用单刀双掷开关 实现封锁的解除 为继续抢答作准备 复位输入 选用单刀双掷开关 可对单片机进行硬件复位操作 锁存器 1 和锁存器 2 用锁存器实现对 PIC16F87 输出端口的扩展 抢答指示 共 8 路 对应指示参赛选手的抢答输入 抢答显示 用 LCD 数码管显示参赛选手的编号 启动指示和解除指示 分别指示仿真运行后的状态 抢答开始 和解除封锁 后的状 态 解除封锁后 允许继续抢答 语音报警电路 当有抢答输入时 语音报警电路发出一定频率的声音 起到 提示的作用 当解除信号输入时 语音报警电路停止工作 5 35 3 基于基于 PROTEUSPROTEUS 的多路抢答器硬件电路设计的多路抢答器硬件电路设计 5 3 1 多路抢答器总体电路设计多路抢答器总体电路设计 1 创建一个新的设计文件创建一个新的设计文件 首先进入 Proteus ISIS 编辑环境 选择 File New Design 选项 在弹出的模板对话框中选择 DEFAULT 模板 并 将新建的设计保存 如图 5 3 1 a 所示 图图 5 1 PIC 单片机控制的多路抢答器原理框图单片机控制的多路抢答器原理框图 安徽工业大学电气信息学院 共 41 页 第 20 页 装 订 线 如图 5 3 1 a 2 置工作环境置工作环境 打开 Template 菜单 对工作环境进行设置 3 拾取元器件拾取元器件 选择 Library 下的 Pick Device Symbol 菜单项 出现如图 5 3 1 b 所示对话框 安徽工业大学电气信息学院 共 41 页 第 21 页 装 订 线 图 5 3 1 b 元件拾取对话框 在 Keywords 中输入你所需要的元器件名称 单击 OK 按扭 或在元器件列表区 域双击元器件名称 即可完成对该元件的添加 4 在原理图中放置元件在原理图中放置元件 选择对象选择器中的 PIC16F84A 元器件 在 Proteus ISIS 编辑环境主界面的 预览窗口将出现 PIC16F84A 的图标 在编辑窗口双击鼠标左键 元器件 PIC16F84A 被放置到原理图中 按照上述步骤 将其他元器件放置到原理图中 5 编辑元器件编辑元器件 放置好元器件后 双击相应的元器件 即可打开该元器件的编辑对话框 6 绘制原理图绘制原理图 单击的一个对象连接点 如果想让 Proteus ISIS 自动定出走线路径 只需单击 另一个连接点 如果想自己决定走线路径 只需在希望的拐点处单击 按照上述步骤 将所有的原器件按照所需方式连线 连接后的原理图如图 5 3 1 c 所示 U3 U4 U5 R1 4 7k R2 4 7k R3 4 7k R4 4 7k R6 4 7k R7 4 7k R8 4 7k 5V R5 4 7k D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 OE 1 CLK 11 U7 74LS374 D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 OE 1 CLK 11 U8 74LS374 R 4 DC 7 Q 3 GND 1 VCC 8 TR 2 TH 6 CV 5 U9 555 R9 1000k 5V C1 0 01uF C2 0 47uF BUZ1 BUZZER 5V RA7 OSC1 CLKIN 16 RB0 INT CCP1 6 RB1 SDI SDA 7 RB2 SDO RX DT 8 RB3 CCP1 9 RB4 SCK SCL 10 RB5 SS TX CK 11 RB6 T1OSO T1CKI 12 RB7 T1OSI 13 RA0 AN0 17 RA1 AN1 18 RA2 AN2 CVREF 1 RA3 AN3 C1OUT 2 RA4 T0CKI C2OUT 3 RA6 OSC2 CLKOUT 15 RA5 MCLR 4 U1 PIC16F87 1 11 2 12 3 13 4 1 5 2 6 3 7 4 8 5 9 10 Q0 9 Q1 7 Q2 6 Q3 14 U2 74LS147 U10 U6 L1 L2 L3 L4 L5 L6 L7 1V L8 1V L9 2V L10 2V SW2 SW SPDT 5 3 1 c 连接后的原理图 8 对原理图进行电气规则检测对原理图进行电气规则检测 选择 Tools 下的 Electrical Rule Check 菜单项 出现电气规则检测报告单 如图 5 3 1 d 所示 安徽工业大学电气信息学院 共 41 页 第 22 页 装 订 线 图 5 3 1 d 电气规则检查报告单 9 存盘及输出报表存盘及输出报表 将设计好的原理图文件存盘 同时 可使用 Tools 菜单下的 Bill of Materials 草单项输出 BOM 文档 如图 5 3 1 e 所示 图 5 3 1 e 输出的 BOM 文档 5 3 2 多路抢答器编码电路设计多路抢答器编码电路设计 因为本次设计是用 PIC16F87 作为核心器件 而对于八路抢答器而言所需输入端口 安徽工业大学电气信息学院 共 41 页 第 23 页 装 订 线 较多 但是 PIC16F87 的输入 输出端口并不是太多 因此对于 PIC16F87 的输入 输 出端口进行阔展无疑是本次设计的一个难点 而本次设计采用由 74LS147 等组成的 编码电路将八路抢答信号进行编码 输出四路编码信号 这样就减少了对于 PIC16F87 输入 输出的要求 其功能表如图 5 3 2 a 所示 输入输出 I1I2I3I4I5I6I7I8I9Y4Y3Y2Y1 0000000000000 11001 101000 1000111 10000110 100000101 1000000100 10000000011 100000000010 1000000000001 图 5 3 2 a 74ls147 的功能表 而 74ls147 输出的是反码 因此需要加上反向器 编码电路如图 5 3 2 b 所示 1 1 1 2 1 2 3 1 3 4 1 5 2 6 3 7 4 8 5 9 1 0 Q 0 9 Q 1 7 Q 2 6 Q 3 1 4 U 1 7 4 L S 1 4 7 U 2 U 3 U 4 U 5 图 5 3 2 b 编码电路 5 3 3 多路抢答器报警电路设计多路抢答器报警电路设计 对于报警电路的设计 我采用由一个提供频率为 1HZ 的信号源 一个与门和一 个 SOUNDER 声音输出仿真 元件 组成的电路 如图 5 3 3 所示 安徽工业大学电气信息学院 共 41 页 第 24 页 装 订 线 U 9 D 0 U 9 A N D L S 1 S O U N D E R 图 5 3 3 报警电路 5 4 多路抢答器系统软件设计多路抢答器系统软件设计 5 4 1 多多路抢答器系统软件流程图路抢答器系统软

温馨提示

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

评论

0/150

提交评论