网站地图| 免费获取|
教育资料网
  • 网站首页|
  • 资料范文|
  • 修改降重|
  • 职称资料|
  • 合作期刊|
  • 资料下载|
  • 计算机资料|
  • 外文翻译|
  • 免费资料|
  • 原创资料|
  • 开题报告资料
搜索

当前位置:教育资料网 -> 免费资料 -> 电子资料 -> 免费资料论文--基于单片机的温度监测系统(五)
自动化资料范文| 电子机电资料| 测控技术资料| 通信专业资料| 电气工程资料| 通信工程资料| 电子信息工程资料| 免费自动化资料| 免费电子资料| 免费电气资料| 免费通信资料

免费资料论文--基于单片机的温度监测系统(五)

免费资料论文--基于单片机的温度监测系统(五) 微控器等),一线总线器件在采用这种工作方式时就充当着从设备的作用。由于只有一根线,并且没有译码功能,所以这些器件是一线总线系统唯一的从设备,所有的数据和命令都在这根总线上传送,数据和命令字节传送顺序是从低位到高位。
 为了使其它的设备也能使用这根线,一线总线协议通过一个三态门转换传输状态,使得每一个设备在不传送数据时空出该数据线给其它设备。因为一线总线在外部有一个上拉电阻,所以在总线空闲时是高电平。为保证信号的完整性,一线总线协议定义了以下几种信号:复位脉冲、存在脉冲、读写0或1。除存在脉冲外,其它的信号均由主设备发出。
 如上图所示,RX和TX分别是内部数据的发送和接收端,外界的环境量变化引起敏感膜的变化,产生的电信号被编码成数字量,存储在专用寄存器当中,经由DQ端读入到单片机当中。
    主设备给低电平并保持480 u s就空出总线并进入接收模式RX。此时上拉电阻器使总线为高电平,即空闲状态。一旦一线总线器件检测到这一上升沿,就会等待15~60us,并给出存在脉冲使总线保持60~240u s的低电平。而写操作均在读、写时隙之间进行,在每个时隙中,系统只传送一个二进制位。
    1-Wire协议定义的几种信号类型:复位脉冲、应答脉冲、写0、写1、读0和读1时序,组成了所有总线上传输的信号。也就是说,所有的一线总线命令序列(初始化、ROM命令、功能命令)都是由这些基本的信号类型组成的。这些信号,除了应答脉冲外,都是由主机发出,并且发送的所有命令和数据都是字节的低位在前。另外,初始化时序同时包括主机发出的复位脉冲和从机发出的应答脉冲。主机通过拉低一线总线至少480 u s,以产生TX复位脉冲;然后主机释放总线,并进入RX接收模式。当主机释放总线时,总线由低电平跳变为高电平时产生一个上升沿,一线总线器件检测到这上升沿后,延时15~60 u s,接着一线总线器件通过拉低总线60~240 u s,以产生应答脉冲。主机接收到从机应答脉冲后,说明有一线总线器件在线,然后主机就可以开始对从机进行ROM命令和功能命令操作。
 综上所述,在一线总线上进行数据传输时,一线总线器件和主机之间必须遵循严格的读时序和写1、写0时序。在每一个时序中,总线只能传输一位数据。所有的读、写时序至少需要60 u s,且每两个独立的时序之间至少需要1 u s的恢复时间。读、写时序均起始于主机拉低总线。在写时序中,主机拉低总线后,在15 u s之内释放总线,向一线总线器件写1;若主机拉低总线后,保持至少60 u s的低电平,则向一线总线器件写0。一线总线器件仅在主机发出读时序时才向主机传输数据,所以,当主机向一线总线器件发出读数据命令后,必须马上产生读时序,以便一线总线器件能传输数据。在主机发出读时序之后,一线总线器件才开始在总线上发送0或1,若一线总线器件发送1,则保持总线高电平,若发送0,则拉低总线。一线总线器件发送数据之后,保持有效时间15 u s,因而,主机在读时序期间必须释放总线,并且必须在15 u s之内采样,从而接收到从机发送的一位数据。
 

 5系统软件设计
 5.1 系统程序设计总框图

