基于DS1820的室溫監(jiān)測(cè)裝置的設(shè)計(jì)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)_第1頁(yè)
基于DS1820的室溫監(jiān)測(cè)裝置的設(shè)計(jì)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)_第2頁(yè)
基于DS1820的室溫監(jiān)測(cè)裝置的設(shè)計(jì)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)_第3頁(yè)
基于DS1820的室溫監(jiān)測(cè)裝置的設(shè)計(jì)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)_第4頁(yè)
基于DS1820的室溫監(jiān)測(cè)裝置的設(shè)計(jì)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、無(wú)錫職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 第一章 引言在工、農(nóng)業(yè)生產(chǎn)和日常生活中,對(duì)溫度的測(cè)量及控制占據(jù)著極其重要地位。首先讓我們了解一下多點(diǎn)溫度檢測(cè)系統(tǒng)在各個(gè)方面的應(yīng)用領(lǐng)域:消防電氣的非破壞性溫度檢測(cè),電力、電訊設(shè)備之過(guò)熱故障預(yù)知檢測(cè),空調(diào)系統(tǒng)的溫度檢測(cè),各類(lèi)運(yùn)輸工具之組件的過(guò)熱檢測(cè),保全與監(jiān)視系統(tǒng)之應(yīng)用,醫(yī)療與健診的溫度測(cè)試,化工、機(jī)械等設(shè)備溫度過(guò)熱檢測(cè)。溫度檢測(cè)系統(tǒng)應(yīng)用十分廣闊。本設(shè)計(jì)運(yùn)用主從分布式思想,由一臺(tái)上位機(jī)(pc微型計(jì)算機(jī)),下位機(jī)(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級(jí)分布式多點(diǎn)溫度測(cè)量的巡回檢測(cè)系統(tǒng)。該系統(tǒng)采用 rs-232串行通訊標(biāo)準(zhǔn),通過(guò)上位機(jī)(pc)控制下位機(jī)(單片機(jī))進(jìn)行現(xiàn)場(chǎng)溫度

2、采集。溫度值既可以送回主控pc進(jìn)行數(shù)據(jù)處理,由顯示器顯示。也可以由下位機(jī)單獨(dú)工作,實(shí)時(shí)顯示當(dāng)前各點(diǎn)的溫度值,對(duì)各點(diǎn)進(jìn)行控制。下位機(jī)采用的是單片機(jī)基于數(shù)字溫度傳感器ds1820的系統(tǒng)。ds1820利用單總線的特點(diǎn)可以方便的實(shí)現(xiàn)多點(diǎn)溫度的測(cè)量,輕松的組建傳感器網(wǎng)絡(luò),系統(tǒng)的抗干擾性好、設(shè)計(jì)靈活、方便,而且適合于在惡劣的環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量。本系統(tǒng)可以應(yīng)用在大型工業(yè)及民用常溫多點(diǎn)監(jiān)測(cè)場(chǎng)合。如糧食倉(cāng)儲(chǔ)系統(tǒng)、樓宇自動(dòng)化系統(tǒng)、溫控制程生產(chǎn)線之溫度影像檢測(cè)、醫(yī)療與健診的溫度測(cè)試、空調(diào)系統(tǒng)的溫度檢測(cè)、石化、機(jī)械等?;竟δ芤约凹夹g(shù)要求:1. 采用單片機(jī)進(jìn)行室溫的監(jiān)測(cè)。2. 對(duì)室溫進(jìn)行實(shí)時(shí)的顯示;當(dāng)室溫達(dá)到報(bào)警

3、設(shè)定值時(shí),應(yīng)能報(bào)警。3. 能設(shè)定室溫的報(bào)警值。4. 室溫的測(cè)量范圍為0100,測(cè)量精度0.1。5. 當(dāng)某處的實(shí)際室溫超過(guò)設(shè)定的上下限時(shí),該處的蜂鳴器報(bào)警。第二章 基于ds1820的室溫監(jiān)測(cè)裝置系統(tǒng)工作原理在多點(diǎn)測(cè)溫系統(tǒng)中,傳統(tǒng)的測(cè)溫方法是將模擬信號(hào)遠(yuǎn)距離采樣進(jìn)行ad轉(zhuǎn)換,而為了獲得較高的測(cè)溫精度,就必須采用措施解決由長(zhǎng)線傳輸,多點(diǎn)測(cè)量切換及放大電路零點(diǎn)漂移等造成的誤差補(bǔ)償問(wèn)題。采用數(shù)字溫度芯片ds1820測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線形較好。在0100攝氏度時(shí),最大線形偏不大于1攝氏

4、度。采用溫度芯片ds1820測(cè)量溫度,可以體現(xiàn)系統(tǒng)芯片化這個(gè)趨勢(shì)。部分功能電路的集成,使總體電路更簡(jiǎn)潔,搭建電路和焊接電路時(shí)更快。而且,集成塊的使用,有效地避免外界的干擾,提高測(cè)量電路的精確度。所以集成芯片的使用將成為電路發(fā)展的一種趨勢(shì)。本方案應(yīng)用這一溫度芯片,也是順應(yīng)這一趨勢(shì)。圖1 系統(tǒng)硬件連接框圖 至從單片機(jī)至pc機(jī)交流電源ac/dc開(kāi)關(guān)電源模塊通訊端口1聲、光報(bào)警輸出控制顯示電路主單片機(jī)通訊端口2自檢電路 圖2-2 主單片機(jī)系統(tǒng)硬件連接框圖至主單片機(jī)交流電源ac/dc開(kāi)關(guān)電源模塊ds1820-3聲、光報(bào)警輸出控制ds1820-2ds1820-1 從單片機(jī)通訊端口ds1820-4 圖3 從

5、單片機(jī)系統(tǒng)硬件連接框圖第三章 硬件結(jié)構(gòu)31 開(kāi)關(guān)電源及看門(mén)狗電路a、電源電路因?yàn)閱纹瑱C(jī)工作電源為+5v,且底層電路功耗很小。采用7805三端穩(wěn)壓片即可滿(mǎn)足要求。具體電路圖如下:圖4 開(kāi)關(guān)電源電路b、看門(mén)狗電路考慮到底層電路板的工作環(huán)境相對(duì)惡劣,單片機(jī)會(huì)受到周?chē)h(huán)境的干擾,而出現(xiàn)程序跑飛,死機(jī)等一些不可預(yù)知的不正常工作現(xiàn)象。工作人員也不可能到現(xiàn)場(chǎng)對(duì)單片機(jī)重起,本設(shè)計(jì)為單片機(jī)電路添加一個(gè)外部看門(mén)狗電路。定時(shí)查詢(xún)單片機(jī)的工作狀態(tài),一但發(fā)現(xiàn)異常即對(duì)單片機(jī)延時(shí)重起。保證系統(tǒng)安全可靠的運(yùn)行。ne56604能為多種微處理器和邏輯系統(tǒng)提供復(fù)位信號(hào),其門(mén)限電平為4.2v 。在電源突然掉電或電源電壓下降到低于門(mén)限

