本科机械设计毕业论文悬挂式旋耕耙的设计.doc_第1页
本科机械设计毕业论文悬挂式旋耕耙的设计.doc_第2页
本科机械设计毕业论文悬挂式旋耕耙的设计.doc_第3页
本科机械设计毕业论文悬挂式旋耕耙的设计.doc_第4页
本科机械设计毕业论文悬挂式旋耕耙的设计.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

equation chapter 1 section 1* mergeformat (1.1) 本科毕业设计说明书 题 目悬挂式旋耕耙的设计 姓 名学 号 专 业机械设计制造及其自动化 指导教师职 称教授 中国武汉 二 七 年 五 月 华中农业大学学士学位论文(设计) i 目 录 摘 要.i 关键词.i abstract.i key wordsi 1 绪论1 2 开发环境简介1 21 proteldxp 简介 .1 22 使用 protel 画图原理2 23 仿真开发环境简介.4 3 单片机基础5 31 单片机的体系结构.5 32 at89c2051 单片机的原理 .5 321 at89c2051 特性 5 322 at89c2051 的结构框图 6 323 at89c2051 的引脚说明及引脚功能 6 323 专用功能寄存器(sfr) .8 324 指令约束条件 8 325 cpu 工作方式 9 326 对 flash 闪速存储器的编程 9 327 内部地址计数器 .10 33 at89c2051 软硬件的开发 10 34 性能价格比10 35 应用10 4 系统硬件设计.10 4.1 总体方案设计.10 411 设计原理 .11 412 系统总体性能要求 .11 4121 成本因素 11 4122 环境适应性 11 4123 节能性 11 4124 可靠性 11 4125 方便性 11 413 装置总体结构原理图 .11 42 系统硬件设计12 421 单片机型号的选择 .12 422 环境照度检测电路 .12 423 分时切换控制电路 .12 424 路灯点亮按钮位 .13 425 看门狗电路 .13 426 系统供电电源设计 .14 4271 主系统电源电路 14 4272 分时切换控制电路工作电源 14 428 系统时钟电路设计 .15 429 长期运行的安全性设计 .15 4291 功耗与散热问题 15 4292装置过流问题 15 华中农业大学学士学位论文(设计) ii 5 软件设计.15 51 at89c2051 的程序编制 15 511 编程算法 .15 512 数据查询 .16 513 rdy/bsy 16 514 程序校验 .16 517 片擦除 .16 518 读特征字节 .16 519 编程接口 .16 52 mcs-51 汇编语言简介 .16 521 直接寻址 .16 522 寄存器寻址 .16 523 寄存器间接寻址 .17 524 立即寻址 .17 535 变址寻址 .17 546 位寻址 .17 547 相对寻址 .17 53 系统软件设计17 531 主程序结构 .17 532 中断服务程序 .18 6 结束语.19 参考文献19 致 谢20 附录 1:系统程序代码 21 附录 2:设计原理图 24 附录 3:仿真界面图 25 华中农业大学学士学位论文(设计) i 住宅公用路灯用电量分配装置的设计 摘 要 提出一款基于单片机的居民住宅公用楼道路灯用电分摊装置的设计方案。充分利用单片机的 内部资源,借助单片机的数据运算处理能力和控制能力,采用按用电时间“均摊”原理,各用户轮 流为住宅公用楼道路灯供电,较好地解决了楼道路灯电费收缴的难题,有较好的实用价值。 关键词 单片机;公用路灯;电量分配器;硬件;软件 design of coulomb distributer for residential public road lamp abstract put forward a design project of public stairway lampps electricity cost assigned device in residential building based onsingle chip computer. the project takes full advantage of the internal resources of the single chip computer ,especially its data processingand controlling ability. in terms of the principle of even distribution based on the time of using electricity ,every user supplies power to the public stairway lamps in turn. thus the problem of collecting stairway lamp electricity cost will be settled well. key words single chip computer;public road lamp;coulomb distributer;hardware ;software 华中农业大学学士学位论文(设计) 1 1 绪论 当前我国经济快速增长,房地产市场持续升温,各种档次的商品房层出不穷。伴随着住房制度 改革的深入,越来越多的居民买了商品房。住进了商品住宅楼。这种改变促进了国民经济的发展, 同时也提高了广大人民生活的文明程度。随之而来的问题就产生了,原来的单位住宅楼是由单位安 装路灯并由单位负责缴费的,楼内居住的单位职工不用担心没路灯和收缴费用的问题;而商品住宅 楼内的居民来自不同的单位,这就产生了路灯问题。不安装路灯不便利;安装路灯后,对于商品住 宅楼的路灯电费,如果由各小区的物业管理人员或社区管理员统一挨家挨户定期收取,住户分担, 十分不方便,因为城市已普及了一户一表。楼道路灯问题日益成为住房商品化后的一个难题(杨本 文,郑旭东,2006)。 而且目前我国作为一个能源短缺的国家,电力供应十分地紧张,缺电现象非常严重,应该推广 应用节能型高效路灯设备,节约照明用电,实现资源的充分合理应用,保障市民的出行安全(陈宇 勤,2006)。 因此,提出一款基于单片机的居民住宅公用楼道路灯用电分摊装置的全自动控制设计方案。充 分利用单片机的内部资源,借助单片机的数据运算处理能力和控制能力,采用按用电时间“均摊” 原理(王振明,002)。各用户轮流为住宅公用楼道路灯供电,较好地解决了楼道路灯电费收缴 的难题,有较好的实用价值。 2 开发环境简介 21 proteldxp 简介 protel2004dxp 是 altium 公司(原名 protel 公司)推出的新一代优秀桌面电路设计软件,它不 但继承了 protel 99 se 的所有功能,而且扩展了许多新功能,用户界面更加友好,更加符合人性化 设计,它是大多数电路设计人员使用最多的 eda 设计软件之一(王鹏,2006)。 protel2004dxp 能实现的主要功能如下: 设计组件包括电路原理图设计组件、pcb 设计组件、自动布局布线组件、可编程逻辑器件组 件和电路仿真软件; 采用整合式的零件和零件库,提供强大的零件库支持和用户自己设计库功能; 支持层次化原理图设计; 强大的纠错功能,能保障设计完整无错; 采用新一代的 situs 拓扑式逻辑自动布线器,使 pcb 布线更科学合理; 可以直接在 pcb 编辑器中进行信号分析; 集成 spice3f5 数模混合信号仿真; 能生成 3dpcb 立体图,形象直观; 华中农业大学学士学位论文(设计) 2 图 21 protel 界面 本设计主要使用 protel 2004dxp 进行电路原理图的设计。图 21 是 proteldxp 打开后的界 面,共分为六块: 系统菜单:file 菜单用于文件的打开、关闭等操作;view 用于和视图有关的操作,比如放大、 缩小等;project 菜单,用于和工程有关的操作,比如加入新的工程文件;window 菜单用于和窗口 有关的操作,比如水平排列窗口;help 菜单,帮助菜单。 左工作区面板:包括文件项目和帮助的面板。 工作区:用于快速启动任务,比如最近打开打开的原理图。 右工作区面板:点击可以出现更多的面板。 面板控制:编辑特定的和通用的面板可以在这里选择。 帮助建议:使用语言快捷找到问题的答案。 22 使用 protel 画图原理 华中农业大学学士学位论文(设计) 3 图 22 画原理图状态界面 画图原理分为以下几步: 第一步,依次打开 file 菜单,选择新建命令,选择 schematic,界面如图 22 所示。 第二步,放入元件。打开 library 面板(如图),选择需要的元件;如果我们需要的元件 在 library 未包括,我们还需要添加元件库,单击 libraries 选项来完成元件库的添加;如果元件库没 有我们需要的元件,则自己动手建元件库,方法是在新建时选择 schematic library。 第三步,连接元件。单击工具栏 wire 按钮,光标变成“+”型,这是处于连线编辑状态,当出 现红色的十字时表示和元件已经电器连接,我们可以把鼠标指向任意方向来指向要连接的元件,单 击左键完成这次连接,单击右键则取消编辑状态。 第四步,画总线,放置总线入口。各元件要通过总线连在一起,总线和连线要通过总线入口连 在一起,如图所示。z80asio 的 d0d7 通过导线总线入口和总线连接,图中 d0 是标号,它起实 际的电器连接作用。 华中农业大学学士学位论文(设计) 4 图 2 导线通过总线入口与总线连接 图 24 打开 library 面板 第五步,保存文件到工程中 23 仿真开发环境简介 proteus 是英国 labcenter 公司开发的电路分析与实物仿真软件。它运行于 windows 操作系统 上,可以仿真、分析(spice)各种模拟器件和集成电路,该软件的特点是: (1)实现了单片机仿真和 spice 电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及 其外围电路组成的系统的仿真、rs232 动态仿真、i2c 调试器、spi 调试器、键盘和 lcd 系统仿真 的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 (2)支持主流单片机系统的仿真。目前支持的单片机类型有:arm7(lpc21xx)、8051/52 系列、 avr 系列、pic10/12/16/18 系列、hc11 系列以及多种外围芯片。 华中农业大学学士学位论文(设计) 5 (3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观 察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第 三方的软件编译和调试环境,如 keil c51 uvision2、mplab 等软件。 (4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和 spice 分析于一身的仿真软件, 功能极其强大。 3 单片机基础 单片机是微电子技术与计算机技术的结晶,现已成为集成电路大家族中的重要成员。单片机是 微型计算机的简称,是在一块芯片集成了 cpu、ram、rom(或 eprom)、时钟定时计数器和多 种功能的串行和并行 i/o 接口。 单片机共同的特点是他们在一块芯片上集成了一台微机最基本的部分,只要辅以少了量的外部 电路或外部设备即可构成一个微机系统。而且单片机具有体积小、功能强、价格低廉等优点。现在 单片机正朝着兼容性、单片系统化、多功能和低功耗方向发展。 31 单片机的体系结构 单片机采用哈佛结构,即数据存储空间与程序存储空间是相互分离的。为了减小引脚数量,单 片机 i/o 线多采用分时复用技术,正是因为有了内部 rom 和 ram(可进一步扩展),在执行指令 时又统一在时钟下工作,故可靠性和执行速度都大大超过相当的通用计算机。目前市场中单片机微 处理器中,位,16 位,32 位居多,每类有多种产品,每种单片机均有各自的指令系统,如 mcs51 兼容单片机的指令系统均是在 mcs51 的结构上加以扩展,这也直接扩展了单片机的功 能。 广泛采用的精简指令系统计算机 risc(reduced instrution set computer)结构,是软硬件 配合和整体性能能够得以提高。其含义是计算机指令系统仅包括使用频率较高的指令,同时这些指 令的控制和实现有比较简单,然后优化这些指令并使其速度最快。它与传统复杂指令系统计算机 cisc 结构等微处理器形成了完全不同的风格(毕维峰,2006)。 32 at89c2051 单片机的原理 321 at89c2051 特性 at89c2051 是美国 atmel 公司生产的低电压,高性能的 cmos 型 8 位单片机,片内含有 2kbytes 的可反复写的只读程序存储器和 128bytes 的随机存取数据寄存器,器件采用 atmel 公司 的高密度、非易失性存储技术生产,兼容标准 mcs51 指令系统,片内置 8 位中央处理器 flash 存储单元,功能强大的 at89c2051 单片机可为用户提供许多高性价比的应用场合。 at89c2051 是一个有 20 个引脚的芯片,引脚如图 31 所示,与 8051 内部结构进行对比可发现, at89c2051 减少了两个对外端口(即 p0、p2 口),使它最大可能地减少了对外引脚,因而芯片尺 寸有所减少(余永权,1999)。 图 31 引脚封装 at89c2051 主要特性参数: 和 mcs51 产品的兼容引脚封装; 2k 字节可重编程闪速存储器; 耐久性:1,000 写擦除周期; 2.7v6v 的操作范围; 全静态操作:0hz24mhz; 华中农业大学学士学位论文(设计) 6 两级加密程序存储器; 1288 位内部 ram; 15 根可编程 io 引线; 两个 16 位定时器计数器; 六个中断源; 可编程串行 uart 通道; 直接 led 驱动输出; 片内模拟比较器; 低功耗空载和掉电方式; 根据其性能参数,其功能特性可概述为: at89c2051 提供一下标准功能:2k 字节 flash 存储器,128 字节内部 ram,15 个 io 口, 两个 16 位的定时/计数器,一个 5 向量两级中断结构,一个全双工串行通信口,内置一个精密比较 器,片内振荡器及时钟电路。同时,at89c2051 可降至 0 赫兹的静态逻辑操作,并支持两中软件 节电工作模式:空闲方式停止 cpu 的工作,但允许 ram,定时计数器,串行通信口及中断系统 继续工作。掉电方式保持 ram 中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个 硬件复位。 322 at89c2051 的结构框图 at89c2051 是一带有 2k 字节闪速可编程可擦除只读存储体(eeprom)的低电压,高性能 8 位 cmos 型微型计算机。如图 32 所示。它采用 atmel 的高密非易失存储技术制造并和工业标准 mcs51 指令集和引脚结构完全兼容。通过在单块芯片上组合通用的 cpl1 和闪速存,89c2051 是 一款强劲的微型计算机,它对许多嵌入式控制应用提供一高度灵活和成本低的解决办法。 图 32 at89c2051 内部结构图 此外,从 at89c2051 内部结构图也可看出,其内部结构与 8051 内部结构基本一致(除模拟比 较器外),引脚 rst、xtal1、xtal2 的特性和外部连接电路也完全与 51 系列单片机相应引脚一 致,但 p1 口、p3 口有其独特之处。 323 at89c2051 的引脚说明及引脚功能 vcc:电源电压 89c2051 有很宽的工作电源电压,可为 2.76v,当工作在 3v 时,电流相当 华中农业大学学士学位论文(设计) 7 于 6v 工作时的 14。89c2051 工作于 12hz 时,动态电流为 5.5ma,空闲态为 1ma,掉电态仅为 20na。这样小的功耗很适合于电池供电的小型控制系统。 gnd:接地。 p1 口:p1 口是一组 8 位双向的 i/o,p1.2p1.7 提供内部上拉电阻,p1.0 和 p1.1 内部无上拉 电阻,主要是考虑它们分别是内部精密比较器的同相输入端和反相输入端,如果需要应在外部接上 拉电阻。p1 口输出缓冲器可以吸收 20ma 电流并直接驱动 led。当 p1 口引脚写入“1”时可作输 入端,当引脚 p1.2p1.7 用作输入并被外部拉低时,它们将因为内部的上拉电阻而输出电流。p1 口还在闪速编程和程序校验期间接收代码数据。 p3 口:p3 口的 p3.0p3.7 是带有内部上拉电阻的七个双向 io 口。p3.6 没有引出,它作为 一个通用 io 口但不可访问,但可作为固定输入片内比较的输出信号,p3 口缓冲器可吸收 20ma 电流。当 p3 口写入“1”时,它们被内部上拉电阻拉高并作为输入端口。作输入端时,内部拉低的 p3 口将用上拉电阻输出电流 p3 口还用于实现 at89c2051 的各种功能,如下表 31 所示。 表 3 口引脚功能特性 p3.0rxd(串行输入口) p3.1txd(串行输出口) p3.2int0(外部中断 0) p3.3int1(外部中断 1) p3.4t0(定时计数器 0 外部输入) p3.5t1(定时计数器 1 外部输入) 从上述引脚说明可看出,at89c2051 没有提供外部扩展存储器与 io 设备所需的地址、数据、 控制信号,因此利用 at89c2051 构成的单片机应用系统不能在 at89c2051 之外扩展存储器或 io 设备,也即 at89c2051 本身即构成了最小单片机系统。p3 口还接收一些用于闪速存储器编程 和程序校验的控制信号。 rst:复位输入。rst 一旦变成高电平,所有的 io 引脚就复位到“1”。当振荡器正在运行 时,持续给出 rst 引脚两个机器周期的高电平便可完成复位。每一个机器周期需 12 个振荡器或时钟 周期。 xtal1:作为振荡器反相放大器的输入和内部时钟发生器的输入。 xtal2:作为振荡器反相放大器的输出。 振荡器特征:xtal1、xtal2 为片内振荡器的反向放大器的输入和输出端,如图和 所示。可采用石英晶体或陶瓷振荡器组成的时钟振荡器,如需从外部输入时钟驱动 at89c2051,时钟信号从 xtal1 输入,xtal2 应悬空。由于输入到内部电路是经过一个二分频触 发器,所以输入的外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序范围。 a at t8 89 9c c2 20 05 51 1 x xt ta al l1 1 x xt ta al l2 2 v vc cc c 外外部部 时时钟钟 输输入入 t tt tl l n nc c 图 33 外部时钟驱动电路 华中农业大学学士学位论文(设计) 8 a at t8 89 9c c2 20 05 51 1 x xt ta al l1 1 x xt ta al l2 2 c c1 1 c c2 2 图 34 内部震荡电路 由上述对 at89c2051 引脚介绍可见: p1 口和 p3 口共占 15 个引脚,外加复位、振荡(时钟)和电源端等已把芯片的引脚全部占完。然 而单片机在执行各种功能时还需要更多的引脚才能受控或与外界交换的信息,为解决这种矛盾,生 产厂家给芯片的某些引脚设置了第二功能,通过它可完成单片机的多种控制功能。例如对 89c2051 编程,需由 p3 口的 p3.3、p3.4、p3.5 和 p3.7 端加控制信号以完成闪速编程(如表 31);89c2051 要完成串行的输入、输出,外中断功能和外部输入定时,需 p3.0p3.5 端提供端口(表 31)。再有 p1.0、p1.1 是内部比较器输入端口。 323 专用功能寄存器(sfr) at89c2051 中特殊功能寄存器描述如表 9-2 所示,它们共占用了 19 字节,其功能与 8051sfr 功能相对应。 表 3-2 专用寄存器地址和复位值 寄存器符号寄存器地址复位值寄存器符号寄存器地址复位值 b0f0h00000000tmod89h00000000 acc0eoh00000000tl08ah00000000 psw0d0h00000000tl18bh00000000 ip0b8h 00000 th08ch00000000 p30b0h11111111tl08dh00000000 ie0a8h 000000 sp82h00000000 scon98h00000000dpl83h00000011 subf99h dph84h00000000 p190h11111111pcon87h00000000 tcon88h00000000 00000 324 指令约束条件 at89c2051 是 atmel 微控制器家族经济中低价成员。它含有 2k 字节的闪速程序存储器, 完全和 mcs51 结构兼容并可用 mcs51 指令集进行编程。但是在使用有关指令进行编程时, 却有一些限制(张晓君,2004)。 跳转或分支相关的全部指令必须进行空间约束,这样目的地址就会落在 at89c2051 的 2k 字 节的物理程序存储器空间内。例如,对于 2k 字节存储器的 at89c2051 来说,ljmp 7e0h 是一 有效的指令而 ljmp 900h 则是无效的。 分支指令 对于 lcall、ljmp、acall、ajmp、sjmp、jmpa+dptr 等指令,只要编程人员记住这 些分支指令的目的地址落在程序存储器大小的物理范围内(89c2051 的 00h 至 7ffh 单元),这些无 条分支指令就会正确执行。违背物理空间的限制会引起不可知的程序出错。cjne, djnz,jb,jnb,jc,jnc,jbc,jn,jnz 这些条件分支指令也适合上面的规则。同样, 超出内存界限,会导致不正确的执行结果。对于包括中断的应用,80c51 家族架构的正常中断服务 线程地址位置已被保留。 和 movx 相关的指令,数据存储器 at89c2051 包含 128 字节内部数据存储器。这样,at89c205l 中的堆栈深度局限于内部 ram 华中农业大学学士学位论文(设计) 9 的 128 字节范围内。它既不支持外部数据存储器的访问,也不支持外部程序存储器的执行。因此, 程序中不应包括 movx指令。 一般的 8051 汇编器即使在违反上述指令约束而写入指令时仍对指令进行汇编,使用时应了解 at89c2051 微控制器的存储物理空间和约束范围,适当调整所使用的指令寻址范围 at89c2051。 325 cpu 工作方式 空闲方式 在空闲模式下,cpu 自己转入睡眠状态,而芯片上其余所有的外围单元保持活动状态。该模 式由软件调用。在该模式中,芯片级 ram 和所有特殊功能寄存器的内容保持不变。空闲模式可以 由任意有效的中断或硬件复位来终止(王卫海,1995)。 如果未使用外部上拉电阻,p1.0 和 p1.1 应该被置为“0”,而如果用了外部上拉电阻,它们应 该被置为“1”。 应该注意,当空闲模式被硬件复位终止时,单片机 at89c2051 从它转入睡眠前的状态恢复到 正常的程序执行状态,比内部复位算法获得控制权提前两个机器周期。在这种场合,芯片内的硬件 禁止访问内部 ram,但访问端口引线是允许的。为了消除当空闲模式被复位终止时可能往端口作 不希望发生的写入操作,调用空闲模式指令后面紧跟的那条指令不应该是写端口或写外部内存的指 令。 低功耗方式 在低功耗模式下,振荡器被停止,调用低功耗模式的指令是被执行的最后一条指令。芯片级 ram 和特殊功能寄存器保持它们的值,直到低功耗模式终止。终止低功耗模式的唯一方法是,硬 件复位。复位操作重定义 sfr,但是不会改变芯片级 ram。复位动作应在 vcc 恢复到正常工作电 平时进行,而且必须保持足够长的时间,以使振荡器重启动并趋于稳定。 如果未使用外部上拉电阻,p1.0 和 p1.1 应该被置为“0”,而如果用了外部上拉电阻,它们应 该被置为“1”。 326 对 flash 闪速存储器的编程 at89c2051 是在擦除状态下(也即所单元内容均为 ffh 时)用 2k 字节的片内 perom 代码存 储阵列进行封装微控制器,其程序存储器是可以反复编程的。代码存储阵列一次编程一个字节,一 旦阵列被编程,如需重新编程非空(空为:ffh)字节,必须对整个存储阵列进行电擦除。如图 和。 图 35 编程电路 华中农业大学学士学位论文(设计) 10 图 36 校验电路 327 内部地址计数器 at89c2051 包含一个内部 eeprom 地址计数器,它总是在 rst 上升沿复位到 000h 并在 xtal1 引脚有一正跳变脉冲时进行计数。 33 at89c2051 软硬件的开发 89c2051 可以采用下面 2 种方法开发应用系统: 由于 89c2051 内部程序存贮器为 flash,所以修改它内部的程序十分方便快捷,只要配备一 个可以编程 89c2051 的编程器即可。调试人员可以采用程序编辑编译固化插到电路板中试验 这样反复循环的方法,对于熟练的 mcs51 程序员来说,这种调试方法并不十分困难。当做这种 调试不能够了解片内 ram 的内容和程序的走向等有信息(fiorini p,2000)。 将普通 8031/80c31 仿真器的仿真插头中 p1.0p1.7 和 p3.0p3.6 引出来仿真 2051,这种 方法可以运用单步、断点的调试方法,但是仿真不够真实,比如,2051 的内部模拟比较器功 能, p1 口、p3 口的增强下拉能力等。 34 性能价格比 下面就目前国内全胜较多的两种单片机,讨论一下 2051 的性能价格比。 与 80c31 系统相比较 如果需要构成一个 80c31 的最小系统的话,除了 cpu 之外,至少需要一片 27c64,而系统的 有效引脚和 89c2051 基本相同。从元器件的成本,电路板的面积和加密性来看,使用 89c2051 都 是合算的。 与 pic 单片机比较 目前,国内小型的单片机全胜较多的有 pic 系列,89c2051 与 pic 相对应芯片比较有如下特点: 89c2051 的价格高于 pic 的 otp 型号,但大大低于 pic 的 eprom 型,89c2051 片内不含 watch dog,这是 89c2051 的不足之处,中断系统堆栈结构、串等通讯笔定时器系统都大大强于 pic 系统。 由于 pic 芯片中无标准串等口,所以在单片机的联网应用上面,pic 不太适合。与 pic 相比 2051 更适合于较复杂的应用场合,适合一些软件需要多次修改的应用。 35 应用 就目前中国市场的情况来看,89c2051 有很大的市场。其原因有下列 2 点: 2051 采用的是 mcs51 的核心,十分容易为广大用户所接受; 2051 内部基本保持了 80c31 的硬件 i/o 功能; 2051 的 flash 存贮器技术,可重复擦/写 1000 次以上,容易解决调试手段; 更适合小批量系统的应用,容易实现软件的升级。 89c2051 适合于家用电器控制,分布式测控网络,i/o 量不足不是很大的应用系统(沈红卫, 2003)。 4 系统硬件设计 4.1 总体方案设计 华中农业大学学士学位论文(设计) 11 411 设计原理 该装置的目的是解决楼道路灯的电费自动分摊问题。设用电量为 m 每度电费为 l,则总电费 为: f=ml=iutl (4-1) 式中:u 为电源电压,可认为是常数;i 为总电流,与点亮的楼道路灯有关,是变量;t 为楼道 路灯点亮总时间,是变量。如住一楼用户,晚上进出只有一盏点亮;二楼用户,则有 2 盏灯(一楼 和二楼均点亮);以此类推,六楼的用户,则按顺序依次点亮盏灯,又按逆序熄灭。设路灯的功 率为(可认为是常数);则式(4-1)可写为: f=luit=lt=kt (4-2) 式中 k 为常数(庄兴元,1999)。因此,楼道内的电费问题,则转化为路灯点亮的总时间 t 的数学计算 问题。根据 t 的值,确定各用户的接通时间,实现电费的自动“收费”目的。 412 系统总体性能要求 根据原理设计,该耗电分配装置的设计考虑以下因素及性能要求: 4121 成本因素 考虑到用户的心理接受倾向,其成本应接近或低于普通电表或各种电计量电表,同时具有较高 的精度,即较好的可信度,才有市场推广价值。 4122 环境适应性 具有环境照度检测控制,白天不开灯,夜晚开灯;不管是采用手动开关,还是采用红外线人体 自动开关,都可以使用。 4123 节能性 该装置全天候工作在公用电网中,作为一个电子装置其本身有定功耗,若功耗过高,则电力部 门每年要承担较多的电力损失,同时有散热问题,从而产生安全隐患;该装置只有在使用路灯时, 才处于工作状态,此外绝大多数时间,处于待机状态,因此,必须采用电睡眠待机,通过按键唤醒 投入正常工作的运行模式(姚志中,2005)。 4124 可靠性 必须确保装置不因外界干扰引起误动作;不会因为装置本身的过热问题等因素引起火灾,或者 其它安全因素导致使用者触电等;同时还要有较长的寿命。 4125 方便性 该装置一般装在一楼的集中配电箱内,若只有 1 条共用相线引到各楼层,各楼层的 2 个用户的 路灯开关又可直接并联使用(或共用 1 个红外人体感应开关),布线就十分方便(徐璞,孙新怀,2006)。 413 装置总体结构原理图 装置的总体结构原理图如图所示。大虚线框内为该装置的控制电路,s 为分时切换的选 择开关。 图 41 耗电分摊装置总体结构原理框图 华中农业大学学士学位论文(设计) 12 42 系统硬件设计 主系统电路主要有看门狗电路、照度检测电路、路灯点亮按钮电路、分时切换控制电路及单片 机等组成。 421 单片机型号的选择 为了满足性能要求,选择了 atmel 公司的 51 系列单片机 89c2051 作为控制核心。 422 环境照度检测电路 lm393 是双电压比较器其有两个独立,精确的电压比较器组成,失调电压不超过 2.0mv 两比 较器是专门设计在电压范围较宽的单电源下工作,但在双电源下也能工作,并且其电源电流大小不 受电源电压幅度大小影响。这些比较器有一个独特的性能,就是即使在单电源下工作,其输入共模 电压范围也保持零电平。它有两个输入端和两个输出端,一个基准电压端。输入端电压低于基准电 压时输出端为高电平,反之输出端电平翻转。图为照度检测电路原理,图中的 r为光敏电 阻。当环境照度变低时,即 r6100k,运放输出约 7v 的直流电压,经电阻分压获得约 3.5v 的 数字逻辑高电平,送往单片机的 p3.0 脚,供单片机决策是否启用楼道里的路灯(张有军,张新廷, 孙洪勋,2001)。 图 42 环境照度检测电路 423 分时切换控制电路 图 43 为 12 路分时切换控制电路,光电耦合器件完成电平转换和隔离作用,以增强抗干扰能 力。分时切换执行部件由继电器 k1 完成,继电器选用直流 12v,线圈直流电阻约 400 的 jzc- 21f 型号。因为照度较低是夜间,系统中始终有 1 只继电器的线圈是通电的,因此它的功耗和节能 很重要。继电器在吸合后,其维持电压额定电压的 75%,就是说在继电器吸合后时加 12v 电压, 吸合以后降到额定电压的 80%,既能保证可靠工作,又能起到节能目的。图中的电容 c和电阻 r33 就是为此目的设置的,继电器刚吸合时,电容 c上的电压为 0,且不能突变,12v 电压全部 加在继电器上,继电器吸合后,电容冲电结束相当于断开,r33 串入继电器线圈。因此,r33 是限 流电阻,d1 是继电器释放时的放电回路。发光二极管 l1 为继电器工作指示,同时也为 r33 分担 部分电流。由图中参数可求得其节能约为(李卫平,2003): (43) 22 uu 11 p-7.2% + rrr kk33 a 华中农业大学学士学位论文(设计) 13 图 43 分时切换控制电路 424 路灯点亮按钮电路 为了提高控制系统的抗干扰能力,在控制电路和开关电路之间使用光电耦合器实现隔离。图中 的 s1,s2,s12 为分布于各楼层住户的路灯按钮。当其中任何一个被按下时均会通过光电耦合 tlp521-1 在 p3.2(int0)引脚产生一个下降沿,触发外部中断 0,唤醒 89c2051。在外部中断 0 的中断服务程序中,完成是否允许点灯的判断,如果允许,则分时切换控制电路的继电器就动作, 点亮路灯。当然路灯是否点亮首先取决于 p3.0 的状态(即环境照度)(秦曾煌,1999)。 图 44 路灯点亮按钮位原理图 425 看门狗电路 当微机受到干扰时会引起程序乱飞,将有可能使程序陷入“死循环”。此时,采用指令冗余、 软件陷阱等技术都不能使失控的程序摆脱“死循环”的困境,所以采用程序监控技术,又称“看门 狗”技术,使程序脱离“死循环”。系统应用程序一般往往采用循环运行方式,每次循环的时间基 本固定在一个区间内。“看门狗”技术就是不断监控程序运行时间,若发现时间超过已知的循环上 限设定时间。则认为系统进入了“死循环”,然后强迫程序返回开始入口,并在开始入口,并在开 始入口处安排一段出错处理程序,使系统快速纳入正轨运行(张向丰,2006)。 本装置的看门狗电路使用了 maxim 公司生产的低成本微处理器监控芯片 max813l,其 dip 封装引脚图如图所示。其中为 mr 手动复位端;vcc 为工作电源端,接电源;vss 为电源接 地端;pfi 为电源故障输入端;pfo 为电源故障输出端,这两两个引脚在本装置未使用;wdi 为看 门狗信号输入端,程序正常运行时,必须在小于 1.6s 的时间内向该输入端发送一个脉冲信号,以消 除芯片内部的看门狗定时器,当单片机超过 1.6 秒未向 max813l 的看门狗输入端发冲信号, max813l 内部的定时器将会强制将 wdr 拉到低电平;rst 为复位信号脉冲输出端,上电和掉电 时自动产生 200ms 的复位脉冲,手动复位端输入低电平时该端也产生复位输出;wdr 为看门狗信 华中农业大学学士学位论文(设计) 14 号输出端,正常运行时输出保持高电平,看门狗输出时该端有高电平变为低电平。其电路图如图 所示。接 89c2051 的管脚 p3.3,rst 端与电片机的复位端相连,mr 和 wdr 相连,程序正常运行时每隔一段时间通过 p3.3 给 wdi 端送入一个脉冲,以清除 max813l 内部的看门狗计数器,若程序“跑飞”,1.6s 未 向 wdi 输出脉冲,看门定时器便会溢出,wdr 输出低电平,由于 wdr 与 mr 相连,所以相当于 手动复位,最终由 rst 端输出复位信号,使单片机复位。同时 mr 通过开关 s0 与 vss 相通,也可 使单片机复位(黄晓明,2006)。 图 45 看门狗电路图 图 46 max813l 引脚图 426 系统供电电源设计 系统供电电源原理图 4-7 所示。 图 47 电源原理图 4271 主系统电源电路 主系统采用+5v 电源。为了减低成本,采用“变压器降压整流滤波稳压”的线性电源。 这里选用了 78l05 端稳压器(李晓豁,2004)。 4272 分时切换控制电路工作电源 继电器工作电压为+12v,考虑继电器对到系统稳定性的影响,这里采用“变压器降压整流 华中农业大学学士学位论文(设计) 15 稳压”的方式,有稳压但没有大容量滤波。这是因为大容量滤波电容的存储电能会使继电器关断 时间延长,从而导致上个继电器没有关断,下个继电器动合的现象。 428 系统时钟电路设计 系统时钟为,目的是减少功耗。因为系统对运行速度的要求很低,外围继电器的动作 时间和路灯按键的响应时间,均在以上(吴瑰丽,2004)。 图 时钟电路图 429 长期运行的安全性设计 由于该装置的长期运行工况,因此必须考虑装置本身的安全问题和合装置安全引发的其他诸如 人身安全性、住宅楼安全性问题。这里关键要保证装置本身的安全性。 4291 功耗与散热问题 装置的功耗和散热是连在一起的。只有降低功耗,才能减少装置的发热,也才能从根本上解决 散热问题。两个三端稳压器和变压器均紧贴在装置的外壳上,以外壳作为一个大散热体。由于装置 一般安装在配电箱内,而配电箱一般是金属外壳,这样可促进散热,从外界解决了散热问题。 4292 装置过流问题 由于装置本身的元器件失效导致系统过流,引发电力火灾等,这个问题比较容易解决。只要在 装置的电源进线的相线上串接快速熔断器,就足以保证避免此类现象发生(陈鹏,2006)。 5 软件设计 51 at89c2051 的程序编制 511 编程算法 要编程 at89c2051,则需要下列步骤(杨振江,2003): 上电次序在 vcc 和 gnd 引脚之间加上电源;设置 rst 和 xtal1 为 gnd;所有其它引脚浮空,至少 等待 10ms。 设置 rst 引脚为高电平“h”,设置 p3.2 引脚为高“h”。 对引脚 p3.3,p3.4,p3.5,p3.7 加上逻辑电平高“h”或低“l”的正确组合,来选择 eeprom 编 程方式如表 51 中所示中的一种编程操作。 表 51 闪速编程方式 方式rst/vppp3.2/progp3.3 p3.4p3.5p3.7 写代码数据12vlhhh 读代码数据hhllhh 写加密 位-1 12vhhhh 写加密 位-2 12vhhll 片擦除12vhlll 读特征节hhllll 注: 内部 eprom 地址计数在 rst 的上升沿复位到 000h 并由 xtal1 引脚正脉冲进行计数; 华中农业大学学士学位论文(设计) 16 片擦除需要 10ms 的 prog; 编程期间 p3.1 被拉低来指示 rdy/bsy; 编程和校验存储器阵列,由下列(4)(10)点实现: 在 000h 单元对 p1.0pl.7 加人数据代码字节。 升高 rst 到 12v 来激活编程。 使 p3.2 跳变一次来编程 eeprom 阵列中的一字节或者加密位。写字节周期是自身定时的,一般需 用 l.2ms。 校验已被编程的数据,使 rst 从 12v 降到逻辑电平“h”并设置 p33p37 引脚到正确的电平。 可在 p1 口引脚输出数据。 在下一地址单元编程字节,使 xtal1 跳变一次提升内部地址计数器。对 p1 口引脚加入新数据。 重复步骤 5 至 8,对整个 2k 字节阵列改变数据并提升地址计数器或者一直到目标文件的结束。 下电次序:设置 xtal1 为“l”;设置 rst 为“l”电平;悬空所有其它 i/0 引脚,直到关闭电源 512 数据查询 at89c2051 具有指示写周期结束的数据查询功能。在写周期期间,对最后写入字节的试图读 将令 p1.7 上写入数据的操作结束。一旦写周期完成,则全部输出端的真实数据有效,同时下一个 周期开始。数据查询可在写周期被初始化的任一时刻开始。 513 rdy/bsy 字节编程的进度还可由“rdy/bsy”输出信号监控,编程期间,p3.1 引脚在 p3.2 变“高”后 被拉低来指示“bsy”。p3.1 在编程结束时被再次拉高来指示“rdy”。 514 程序校验 如果加密位 lb1 和 lb2 没进行编程,则代码数据可通过校验数据线读回: 使 rst 从“l”变到“h”,复位内部地址计数器 000h。 对读代码数据加入正确的控制信号并在 p1 口引脚读输出数据。 使 xtal1 引脚跳变一次来提升内部地址计数器。 在 p1 口引脚读下一个代码数据字节。 重复步骤(3)和(4)直到读完整个阵列。 加密位不可直接进行校验。加密位的校验可通过对存储器的校验和写入状态来得到。 517 片擦除 利用控制信号的正确组合并保持 p3.2 引脚 10ms 的低电平就可电擦除整个 eeprom 阵列(2k 字节)和两个加密位。代码阵列在片擦除操作中写入全“1”并必须在任何非空存储器字节可被再编 程之前执行。 518 读特征字节 除 p3.5 和 p3.7 必须被拉成逻辑低电平外,读特征字节的过程和单元 000h,001h 以及 002h 的正常校验过程相同(周彦明,2002)。返回值如下: (000h)=1eh 指示产品由 atmel 制造 (001h)=21h 指示 89c2051 单片机 519 编程接口 闪速阵列中的每一代码字节可进行写入并且整个阵列可用控制信号的正确组合进行擦除。写操 作周期是自身定时的,一旦初始化它将自动定时到操作完成。 52 mcs-51 汇编语言简介 mcs-51 汇编语言共有指令 111 条,分五类:数据传送类指令 29 条;算术运算类指令 24 条; 逻辑运算及移位指令 24 条;控制转移类指令条;布尔变量操作类指令条。绝大部分指令 执行时都要用到操作数,最容易到哪里去取得操作数呢?最易想到的是告诉 cpu 操作数所在的地 址单元,从那里可以取得相应的操作数,这便是“寻址”之意。mcs-51 的寻址方式很多,使用起 来也相当方便,功能也很强大,灵活性强。这便是指令系统“好用”的原因之一。下面我们分别几 种寻址方式(徐咏龙,2004)。 521 直接寻址 指令中操作数直接以单元地址形式出现,mov a,68h,这条指令的意义是把内部 ram68h 单 元中的数据内容传送到累加器 a 中。 522 寄存器寻址 寄存器寻址对选定的八个工作寄存器 r0r7 进行操作,也就是操作数在寄存器中,因此指定 华中农业大学学士学位论文(设计) 17 了寄存器就得到了操作数,寄存器寻址的指令中以寄存器的符号表示寄存器,例如:mov a,r1, 这条指令的意义是把所用的工作寄存器中的 r1 的内容送到累加器 a 中。 523 寄存器间接寻址 寄存器中存放的为操作数的地址,也即操作数是通过寄存器指向的地址单元得到的,这便是寄 存器间接寻址名称的由来。例如指令:mov a,r0,这条指令的意义是将 r0 寄存器指向地址 单元中的内容送到累加器 a 中。 524 立即寻址 把操作数直接在指令中给出,即操作数包含在指令中,指令操作码的后面紧跟着操作数,一般 把指令中的操作数称为立即数,因此而得名。为了与直接寻址方式相区别,在立即数前加上“#” 符号,例如:mov a,0eh,这条指令的 意义是 0eh 这个操作数送到累加器

温馨提示

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

评论

0/150

提交评论