- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
状态机在嵌入式系统中使用方法
状态机在嵌入式系统中的使用方法 2014年9月21日
PAGE4 / NUMPAGES4
状态机在嵌入式系统中的使用方法
在嵌入式系统的应用中,有很多关系到状态机的运用。那么他是如何来应用的,怎么去理解。今天在此信盈达做一简单的介绍。
首先,我们来看一下什么是状态机?状态机又称有限状态机,(finite-state machine, FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。有限状态自动机在很多不同领域中是重要的,包括电子工程、?语言学、计算机科学、哲学、生物学、数学和逻辑学。有限状态机是在自动机理论和计算理论中研究的一类自动机。在计算机科学中,有限状态机被广泛用于建模应用行为、硬件电路系统设计、软件工程,编译器、网络协议、和计算与语言的研究。
本次我们以DS18B20为例来讲解状态机在嵌入式系统中的使用方法。DS18B20是由达拉斯半导体生产的单总线数字式温度传感器。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。
主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
技术性能描述
①、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
②、测温范围-55℃~+125℃,固有测温误差(注意,不是分辨率)1℃。
③、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。
④、工作电源:?3.0~5.5V/DC?(可以数据线寄生电源)
⑤、在使用中不需要任何外围元件
⑥、测量结果以9~12位数字量方式串行传送
⑦、不锈钢保护管直径?Φ6
⑧、适用于DN15~25,?DN40~DN250各种介质工业管道和狭小空间设备测温
⑨、标准安装螺纹M10X1,M12X1.5,G1/2任选
⑩、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。
DS18B20和单片机的电路连接方法。
DS18B20对外有3个引脚,1脚VCC(电源)?2脚DQ?(数据总线)?3脚GND(地线)
DS18B20的操作方法和操作时序。
操作方法:
步骤1:初始化
步骤2:ROM操作指令初始化
步骤3:DS18B20功能指令
每一次DS18B20的操作都必须满足以上步骤,若是缺少步骤或者顺序混乱,器件将不会返回任何值。
操作时序:
初始化:
通过单总线的所有操作处理都从一个初始化序列开始。初始化序列包括一个由控制器发出的复位脉冲和其后由从机发出的存在脉冲。存在脉冲让总线控制器知道DS18B20在总线上已经准备好了。初始化步骤由复位脉冲和存在脉冲组成:时序如下:
ROM操作指令:
DS18B20的ROM操作指令如下:
一旦总线控制器探测到一个存在脉冲,它就发出一条ROM操作指令。如果总线上挂有多只18B20,这些指令将基于器件独有的64位序列码使得总线控制器选出特定要进行操作的器件。这些指令也可以让总线控制器识别有多少只,什么型号的器件挂在总线上。ROM指令有5条,都是8位长度。总线控制器在发送一条18B20功能指令之前必须先发送一条ROM指令。由于我们所讲述的系统只有一个18B20,所以用不到18B20的64位ROM码。下述讲解我们使用到的指令。详细指令请看18B20数据手册。
① 忽略ROM指令(CCH):这条指令允许总线控制器不提供64位ROM码就使用功能指令。
功能指令:在DS18B20发送完ROM操作指令后,跟着可以发送一条DS18B20功能指令。这些命令允许总线控制器读写DS18B20暂存器,发起温度转换模式。
② 温度转换指令(44H):这条命令用于启动一次温度转换。温度转换指令被执行,产生的温度转换结果以2字节的形式被存储在高速暂存器中。而后DS18B20保持等待状态,等待控制器读取数据。DS18B20处于转换期间,将在总线上返回0,转换完成,返回1。
③ 读暂存器指令(BEH):这条指令读取暂存器中的内容,从0地址开始读取,直到第9个字节读取完毕,如果不想读完所有字节,控制器可以在任何时间发出复位命令来终止读取。
DS18B20读写时序图:
DS18B20数据在高速内存中的排放顺序:
编程思路:
由于我们的系统只有
文档评论(0)