




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單總線通訊與編程主講人:陳靜常見的智能芯片與智能傳感器比如萬年歷芯片1302、稱重傳感器、超聲波傳感器角度傳感器藍(lán)牙設(shè)備等等單片機(jī)與其它智能芯片的通訊方式分類1、收發(fā)之間僅用1根線(加一根地線)進(jìn)行通信。例如:紅外遙控器、溫度計(jì)18b20等等。2、兩根線的I2C總線。例如:萬年歷芯片13023、四根線的SPI總線(單片機(jī)內(nèi)部自帶)。例如萬年歷芯片:4、串行通訊模式(單片機(jī)內(nèi)部自帶)。部分藍(lán)牙傳輸芯片、聲控芯片等等5、其它時(shí)序圖模式。比如:部分稱重傳感器、音量調(diào)節(jié)芯片等等。單總線原理與編程收發(fā)之間僅用1根線(加一根地線)進(jìn)行通信。在單總線中收發(fā)雙方是通過數(shù)據(jù)線上的高低電平占空比來區(qū)分1和0的。典型應(yīng)用案例有:紅外遙控和溫度傳感器18B20
單總線原理與編程收發(fā)之間僅用1根線(加一根地線)進(jìn)行通信。在單總線中收發(fā)雙方是通過數(shù)據(jù)線上的高低電平占空比來區(qū)分1和0的。典型應(yīng)用案例有:紅外遙控和溫度傳感器18B20它們好比我們打電話的過程類似,有這樣幾個(gè)流程:主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束單總線原理與編程收發(fā)之間僅用1根線(加一根地線)進(jìn)行通信。在單總線中收發(fā)雙方是通過數(shù)據(jù)線上的高低電平占空比來區(qū)分1和0的。典型應(yīng)用案例有:紅外遙控和溫度傳感器18B20它們好比我們打電話的過程類似,有這樣幾個(gè)流程:主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束所有環(huán)節(jié)有固定的時(shí)序,以溫度傳感器18B20與單片機(jī)的通訊為例說明。單總線原理與編程相當(dāng)于單總線上主叫方的復(fù)位:
把總線拉低480~960微秒后拉高數(shù)據(jù)線為高電平。數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束單總線原理與編程相當(dāng)于單總線上主叫方的復(fù)位:
把總線拉低480~960微秒后拉高數(shù)據(jù)線為高電平。數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束單總線原理與編程被叫方也叫從機(jī),檢測(cè)到480~960微秒的低電平,會(huì)主動(dòng)把總線拉低。主機(jī)檢測(cè)到總線為低電平后,認(rèn)為從機(jī)的應(yīng)答結(jié)束。主機(jī)準(zhǔn)備發(fā)數(shù)據(jù)。數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束bitResetDS18B20(){ unsignedcharanswerflag; DQ=1; //拉高總線
Delay2us();
DQ=0; //拉低總線
Delay600us();//延時(shí)480-960us DQ=1; //拉高總線延時(shí)15-60us后等待響應(yīng)
Delay40us(); answerflag=DQ; //采集應(yīng)答信號(hào)
Delay200us(); Delay375us(); returnanswerflag;}單總線原理與編程被叫方也叫從機(jī),檢測(cè)到480~960微秒的低電平,會(huì)主動(dòng)把總線拉低。主機(jī)檢測(cè)到總線為低電平后,認(rèn)為從機(jī)的應(yīng)答結(jié)束。主機(jī)準(zhǔn)備發(fā)數(shù)據(jù)。數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束bitResetDS18B20(){ unsignedcharanswerflag; DQ=1; //拉高總線
Delay2us();
DQ=0; //拉低總線
Delay600us();//延時(shí)480-960us DQ=1; //拉高總線延時(shí)15-60us后等待響應(yīng)
Delay40us(); answerflag=DQ; //采集應(yīng)答信號(hào)
Delay200us(); Delay375us(); returnanswerflag;}單總線原理與編程被叫方也叫從機(jī),檢測(cè)到480~960微秒的低電平,會(huì)主動(dòng)把總線拉低。主機(jī)檢測(cè)到總線為低電平后,認(rèn)為從機(jī)的應(yīng)答結(jié)束。主機(jī)準(zhǔn)備發(fā)數(shù)據(jù)。數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束bitResetDS18B20(){ unsignedcharanswerflag; DQ=1; //拉高總線
Delay2us();
DQ=0; //拉低總線
Delay600us();//延時(shí)480-960us DQ=1; //拉高總線延時(shí)15-60us后等待響應(yīng)
Delay40us(); answerflag=DQ; //采集應(yīng)答信號(hào)
Delay200us(); Delay375us(); returnanswerflag;}單總線原理與編程被叫方也叫從機(jī),檢測(cè)到480~960微秒的低電平,會(huì)主動(dòng)把總線拉低。主機(jī)檢測(cè)到總線為低電平后,認(rèn)為從機(jī)的應(yīng)答結(jié)束。主機(jī)準(zhǔn)備發(fā)數(shù)據(jù)。數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束bitResetDS18B20(){ unsignedcharanswerflag; DQ=1; //拉高總線
Delay2us();
DQ=0; //拉低總線
Delay600us();//延時(shí)480-960us DQ=1; //拉高總線延時(shí)15-60us后等待響應(yīng)
Delay40us(); answerflag=DQ; //采集應(yīng)答信號(hào)
Delay200us(); Delay375us(); returnanswerflag;}單總線原理與編程被叫方也叫從機(jī),檢測(cè)到480~960微秒的低電平,會(huì)主動(dòng)把總線拉低。主機(jī)檢測(cè)到總線為低電平后,認(rèn)為從機(jī)的應(yīng)答結(jié)束。主機(jī)準(zhǔn)備發(fā)數(shù)據(jù)。數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束bitResetDS18B20(){ unsignedcharanswerflag; DQ=1; //拉高總線
Delay2us();
DQ=0; //拉低總線
Delay600us();//延時(shí)480-960us DQ=1; //拉高總線延時(shí)15-60us后等待響應(yīng)
Delay40us(); answerflag=DQ; //采集應(yīng)答信號(hào)
Delay200us(); Delay375us(); returnanswerflag;}單總線原理與編程被叫方也叫從機(jī),檢測(cè)到480~960微秒的低電平,會(huì)主動(dòng)把總線拉低。主機(jī)檢測(cè)到總線為低電平后,認(rèn)為從機(jī)的應(yīng)答結(jié)束。主機(jī)準(zhǔn)備發(fā)數(shù)據(jù)。數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束bitResetDS18B20(){ unsignedcharanswerflag; DQ=1; //拉高總線
Delay2us();
DQ=0; //拉低總線
Delay600us();//延時(shí)480-960us DQ=1; //拉高總線延時(shí)15-60us后等待響應(yīng)
Delay40us(); answerflag=DQ; //采集應(yīng)答信號(hào)
Delay200us(); Delay375us(); returnanswerflag;}單總線原理與編程發(fā)送數(shù)據(jù)“0”的時(shí)序圖數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束單總線原理與編程發(fā)送數(shù)據(jù)“0”的時(shí)序圖數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束DQ=0;//寫0Delay40us();DQ=1;Delay15us();單總線原理與編程發(fā)送數(shù)據(jù)“0”的時(shí)序圖數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束DQ=0;//寫0Delay40us();DQ=1;Delay15us();單總線原理與編程發(fā)送數(shù)據(jù)“1”的時(shí)序圖數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束單總線原理與編程發(fā)送數(shù)據(jù)“1”的時(shí)序圖數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束DQ=0;Delay2us();Delay2us();Delay2us(); DQ=1;Delay60us();單總線原理與編程發(fā)送數(shù)據(jù)“1”的時(shí)序圖數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束DQ=0;Delay2us();Delay2us();Delay2us(); DQ=1;Delay40us();單總線原理與編程發(fā)送數(shù)據(jù)“1”的時(shí)序圖數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。發(fā)送數(shù)據(jù)“0”的時(shí)序圖區(qū)別主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束單總線原理與編程讀數(shù)據(jù)時(shí)序圖數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。主叫撥號(hào)被叫應(yīng)答主叫發(fā)命令或數(shù)據(jù)被叫應(yīng)答主叫收數(shù)據(jù)結(jié)束DQ=1; //將數(shù)據(jù)線拉高
Delay2us();DQ=0; //將數(shù)據(jù)線拉低
Delay2us();Delay2us();Delay2us();DQ=1; //數(shù)據(jù)線拉高
Delay2us();Delay2us();Delay2us(); dat=DQ; //讀回?cái)?shù)據(jù)線上面的狀態(tài)
Delay30us(); //延時(shí)30usreturn(dat);單總線原理與編程數(shù)據(jù)線空閑時(shí)為高電平,誰發(fā)數(shù)據(jù)誰控制總線。如果主從關(guān)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《亞、非、拉美的民族獨(dú)立與振興》兩極格局下的世界課件-
- 《國(guó)家行政機(jī)關(guān)》-1
- 神奇的彩虹課件
- 河北省秦皇島市昌黎縣一中2024-2025學(xué)年高三下學(xué)期“贏在百日”第一次模擬演練語文試題(原卷版+解析版)
- 口腔知識(shí)課件培訓(xùn)
- 規(guī)范網(wǎng)絡(luò)行為活動(dòng)主題班會(huì)
- 網(wǎng)絡(luò)優(yōu)化百日攻堅(jiān)
- (42)-4【蘇教】數(shù)學(xué)基礎(chǔ)卷03-答題卡
- 25年一月份淘寶直播代運(yùn)營(yíng)服務(wù)糾紛調(diào)解協(xié)議范本
- 二零二五版授信協(xié)議借款合同
- 污水池內(nèi)防腐施工方案
- 海南省省直轄縣級(jí)各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)居民村民委員會(huì)
- 簡(jiǎn)約喜慶元宵節(jié)介紹模板 教學(xué)課件
- 西藏林芝嘉園小區(qū)項(xiàng)目可研(可研發(fā))
- summary-writing-概要寫作-優(yōu)質(zhì)課件
- 按期取得畢業(yè)證和學(xué)位證承諾書
- T∕CIC 049-2021 水泥窯用固體替代燃料
- 部編版高中語文必修下冊(cè)第八單元《單元導(dǎo)讀》教學(xué)設(shè)計(jì)
- 第五章 學(xué)校教育的主要活動(dòng)形式:課堂教學(xué)
- 大會(huì)—冠脈微循環(huán)障礙
- 《辦公自動(dòng)化》教學(xué)教案
評(píng)論
0/150
提交評(píng)論