6、電平時(shí)。ne56604將產(chǎn)生精確的復(fù)位信號(hào)。ne56604內(nèi)置一個(gè)看門(mén)狗定時(shí)器,用于監(jiān)控微處理器,以確保微處理器的正常運(yùn)行。看門(mén)狗能產(chǎn)生一個(gè)系統(tǒng)復(fù)位信號(hào)用來(lái)終止任何由于微處理器故障而引發(fā)的不正常的系統(tǒng)操作。ne56604的看門(mén)狗的監(jiān)控周期為100ms(典型值)。特性:.正負(fù)雙邏輯輸出的有效復(fù)位信號(hào)。.精準(zhǔn)的門(mén)限電平監(jiān)測(cè)。.上電復(fù)位內(nèi)部延時(shí)。.可利用外部電阻調(diào)節(jié)的內(nèi)部看門(mén)狗定時(shí)器。.看門(mén)狗定時(shí)器的監(jiān)控周期為100ms 典型值。.vcc=0.8vdc時(shí)產(chǎn)生有效的復(fù)位信號(hào)典型值。.僅需很少的外圍元件。具體電路圖如下:圖4 看門(mén)狗電路32 鍵盤(pán)及顯示電路 鍵盤(pán)電路:單片機(jī)應(yīng)用系統(tǒng)中除了復(fù)位按鍵有專(zhuān)門(mén)的

7、復(fù)位電路,以及專(zhuān)一的復(fù)位功能外,其它的按鍵或鍵盤(pán)都是以開(kāi)關(guān)狀態(tài)來(lái)設(shè)置控制功能或輸入數(shù)據(jù)。鍵盤(pán)有編碼和非編碼兩種。非編碼鍵盤(pán)硬件電路極為簡(jiǎn)單。故本系統(tǒng)采用撥碼開(kāi)關(guān)來(lái)控制。具體電路如下:圖5 鍵盤(pán)電路電路a、開(kāi)關(guān)狀態(tài)的可靠輸入鍵開(kāi)關(guān)狀態(tài)的可靠輸入有兩種解決方法。一種是軟件去抖動(dòng):它是在檢測(cè)到有鍵按下時(shí),執(zhí)行一個(gè)10ms的延時(shí)程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認(rèn)為真正鍵按下?tīng)顟B(tài),從而消除了抖動(dòng)影響。另一種為硬件去抖動(dòng):即為按鍵添加一個(gè)鎖存器。兩種方法都簡(jiǎn)單易行,本設(shè)計(jì)采用的是硬件去抖。b. 對(duì)按鍵進(jìn)行編碼給定鍵值或給出鍵號(hào)對(duì)于按鍵無(wú)論有無(wú)編碼,以及采用什么編碼,最后

8、都要轉(zhuǎn)換成為與累加器中數(shù)值相對(duì)應(yīng)的鍵值,以實(shí)現(xiàn)按鍵功能程序的散轉(zhuǎn)轉(zhuǎn)移。為使編碼間隔小,散轉(zhuǎn)入口地址安排方便,常采用依次序排列的鍵號(hào)。撥碼開(kāi)關(guān)值含義0000實(shí)時(shí)顯示通道一的溫度值0001實(shí)時(shí)顯示通道二的溫度值0010實(shí)時(shí)顯示通道三的溫度值0011實(shí)時(shí)顯示通道四的溫度值0100實(shí)時(shí)顯示通道五的溫度值0101實(shí)時(shí)顯示通道六的溫度值0110實(shí)時(shí)顯示通道七的溫度值0111實(shí)時(shí)顯示通道八的溫度值1*自動(dòng)循環(huán)顯示所有通道的溫度c. 選擇鍵盤(pán)監(jiān)測(cè)方法對(duì)是否有鍵按下的信息輸入方式有中斷方式與查詢(xún)方式兩種。本設(shè)計(jì)采用的查詢(xún)法,即在在cpu空閑時(shí)調(diào)用鍵盤(pán)掃描子程序。溫度顯示電路:設(shè)計(jì)采用的是共陰極七段數(shù)碼管。顯示方

9、式有動(dòng)態(tài)掃描和靜態(tài)顯示,兩種方法在本設(shè)計(jì)中皆可。由于靜態(tài)掃描要用到多片串入并出芯片,考慮到電路板成本計(jì)算。本人采用是節(jié)約硬件資源的動(dòng)態(tài)掃描方式。即用兩塊芯片就可以完成顯示功能。顯示數(shù)據(jù)由4511譯碼器輸出,uln2003為位驅(qū)動(dòng)掃描信號(hào)。具體電路圖如下:圖6 溫度顯示電路33 溫度測(cè)試電路這里我們用到溫度芯片ds1820。ds1820是dallas公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳to92小體積封裝形式。測(cè)溫分辨率可達(dá)0.0625,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出。其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。cpu只需一根端口線就能與諸多ds1820通信,占用微處理

