计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

免费毕业论文--基于单片机的温度监测系统(一)(5)

2013-05-10 18:04
导读:微控器等),一线总线器件在采用这种工作方式时就充当着从设备的作用。由于只有一根线,并且没有译码功能,所以这些器件是一线总线系统唯一的从设
微控器等),一线总线器件在采用这种工作方式时就充当着从设备的作用。由于只有一根线,并且没有译码功能,所以这些器件是一线总线系统唯一的从设备,所有的数据和命令都在这根总线上传送,数据和命令字节传送顺序是从低位到高位。
 为了使其它的设备也能使用这根线,一线总线协议通过一个三态门转换传输状态,使得每一个设备在不传送数据时空出该数据线给其它设备。因为一线总线在外部有一个上拉电阻,所以在总线空闲时是高电平。为保证信号的完整性,一线总线协议定义了以下几种信号:复位脉冲、存在脉冲、读写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码存入数据暂存存储器;

(科教范文网 lw.nseaC.Com编辑发布)


    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的编号做记录。 (科教作文网http://zw.nseAc.com)
 反过来说,如果系统总线上的DS 1820发生变动,就必须重启系统。重新搜索、排序DS 1820的ROM码,以保证DS 1820的编号的正确性。
 5.3 一线总线协议的软件实现
 一线总线协议实现的基础是三种I/O操作,分别是总线复位脉冲、读时序和写时序。与之直接相关的子程序分
上一篇:小型氧气机(一)信息工程毕业论文 下一篇:没有了