系统所有的代码都是用汇编语言编写。如上图所示,为系统总的软件设计逻辑框图,说明所编写软件的实际运行逻辑过程。下面结合本系统的硬件结构,以文字详细说明本系统软件的算法。
 5.2 软件算法说明
算法步骤:
    1、AT89C51监测P1.6引脚电平,为高电平进入步骤2,为低电平进入步骤6;
    2、AT89C51向P1.6发送复位脉冲后释放总线,DS 1820发响应存在脉冲,如无存在脉冲响应,返回步骤1,否则执行下一步;
    3、AT89C51向DS 1820发送READ ROM命令,AT89C51等待监听P1.6口;
    4、DS 1820向AT89C51发送64位ROM码,AT89C51将收到的ROM码存入数据暂存存储器;
    5、AT89C51将ROM码逐一显示,16个十六进制码全部显示完后,回到步骤1;
    6、AT89C51向P1.5引脚发送复位脉冲后释放总线,所有总线上DS1820发响应存在脉冲,如无存在脉冲,循环执行本步骤,否则进入下一步骤;
    7、AT89C51接收到DS 1820应答,向总线发送SEARCH ROM命令,进入二叉树查询子程序(该二叉树查询算法及其子程序的软件编写非常复杂)。查询总线上所有的DS 1820以及它们的ROM码,并将ROM码记录入数据暂存存储器;
    8、AT89C51向总线发送复位脉冲后释放总线,然后向总线发送SKIP ROM命令并释放总线,所有总线上的DS 1820进入等待监听状态;
    9、AT89C51向总线发送CONVERT T命令并延时1~2秒钟,所有的DS 1820进行温度转换,并将结果存入存储器;
    10、AT89C51向总线发送复位脉冲,收到响应存在脉冲后,向总线发送MATCH ROM命令;
    11、 AT89C51向总线发送1个ROM编码,符合该ROM码的DS 1820继续响应,其余的DS 1820停止响应;
    12、AT89C51向总线发送READ SCRATCHPAD命令并释放总线;
    13、DS 1820向总线发送存储器里存放的温度转换结果;
    14、AT89C51将接收到的结果转换成十进制,并通过LED数字显示管显示出来;
 15、系统是否已经完成所有的DS 1820温度读取,如未完成,程序返回至步骤10进入下一个传感器的温度读取。如已经完成,则返回至步骤8。
 说明:
    当系统进入温度监测运行之后,是无法再进入读ROM操作的。如果此时用户想测定某个DS 1820的值,就需要将切换跳线切换至读ROM操作模式。
    系统每次重启进入温度监测运行模式之后,都要重新搜索总线上DS 1820的ROM码。所以,如果在系统重启之前改变总线上的DS 1820 ,那么系统就会重新为DS 1820排序和编号。用户在每次重启的时候都需要注意这个问题。要看看总线上的DS 1820是否有变动。如果有变动,就必须重新为这些DS 1820的编号做记录。
 反过来说,如果系统总线上的DS 1820发生变动,就必须重启系统。重新搜索、排序DS 1820的ROM码,以保证DS 1820的编号的正确性。
 5.3 一线总线协议的软件实现
 一线总线协议实现的基础是三种I/O操作,分别是总线复位脉冲、读时序和写时序。与之直接相关的子程序分

首页 上一页 2 3 4 5 6 7 8 下一页 尾页 5/8/8

免费资料论文--基于单片机的温度监测系统(五)由教育资料网(www.jaoyuw.com)会员上传。
原创资料流程 相关资料
上一篇:小型氧气机 下一篇:电子相关课题仿真及程序
推荐资料 本专业最新资料
Tags:免费 资料论文 基于 单片机 温度 监测 系统 2010-03-19 21:24:01【返回顶部】
精彩推荐
发表资料

联系方式 | 资料说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士资料


教育资料网提供资料范文,资料代发,原创资料

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2020 教育资料网 版权所有 湘ICP备19027999