10、器的端口較少,可節(jié)省大量的引線和邏輯電路。ds1820支持“一線總線”接口,測(cè)量溫度范圍為 -55c+125c,在-10+85c范圍內(nèi),精度為0.5c?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類(lèi)消費(fèi)電子產(chǎn)品等。34 串口控制電路at89c51有一個(gè)全雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿(mǎn)足一定的條件,比如電腦的串口是rs232電平的,而單片機(jī)的串口是ttl電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我們采用了專(zhuān)用芯片max232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模

11、擬轉(zhuǎn)換,但是還是用專(zhuān)用芯片更簡(jiǎn)單可靠。具體電路如下:圖7 單片機(jī)至rs-232轉(zhuǎn)換電路我們采用了三線制連接串口,也就是說(shuō)和電腦的9針串口只連接其中的3根線:第5腳的gnd、第2腳的rxd、第3腳的txd。這是最簡(jiǎn)單的連接方法,但是對(duì)本設(shè)計(jì)來(lái)說(shuō)已經(jīng)足夠使用了,電路如上圖所示。通信線采用交叉接法,即兩者信號(hào)線對(duì)應(yīng)成為rt,tr。 具體連接電路如下:圖8 pc機(jī)9針串口電路接線圖第四章 元器件的選擇4.1 電源部分采用開(kāi)關(guān)電源模塊供電,本設(shè)計(jì)共需要兩個(gè)等級(jí)的電源電壓。第一:?jiǎn)纹瑱C(jī)及其外圍接口電路工作需要使用標(biāo)準(zhǔn)的5v直流電壓;第二:的聲光報(bào)警電路本設(shè)計(jì)采用了12v的直流電源供電,目的就是為了提高聲光

12、報(bào)警的功率,加大聲光報(bào)警作用的范圍,使得操作人員在附近不遠(yuǎn)處詢(xún)查時(shí)出現(xiàn)轉(zhuǎn)速異常時(shí)也可以較清晰的聽(tīng)到或看到報(bào)警信息。為了降低成本,同時(shí)考慮到線路中的所需使用較大功耗僅在聲光報(bào)警時(shí),所以選用ac/dc模塊為ac220vdc+12v,將此開(kāi)關(guān)電源模塊的輸出直接向聲光報(bào)警電路提供電源,同時(shí)將一片lm7805的輸入端與開(kāi)關(guān)電源模塊的輸出端相連,這樣開(kāi)關(guān)電源模塊輸出的12v直流電壓經(jīng)lm7805變換成單片機(jī)及其外圍接口電路需要的5v的直流電源電壓。4.2 溫度傳感器的選擇1、ds1820簡(jiǎn)介ds1820是美國(guó)dallas半導(dǎo)體公司生產(chǎn)的可組網(wǎng)數(shù)字式溫度傳感器,在其內(nèi)部使用了在板(on-b0ard)專(zhuān)利技術(shù)

13、。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。2、ds1820引腳及功能 ds1820的引腳見(jiàn)右圖: gnd:接地 dq : 數(shù)據(jù)輸入/輸出腳(單線接口,可作寄生供電) vdd:電源電壓3、ds1820的內(nèi)部結(jié)構(gòu)如下圖所示圖9 ds1820內(nèi)部結(jié)構(gòu)圖(1)ds1820有4個(gè)主要的數(shù)據(jù)部件: 64位激光rom。64位激光rom從高位到低位依次為8位crc、48位序列號(hào)和8位家族代碼(28h)組成。 溫度靈敏元件。 非易失性溫度報(bào)警觸發(fā)器th和tl??赏ㄟ^(guò)軟件寫(xiě)入用戶(hù)報(bào)警上下限值。 配置寄存器。配置寄存器為高速暫存存儲(chǔ)器中的第五個(gè)字節(jié)。ds18b20在0工作時(shí)按此寄存器中的分辨率將溫度

14、轉(zhuǎn)換成相應(yīng)精度的數(shù)值,其各位定義如圖所示。tmr1r011111msb ds18b20配置寄存器結(jié)構(gòu)圖lsb圖10 ds1820內(nèi)部結(jié)構(gòu)圖其中,tm:測(cè)試模式標(biāo)志位,出廠時(shí)被寫(xiě)入0,不能改變;r0、r1:溫度計(jì)分辨率設(shè)置位,其對(duì)應(yīng)四種分辨率如下表所列,出廠時(shí)r0、r1置為缺省值:r0=1,r1=1(即12位分辨率),用戶(hù)可根據(jù)需要改寫(xiě)配置寄存器以獲得合適的分辨率。(2) 高速暫存存儲(chǔ)器高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如下圖所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過(guò)單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如

15、圖所示。對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位s=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)s=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。配置寄存器與分辨率關(guān)系表 :表10 配置寄存器與分辨率關(guān)系表r0r1溫度計(jì)分辨率/bit最大轉(zhuǎn)換時(shí)間/us00993.750110187.510113751112750溫度低位溫度高位thtl配置保留保留保留8位crclsb ds1820 存儲(chǔ)器映像圖msb圖11 ds1820存儲(chǔ)器映像圖溫度值格式圖ds1820 溫度數(shù)據(jù)表:232221202-12-22-32-4msblsbsssss262524對(duì)ds1820的設(shè)計(jì),需要注意以下問(wèn)題(1)對(duì)硬件結(jié)構(gòu)簡(jiǎn)單的單線數(shù)字溫度傳感器ds

