版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、J才竜朮雖裔輕冬枝求啓st案例單片機與DS18B20專感器連接下圖給出了 DS18B20與單片機連接的電路圖,用單片機 AT89C52的P0.7 口線 經(jīng)上拉后接至DS18B20的引腳2數(shù)據(jù)端,引腳1接電源地端,引腳3接+5V電源端。1S34ABCOEFG DPononD1Q1D2Q2D3口 3DiQID55D6Q6DTTOELET24>FR2C2卜ELIXTAL2RSTNlDADD nmoi W2D2 R.3D3KJI&MD6 HITjftDTI2QM 旳爐S WjSftlDPGENME也刪2 *213P27JW15IMDTF2 UI/T2EK UW1/TXD H/nrr t
2、"Wb-h jP3.4/TTpi «;Wi.T/lfTCRYSTAL-J so蘭±煜±<3-1Jt-JL遙zttl單片機與DS18B20的連接電路圖下面給出對DS18B20的操作用C51編寫的具體程序。應(yīng)該說明的是,程序?qū)?yīng) 于單片機的時鐘頻率為12MHz,如改用其它時鐘頻率,程序中的延時應(yīng)重新調(diào)整。#in elude <reg51.h> #i nclude vintrin s.h> sbit LE = P2A5;Qf東農(nóng)工雞聊娶枚*修陀sbit DQ = P0A7;bit DS_IS_OK = 1;un sig ned char
3、 seg=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00;字段數(shù)組定義了 12個元素,其中第11個元素是負號"-"的字段碼第12個元素為不顯示的字段碼,用于顯示正溫度值un sig ned char buf4;un sig ned int temperature;void delay(unsigned int time)II 延時函數(shù)while(time-);unsigned char lnit_Ds18b20() /DS18B20 初始化函數(shù)un sig ned char status;DQ = 1;
4、 delay(8);DQ = 0;delay(90);DQ = 1;delay(5);status = DQ;delay(60);return status;unsigned char read()/ 讀字節(jié)函數(shù)un sig ned char i = 0;un sig ned char dat = 0;DQ=1;_nop_();for(i=8; i>0; i-)DQ = 0;dat >>= 1;DQ = 1;_nop_();_nop_(); if(DQ) dat |=0x80;delay(30); DQ = 1;return(dat);void write(unsigned
5、char dat)寫字節(jié)函數(shù)un sig ned char i;for(i=8;i>0;i-)DQ = 0;DQ = dat & 0x01;delay(5);DQ=1; dat >>=1;void ReadTemperature()II 采樣溫度函數(shù)un sig ned char tempL=0;un sig ned char tempH=0;if(Init_Ds18b20() = 1)/DS18B20 故障DS_IS_OK = 0;elseDS_IS_OK = 1;write(0xcc);write(0x44);In it_Ds18b20();write(0xcc)
6、;write(0xbe);tempL = read();tempH = read();temperature = (tempH<<8)|tempL;void dispute。/溫度值顯示處理函數(shù)un sig ned int temp,temp1;/用于中途的數(shù)據(jù)轉(zhuǎn)換/以下if語句用于處理負溫度值,因為保存的是溫度值的補碼if(temperature & 0xf800) = 0xf800)temperature = temperature+1;buf0=10;else buf0= 11;temp=temperature/16.0*100; 轉(zhuǎn)換成實際溫度值并放大 100倍,用
7、于對百分 位四舍五入if(temp <10) buf0 = 11;處理0度,溫度是0度時保證不出現(xiàn)負號elsetemp1 = temp % 10;if(temp1>=5)/四舍五入temp += 10;temp /= 10 ;if(temp>=1000)buf0=temp/1000;buf1=temp/100%10;buf2=temp/10%10;buf3=temp%10;else buf1=temp/100;buf2=temp/10%10;buf3=temp%10;void display。/去掉溫度值的百分位/如果溫度=100度,則顯示四位/顯示函數(shù).int i,j;un sig ned char temp=0xfe;for(j=0;jv30;j+)/由于是動態(tài)顯示方式,因此必須多次循環(huán)才能成功顯示,很關(guān)鍵,處理不好溫度值將顯示不成功temp=0xfe;for(i=0;i<4;i+)LE=O; P2=temp;if(i=2)P仁 segbufi+0x80;else P1=segbufi;LE=1;LE=0;delay(10);temp=(temp<<1)|1;P2=temp;關(guān)顯示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版龍門吊拆除工程風(fēng)險評估與管理合同4篇
- 二零二五年度生物制藥銷售返點及臨床試驗合作合同3篇
- 2025年度報刊亭承攬加工安裝與智能物流配送合同4篇
- 2025年度專業(yè)食堂承包合同范本(二零二五年度)4篇
- 2025年度毛石石材行業(yè)節(jié)能減排合同模板3篇
- 2025版?zhèn)€人間借錢民間借貸合同簽訂指南與案例分析3篇
- 2025年度體育賽事代理合同終止及贊助權(quán)益協(xié)議4篇
- 2025年度綠色建筑項目合同法律風(fēng)險防范與合規(guī)指南4篇
- 2025年度車輛銷售及售后服務(wù)合同3篇
- 二零二五版打樁機租賃與施工進度調(diào)整合同3篇
- 2024-2025學(xué)年山東省濰坊市高一上冊1月期末考試數(shù)學(xué)檢測試題(附解析)
- 數(shù)學(xué)-湖南省新高考教學(xué)教研聯(lián)盟(長郡二十校聯(lián)盟)2024-2025學(xué)年2025屆高三上學(xué)期第一次預(yù)熱演練試題和答案
- 2020-2024年安徽省初中學(xué)業(yè)水平考試中考物理試卷(5年真題+答案解析)
- 部編版5年級語文下冊第五單元學(xué)歷案
- 高考介詞練習(xí)(附答案)
- 單位就業(yè)人員登記表
- 衛(wèi)生監(jiān)督協(xié)管-醫(yī)療機構(gòu)監(jiān)督
- 記錄片21世紀禁愛指南
- 腰椎間盤的診斷證明書
- 移動商務(wù)內(nèi)容運營(吳洪貴)任務(wù)七 裂變傳播
- 單級倒立擺系統(tǒng)建模與控制器設(shè)計
評論
0/150
提交評論