![單片機(jī)原理:12-1串行擴(kuò)展技術(shù)-單總線-C_第1頁(yè)](http://file4.renrendoc.com/view/67466bb9b9f902a8e9f37c656a458bf7/67466bb9b9f902a8e9f37c656a458bf71.gif)
![單片機(jī)原理:12-1串行擴(kuò)展技術(shù)-單總線-C_第2頁(yè)](http://file4.renrendoc.com/view/67466bb9b9f902a8e9f37c656a458bf7/67466bb9b9f902a8e9f37c656a458bf72.gif)
![單片機(jī)原理:12-1串行擴(kuò)展技術(shù)-單總線-C_第3頁(yè)](http://file4.renrendoc.com/view/67466bb9b9f902a8e9f37c656a458bf7/67466bb9b9f902a8e9f37c656a458bf73.gif)
![單片機(jī)原理:12-1串行擴(kuò)展技術(shù)-單總線-C_第4頁(yè)](http://file4.renrendoc.com/view/67466bb9b9f902a8e9f37c656a458bf7/67466bb9b9f902a8e9f37c656a458bf74.gif)
![單片機(jī)原理:12-1串行擴(kuò)展技術(shù)-單總線-C_第5頁(yè)](http://file4.renrendoc.com/view/67466bb9b9f902a8e9f37c656a458bf7/67466bb9b9f902a8e9f37c656a458bf75.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第10章
AT89S51單片機(jī)
系統(tǒng)的串行擴(kuò)展
1 單片機(jī)的串行擴(kuò)展技術(shù)與并行擴(kuò)展技術(shù)相比具有顯著的優(yōu)點(diǎn),串行接口器件與單片機(jī)接口時(shí)需要的I/O口線很少(僅需1~4條),串行接口器件體積小,因而占用電路板的空間小,僅為并行接口器件的10%,明顯減少電路板空間和成本。 除上述優(yōu)點(diǎn),還有工作電壓寬、抗干擾能力強(qiáng)、功耗低、數(shù)據(jù)不易丟失等特點(diǎn)。串行擴(kuò)展技術(shù)在IC卡、智能儀器儀表以及分布式控制系統(tǒng)等領(lǐng)域得到廣泛應(yīng)用。210.1單總線串行擴(kuò)展 單總線(也稱1-Wirebus)是由美國(guó)DALLAS公司推出的外圍串行擴(kuò)展總線。 只有一條數(shù)據(jù)輸入/輸出線DQ,總線上的所有器件都掛在DQ上,電源也通過(guò)這條信號(hào)線供給,使用一條信號(hào)線的串行擴(kuò)展技術(shù),稱為單總線技術(shù)。 單總線系統(tǒng)的各種器件,由DALLAS公司提供的專用芯片實(shí)現(xiàn)。每個(gè)芯片都有64位ROM,廠家對(duì)每一個(gè)芯片用激光燒寫編碼,其中存有16位十進(jìn)制編碼序列號(hào),它是器件的地址編號(hào),確保它掛在總線上后,可唯一被確定。3 除地址編碼外,片內(nèi)還包含收發(fā)控制和電源存儲(chǔ)電路,如圖10-1所示。這些芯片的耗電量都很?。臻e時(shí)幾微瓦,工作時(shí)幾毫瓦),從總線上饋送電能到大電容中就可以工作,故一般不需另加電源。下面說(shuō)明具體應(yīng)用。
4圖10-1
單總線芯片的內(nèi)部結(jié)構(gòu)示意圖【例10-1】圖10-2所示為一個(gè)由單總線構(gòu)成的分布式溫度監(jiān)測(cè)系統(tǒng),也可用于各種狹小空間內(nèi)設(shè)備的數(shù)字測(cè)溫。圖中多個(gè)帶有單總線接口的數(shù)字溫度傳感器DS18B20芯片都掛在單片機(jī)的1根I/O口線(即DQ線)上。對(duì)每個(gè)DS18B20通過(guò)總線DQ尋址。DQ為漏極開路,須加上拉電阻。DS18B20封裝形式多樣,其中的一種封裝形式見圖10-2。在該單總線數(shù)字溫度傳感器系列中還有DS1820、DS18S20、DS1822等其他型號(hào),工作原理與特性基本相同。
5
6圖10-2單總線構(gòu)成的分布式溫度監(jiān)測(cè)系統(tǒng)具有如下特點(diǎn):(1)體積小、結(jié)構(gòu)簡(jiǎn)單、使用方便。(2)每芯片都有唯一的64位光刻ROM編碼,家族碼為28H。(3)溫度測(cè)量范圍-55~+125oC,在-10~+85oC范圍內(nèi),測(cè)量精度可達(dá)±0.5oC。(4)分辨率為可編程的9~12位(其中包括1位符號(hào)位),對(duì)應(yīng)的溫度變化量分別為0.5oC、0.25oC、0.125oC、0.0625oC。7(5)轉(zhuǎn)換時(shí)間與分辨率有關(guān)。當(dāng)設(shè)定為9位,轉(zhuǎn)換時(shí)間93.75ms;設(shè)定為10位,轉(zhuǎn)換時(shí)間為187.5ms;當(dāng)設(shè)定11位,轉(zhuǎn)換時(shí)間375ms;當(dāng)設(shè)定12位,轉(zhuǎn)換時(shí)間750ms。(6)片內(nèi)含有SRAM、E2PROM,單片機(jī)寫入E2PROM的報(bào)警的上下限溫度值和以及對(duì)DS18B20的設(shè)置,在芯片掉電的情況下不丟失。功能命令包括兩類:1條啟動(dòng)溫度轉(zhuǎn)換命令(44H),5條讀/寫SRAM和E2PROM命令。..\資料\PDF\DS18B20.pdf
p18
8圖10-2電路如果再擴(kuò)展幾位(根據(jù)需要)LED數(shù)碼管顯示器,即可構(gòu)成簡(jiǎn)易的數(shù)字溫度計(jì)系統(tǒng)。在1-Wire總線傳輸?shù)氖菙?shù)字信號(hào),數(shù)據(jù)傳輸均采用CRC碼校驗(yàn)。DALLAS公司為單總線的尋址及數(shù)據(jù)的傳送制定了總線協(xié)議,具體內(nèi)容讀者可查閱相關(guān)資料。1-Wire協(xié)議不足在傳輸速率稍慢,故1-Wire總線協(xié)議特別適用于測(cè)控點(diǎn)多、分布面廣、種類復(fù)雜,而又需集中監(jiān)控、統(tǒng)一管理的應(yīng)用場(chǎng)合。9片內(nèi)有9個(gè)字節(jié)的高速暫存器RAM單元,9個(gè)字節(jié)具體分布如下:第1字節(jié)和第2字節(jié)是在單片機(jī)發(fā)給DS18B20溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值,以兩字節(jié)補(bǔ)碼形式存放其中。一般情況下,用戶多使用第1字節(jié)和第2字節(jié)。單片機(jī)通過(guò)單總線可讀得該數(shù)據(jù),讀取時(shí)低位在前,高位在后。第3、4字節(jié)分別是由軟件寫入用戶報(bào)警的上下限值TH和TL。第5個(gè)字節(jié)為配置寄存器,可對(duì)其更改DS18B20的測(cè)溫分辨率,高速暫存器的第6、7、8字節(jié)未用,為全1。第9字節(jié)是前面所有8個(gè)字節(jié)的CRC碼,用來(lái)保證正確通信。片內(nèi)還有1個(gè)E2PROM為TH、TL以及配置寄存器的映像。配置寄存器各位的定義如下:1(1個(gè)0)-2-5(5個(gè)1)其中,TM位出廠時(shí)已被寫入0,用戶不能改變;低5位都為1;R1和R0用來(lái)設(shè)置分辨率。表10-1列出了R1、R0與分辨率和轉(zhuǎn)換時(shí)間的關(guān)系。用戶可通過(guò)修改R1、R0位的編碼,獲得合適的分辨率。12由表10-1,DS18B20轉(zhuǎn)換時(shí)間與分辨率有關(guān)。當(dāng)設(shè)定為9位時(shí),轉(zhuǎn)換時(shí)間為93.75ms;設(shè)定10位時(shí),轉(zhuǎn)換時(shí)間為187.5ms;當(dāng)設(shè)定11位時(shí),轉(zhuǎn)換時(shí)間為375ms;當(dāng)設(shè)定為12位時(shí),轉(zhuǎn)換時(shí)間為750ms。表10-2列出了DS18B20溫度轉(zhuǎn)換后所得到的16位轉(zhuǎn)換結(jié)果的典型值。下面介紹溫度轉(zhuǎn)換的計(jì)算方法。當(dāng)DS18B20采集的溫度為+125℃時(shí),輸出為0x07d0,則:實(shí)際溫度=(0x07d0)/16=(0×163+7×162+13×161+0×160)/16=125℃當(dāng)DS18B20采集的溫度為-55℃時(shí),輸出為0xfc90,由于是補(bǔ)碼,則先將11位數(shù)據(jù)取反加1得0x0370,注意符號(hào)位不變,也不參加運(yùn)算,則
實(shí)際溫度=(0x0370)/16=(0×163+3×162+7×161+0×160)/16=55℃
注意,負(fù)號(hào)則需對(duì)采集的溫度進(jìn)行判斷后,再予以顯示。132.DS18B20的工作時(shí)序工作時(shí)序要求嚴(yán)格,延時(shí)時(shí)間需準(zhǔn)確,否則容易出錯(cuò)。DS18B20的工作時(shí)序包括初始化時(shí)序、寫時(shí)序和讀時(shí)序。(1)初始化時(shí)序,單片機(jī)將數(shù)據(jù)線電平拉低480~960μs后釋放,等待15~60μs,單總線器件即可輸出一持續(xù)60~240μs的低電平,單片機(jī)收到此應(yīng)答后即可進(jìn)行操作。(6-1-4)(2)寫時(shí)序,當(dāng)單片機(jī)將數(shù)據(jù)線電平從高拉到低時(shí),產(chǎn)生寫時(shí)序,有寫“0”和寫“1”兩種時(shí)序。寫時(shí)序開始后,DS18B20在15~60μs期間從數(shù)據(jù)線上采樣。如果采樣到低電平,則向DS18B20寫的是“0”;如果采樣到高電平,則向DS18B20寫的是“1”。這兩個(gè)獨(dú)立時(shí)序間至少需拉高總線電平1μs時(shí)間。14(3)讀時(shí)序,當(dāng)單片機(jī)從DS18B20讀取數(shù)據(jù)時(shí),產(chǎn)生讀時(shí)序。此時(shí)單片機(jī)將數(shù)據(jù)線電平從高拉到低使讀時(shí)序被初始化。如果在此后15μs內(nèi),單片機(jī)在數(shù)據(jù)線上采樣到低電平,則從DS18B20讀的是“0”;如果在此后的15μs內(nèi),單片機(jī)在數(shù)據(jù)線上采樣到高電平,則從DS18B20讀的是“1”。3.DS18B20的命令DS18B20片內(nèi)都有唯一的64位光刻ROM編碼,出廠時(shí)已刻好。它是DS18B20的地址序列碼,目的是使每個(gè)DS18B20的地址都不相同,這樣就可實(shí)現(xiàn)在一根總線上掛接多個(gè)DS18B20的目的。64位光刻ROM的各位定義如下:BYTE:1+6+1DS18B20產(chǎn)品類型標(biāo)號(hào):28H,最低字節(jié);CRC碼為高字節(jié)DS18B20所有命令均為8位長(zhǎng),常用的命令代碼見表10-3。1516表10-3DS18B20的部分命令下面介紹表10-3中命令的用法。當(dāng)主機(jī)需要對(duì)多個(gè)單總線上的某一DS18B20進(jìn)行操作時(shí),首先應(yīng)將主機(jī)逐個(gè)與DS18B20掛接,讀出其序列號(hào)(33H);然后再將所有的DS18B20掛接到總線上,單片機(jī)發(fā)出匹配ROM命令(55H),緊接著主機(jī)提供的64位序列號(hào)之后的操作就是針對(duì)該DS18B20的。如果主機(jī)只對(duì)一個(gè)DS18B20進(jìn)行操作,就不需要讀取ROM編碼以及匹配ROM編碼,只要用跳過(guò)ROM(CCH)命令,就可按表10-4執(zhí)行如下溫度轉(zhuǎn)換和讀取命令。表10-4DS18B20的部分命令10.1.2設(shè)計(jì)案例:?jiǎn)慰偩€DS18B20溫度測(cè)量系統(tǒng)
【例10-1】利用DS18B20和LED數(shù)碼管實(shí)現(xiàn)單總線溫度測(cè)量系統(tǒng),原理電路見圖11-3。DS18B20測(cè)量范圍是?55~128℃。本例只顯示00~99。通過(guò)本例讀者應(yīng)掌握DS18B20特性及單片機(jī)I/O實(shí)現(xiàn)單總線協(xié)議的方法。Proteus仿真時(shí),用手動(dòng),即用鼠標(biāo)單擊DS18B20圖標(biāo)上的“↑”或“↓”來(lái)改變溫度,注意手動(dòng)調(diào)節(jié)溫度同時(shí),LED數(shù)碼管會(huì)顯示出與DS18B20窗口相同的2位溫度數(shù)值。電路中74LS47是BCD-7段譯碼器/驅(qū)動(dòng)器,用于將單片機(jī)P0口輸出欲顯示的BCD碼轉(zhuǎn)化成相應(yīng)的數(shù)字顯示的段碼,并直接驅(qū)動(dòng)LED數(shù)碼管顯示。1920圖10-3
單總線DS18B20溫度測(cè)量與顯示系統(tǒng)參考程序如下:#include"reg51.h"#include"intrins.h"#defineucharunsignedchar#defineuintunsignedint
#defineoutP0sbitsmg1=out^4;sbitsmg2=out^5;sbitDQ=P3^7;voiddelay5(uchar);voidinit_ds18b20(void);uchar
readbyte(void);voidwritebyte(uchar);uchar
retemp(void);21voidmain(void) //主函數(shù){
uchar
i,temp; delay5(1000); while(1) { temp=retemp();
for(i=0;i<10;i++) //連續(xù)掃描數(shù)碼管10次
{ out=(temp/10)&0x0f; smg1=0; smg2=1; delay5(1000); //延時(shí)5ms out=(temp%10)&0x0f; smg1=1; smg2=0; delay5(1000); //延時(shí)5ms } }}22voiddelay5(ucharn) //函數(shù)功能:延時(shí)5μs { do { _nop_(); _nop_(); _nop_(); n--; }
while(n);}voidinit_ds18b20(void) //函數(shù)功能:18B20初始化{
ucharx=0; DQ=0; delay5(120); DQ=1; delay5(16); delay5(80);}23uchar
readbyte(void) //函數(shù)功能:讀取1字節(jié)數(shù)據(jù){
uchari=0;
uchardate=0; for(i=8;i>0;i--) { DQ=0; delay5(1); DQ=1; //15μs內(nèi)拉釋放總線
date>>=1;
if(DQ) date|=0x80; delay5(11); }
return(date);}24voidwritebyte(uchar
dat) //函數(shù)功能:寫1字節(jié){
uchari=0;
for(i=8;i>0;i--){ DQ=0; DQ=dat&0x01; //寫"1"
在15μs內(nèi)拉低
delay5(12); //寫"0"
拉低60μs DQ=1;
dat>>=1; delay5(5); }}25uchar
retemp(void) //函數(shù)功能:讀取溫度{
uchar
a,b,tt;
uintt; init_ds18b20(); writebyte(0xCC); writebyte(0x44); init_ds18b20(); writebyte(0xCC); writebyte(0xBE); a=readbyte(); b=readbyte(); t=b; t<<=8; t=t|a;
tt=t*0.0625;
return(tt);}26DS18B20體積小、適用電壓范圍寬,是世界上第一片支持“單總線”接口的溫度傳感器?,F(xiàn)場(chǎng)溫度測(cè)量直接以“單總線”數(shù)字方式傳輸,大大提高系統(tǒng)抗干擾性。所以單總線系統(tǒng)特別適用于測(cè)控點(diǎn)多、分布面廣、環(huán)境惡劣以及狹小空間內(nèi)設(shè)備的測(cè)溫以及現(xiàn)場(chǎng)溫度測(cè)量,如環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。..\范例\51-DS18B20-1602..\范例\DS18B20多點(diǎn)測(cè)溫..\范例\基于DS18B20的多點(diǎn)測(cè)溫_ds130227ucharCRC8(){uchari,x;ucharcrcbuff;
crc=0;for(x=0;x<8;x++){crcbuff=RomCode[x];
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)買賣合同
- 車輛駕駛承包合同范本
- 外貿(mào)代理合同仲裁條款
- 正規(guī)個(gè)人借款合同范本
- 無(wú)償借用車間合同范本
- 綠化綠植買賣合同范本
- 2025合法的工程合同樣式
- 專利申請(qǐng)委托合同書樣本
- 項(xiàng)目咨詢服務(wù)合同范本
- 貨物運(yùn)輸公司的勞務(wù)合同
- 保安服務(wù)項(xiàng)目信息反饋溝通機(jī)制
- 全國(guó)各省(直轄市、自治區(qū))市(自治州、地區(qū))縣(縣級(jí)市)區(qū)名稱一覽表
- 《團(tuán)隊(duì)介紹模板》課件
- 常用中醫(yī)適宜技術(shù)目錄
- 沖壓模具價(jià)格估算方法
- 碳納米管應(yīng)用研究
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第十一章運(yùn)動(dòng)技能的練習(xí)
- 蟲洞書簡(jiǎn)全套8本
- 2023年《反電信網(wǎng)絡(luò)詐騙法》專題普法宣傳
- 小學(xué)數(shù)學(xué)五年級(jí)上、下冊(cè)口算題大全
- 和平精英電競(jìng)賽事
評(píng)論
0/150
提交評(píng)論