16、1820 進(jìn)行操作,需要用較為復(fù)雜的程序完成。編制程序時(shí)必須嚴(yán)格按芯片數(shù)據(jù)手冊(cè)提供的有關(guān)操作順序進(jìn)行,讀、寫(xiě)時(shí)間片程序要嚴(yán)格按要求編寫(xiě)。尤其在使用ds1820 的高測(cè)溫分辨力時(shí),對(duì)時(shí)序及電氣特性參數(shù)要求更高。(2)有多個(gè)測(cè)溫點(diǎn)時(shí),應(yīng)考慮系統(tǒng)能實(shí)現(xiàn)傳感器出錯(cuò)自動(dòng)指示,進(jìn)行自動(dòng)ds1820 序列號(hào)和自動(dòng)排序,以減少調(diào)試和維護(hù)工作量。(3)測(cè)溫電纜線建議采用屏蔽4 芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接vcc和地線,屏蔽層在源端單點(diǎn)接地。ds1820 在三線制應(yīng)用時(shí),應(yīng)將其三線焊接牢固;在兩線應(yīng)用時(shí),應(yīng)將vcc與gnd接在一起,焊接牢固。若vcc脫開(kāi)未接,傳感器只送85.0 的溫度值。(4)實(shí)

17、際應(yīng)用時(shí),要注意單線的驅(qū)動(dòng)能力,不能掛接過(guò)多的ds1820,同時(shí)還應(yīng)注意最遠(yuǎn)接線距離。另外還應(yīng)根據(jù)實(shí)際情況選擇其接線拓?fù)浣Y(jié)構(gòu)。典型對(duì)應(yīng)的溫度值表:表10 典型對(duì)應(yīng)的溫度值表溫度/二進(jìn)制表示十六進(jìn)制表示+125 +25.0625+10.125+0.50-0.5-10.125-25.0625-5500000111 1101000000000001 1001000100000000 1010001000000000 0000100000000000 0000000011111111 1111100011111111 0101111011111110 0110111111111100 10010000

18、07d0h0191h00a2h0008h0000hfff8hff5ehfe6fhfc90h4、ds1820的室溫監(jiān)測(cè)裝置結(jié)構(gòu)原理(1)傳感器部分 采用數(shù)字溫度芯片ds1820測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線形較好。在0100攝氏度時(shí),最大線形偏差小于1攝氏度。ds1820的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)ds1820和微控制器at89c51構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。這樣,測(cè)溫系統(tǒng)的結(jié)構(gòu)就比較簡(jiǎn)單,體積也不大,且由于at89c51可

19、以帶多個(gè)ds1820,因此可以非常容易實(shí)現(xiàn)多點(diǎn)測(cè)量.輕松的組建傳感器網(wǎng)絡(luò)。采用溫度芯片ds1820測(cè)量溫度,體現(xiàn)了系統(tǒng)芯片化這個(gè)趨勢(shì)。部分功能電路的集成,使總體電路更簡(jiǎn)潔,搭建電路和焊接電路時(shí)更快。而且,集成塊的使用,有效地避免外界的干擾,提高測(cè)量電路的精確度。(2)主控制部分 此次設(shè)計(jì)采用at89c51八位單片機(jī)實(shí)現(xiàn)。單片機(jī)軟件編程的自由度大,可通過(guò)編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。既可以單獨(dú)對(duì)多ds1820控制工作,還可以與pc機(jī)通信.運(yùn)用主從分布式思想,由一臺(tái)上位機(jī)(pc微型計(jì)算機(jī)),下位機(jī)(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級(jí)分布式多點(diǎn)溫度測(cè)量的巡

20、回檢測(cè)系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程控制。另外at89c51在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。4.3 單片機(jī)本模塊采用的主要芯片是at89c52,該單片機(jī)是atmel公司生產(chǎn)的低功耗、高性能的8位cmos微處理器,它自帶8k的快速擦寫(xiě)可編程的程序存儲(chǔ)器,芯片的制造工藝采用了atmel公司的高集成固定存儲(chǔ)技術(shù),在程序指令的設(shè)置與輸出方面和工業(yè)標(biāo)準(zhǔn)80c52相兼容??刹翆?xiě)的特性是程序存儲(chǔ)器在系統(tǒng)中能被重寫(xiě)或者通過(guò)一種慣用的固化內(nèi)存的設(shè)備來(lái)完成,通過(guò)結(jié)合一種通用8位cpu激光擦除功能整合在一個(gè)芯片中。at89c52是一款功能強(qiáng)大的微處理器,給嵌入式系統(tǒng)提供了較強(qiáng)的靈活性和極為有

21、效的解決方法。at89c52內(nèi)部包含有1個(gè)8位cpu、振蕩器和時(shí)鐘電路,8k字節(jié)的程序存儲(chǔ)器,128字節(jié)的數(shù)據(jù)存儲(chǔ)器,可尋址外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器(各64k字節(jié)),21個(gè)特殊功能寄存器,4個(gè)并行i/o口,1個(gè)全雙工串行口,3個(gè)16位定時(shí)器/計(jì)數(shù)器,6個(gè)中斷源,提供2個(gè)中斷優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷優(yōu)先級(jí)。具有位尋址功能,有較強(qiáng)的布爾處理能力??紤]單片機(jī)的運(yùn)行速度,選用常用的12m晶振頻率。再此頻率下,單片機(jī)一個(gè)機(jī)器周期為1微妙,運(yùn)行速度較快。4.4 看門(mén)狗監(jiān)視芯片本設(shè)計(jì)一般應(yīng)用于工業(yè)現(xiàn)場(chǎng)需要監(jiān)測(cè)設(shè)備轉(zhuǎn)速的場(chǎng)合,外界干擾較多且必須要考慮,從系統(tǒng)可靠性角度出發(fā),單片機(jī)選用同時(shí)具有上電復(fù)位方式和監(jiān)視

