版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)理與信息工程學(xué)院</b></p><p><b> 畢 業(yè) 設(shè) 計 </b></p><p> 題 目: 溫度監(jiān)控系統(tǒng)設(shè)計報告 </p><p> 專 業(yè): 計算機科學(xué)與技術(shù)(專升本) </p><p>
2、 班 級: </p><p> 姓 名: XXX 學(xué)號: </p><p> 實驗地點: 數(shù)理與信息工程學(xué)院 </p><p> 指導(dǎo)老師: XXX </p>
3、;<p> 成 績: </p><p> ( 2009.6 )</p><p><b> 目 錄</b></p><p> 第1節(jié) 引言1</p><p> 第2節(jié) 系統(tǒng)的硬件配置3</p>
4、<p> 2.1 硬件介紹3</p><p> 第3節(jié) 溫度控制系統(tǒng)的組成框圖6</p><p> 第4節(jié) 溫度控制系統(tǒng)軟件設(shè)計7</p><p> 4.1 Microchip PIC16F877A單片機溫度控制系統(tǒng)軟件結(jié)構(gòu)圖如圖5.1.1所示。7</p><p> 4.2 單片機控制流程圖8<
5、/p><p> 4.3 溫度變換程序模塊9</p><p> 4.4 溫度非線性轉(zhuǎn)換程序模塊9</p><p> 第5節(jié) 通信協(xié)議的設(shè)計10</p><p> 5.1 軟件設(shè)計10</p><p> 5.1.1 通信協(xié)議概述10</p><p> 5.2.1 通信協(xié)議處理
6、流程11</p><p> 5.3 單片機軟件設(shè)計14</p><p> 5.3.1波特率14</p><p> 5.4 通信協(xié)議設(shè)計結(jié)論18</p><p> 5.4.1通信可靠性分析18</p><p> 5.4.2通信速度分析19</p><p><b>
7、 總 結(jié)20</b></p><p><b> 參考文獻21</b></p><p> 溫度監(jiān)控系統(tǒng)設(shè)計報告</p><p> 數(shù)理與信息工程學(xué)院 05計算機專升本 陳斌斌</p><p> 指導(dǎo)教師:余水寶 </p><p><b> 第1節(jié) 引
8、 言</b></p><p> 溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機械、石油等工業(yè)中,具有舉足重輕的作用。對于不同場所、不同工藝、所需溫度高低范圍不同、精度不同,則采用的測溫元件、測方法以及對溫度的控制方法也將不同;產(chǎn)品工藝不同、控制溫度的精度不同、時效不同,則對數(shù)據(jù)采集的精度和采用的控制算法也不同,因而,對溫度的測控方法多種多樣。隨著電子技術(shù)和微型計算機的迅速發(fā)展
9、,微機測量和控制技術(shù)也得到了迅速的發(fā)展和廣泛的應(yīng)用。利用微機對溫度進行測控的技術(shù),也便隨之而生,并得到日益發(fā)展和完善,越來越顯示出其優(yōu)越性。</p><p> 本節(jié)重點講述傳感器技術(shù)。</p><p> 作為獲取信息的手段——傳感器技術(shù)得到了顯著的進步,其應(yīng)用領(lǐng)域較廣泛。傳感器技術(shù)已成為衡量一個國家科學(xué)技術(shù)發(fā)展水平的重要標(biāo)志之一。因此,了解并掌握各類傳感器的基本結(jié)構(gòu)、工作原理及特性是非
10、常重要的。</p><p> 為了提高對傳感器的認(rèn)識和了解,尤其是對溫度傳感器的深入研究以及其用法與用途,基于實用、廣泛和典型的原則而設(shè)計了本系統(tǒng)。本文利用單片機結(jié)合傳感器技術(shù)而開發(fā)設(shè)計了這一溫度監(jiān)控系統(tǒng)。文中傳感器理論單片機實際應(yīng)用有機結(jié)合,詳細地講述了利用熱敏電阻作為熱敏傳感器探測環(huán)境溫度的過程,以及實現(xiàn)熱電轉(zhuǎn)換的原理過程。</p><p> 本設(shè)計應(yīng)用性比較強,設(shè)計系統(tǒng)可以作為生
11、物培養(yǎng)液溫度監(jiān)控系統(tǒng),如果稍微改裝可以做熱水器溫度調(diào)節(jié)系統(tǒng)、實驗室溫度監(jiān)控系統(tǒng)等等。課題主要任務(wù)是完成環(huán)境溫度檢測,利用單片機實現(xiàn)溫度調(diào)節(jié)并通過計算機實施溫度監(jiān)控。設(shè)計后的系統(tǒng)具有操作方便,控制靈活等優(yōu)點。</p><p> 本設(shè)計系統(tǒng)包括溫度傳感器,A/D轉(zhuǎn)換模塊,輸出控制模塊,數(shù)據(jù)傳輸模塊,溫度顯示模塊和溫度調(diào)節(jié)驅(qū)動電路六個部分。文中對每個部分功能、實現(xiàn)過程作了詳細介紹。整個系統(tǒng)的核心是進行溫度監(jiān)控,完成了
12、課題所有要求。</p><p> 第2節(jié) 系統(tǒng)的硬件配置</p><p> 2.1 硬件介紹 </p><p> 計算機工作的外圍電路設(shè)備</p><p><b> ?。?)溫度傳感器</b></p><p> 溫度傳感器采用補償型NTC熱敏電阻其主要性能如下:</p>
13、;<p> ①補償型NTC熱敏電阻 B值誤差范圍小,對于阻值誤差范圍在5%的產(chǎn)品,其一致性、互換性良好。適合于一般精度的溫度測量和計量設(shè)備。</p><p><b> ?、谥饕夹g(shù)參數(shù):</b></p><p> 時間常數(shù)≤30S </p><p> 測量功率≤0.1mW</p><p> 使用溫
14、度范圍-55~+125℃</p><p> 耗散系數(shù)≥6mW/℃</p><p> 額定功率0.5W </p><p><b> ?、劢倒那€:</b></p><p> 圖2.1.1溫度傳感器功耗曲線圖</p><p> (2)核心處理單元MicroChip PIC16F877A單片
15、機</p><p> MicroChip PCI16F877A單片機主要性能:</p><p> 具有高性能RISC CPU,僅有35條單字指令。</p><p> 除程序指令為兩個周期外,其余的均為單周期指令。</p><p> 運行速度:DC-20M時鐘輸入,DC-200ns指令周期。</p><p>
16、8K*14個FLASH程序存儲器,368*8個數(shù)據(jù)存儲器(RAM)字節(jié)。</p><p> 引腳輸出和PIC16C73B/74B/76/77兼容,中斷能力(達到14個中斷源)。</p><p> 8級深度的硬件堆棧,直接,間接和相對尋址方式。</p><p> 上電復(fù)位(POR),上電定時器(PWRT)和震動啟動定時器。</p><p>
17、; 監(jiān)視定時器(WDT),它帶有片內(nèi)可靠運行的RC振蕩器。</p><p> 可編程的代碼保護,低功耗睡眠方式,可選擇的振蕩器。</p><p> 低功耗,高速CMOS FLASH/EEPROM工藝。</p><p> 在線串行編程(ICSP),單獨5v的內(nèi)部電路串行編程(ICSP)能力。</p><p> 處理機讀/寫訪問程序存儲
18、器,運行電壓范圍2.0v到5v。</p><p> 高輸入/輸出電流25mA。</p><p><b> 低功耗:</b></p><p> 在5v,4MHz時典型值小于2mA。</p><p> 在3v,32KHz時典型值小于20uA。</p><p> 典型的靜態(tài)電流值小于1uA。&
19、lt;/p><p><b> 外圍特征:</b></p><p> Timer 0 :帶有預(yù)分頻的8位定時器/計數(shù)器。</p><p> Timer 1 :帶有預(yù)分頻的16位定時器/計數(shù)器,在使用外部晶體時鐘時在</p><p> SLEEP期間仍能工作。</p><p> Timer 2
20、:帶有8位周期寄存器,預(yù)分頻和后分頻器的8位定時器/計數(shù)器</p><p> 2個捕捉器,比較器和PWM模塊。</p><p> 其中 :捕捉器是16位的,最大分辨率為12.5nS。</p><p> 比較器是16位的,最大分辨率為200nS。</p><p> PWM最大分辨率為是10位。</p><p>
21、 10位多通道模/數(shù)轉(zhuǎn)換器。</p><p> 帶有SPI(主模式)和I2C(主/從)模式的SSP。</p><p> 帶有9位地址探測的通用同步異步接收/發(fā)送(USART/RCI)。</p><p> 帶有RD,WR和CS控制(只40/44引腳)8位字寬的并行從端口。</p><p> 帶有降壓的復(fù)位檢測電路。</p>
22、<p> ?。?)RS-232-C接口電路</p><p> 計算機與計算機或計算機與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。 在串行通訊時,要求通訊雙方都采用一個標(biāo)準(zhǔn)接口,使不同 的設(shè)備可以方便地連接起來進行通訊。 RS-232-C接口(又稱 E
23、IA RS-232-C)是目前最常用的一種串行通訊接口。它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、 調(diào)制解調(diào)器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo) 準(zhǔn)。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間 串行二進制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”該標(biāo)準(zhǔn)規(guī)定采用一個25個腳的 DB25連接器,對連接器的每個引腳的信號內(nèi)容加以規(guī)定,還對各種信 號的電
24、平加以規(guī)定。</p><p> ?、俳涌诘男盘杻?nèi)容 實際上RS-232-C的25條引線中有許多是很少使用的,在計算機通訊中一般只使用3-9條引線。RS-232-C最常用的9條引線的信號。</p><p> ?、诮涌诘碾姎馓匦?#160;在RS-232-C中任何一條信號線的電壓均為負(fù)邏輯關(guān)系。即:邏輯?!?”,-5~-15V;邏輯“0” +5~ +15V
25、0;。噪聲容限為2V。即 要求接收器能識別低至+3V的信號作為邏輯“0”,高到-3V的信號 作為邏輯“1” 。 ③ 接口的物理結(jié)構(gòu) RS-232-C接口連接器一般使用型號為DB-25的25芯插頭座,通常插頭在DCE端,插座在DTE端. 一些設(shè)備與PC機連接的RS-232-C接口,因為不使用對方的傳送控制信號,只需三條接口線,即“發(fā)送數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號地”。所以采用DB-
26、9的9芯插頭座,傳輸線采用屏蔽雙絞線。</p><p> ?、軅鬏旊娎|長度 由RS-232C標(biāo)準(zhǔn)規(guī)定在碼元畸變小于4%的情況下,傳輸電纜長度應(yīng)為50英尺,其實這個4%的碼元畸變是很保守的,在實際應(yīng)用中,約有99%的用戶是按碼元畸變10~20%的范圍工作的,所以實際使用中最大距離會遠超過50英尺。</p><p> 圖2.1.2 Max232結(jié)構(gòu)圖</p><
27、p><b> ?。?)繼電器</b></p><p> 繼電器是具有隔離功能的自動開關(guān),廣泛用于遙控,遙測,通信,自動控制,機電一體化及電力電子設(shè)備中,是最重要的控制元件之一。</p><p> 繼電器是在自動控制電路中起控制與隔離作用的執(zhí)行部件,它實際上是一種可以用低電壓、小電流來控制大電流、高電壓的自動開關(guān)。在本系統(tǒng)中,繼電器控制的自動溫度調(diào)節(jié)電路和PC
28、I16F877A單片機中程序構(gòu)成溫度自動監(jiān)測電路,實現(xiàn)對生物培養(yǎng)液溫度的監(jiān)測和自動控制</p><p> ?。?)半導(dǎo)體降溫片及電阻加熱絲</p><p> ?、侔雽?dǎo)體制冷器是根據(jù)熱電效應(yīng)技術(shù)的特點,采用特殊半導(dǎo)體材料熱電堆來制冷,能夠?qū)㈦娔苤苯愚D(zhuǎn)換為熱能,效率較高。其工作原理如圖2.5.1:</p><p> 圖2.5.1半導(dǎo)體降溫片工作原理圖</p>
29、;<p> ②本控制系統(tǒng)是對生物培養(yǎng)液進行溫度監(jiān)控,過快的溫度變化對生物繁殖顯然是不利的,因此在本系統(tǒng)中采用的是高阻抗小功率加熱電阻絲進行溫度的小范圍調(diào)節(jié)。</p><p> 第3節(jié) 溫度控制系統(tǒng)的組成框圖</p><p> 3.1 溫度控制系統(tǒng)的組成:采用典型的反饋式溫度控制系統(tǒng),組成部分見圖3.1。其中數(shù)字控制器的功能由單片機實現(xiàn)。</p>&l
30、t;p> 圖3.1溫度控制系統(tǒng)的組成框圖</p><p> 3.2 溫度控制系統(tǒng)結(jié)構(gòu)圖及總述</p><p> 圖3.2中溫度傳感器和Micro Chip PIC16F877A單片機中的A/D轉(zhuǎn)換器構(gòu)成輸入通道,用于采集培養(yǎng)皿內(nèi)的溫度信號。溫度傳感器輸出電壓經(jīng)過A/D轉(zhuǎn)換后的數(shù)字量與培養(yǎng)皿內(nèi)的溫度給定值數(shù)字化后進行比較,即可得到實際溫度和給定溫度的偏差。培養(yǎng)皿內(nèi)的溫度設(shè)定值由
31、Micro Chip PIC16F877A單片機中程序設(shè)定。由Micro Chip PIC16F877A單片機構(gòu)成的數(shù)字控制器進行比較運算,經(jīng)過比較后輸出控制量控制由加熱和降溫電路構(gòu)成的溫度調(diào)節(jié)電路對培養(yǎng)皿中的培養(yǎng)液溫度進行調(diào)節(jié)。同時通過電平轉(zhuǎn)換電路把當(dāng)前溫度傳輸?shù)缴逃糜嬎銠C的串口中,由計算機動態(tài)的顯示培養(yǎng)皿中的溫度,正常情況下溫度控制由Micro Chip PIC16F877A單片機自動控制。必要時,計算機也可以通過軟件來強制改變培養(yǎng)
32、皿中溫度。</p><p> 第4節(jié) 溫度控制系統(tǒng)軟件設(shè)計</p><p> 4.1 Microchip PIC16F877A單片機溫度控制系統(tǒng)軟件結(jié)構(gòu)圖如圖5.1.1所示。</p><p> 圖4.1.1單片機溫度控制系統(tǒng)軟件結(jié)構(gòu)圖</p><p> 4.2 單片機控制流程圖</p><p> 圖4.
33、2.1單片機控制流程圖</p><p> 4.3 溫度變換程序模塊</p><p> 溫度傳感器在12℃到60℃輸出2.52V—1.02V,溫度起點為12℃,滿量程為48℃。Micro Chip PIC16F877A單片機內(nèi)嵌的10位A/D轉(zhuǎn)換器對應(yīng)輸出的數(shù)字量為0000000000B~1111111111B(0~5V),應(yīng)用以下變換公式進行變換:</p><p&g
34、t; AX=A0+(AM-A0)(NX-N0)/(NM-N0)</p><p> 式中,A0為一次測量儀表的下限。</p><p> AM為一次測量儀表的上限。</p><p><b> AX實際測量值。</b></p><p> N0儀表下限對應(yīng)的數(shù)字量。</p><p> NM儀表
35、上限對應(yīng)的數(shù)字量。</p><p> NX測量值對應(yīng)的數(shù)字量。</p><p> 4.4 溫度非線性轉(zhuǎn)換程序模塊</p><p> 采用折線擬合法進行線性化處理</p><p> 如圖5.4.1所示,分為以下幾段:</p><p> 當(dāng)1.73V≤Ax<2.52V時,T℃=0.06*WN+12</
36、p><p> 當(dāng)1.40V≤WN<1.73V時,T℃=0.03*WN+25</p><p> 當(dāng)1.24V≤WN<1.40V時,T℃=0.016*WN+40</p><p> 當(dāng)1.06V≤WN<1.24V時,T℃=0.018WN+50</p><p><b> 圖5-1</b></p>
37、<p> 圖4.4.1 溫度分段線限等效圖</p><p> 第5節(jié) 通信協(xié)議的設(shè)計</p><p> 由于溫度采集和實施控制是通過單片機控制系統(tǒng)實現(xiàn),而微機完成溫度監(jiān)控,所以需要采用單片機和微機之間的通信協(xié)議。本設(shè)計應(yīng)用條件為傳輸距離不超過15米的短距離數(shù)據(jù)傳輸,且傳輸數(shù)據(jù)量較小,所以采用在控制領(lǐng)域里應(yīng)用較廣泛RS232C串行通信方式。</p>&
38、lt;p> 針對近程小批量的數(shù)據(jù)通信,設(shè)計時采用3 線制(RXD ,TXD ,GND)軟握手的零MODEM方式。即:將PC機和單片機的“發(fā)送數(shù)據(jù)線(TXD)”與“接收數(shù)據(jù)(RXD)”交叉連接,二者的地線(GND)直接相連而其它信號線如握手信號線均不用,而采用軟件握手。這樣即可以實現(xiàn)預(yù)定的任務(wù),又可以簡化電路設(shè)計節(jié)約了成本。</p><p> 由于RS232C是早期為促進公用電話網(wǎng)絡(luò)進行數(shù)據(jù)通信而制定的標(biāo)
39、準(zhǔn),其邏輯電平與TTL, MOS 邏輯電平不同。邏輯0 電平規(guī)定為+5~+15V之間,邏輯1是電平為-5 ~-15V 之間。因此在將PC機和單片機的RXD和TXD交叉連接時,必須進行電平轉(zhuǎn)換。</p><p> 下圖即為通信時的硬件連接圖,其中器件MAX232完成邏輯電平轉(zhuǎn)換的任務(wù)。</p><p> 圖5.1 電平轉(zhuǎn)換電路圖</p><p> 注:在PC機中
40、9針RS232接口中:2線:RXD, 3線:TXD, 5線:GND</p><p> 而在25針的RS232接口中:3線:RXD, 2線:TXD, 7線:GND</p><p><b> 5.1 軟件設(shè)計</b></p><p> 在進行數(shù)據(jù)通信的軟件設(shè)計時,必須解決好兩個方面的問題:一是可靠性,二是速度。而這兩方面的問題,可靠性是第一位
41、的,速度只能是在可靠的基礎(chǔ)上的速度。可靠快速轉(zhuǎn)輸?shù)膶崿F(xiàn),需要PC-單片機軟件以及通信協(xié)議等各個環(huán)節(jié)的可靠和其間的相互配合。</p><p> 5.1.1 通信協(xié)議概述</p><p> 在設(shè)計PC-單片機通信協(xié)議時,需說明一點:在本系統(tǒng)的實際通信中,PC機是主控者單片機只是被動接收者。采用這種通信協(xié)議較雙方互為主控者時簡單。</p><p> 本通信協(xié)議的設(shè)計
42、思想是基于幀傳輸方式。即在向RS232串口發(fā)送命令信號,應(yīng)答信號及數(shù)據(jù)信號時,是一幀一幀地發(fā)送的。為了使數(shù)據(jù)快速可靠地傳輸,將每一幀數(shù)據(jù)唯一對應(yīng)一命令幀。此時傳輸數(shù)據(jù)即執(zhí)行命令具體如下:</p><p> (1) 在PC讀數(shù)據(jù)時,遵循“讀命令-等數(shù)據(jù)-報告”,即PC下達一命令,等待接收數(shù)據(jù),根據(jù)所接收數(shù)據(jù)的正誤向應(yīng)用程序報告此命令的執(zhí)行情況。</p><p> (2) 在PC寫數(shù)據(jù)時,
43、遵循“寫命令-等回應(yīng)-報告”,即PC下達一寫命令(此時所要寫的數(shù)據(jù)含于此命令中),等待單片機發(fā)來的“已正確接收”的回應(yīng)信號,并向應(yīng)用程序報告此命令執(zhí)行完畢。</p><p> (3) 如果在轉(zhuǎn)輸過程中,其間PC或MCU所接收任何一幀信號出現(xiàn)錯誤時,均會向?qū)Ψ桨l(fā)送重發(fā)此幀信號的請求。如果連續(xù)三次轉(zhuǎn)輸失敗,則退出通信并向應(yīng)用程序報告。</p><p> 5.2.1 通信協(xié)議處理流程<
44、/p><p> (1) 數(shù)據(jù)分幀與數(shù)據(jù)重組</p><p> 圖5.2.1串口數(shù)據(jù)發(fā)送過程</p><p> 圖5.2.2串口數(shù)據(jù)接受過程</p><p> 將應(yīng)用程序發(fā)送過來的數(shù)據(jù)作為一個數(shù)據(jù)流放在發(fā)送緩沖區(qū)中,通過通信協(xié)議進行分幀──切割──發(fā)送。在接收端,分幀的數(shù)據(jù)去掉幀頭重新組合到接收緩沖區(qū)中,交給應(yīng)用程序處理,發(fā)送過程的示意如圖
45、5.2.1,接收過程的示意圖如圖5.2.2。</p><p> 單片機串口通信軟件設(shè)計流程圖</p><p> 圖5.2.3單片機串口通信軟件流程圖</p><p> PC接收數(shù)據(jù)軟件設(shè)計流程</p><p> N N</p><p> Y
46、 Y</p><p><b> Y</b></p><p><b> Y</b></p><p><b> Y</b></p><p><b> Y</b></p><p>
47、<b> N</b></p><p> 圖5.2.4 PC串口通信軟件設(shè)計流程圖 </p><p> 5.3 單片機軟件設(shè)計</p><p> 我們知道影響數(shù)據(jù)轉(zhuǎn)輸產(chǎn)生錯誤的因素有:轉(zhuǎn)輸線分布參數(shù)上下位機間的波特率誤差現(xiàn)場干擾等。而針對近程小批量數(shù)據(jù)的通信,下位機的波特率誤差性是影響可靠通信的最主要因素。所以在單片機軟件的設(shè)計時應(yīng)重點考
48、慮并設(shè)置好波特率。</p><p><b> 5.3.1波特率</b></p><p> ?。?)波特率誤差來源分析</p><p> ?、賳纹瑱C的振蕩電路是由晶體及電容C1 和C2 構(gòu)成。晶振頻率主要由晶體的因有頻率決定,同時也與電容C1、C2及外界溫度有一定的關(guān)系。另外,晶體頻率的標(biāo)稱值與實際值也不可能完全一致。</p>&
49、lt;p> ?、诓ㄌ芈首畲笤试S誤差分析</p><p> 在異步串行通信方式1中單片機以16倍波特率的采樣速率對接收數(shù)據(jù)(RXD)不斷采樣,一旦檢測到由1到0的負(fù)跳變,16分頻計數(shù)器立刻復(fù)位,使之滿度翻轉(zhuǎn)的時刻恰好與輸入位的邊沿對準(zhǔn)。16分頻計數(shù)器把每個接收位的時間分為16 份,在中間三位即7 ,8 ,9 ,狀態(tài)時位檢測器對RXD 端的值采樣,并以3取2的表決方式確定所接收的數(shù)據(jù)位。由此可見,當(dāng)波特率的誤
50、差使得在接收某位數(shù)據(jù)位時,采樣點離該位的中點半位間隔時將會對該位采樣兩次。即:欲使接收的第N位為正確位時,須滿足下式成立:</p><p> 所允許的波特率誤差N > 0.54</p><p> 故當(dāng)所傳輸?shù)囊粠瑪?shù)據(jù)為10 位時,所允許的最大的波特率允許誤差為5 %對于其它常用的8位,9位,11位,一幀的串行傳輸,其最大的波特率允許誤差分別為6.25%,5.56%, 和4.5%。
51、</p><p> ?、蹨p小波特率誤差的措施</p><p> 我們知道使用離散度小的晶振是減小波特率誤差的關(guān)鍵。如果,晶振的離散度已超過所允許的范圍,此時不宜用其標(biāo)稱值,可以采用測量其波特率的方法來得出實際的晶振波特率值。</p><p> ?。?)單片機軟件的實現(xiàn)</p><p> ①設(shè)置通信方式和波特率的值例</p>
52、<p><b> ……………………</b></p><p><b> ……………………</b></p><p><b> ……………………</b></p><p> MOV SCON,#50H 初始化串口設(shè)為方式1</p><p> MOV TMOD,#20
53、H 利用定時器1為波特率發(fā)生器并設(shè)為模式2</p><p> MOV PCON,#XXH 設(shè)置SMOD值</p><p> MOV TH1,#XXH 設(shè)置定時器初始值</p><p> SETB TR1 啟動定時器1</p><p> …………………………</p><p> …………………………</p&
54、gt;<p> …………………………</p><p> ?、诘却邮誔C機發(fā)來的信號幀并按通信協(xié)議作出相應(yīng)響應(yīng)。</p><p> 本設(shè)計使用的單片機程序如下:</p><p><b> org 0000h</b></p><p> mov sp,#50h</p><p>
55、 LOOP1: MOV 3AH,#01H ;置路數(shù)為1</p><p> mov r0,#30h ;保存數(shù)據(jù)區(qū)首址給R0</p><p> mov dptr,#7ff0h ;P2.7=0,指向IN0(第一路)</p><p> mov 3bh,#08h ;通道總數(shù)為
56、8</p><p><b> read:</b></p><p> movx @dptr,a ;啟動A/D轉(zhuǎn)換</p><p><b> nop</b></p><p><b> nop</b></p><p><b
57、> nop</b></p><p> acall wait ;等待A/D轉(zhuǎn)換</p><p> movx a,@dptr ;讀轉(zhuǎn)換結(jié)果</p><p> mov @r0,a ;保存轉(zhuǎn)換結(jié)果</p><p> BIND: PUSH
58、 DPL ;取溫度值</p><p><b> PUSH DPH</b></p><p> MOV DPTR,#0500H</p><p><b> MOV A,@R0</b></p><p> MOVC A,@A+DPTR</p><p&
59、gt;<b> MOV 40H,A</b></p><p> BIN2BCD: ;二進值碼轉(zhuǎn)換BCD碼程序</p><p> MOV R1,#43H</p><p> MOV 43H,#00H ;轉(zhuǎn)換前將BCD碼清零</p><p> MOV
60、44H,#00H</p><p> MOV R3,#8 ;移動8次,</p><p> START: MOV R1,#43H ;轉(zhuǎn)換后BCD碼地址</p><p><b> MOV A,40H</b></p><p><b> RLC A</
61、b></p><p><b> MOV 40H,A</b></p><p> MOV R2,#02H ;轉(zhuǎn)換后BCD碼字節(jié)數(shù)</p><p> BCDCHG: MOV A,@R1</p><p> ADDC A,ACC</p><p><b>
62、DA A</b></p><p><b> MOV @R1,A</b></p><p><b> INC R1</b></p><p> DJNZ R2,BCDCHG</p><p> DJNZ R3,START</p><p><b> po
63、p dpH</b></p><p><b> POP DPL</b></p><p> chanf: mov a,3Ah ;顯示緩沖區(qū)地址分配</p><p> anl a,#0FH</p><p><b> mov 48h,a</b></
64、p><p><b> mov a,44h</b></p><p> anl a,#0FH</p><p><b> mov 4ah,a</b></p><p><b> mov a,43h</b></p><p> anl a,#0FH</p
65、><p><b> mov 4ch,a</b></p><p><b> mov a,43h</b></p><p><b> swap a</b></p><p> anl a,#0Fh</p><p><b> mov 4bh,a&l
66、t;/b></p><p> disp: acall sym ;調(diào)用判斷熱電阻是否正常或溫度是否超限子程序</p><p> acall zero1 ;調(diào)用消隱“0”子程序</p><p> push dpl ;顯示子程序</p>&l
67、t;p><b> push dph</b></p><p> mov dptr,#tab ;取段碼表首址</p><p> MOV 28H,#1eH</p><p> MOV 29H,#066H</p><p> dsp1: mov a,48h
68、 ;顯示路數(shù)</p><p> movc a,@a+dptr ;查顯示數(shù)據(jù)對應(yīng)段碼</p><p> mov p1,a ;送段碼</p><p><b> clr p3.4</b></p><p><b> acall dll</b&g
69、t;</p><p><b> setb p3.4</b></p><p> dsp2: clr c ;判斷溫度是否為負(fù)。如是,顯示負(fù)號</p><p><b> mov a,@r0</b></p><p> subb a,#56h</p
70、><p><b> jc plus</b></p><p> mov 49h,#0bfh</p><p><b> ajmp ka</b></p><p> plus: mov 49h,#0ffh</p><p> ka: mov a,49h</p
71、><p><b> mov p1,a</b></p><p><b> clr p3.3</b></p><p><b> acall dll</b></p><p><b> setb p3.3</b></p><p> d
72、sp3: mov a,4ah ;顯示溫度值百位</p><p> movc a,@a+dptr</p><p><b> mov p1,a</b></p><p><b> clr p3.2</b></p><p><b> acall dll<
73、;/b></p><p><b> setb p3.2</b></p><p> dsp4: mov a,4bh ;顯示溫度值十位</p><p> movc a,@a+dptr</p><p><b> mov p1,a</b></p>
74、<p><b> clr p3.1</b></p><p><b> acall dll</b></p><p><b> setb p3.1</b></p><p> dsp5: mov a,4ch ;顯示溫度值個位</p><
75、;p> movc a,@a+dptr</p><p><b> mov p1,a</b></p><p><b> clr p3.0</b></p><p><b> acall dll</b></p><p><b> setb p3.0</b
76、></p><p> DJNZ 29H,KK1</p><p> MOV 29H,#01H</p><p> DJNZ 28H,KK1 ;延時,時間未到,循環(huán)顯示該路溫度值</p><p><b> AJMP KK2</b></p><p> KK1:
77、 AJMP DSP1</p><p> KK2: pop dph ;時間到,顯示下一路</p><p><b> pop dpl</b></p><p><b> inc r0</b></p><p><b> inc 3ah</b
78、></p><p><b> inc dptr</b></p><p> djnz 3bh,fturn ;8路未顯示完,顯示下一路</p><p> ajmp loop1 ;8路顯示完,從第一路開始顯示</p><p> fturn: ajmp read&
79、lt;/p><p> SYM: mov a,@r0 ;判斷熱電阻是否正常或溫度是否超限子程序</p><p><b> clr c</b></p><p> subb a,#1eh</p><p><b> jnc sym1</b></p>&
80、lt;p> mov 4ah,#0bh ;熱電阻開路或溫度超過50度,顯示“HHH”</p><p> mov 4bh,#0bh</p><p> mov 4ch,#0bh</p><p><b> ajmp sym3</b></p><p> sym1: mov a,@r0&
81、lt;/p><p> subb a,#0dbh</p><p><b> jc sym3</b></p><p> mov 4ah,#0ch ;熱電阻短路或溫度低于-120度,顯示“-LLL”</p><p> mov 4bh,#0ch</p><p> mov 4
82、ch,#0ch</p><p> sym3: Ret</p><p> zero1: ;消隱“0”子程序</p><p><b> mov a,4ah</b></p><p><b> jNz zero2</b></p>
83、<p> mov 4ah,#0Ah</p><p><b> mov a,4bH</b></p><p><b> jnz zero2</b></p><p> mov 4bh,#0ah</p><p> zero2: ret</p><p>
84、wait: mov r4,#03ah ;等待子程序</p><p><b> djnz r4,$</b></p><p><b> ret</b></p><p> dll: MOV R7,#015H ;延時子程序</p><p> DL1:
85、 MOV R6,#01aH</p><p> DL2: DJNZ R6,DL2</p><p> DJNZ R7,DL1</p><p><b> RET</b></p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H</p><p> DB 99H,9
86、2H,82H,0F8H</p><p> DB 80H,90H,0ffh,89h,0C7h ;其中0FFH是消隱“0”用</p><p><b> ORG 051EH</b></p><p><b> TAB2:</b></p><p> DB32H,31H,30H,2F
87、H,2EH,2DH,2CH,2BH,2AH,29H,28H,28H,27H,26H,25H,24H,23H,22H,21H,20H,1FH,1FH DB1EH,1DH,1CH,1BH,1AH,19H,18H,17H,16H,15H,14H,14H,13H,12H,11H,10H,0FH,0EH,0DH,0CH,0BH,0AH DB0AH,09H,08H,07H,06H,05H,04H,03H,02H,02H,01H,0
88、H,01H,02H,03H,04H,05H,06H,07H,08H,09H,09H</p><p> DB0AH,0BH,0CH,0DH,0EH,0FH,10H,11H,12H,12H,13H,14H,15H,16H,17H,18H,19H,1AH,1BH,1CH,1DH,1DH</p><p> DB1EH,1FH,20H,21H,22H,23H,24H,25H,26H,27H,28
89、H,28H,29H,2AH,2BH,2CH,2DH,2EH,2FH,30H,31H,31H</p><p> DB32H,33H,34H,35H,36H,37H,38H,39H,3AH,3AH,3BH,3CH,3DH,3EH,3FH,40H,41H,42H,44H,45H,45H,46h</p><p> DB47h,48h,49H,4AH,4BH,4CH,4DH,4DH,4EH,4F
90、H,50H,51H,52H,52H,53H,54H,55H,56H,57H,58H,58H,59H</p><p> DB 5AH,5BH,5CH,5DH,5EH,5FH,60H,61H,61H,62H,63H,64H,65H,66H,67H,68H,69H,6AH</p><p> DB 6AH,6BH,6CH,6DH,6EH,6EH,6FH,70H,71H,72H,73H,73H,
91、74H,75H,76H,77H,78H</p><p><b> END</b></p><p> 5.4 通信協(xié)議設(shè)計結(jié)論</p><p> 5.4.1通信可靠性分析</p><p> 通信的可靠性主要體現(xiàn)在所使用通信協(xié)議的可靠性上,本通信協(xié)議的可靠性主要有兩點理論基礎(chǔ):</p><p>
92、; (1)通過判斷幀頭起始字符來決定一幀的開始,這樣就避免了部分?jǐn)?shù)據(jù)進入到內(nèi)部數(shù)據(jù)處理之中。這個可能性在1/256, 通過停止位的判斷可將這個可能性再降低1/256。 另外通過幀類型字節(jié)的判斷可使之進一步降低。</p><p> (2)校驗字將整幀信號進行異或校驗則使誤收的可能很小。如果將此異或校驗改為CRC校驗則出錯的可能性更是微乎其微了。本通信所用協(xié)議具有糾錯功能,這體現(xiàn)在當(dāng)PC 發(fā)送或接收數(shù)據(jù)時,當(dāng)所接
93、收的應(yīng)答信號出現(xiàn)失誤時,將重新發(fā)送或接收此幀數(shù)據(jù),直至接收到了正確的應(yīng)答,具體在程序中最多允許連續(xù)出錯三次,超過后則放棄通信。在實際應(yīng)用中,應(yīng)用本通信時傳輸距離只有幾米以內(nèi)而且環(huán)境干擾比較小,從而從外部因素上進一步保證了通信的可靠性。</p><p> 5.4.2通信速度分析</p><p> 如果在不考慮錯誤發(fā)生的情況下,PC 機每發(fā)送一幀數(shù)據(jù)時需要附加12 個字節(jié),其中8 個字節(jié)用
94、于發(fā)送4 個字節(jié)用于應(yīng)答PC 機。每接收一幀數(shù)據(jù)時,需要附加13 個字節(jié)其中5 個字節(jié)用于接收8 個字節(jié)用于應(yīng)答。如:按每幀傳送32個字節(jié)計算的話,其發(fā)送和接收的效率為為忽略PC和PIC16F877A單片機的處理時間計算。發(fā)送數(shù)據(jù)速率、接收數(shù)據(jù)速率計算公式如下:</p><p> 發(fā)送數(shù)據(jù)速率:9600*32/44=6981bit/s</p><p> 接收數(shù)據(jù)速率:9600*32/4
95、5=6826bit/s</p><p> 這是理論上的速率,實際中還應(yīng)包含PC和PIC16F877A單片機的處理信號幀,等待信號幀的時間。在本通信協(xié)議中,不會出現(xiàn)某信號幀已到達但PC或PIC16F877A單片機還未開始準(zhǔn)備接收的現(xiàn)象。在實際應(yīng)用中,因具體應(yīng)用環(huán)境不同PC和PIC16F877A單片機處理信號幀的時間會有不同,所以具體速率值依具體應(yīng)用而變化。</p><p><b>
96、; 總 結(jié) </b></p><p> 通過做本課題,使我了解傳感器的基本理論知識,更深入的了解單片機的開發(fā)應(yīng)用和PC編程控制。為以后從事單片機軟硬件產(chǎn)品的設(shè)計開發(fā)、PC軟件開發(fā)打下了良好的基礎(chǔ),樹立獨立從事產(chǎn)品研發(fā)的信心。同時也培養(yǎng)了我認(rèn)真的做事態(tài)度。</p><p> 從得到題目到查找資料,從對題目的研究設(shè)定到電路圖的設(shè)計,電路圖的設(shè)計到程序設(shè)計……在這一個充滿挑
97、戰(zhàn)伴隨挫折,充滿熱情伴隨打擊的過程中,我感觸頗深,它是對我的鉆研精神,創(chuàng)新精神,面對困難的心態(tài),做事的毅力和耐心的考驗。我在這個過程中深刻的感受到了做設(shè)計的意義所在,和我一樣真正投入了身心去做的人也一定會有同樣的感觸。</p><p> 本課題的重點、難點是:</p><p> ?。?) 初步接觸溫度傳感器,要對傳感器的原理、結(jié)構(gòu)、應(yīng)用等各方面從頭開始琢磨;</p><
98、;p> ?。?) 考慮從非電量信號到電量信號的電路實現(xiàn)原理以及與單片機的接口;</p><p> ?。?) 熟悉拉RS-232-C串口編程的技術(shù);</p><p> ?。?) 考究調(diào)整電路的實現(xiàn)過程以及怎么樣通過單片機來間接的控制。</p><p><b> 參考文獻</b></p><p> [1] 何立民
99、.單片機應(yīng)用系統(tǒng)設(shè)計系統(tǒng)配置與接口技術(shù)[M].北京:北京航空航天大學(xué),1990.</p><p> [2] 李曉荃.單片機原理與應(yīng)用[M]. 北京:電子工業(yè)出版社,2000.</p><p> [3] 劉和平.單片機原理及應(yīng)用[M].重慶:重慶大學(xué)出版社,2002 .</p><p> [4] 徐愛鈞.單片機高級語言 C51 應(yīng)用程序設(shè)計[M]. 北京:
100、電子工業(yè)出版社,2002.</p><p> [5] 謝自美.電子線路設(shè)計.實驗.測試(第二版) [M].武漢:華中科技大學(xué)出版社,2000. </p><p> [6] 江國強.現(xiàn)代數(shù)字邏輯電路.北京:電子工業(yè)出版社,2002 .</p><p> [7] 張勇.PROTEL 99SE 電路設(shè)計技術(shù)入門與應(yīng)用(第一版).北京:電子工業(yè)出版社,2002
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計----單片機溫度監(jiān)控系統(tǒng)設(shè)計報告
- 基于單片機的溫度監(jiān)控系統(tǒng)(畢業(yè)設(shè)計)
- 基于單片機的溫度監(jiān)控系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---基于單片機的實時溫度監(jiān)控系統(tǒng)設(shè)計
- 單片機課程設(shè)計報告---溫度監(jiān)控系統(tǒng)設(shè)計
- 基于單片機的多點無線溫度監(jiān)控系統(tǒng)設(shè)計-畢業(yè)設(shè)計
- 基于單片機控制的糧倉多點溫度監(jiān)控系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---單片機溫度控制系統(tǒng)
- 單片機溫度控制系統(tǒng)畢業(yè)設(shè)計
- 基于單片機的溫度監(jiān)控器設(shè)計-畢業(yè)設(shè)計論文
- 基于單片機的溫度測量系統(tǒng)設(shè)計【畢業(yè)設(shè)計】
- 畢業(yè)設(shè)計--單片機溫度采集控制系統(tǒng)設(shè)計
- 基于單片機溫度控制系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----單片機的溫度采集系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計---單片機溫度控制系統(tǒng)的設(shè)計
- 基于單片機的溫度采集系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---單片機閉環(huán)溫度控制系統(tǒng)設(shè)計
- 基于單片機溫度測量系統(tǒng)的設(shè)計【畢業(yè)設(shè)計】
- 單片機課程設(shè)計—基于51單片機的溫度監(jiān)控系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計---單片機多點溫度控制系統(tǒng)
評論
0/150
提交評論