<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于MSP430的智能溫度檢測(cè)系統(tǒng)設(shè)計(jì)

          基于MSP430的智能溫度檢測(cè)系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2013-04-13 來(lái)源:網(wǎng)絡(luò) 收藏

          3. 1. 1 復(fù)位子程序

            該程序的主要功能是負(fù)責(zé)的復(fù)位, 以方便進(jìn)行以后的操作。復(fù)位要求主CPU 將數(shù)據(jù)線下拉500微秒, 然后釋放, 收到信號(hào)后等待16~ 60微秒左右, 后發(fā)出60 ~ 240微秒的存在低脈沖, 主CPU 收到此信號(hào)表示復(fù)位成功。

            bit Reset( )

            { unsigned char ;i

            bit flag;

            DS18B20= 0:

            for( i= 0; i 200; i+ + ) ; / /保持低電平500微秒

            DS18B20= 1:

            for( i= O; i 30; i+ + ) ; / /等60微秒

            flag= DS18B20; / /取DS18B20狀態(tài)

            for( i= 0; i 100; i+ + ) ; / /等300微秒

            return flag; / / flag= 0復(fù)位成功, flag= 1, 復(fù)位不成功

            }

            3. 1. 2 寫(xiě)一個(gè)字節(jié)子程序:

            CPU 將數(shù)據(jù)線從高電平拉至低電平, 產(chǎn)生寫(xiě)起始信號(hào); 15 微秒之內(nèi), 將所寫(xiě)的位送到數(shù)據(jù)線上;DS18B20在之后15~ 60微秒接收位信息; 寫(xiě)下一個(gè)位之前要有1秒以上的高電平恢復(fù); 將以上過(guò)程重復(fù)8次, 即完成一個(gè)字節(jié)的寫(xiě)操作。

            vo idWRDS18B20( unsigned char data0)

            { unsigned char ,i ;j

            for( j= 0; j 8; j+ + )

            {

            DS18B20= 0; / /高電平拉到低電平, 產(chǎn)生寫(xiě)起始信號(hào)

            for( i= 0; i 1; i+ + ) ;

            DS18B20 = da ta0 0x01; / /15微秒內(nèi)寫(xiě)一位

            for( i= 0; i 20; i+ + ) ; / /等60微秒, DS18B20完成采樣

            DS18B20= 1; / /高電平恢復(fù)

            data0= data0> > 1; / /右移, 為下一位準(zhǔn)備}

            }

            3. 1. 3 讀一個(gè)字節(jié)子程序

            CPU 將數(shù)據(jù)線從高電平拉到低電平1微秒以上, 再拉到高電平, 產(chǎn)生讀起始信號(hào); 15微秒之內(nèi),CPU 讀一位; 讀周期為60微秒, 讀下一個(gè)位之前要有1微秒以上的高電平恢復(fù); 將以上過(guò)程重復(fù)8次,即完成一個(gè)字節(jié)的讀操作。

            unsigned charRDDS18B20( )

            { unsigned char ,i ,j data0= 0;

            bit temp;

            for( j= 0; j 8; j+ + )

            { DS18B20= 0; / /高電平拉到低電平1微秒以上

            for( i= 0; i ;l i+ + ) ;

            DS18B20= 1; / /再拉到高電平, 產(chǎn)生讀起始信號(hào)

            for( i= 0; i 1; i+ + );

            temp= DS18B20; / /15微秒之內(nèi)讀一位

            for( i= 0; i 20; i+ + ); / /等60微秒

            data0= dataO > > 1; / /為下一位準(zhǔn)備

            if( temp= = 1) data0= dataO |0x80;

            else data0= data0 0x7;f

            DS18B20= 1; / /高電平恢復(fù)

            for( i= O; i 1; i+ + ); }

            return data0; }

            3. 2 上位機(jī)軟件編程

            系統(tǒng)采用MSCOMM 控件實(shí)現(xiàn)VC ++ 與單片機(jī)之間的數(shù)據(jù)交換, 具有程序?qū)崿F(xiàn)簡(jiǎn)便、程序模塊化、工作可靠等優(yōu)點(diǎn), 并能滿(mǎn)足多數(shù)情況下的工控要求。

            使用MSCOMM控件主要是通過(guò)事件來(lái)處理串行口的交互??丶腗SCOMM 事件負(fù)責(zé)捕獲或處理這些通訊事件和通訊錯(cuò)誤。

            4 結(jié)束語(yǔ)

            測(cè)溫系統(tǒng)采用了集成度高、功耗低的F149 為核心微處理器, 通過(guò)傳感器DS18B20實(shí)現(xiàn)對(duì)溫度測(cè)量, 并進(jìn)行存儲(chǔ)和顯示。實(shí)驗(yàn)表明: 當(dāng)外界溫度試驗(yàn)的范圍設(shè)定在0℃ ~ 50℃ ,可確保測(cè)量誤差不超過(guò)±0. 5℃ , 在試驗(yàn)板上顯示溫度精確到0. 0625℃, AD轉(zhuǎn)換的時(shí)間是750ms, 傳輸?shù)木嚯x是40m。另外, 在該系統(tǒng)的基礎(chǔ)上也可以擴(kuò)展其他信號(hào), 如濕度, 壓力等。

          參考文獻(xiàn):

          [1].F149 datasheethttp://www.dzsc.com/datasheet/F149+_874114.html.
          [2].DS18B20datasheethttp://www.dzsc.com/datasheet/DS18B20_8175.html.
          [3].CAT24WC64datasheethttp://www.dzsc.com/datasheet/.html.
          [4].ISD1420datasheethttp://www.dzsc.com/datasheet/ISD1420_409804.html.
          [5].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
          [6].MSP430datasheethttp://www.dzsc.com/datasheet/MSP430_490166.html.
          [7].S6A0069 datasheethttp://www.dzsc.com/datasheet/S6A0069+_1.html.
          [8].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
          [9].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
          [10].MAX232datasheethttp://www.dzsc.com/datasheet/MAX232_7.html.


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();