22、功能的看門(mén)狗監(jiān)視芯片。其性能介紹如下。監(jiān)控芯片可為系統(tǒng)提供上電、掉電復(fù)位功能,也可提供其它功能,如后備電池管理,存儲(chǔ)器保護(hù)、低電壓告警或看門(mén)狗等?!翱撮T(mén)狗”計(jì)時(shí)器電路英文名為watch dog timer,簡(jiǎn)稱(chēng)wdt。其作用是監(jiān)測(cè)單片機(jī)的運(yùn)行,一旦發(fā)現(xiàn)“死機(jī)”就發(fā)出復(fù)位信號(hào)恢復(fù)程序的正常運(yùn)行。wdt電路種類(lèi)很多,但基本原理相同。max813l是美國(guó)maxium公司生產(chǎn)的系統(tǒng)p監(jiān)控芯片,具有價(jià)格低、功能完善、低功耗的優(yōu)點(diǎn),而且工作溫度范圍寬(-40+80),使用簡(jiǎn)單。它能在上電、掉電期間或手動(dòng)情況下產(chǎn)生復(fù)位信號(hào),它內(nèi)含一個(gè)1.6s的看門(mén)狗定時(shí)器的4.40v的電源電壓監(jiān)視器。另外,還有一個(gè)1.25

23、v門(mén)限的電源故障報(bào)警電路,可用于檢測(cè)電池電壓和非5v的電源。pfi為電源故障電壓監(jiān)控輸入,當(dāng)pfi小于1.25v時(shí),pfo變?yōu)榈碗娖?,pfo為電源故障輸出端,通過(guò)外接電阻r1r2可組成不同門(mén)限電壓監(jiān)視網(wǎng)絡(luò)。當(dāng)電源電壓低于容限電壓時(shí)即視為報(bào)警輸出。監(jiān)控電路還具有上電復(fù)位輸出和外部手動(dòng)復(fù)位輸出功能,芯片內(nèi)部有一個(gè)上電比較器,當(dāng)電源電壓上升到可靠的工作電壓后,即在 reset端輸出一個(gè)200ms的復(fù)位信號(hào),保持單片機(jī)系統(tǒng)的正常復(fù)位。芯片內(nèi)有一個(gè)看門(mén)狗定時(shí)器wdt,wdi為看門(mén)狗輸入,接單片機(jī)p1.7,其最短的狀態(tài)改變周期為1.6秒,當(dāng)wdi保持高電平或低電平達(dá)1.6s時(shí)可使內(nèi)部定時(shí)器完成計(jì)數(shù),并置w

24、do為低。wdo為看門(mén)狗輸出,如果連接到mr將會(huì)觸發(fā)復(fù)位信號(hào)使單片機(jī)系統(tǒng)復(fù)位。4.5 聲光報(bào)警雖然單片機(jī)at89c2051的p1口、p3口低電平時(shí)的吸收電流可達(dá)20ma,不需要外接驅(qū)動(dòng)電路,可直接驅(qū)動(dòng)發(fā)光二極管,但是為了降低單片機(jī)本身的功耗提高其工作的穩(wěn)定性我們?nèi)允褂?2v電源加限流電阻經(jīng)單片機(jī)引腳控制的三極管開(kāi)啟點(diǎn)亮數(shù)碼管,。所以選用led共陽(yáng)極發(fā)光二極管bt311057,經(jīng)限流電阻直接連到三極管的集電極上。單片機(jī)高電平時(shí),發(fā)光二極管不亮;低電平時(shí)點(diǎn)亮發(fā)光二極管。發(fā)光二極管的發(fā)光亮度強(qiáng)弱由流過(guò)它的電流決定,通常2ma以上就能保證發(fā)光二極管可靠發(fā)光,它的正常工作電流為810ma,發(fā)光二極管的壓

25、降為1.5v。所以,選擇發(fā)光二極管的正常工作電流為10ma,則它的限流電阻可由以下公式計(jì)算:rl=(12-1.52)v/10ma=900,取限流電阻為910。蜂鳴器用來(lái)作為報(bào)警指示,選用直流型fm12-12v型號(hào)。蜂鳴器工作電壓為+12v,工作電流在20ma以上。單片機(jī)的驅(qū)動(dòng)電流不夠,不能直接驅(qū)動(dòng),必須外接功率驅(qū)動(dòng)。因此,選用pnp型三極管9012作為蜂鳴器的功率驅(qū)動(dòng),與基極相連的電阻取2k阻值,保證三極管工作在飽和狀態(tài)。4.6 繼電器輸出控制電路繼電器是感性元件,驅(qū)動(dòng)電流較大,單片機(jī)不能直接驅(qū)動(dòng),必須經(jīng)過(guò)電路的轉(zhuǎn)換。繼電器選用srs-12dc-sl型號(hào),用直流+12v供電。三極管選用常用的n

26、pn型9013作為繼電器的功率開(kāi)關(guān)。為了起到隔離的作用,三極管9013的基極通過(guò)光電耦合器進(jìn)行隔離和驅(qū)動(dòng)。如圖6所示,當(dāng)p3.4為高電平時(shí),光電耦合器不通,所以三極管9013也不通即繼電器j沒(méi)有得電時(shí)可以控制被監(jiān)測(cè)設(shè)備正常運(yùn)轉(zhuǎn),當(dāng)p3.4為低電平時(shí),光電耦合器導(dǎo)通,所以三極管9013也導(dǎo)通即繼電器j得電時(shí)可以控制被監(jiān)測(cè)設(shè)備緊急停止運(yùn)轉(zhuǎn)。第五章 軟件設(shè)計(jì)5.1 軟件設(shè)計(jì)流程圖1、 概述整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來(lái)實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來(lái)了。從軟件的功能不同可分為兩大類(lèi):一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專(zhuān)門(mén)用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行

27、軟件(子程序),它是用來(lái)完成各種實(shí)質(zhì)性的功能如測(cè)量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能和鍵盤(pán)設(shè)置選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。2、主程序方案主程序調(diào)用了4個(gè)子程序,分別是數(shù)碼管顯示程序、鍵盤(pán)掃描以及按鍵處理程序、溫度測(cè)試程序、中斷控制程序、單片機(jī)與pc機(jī)串口通訊程序。鍵盤(pán)掃描電路及按鍵處理程序:實(shí)現(xiàn)鍵盤(pán)的輸入按鍵的識(shí)別及相關(guān)處理。溫度測(cè)試程序:對(duì)溫度芯片送過(guò)來(lái)的數(shù)據(jù)進(jìn)

