在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于RlTOS和ISP功能數(shù)字儀表系統(tǒng)設計實現(xiàn)

      基于RlTOS和ISP功能數(shù)字儀表系統(tǒng)設計實現(xiàn)

      作者: 時間:2012-02-09 來源:網(wǎng)絡 收藏

      void SetPage(unsigned char page0,unsigned char pagel)

      {

      MasterWriteI(0xb8 | pagel);

      SlaveWriteI(0xb8 | page0);

      }

      void SetColumn(unsigned char address0,unsigned char addressl)

      {

      MasterWriteI(0x3f addressl);

      SlaveWfiteI(0x3f address0);

      }

      //在主控制器操作的左邊LCM屏上顯示一列信息(由8個像素點構成)

      void MasterPutChar(unsigned char masterchar)

      {

      ReadState();

      MasterWriteD(masterchar);

      }

      一般說來。AT89S52的RAM存儲空間是有限的,而圖形或字符的點陣代碼(可以下載相關的應用插件,由.bmp文件或字符自動生成)如果太大,放置到RAM區(qū)會出現(xiàn)內(nèi)存不足的告警提示,為此可按如下方式處理:

      unsigned char code Dotn[]=lOxOO,Ox00,0x30,

      0x00,0x30,Ox00,Ox00,0x00};

      即將點陣代碼通過code關鍵字限定后放于ROM區(qū)域內(nèi)。

      }

      return(midtemp);

      }

      void delay(unsigned char out)

      {

      unsigned char in;

      for(in=out;in>O;in--);

      }

      4 的結構原理

      功能集成到成型的PCB上就可以實現(xiàn)程序的實時更新與升級操作,其結構原理如圖5所示,這對于復雜工程系統(tǒng)設計顯然是很方便的,也是切實可行的。

      55

      5 結論

      隨著智能儀器儀表技術的發(fā)展,顯示模塊的液晶化已成為一種較為流行的趨勢。本文給出的軟硬件設計方案已在某武器系統(tǒng)的調(diào)試過程中得到正確、可靠、穩(wěn)定的運行。它不僅克NT模似儀表體積大、故障率高的缺陷,而且由于運用了技術,使數(shù)據(jù)檢測的敏捷度得到大幅提升。另外,功能的在線集成也為系統(tǒng)功能的擴充預留了空間。


      3.3 DSl8820的1-Wire子程序

      DSl8820的突出優(yōu)點是將現(xiàn)場采集的環(huán)境溫度直接以數(shù)字形式輸出,這樣可以省去后續(xù)的信號放大及模/數(shù)轉(zhuǎn)換部分,構建外圍電路的元件少且相對簡單,系統(tǒng)成本低廉;1-Wire接口與AT89S52通信,其結構便于多點測量且易于擴展;測溫范圍寬(-550℃~1250℃)且精度高。

      對l-Wire的操作關鍵是軟件時序的處理,對于不同的晶體振蕩器其延時參數(shù)是不同的,本系統(tǒng)以12MHz為例給出如下主要程序代碼:

      bit DallassReset(void)

      {

      unsigned char presence=0;

      DallassDataout=1; //發(fā)出復位脈沖前先釋

      放總線

      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(command0x01==1)

      {

      DallassDataout=1;

      //寫“1”時序在將總線拉低后,AT89S52主控制器必須在15μs內(nèi)釋放總線,所以此語句之前不能有較長時間的延時語句

      }

      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內(nèi)釋放總線,然后采樣總線狀態(tài),所以此語句之前不能延時太長的時間的延時語句

      if(DallassDataout==1)

      {

      midtemp=midtemp | 0x80;

      //因為midtemp初始被賦值為0,所以如果采樣總線狀態(tài)為0則不必處理,0會自動被返回

      }

      delay(35);

      //延時70μs完成此次Bit

      位讀時序過程,為下一次讀作準備

      電能表相關文章:電能表原理

      上一頁 1 2 3 下一頁

      評論


      相關推薦

      技術專區(qū)

      關閉