微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于RlTOS和ISP功能的数字仪表系统设计与实现

基于RlTOS和ISP功能的数字仪表系统设计与实现

时间:10-29 来源:互联网 点击:

3.3 DSl8820的1-Wire子程序 DSl8820的突出优点是将现场采集的环境温度直接以数字形式输出,这样可以省去后续的信号放大及模/数转换部分,构建外围电路的元件少且相对简单,系统成本低廉;1-Wire接口与AT89S52通信,其结构便于多点测量且易于扩展;测温范围宽(-550℃~1250℃)且精度高。 对l-Wire的操作关键是软件时序的处理,对于不同的晶体振荡器其延时参数是不同的,本系统以12MHz为例给出如下主要程序代码: bit DallassReset(void) { unsigned char presence=0; DallassDataout=1; //发出复位脉冲前先释 放总线 delay(10); DallassDataout=0; delay(240);//保证延时在4801μs~9601μs之间 DaUassDataout=1; delay(35); Dresence=DallassDataout; delay(60); return(presence); } //写时序从主控制器把总线拉低时开始 void writeCommand(unsigned char command) { unsigned char count; for(count=O;count8;count++) { DallassDataout=0; if(command%26;amp;0x01==1) { DallassDataout=1; //写“1”时序在将总线拉低后,AT89S52主控制器必须在15μs内释放总线,所以此语句之前不能有较长时间的延时语句 } delay(35);//无论写“1”还是写“0”时序都必须有至少601as的低电平 DallassDataout=1;//总线恢复的过程 command=command>>1; } } //读时序从主控制器将总线拉低至少1μs后释放总线的时刻开始 unsigned char readdata(void) { unsigned char value; unsigned char midtemp=0; for(value=0;value8;Value++) { I DallassDataout=0; midtemp=midtemp>>1; -nop_O; _nop_O; DallassDataout=1; //读时序时,控制器必须在15μs内释放总线,然后采样总线状态,所以此语句之前不能延时太长的时间的延时语句 if(DallassDataout==1) { midtemp=midtemp | 0x80; //因为midtemp初始被赋值为0,所以如果采样总线状态为0则不必处理,0会自动被返回 } delay(35); //延时70μs完成此次Bit 位读时序过程,为下一次读作准备 } return(midtemp); } void delay(unsigned char out) { unsigned char in; for(in=out;in>O;in--); } 4 ISP的结构原理 将ISP功能集成到成型的PCB上就可以实现程序的实时更新与升级操作,其结构原理如图5所示,这对于复杂工程系统设计显然是很方便的,也是切实可行的。 5 结论 随着智能仪器仪表技术的发展,显示模块的液晶化已成为一种较为流行的趋势。本文给出的软硬件设计方案已在某武器系统的调试过程中得到正确、可靠、稳定的运行。它不仅克NT模似仪表体积大、故障率高的缺陷,而且由于运用了RTOS技术,使数据检测的敏捷度得到大幅提升。另外,ISP功能的在线集成也为系统功能的扩充预留了空间。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top