28、行處理,進(jìn)行判斷和顯示。數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。中斷控制程序:實(shí)現(xiàn)循環(huán)顯示功能。串口通訊程序:實(shí)現(xiàn)pc機(jī)與單片機(jī)通訊,將溫度數(shù)據(jù)傳送給pc機(jī)。將各個(gè)功能程序以子程序的形式寫(xiě)好,當(dāng)寫(xiě)主程序的時(shí)候,只需要調(diào)用子程序,然后在寄存器的分配上作一下調(diào)整,消除寄存器沖突和i/o沖突即可。程序應(yīng)該盡可能多的使用調(diào)用指令代替跳轉(zhuǎn)指令。因?yàn)樘D(zhuǎn)指令使得程序難以看懂各程序段之間的結(jié)構(gòu)關(guān)系。而調(diào)用指令則不同,調(diào)用指令使得程序結(jié)構(gòu)清晰,無(wú)論是修改還是維護(hù)都比較方便。將功能程序段寫(xiě)成子程序的形式,除了方便調(diào)用之外,還有一個(gè)好處那就是以后寫(xiě)程序的時(shí)候如果要用到,就可以直接調(diào)用這個(gè)單元功能模塊

29、。圖12 程序結(jié)構(gòu)圖主程序流程圖如圖:圖13 主程序流程圖3、各模塊子程序的設(shè)計(jì) 下面對(duì)主要幾個(gè)子程序的流程圖做介紹:(1)溫度測(cè)試子程序設(shè)計(jì) 見(jiàn)附錄一:溫度測(cè)試子程序流程圖(2)中斷控制程序設(shè)計(jì)如下圖:圖14 中斷控制程序流程圖(3)串行程序設(shè)計(jì)本次通訊中,測(cè)控系統(tǒng)分位上位機(jī)和下位機(jī)之間的通信,系統(tǒng)中單片機(jī)負(fù)責(zé)數(shù)據(jù)采集、處理和控制,上位機(jī)進(jìn)行現(xiàn)場(chǎng)可視化檢測(cè),通信協(xié)議采用半雙工異步串行通信方式,通過(guò)rs232的rts信號(hào)進(jìn)行收發(fā)轉(zhuǎn)換,傳輸數(shù)據(jù)采用二進(jìn)制數(shù)據(jù),上位機(jī)與下位機(jī)之間采用主從式通訊。本人采用的vb環(huán)境下pc機(jī)與單片機(jī)之間實(shí)現(xiàn)串行通訊的軟硬件方案。vb是microsoft公司推出的win

30、dows應(yīng)用程序開(kāi)發(fā)工具,因其具有界面友好,編程簡(jiǎn)便等優(yōu)點(diǎn)而受到廣泛的使用,而且visual basic 6.0 版本帶有專(zhuān)門(mén)實(shí)現(xiàn)串行通訊的mscomm控件。mscomm控件串口具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過(guò)此控件,pc機(jī)可以利用串行口與其它設(shè)備實(shí)現(xiàn)輕松連接,簡(jiǎn)單高效地實(shí)現(xiàn)設(shè)備之間的通訊。此控件的事件響應(yīng)有兩種處理方式。事件驅(qū)動(dòng)方式:由mscomm控件的oncomm事件捕獲并處理通訊錯(cuò)誤及事件;查詢(xún)方式:通過(guò)檢查commevent屬性的值來(lái)判斷事件和錯(cuò)誤。 1) mscomm控件的主要屬性和方法 a. commport:設(shè)置或返回串行端口號(hào),其取值范圍為199,缺省為1 b. set

31、ting:設(shè)置或返回串行端口的波特率、奇偶校驗(yàn)位、數(shù)據(jù)位數(shù)、停止位。c. portopen:打開(kāi)或關(guān)閉串行端口。 d. rthreshold:該屬性為一閥值,它確定當(dāng)接收緩沖區(qū)內(nèi)字節(jié)個(gè)數(shù)達(dá)到或超過(guò)該值后就產(chǎn)生mscomml-oncomm事件。 e. input:從接收緩沖區(qū)移走一串字符。 f. output:向發(fā)送緩沖區(qū)傳送一字符串。軟件流程圖如下: 圖15 pc機(jī)軟件流程圖單片機(jī)程序流程圖: 參數(shù)設(shè)定:通信端口選擇com1,波特率設(shè)定為1200b/smscomm.commport=1mscomm.setting=“1200, n, 8, 1”。 start:movsp,#60hmovtmod

32、,#20h movth1,#0e6hmovtl1,#0e6h ;1200b/s,晶振為12mhzmov pcon,#00hmovscon,#50hsetbtr1圖16 單片機(jī)通訊程序流程圖5.2 軟件設(shè)計(jì)要求(1)、整個(gè)程序延時(shí)地方較多,因此設(shè)立了軟件延時(shí)子程序和定時(shí)器中斷兩種延時(shí)方法(2)、按鈕檢測(cè)中采用軟件延時(shí)方法執(zhí)行按鍵的去抖動(dòng)(3)、正常工作時(shí):采用動(dòng)態(tài)的顯示方法顯示當(dāng)前溫度,即高速循環(huán)點(diǎn)亮四位數(shù)碼管中的每一位。(4)、當(dāng)轉(zhuǎn)溫度限時(shí):秒循環(huán)顯示。1秒鐘內(nèi),蜂鳴器報(bào)警750ms,不報(bào)警250ms,根據(jù)電路的實(shí)際連接情況,當(dāng)蜂鳴器報(bào)警時(shí)的同時(shí)led發(fā)光二極管也被點(diǎn)亮。5.3 軟件清單:溫度

33、傳感器ds1820 的匯編程序-;_;端口介紹:p1.0:加 p1.1:減 p3.2:ds1820數(shù)據(jù)腳 p0:數(shù)碼管 p2.1退出設(shè)定指示燈; p2.7:數(shù)碼管個(gè)位控制 p2.6:數(shù)碼管十位控制 p2.5:數(shù)碼管百位控制 ;采用at89c51單片機(jī),晶振11.0592mhz;p3.2為溫度測(cè)量芯片ds18b20的數(shù)據(jù)腳;p3.5超限報(bào)警的標(biāo)志位0為允許,1為禁止;位地址38h是否檢測(cè)到ds18b20標(biāo)志位,1為檢測(cè)到,0為檢測(cè)不到;位地址39h為溫度過(guò)低標(biāo)志位,1為過(guò)低,0正常;位地址3ah為溫度過(guò)高標(biāo)志位,1為過(guò)高,0正常;20h-溫度百位整數(shù)存放地址;21h-溫度十位整數(shù)存放地址;22h

34、-溫度個(gè)位整數(shù)存放地址;2fh-溫度超高預(yù)設(shè)值;2eh-溫度過(guò)低預(yù)設(shè)值;功能介紹:加減按鍵同時(shí)按下進(jìn)入溫度設(shè)定狀態(tài),然后按加或減按鍵進(jìn)行溫度設(shè)定,然后再次同時(shí)按加減鍵退出; 設(shè)定溫度;*;/單片機(jī)內(nèi)存分配申明!/temper_l equ 29h;用于保存讀出溫度的低8位temper_h equ 28h;用于保存讀出溫度的高8位(可位尋址)flag1 equ 38h;是否檢測(cè)到ds18b20標(biāo)志位flag2 equ 01h;進(jìn)入設(shè)定狀態(tài)標(biāo)志位;/入口/org 0000hajmp main;轉(zhuǎn)入主程序org 0030h ;/主程序開(kāi)始/main: mov 2fh,#27;設(shè)定高于27度為溫度過(guò)高

35、setb p2.1 ;關(guān)閉等待指示燈 clr flag2 main1:;/對(duì)溫度過(guò)高預(yù)定值取出百位(40h)、十位(42h)、個(gè)位(41h)/mov a,2fh ;存儲(chǔ)的最高溫度27度mov b,#10 ;取出十位和個(gè)位div aborl a,#00110000bmov 41h,a ;十位mov 42h,b ;個(gè)位mov a,42horl a,#00110000b;轉(zhuǎn)化成ascii碼mov 42h,amov a,2fhmov b,#100 ;取出百位div aborl a,#00110000bmov 40h,a ;百位;/ds1820參數(shù)讀取/duqu:lcall get_temper ;調(diào)用

36、讀溫度子程序并初始化ds1820 lcall disp ;調(diào)用顯示當(dāng)前溫度;/溫度比較/mov a,29h;將現(xiàn)場(chǎng)實(shí)際溫度傳遞給acjne a,2fh,ll1;比較當(dāng)前的溫度與設(shè)定的溫度是否相等clr p2.0;開(kāi)啟電風(fēng)扇sjmp anjianll1:setb p2.0;關(guān)閉電風(fēng)扇;/按鍵判斷/anjian:lcall dispmov a,p1 ;讀取當(dāng)前按鍵的值 anl a,#0fh ;屏蔽高位sheding:cjne a,#0ch,jia ;加減按鍵一起按就進(jìn)入溫度設(shè)定狀態(tài) acall delay100 ;消除鍵抖動(dòng) cjne a,#0ch,jia ;加減按鍵一起按就進(jìn)入溫度設(shè)定狀態(tài) se

37、tb flag2 ;啟動(dòng)設(shè)定 sjmp duqu jia: cjne a,#0eh,jian ;加處理 acall delay100 ;消除鍵抖動(dòng) cjne a,#0eh,jian ;加處理 jnb flag2,duqu ;在加減鍵沒(méi)有同時(shí)按下的時(shí)候,只按加按鍵時(shí)不執(zhí)行任何功能,并跳到讀取當(dāng)前溫度 mov a,2fh;先讀取原先設(shè)定的溫度值 inc a;原先設(shè)定的溫度值加1,當(dāng)設(shè)定的溫度值不能超過(guò)125 mov 2fh,a;將當(dāng)前設(shè)定的溫度值保存 sjmp baocun jian: cjne a,#0dh,duqu ;減處理 acall delay100 ;消除鍵抖動(dòng) cjne a,#0dh,

38、duqu ;減處理 jnb flag2,duqu ;在加減鍵沒(méi)有同時(shí)按下的時(shí)候,只按加按鍵時(shí)不執(zhí)行任何功能,并跳到讀取當(dāng)前溫度 mov a,2fh;先讀取原先設(shè)定的溫度值 dec a;原先設(shè)定的溫度值減1,當(dāng)設(shè)定的溫度值不能超過(guò)-25 mov 2fh,a;保存當(dāng)前設(shè)定的溫度 baocun:cjne a,#0ch,tuichu;加減按鍵一起按就保存溫度設(shè)定狀態(tài) 并退出設(shè)定 acall delay100 ;消除鍵抖動(dòng) cjne a,#0ch,tuichu;加減按鍵一起按就保存溫度設(shè)定狀態(tài) 并退出設(shè)定 clr flag2 ;關(guān)閉設(shè)定sjmp quittuichu:cpl p2.1;等待退出設(shè)定狀態(tài)

39、lcall delay100 lcall delay100 lcall delay100 lcall delay100 lcall delay100 sjmp baocunquit:lcall disp ljmp main1disp:;/取出溫度整數(shù)部分的百位/十位/個(gè)位/jnb flag2,dqmov a,2fh;顯示設(shè)定溫度值sjmp xs dq:mov a,29h;顯示當(dāng)前溫度值xs:mov b,#10 ;取出十位和個(gè)位div abmov dptr,#wordtabmovc a,a+dptrmov p0,aclr p2.7;開(kāi)啟個(gè)位數(shù)碼管顯示setb p2.6setb p2.5lcall

40、 delay100setb p2.7mov a,bmov dptr,#wordtabmovc a,a+dptrmov p0,aclr p2.6;開(kāi)啟十位數(shù)碼管顯示setb p2.7setb p2.5lcall delay100setb p2.6mov a,29hmov b,#100 ;取出百位 div abmov dptr,#wordtabmovc a,a+dptrmov p0,aclr p2.5setb p2.6setb p2.7lcall delay100setb p2.5ret;100毫秒延時(shí)子程序,占用r4、r5delay100:mov r4,#100d222:mov r5,#248

41、djnz r5,$ djnz r4,d222 ret;/ds18b20復(fù)位初始化及判斷是否檢測(cè)到器件的程序/init_1820:setb p3.2nopclr p3.2mov r0,#06bh;主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖mov r1,#03htsr1:djnz r0,tsr1 mov r0,#6bhdjnz r1,tsr1setb p3.2;然后拉高數(shù)據(jù)線nopnopnopmov r0,#25htsr2:jnb p3.2,tsr3;等待ds18b20回應(yīng)djnz r0,tsr2ljmp tsr4 ; 延時(shí)tsr3:setb flag1 ; 置標(biāo)志位,表示ds1820存在ljmp tsr

42、5tsr4:clr flag1 ; 清標(biāo)志位,表示ds1820不存在ljmp tsr7tsr5:mov r0,#06bhtsr6:djnz r0,tsr6 ; 時(shí)序要求延時(shí)一段時(shí)間tsr7:setb p3.2ret;/寫(xiě)ds18b20的子程序(有具體的時(shí)序要求)/write_1820:mov r2,#8;一共8位數(shù)據(jù)clr cwr1:clr p3.2mov r3,#5djnz r3,$rrc amov p3.2,cmov r3,#21djnz r3,$setb p3.2nopdjnz r2,wr1setb p3.2ret;/ 讀出轉(zhuǎn)換后的溫度值/get_temper:lcall init_18

43、20;先復(fù)位ds18b20jb flag1,tss2ret ; 判斷ds1820是否存在?若ds18b20不存在則返回tss2:mov a,#0cch ; 跳過(guò)rom匹配lcall write_1820mov a,#44h ; 發(fā)出溫度轉(zhuǎn)換命令lcall write_1820lcall delay100;延時(shí)750微秒以上,等待18b20 a/d轉(zhuǎn)換結(jié)束lcall init_1820;準(zhǔn)備讀溫度前先復(fù)位 mov a,#0cch ; 跳過(guò)rom匹配lcall write_1820mov a,#0beh ; 發(fā)出讀溫度命令lcall write_1820lcall read_18200; 將讀出的

44、溫度數(shù)據(jù)保存到28h/29hret;/ 讀ds18b20的程序,從ds18b20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù) /read_18200:mov r4,#2 ; 將溫度高位和低位從ds18b20中讀出mov r1,#29h ; 低位存入29h(temper_l),高位存入28h(temper_h)re00:mov r2,#8re01:clr csetb p3.2nopnopclr p3.2nopnopnopsetb p3.2mov r3,#08re10: djnz r3,re10mov c,p3.2mov r3,#21re20: djnz r3,re20rrc adjnz r2,re01mov r1,

45、adec r1djnz r4,re00ret;/數(shù)碼管段瑪/wordtab: db 3fh,06h,5bh,4fh ;0,1,2,3 db 66h,6dh,7dh,07h ;4,5,6,7 db 7fh,6fh,77h,7ch ;8,9,a,b db 39h,5eh,79h,71h ;c,d,e,f db 80h,00h,40h ;小數(shù)點(diǎn),暗,負(fù)號(hào);/7秒延時(shí)子程序/delay7:setb p1.7mov r3,#120frt:acall delay100cpl p1.6djnz r3,frtsetb p1.6ret;/500毫秒延時(shí)子程序/delay500:mov r4,#248da222:

46、mov r5,#248 djnz r5,$ djnz r4,da222 retend第六章 ds1820使用中注意事項(xiàng) ds1820雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題: (1)較小的硬件開(kāi)銷(xiāo)需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于ds1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)ds1820進(jìn)行讀寫(xiě)編程時(shí),必須嚴(yán)格的保證讀寫(xiě)時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在使用pl/m、c等高級(jí)語(yǔ)言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì)ds1820操作部分最好采用匯編語(yǔ)言實(shí)現(xiàn)。 (2)在ds1820的有關(guān)資料中均未提及單總線上所掛ds1820數(shù)量問(wèn)題,容易使人誤認(rèn)為可

47、以?huà)烊我舛鄠€(gè)ds1820,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛ds1820超過(guò)8個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。 (3)連接ds1820的總線電纜是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過(guò)50m時(shí),讀取的測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在用ds1820進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配問(wèn)題。 (4)在ds1820測(cè)溫程序設(shè)計(jì)中,向ds1

48、820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待ds1820的返回信號(hào),一旦某個(gè)ds1820接觸不好或斷線,當(dāng)程序讀該ds1820時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行ds1820硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視??偨Y(jié)dallas最新單線數(shù)字溫度傳感器ds18b20簡(jiǎn)介新的“一線器件”體積更小、適用電壓更寬、更經(jīng)濟(jì) dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器ds1820是世界上第一片支持 “一線總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶(hù)可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。ds18b20、 ds1822 “一線總線”數(shù)字化溫度傳感器 同ds1820一樣,ds18b20也 支持“一線總線”接口,測(cè)量溫度范圍為 -55c+125c,在-10+85c范圍內(nèi),精度為0.5c。ds1822的精度較差

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論