基于51單片機(jī)與PC機(jī)的遠(yuǎn)程溫度監(jiān)控系統(tǒng)方案_第1頁
基于51單片機(jī)與PC機(jī)的遠(yuǎn)程溫度監(jiān)控系統(tǒng)方案_第2頁
基于51單片機(jī)與PC機(jī)的遠(yuǎn)程溫度監(jiān)控系統(tǒng)方案_第3頁
基于51單片機(jī)與PC機(jī)的遠(yuǎn)程溫度監(jiān)控系統(tǒng)方案_第4頁
基于51單片機(jī)與PC機(jī)的遠(yuǎn)程溫度監(jiān)控系統(tǒng)方案_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1.本文設(shè)計(jì)的一種溫度控制系統(tǒng),用 STC89C52 單片機(jī)作為溫控器,選用 DS18B20 數(shù)字溫度傳感器,可任意設(shè)置上下限報(bào)警溫度,采用數(shù)碼管實(shí)時(shí)顯示溫度,通過串口利用單片機(jī)與上位機(jī)的通信,對庫房溫度采集并進(jìn)行控制。. . . . 2 / 234.2.4.2. 具體容與要求具體容與要求1. 容與要求:研究基于單片機(jī)的遠(yuǎn)程溫度監(jiān)控系統(tǒng),可以在 PC 機(jī)端實(shí)時(shí)監(jiān)控系統(tǒng)溫度,并根據(jù)當(dāng)前的溫度值對單片機(jī)系統(tǒng)進(jìn)行控制。利用 VB/VC/DELPHI 編制 PC 示例程序。2.主要技術(shù)指標(biāo):(1) 、溫度測量圍 0-70;(2) 、可以設(shè)置溫度報(bào)警的上、下限;(3) 、提供 PC 機(jī)通訊接口;(4)

2、、PC 機(jī)軟件實(shí)現(xiàn)對溫度數(shù)據(jù)分析、統(tǒng)計(jì)和處理; (5)遠(yuǎn)程傳輸距離為 1KM4.34.3、系統(tǒng)總體方案設(shè)計(jì)、系統(tǒng)總體方案設(shè)計(jì)4.3.1、設(shè)計(jì)方案論證方案一由于本設(shè)計(jì)是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行 A/D 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計(jì)需要用到 A/D 轉(zhuǎn)換電路,其中還涉與到電阻與溫度的對應(yīng)值的計(jì)算,感溫電路比較麻煩。而且在對采集的信號進(jìn)行放大時(shí)容易受溫度的影響出現(xiàn)較大的偏差。方案二 進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所

3、以可以采用一只溫度傳感器 DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,電路簡單,精度高,軟硬件都以實(shí)現(xiàn),而且使用單片機(jī)的接口便于系統(tǒng)的再擴(kuò)展,滿足設(shè)計(jì)要求。. . . . 3 / 23從以上兩種方案,很容易看出,采用方案二,電路比較簡單,費(fèi)用較低,可靠性高,軟件設(shè)計(jì)也比較簡單,故采用了方案二。4.3.2、系統(tǒng)總體構(gòu)成圖如下:89C52MAX232 電平轉(zhuǎn)換PC 機(jī)鍵盤電路DS18B20 溫度傳感器數(shù)碼管顯示蜂鳴器報(bào)警晶振電路下限 LED燈上限 LED燈4.3.3、硬件設(shè)計(jì):控制部分的選擇較多,但是作為溫度計(jì),在成本上最合適的是單片機(jī),對于題目要求的控制能力也能勝任,利用

4、STC89S52 自身強(qiáng)大的功能和優(yōu)異的可擴(kuò)展性,配上電路實(shí)驗(yàn)箱、四位一體數(shù)碼管和按鍵等少量外圍電路,就能搭建合適本次實(shí)驗(yàn)的小系統(tǒng)。從而大大縮短設(shè)計(jì)流程,把設(shè)計(jì)的重點(diǎn)放在溫度探測單元,串行通信協(xié)議兩個(gè)部分?,F(xiàn)在 PC 機(jī)提供的 COM1、Com2 是采用 RS-232 接口標(biāo)準(zhǔn)的。而 RS-232 是用正負(fù)電壓來表示邏輯狀態(tài),與 TTL 以高低電平來表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計(jì)算機(jī)借口或終端的 TTL 器件(如單片機(jī))連接,必須在 RS-232 與 TTL 電路之間進(jìn)行電平和邏輯關(guān)系的變換,變換電路選用有儀器公司(TL)推出的一款兼容 RS-232 標(biāo)準(zhǔn)的芯片 MAX232.該器

5、件包含 2 個(gè)驅(qū)動(dòng)器、2 個(gè)接收器和一個(gè)電壓發(fā)生器電路提供 TIA/EIA-232-F 電平轉(zhuǎn)換成 5V TTL/CMOS 電平。每一個(gè)發(fā)送器將 TTL/CMOS 電平轉(zhuǎn)換成 TIA/EIA-232-F 電平。4.3.4、軟件設(shè)計(jì). . . . 4 / 23單片機(jī)軟件設(shè)計(jì)單片機(jī)程序由主程序和中斷子程序組成的。主程序負(fù)責(zé)對來自上位機(jī)的命令進(jìn)行解析并執(zhí)行讀溫度值、存儲溫度值、輸出控制等等,中斷服務(wù)程序只負(fù)責(zé)單片機(jī)和上位機(jī)之間的數(shù)據(jù)發(fā)送與接收。上位機(jī)程序設(shè)計(jì)由單片機(jī)采集的各個(gè)庫房實(shí)時(shí)溫度,通過 MAX232 傳輸?shù)缴衔粰C(jī) PC,利用在 Visual Basic 6.0 的通信控件 Mscomm 屬性

6、設(shè)置和事件響應(yīng)的基礎(chǔ)上,實(shí)現(xiàn)與單片機(jī)串行通信,在上位機(jī)中,完成報(bào)警溫度設(shè)置、溫度傳感器 64 位激光 ROM 讀取并顯示、實(shí)時(shí)溫度數(shù)據(jù)顯示、數(shù)據(jù)存儲、曲線繪制、歷史數(shù)據(jù)查詢等。4.4、系統(tǒng)各個(gè)模塊設(shè)計(jì):4.4.1 單片機(jī)最小系統(tǒng)1、STC89C52 單片機(jī)管腳圖如下:. . . . 5 / 232、各引腳功能:(1)XTAL1(19 腳);XTAL2(18 腳)-外接時(shí)鐘引腳。XTAL1 為片振蕩電路的輸入電源和時(shí)鐘引腳.VCC(40 腳)GND(20 腳)常壓為+5V,低壓為+3.3V。(2)端。 XTAL2 為片振蕩電路的輸出端,8051 的時(shí)鐘有兩種方式,一種是片振蕩方式,需要在這兩個(gè)引

7、腳接石英晶體和振蕩電容, 振蕩電容的值一般選擇為 10P30P。另一種外部時(shí)鐘方式即 XTAL1 接地,外部時(shí)鐘信號從 XTAL2 腳輸入。(3)RST(9 腳)-單片機(jī)的復(fù)位引腳。P0 口(39 腳32 腳)雙向 8 位 I/O 口,每個(gè)口可以獨(dú)立控制。51 單片機(jī) PO 口部沒有上拉電阻,為高阻狀態(tài),所以不能正常的輸出高低電平,因此該組 I/O 口在使用的時(shí)候務(wù)必要接上拉電阻,一般我們采用接入 10K 的上拉電阻。P1 口(1 腳8 腳)-準(zhǔn)雙向 8 位 I/O 口。每個(gè)口可以獨(dú)立操作控制,帶上拉電阻,這種接口輸出沒有高阻狀態(tài),輸入也不能鎖存,固然不是真正的雙向 I/O 口,之所以稱它為”

8、 準(zhǔn)雙向”是因?yàn)樵摽谠谧鳛檩斎胧褂们耙认蛟摽谶M(jìn)行寫一操作,然后單片機(jī)部才可以正確讀出外部信號,也就是要使其先要有個(gè)準(zhǔn)備過程,所以才稱準(zhǔn)雙向口。對 52 單片機(jī)的 P1.0 引腳的第二功能為 T2 定時(shí)器的外部輸入,P1.1 引腳的第二功能為 T2EX 捕捉,重裝觸發(fā),即 T2的外部控制器。. . . . 6 / 23P2 口(21 腳28 腳)-準(zhǔn)雙向 8 位 I/O 口,每個(gè)口都可以獨(dú)立操作控制,帶上拉電阻,與 P1 口相似。P3 口(10 腳17 腳)-準(zhǔn)雙向 8 位 I/O 口,每個(gè)口可以獨(dú)立操作控制,帶上拉電阻,作為第一功能使用時(shí)就當(dāng)作普通 I/O 口,與 P1 口相似。作為第二功能

9、使用時(shí),各引腳的定義如表:值得強(qiáng)調(diào)的是,P3 口的每一個(gè)引腳均可以獨(dú)立定義為第一功能的輸入/輸出或第二功能P3 口引腳第二功能定義標(biāo)號引腳第二功能說明P3.010RXD串行輸入口P3.111TXD串行輸出口P3.212/INTO外部中斷 0P3.313/INT1外部中斷 1P3.414T0定時(shí)器/計(jì)數(shù)器 0 外部輸入口P3.515T1定時(shí)器/計(jì)數(shù)器 1 外部輸入口P3.616/WE外部數(shù)據(jù)存儲器寫脈沖P3.717/RD外部數(shù)據(jù)存儲器讀脈沖3、單片機(jī)最小系統(tǒng). . . . 7 / 23 其中:a、復(fù)位電路單片機(jī)上電時(shí),當(dāng)振蕩器正在運(yùn)行時(shí),只要持續(xù)給出 RST 引腳連個(gè)機(jī)器周期的高電平,便可完成系

10、統(tǒng)復(fù)位。外部復(fù)位電路是為部復(fù)位電路提供兩個(gè)機(jī)器周期以上的電平而設(shè)計(jì)的。系統(tǒng)采用上電自動(dòng)復(fù)位,上電瞬間電容器上的電壓不能突變,RST 上的電壓是 Vcc 上的電壓與電容器上的電壓之差,因而 RST 上的電壓與 Vcc 上的電壓一樣。隨著充電的進(jìn)行,電容器上的電壓不斷上升,RST 上的 電壓就隨著下降,RST 腳上只要保持 10ms 以上高電平,系統(tǒng)就會有效復(fù)位。電容 C 可取 1033uF,電阻 R 可取 1.210k。在本系統(tǒng)設(shè)計(jì)中,C 取10uf,R 取 10k。b、振蕩電路XTAL1 腳和 XTAL2 腳分別構(gòu)成片振蕩器的反相放大器的輸入和輸出端,外接石英晶振或瓷晶振以與補(bǔ)償電容 C1、C

11、2 選 47uF 構(gòu)成并聯(lián)諧振電路。當(dāng)外接石英晶振時(shí),電容C1、C2 選 30Pf10pF;當(dāng)外接瓷振蕩器時(shí),電容 C1、C2 選 47uF10uF。系統(tǒng)中,外接電C1、C2 的大小會影響振蕩器頻率的穩(wěn)定度、起振時(shí)間與溫度穩(wěn)定性。在設(shè)計(jì)電路板時(shí),晶振和電容應(yīng)靠近單片機(jī)芯片,以便減少寄生電容,保證振蕩器穩(wěn)定可靠工作。在本硬件系統(tǒng)設(shè)計(jì)中,為保證串行通行波特率的誤差,選擇了 11.0592MHz 的標(biāo)準(zhǔn)石英晶振,電容 C1、C2 為 30pF。c、EA接高電平,選用片程序存儲器。. . . . 8 / 234.4.2、顯示部分:本系統(tǒng)采用三極管驅(qū)動(dòng)四位一體共陽數(shù)碼管顯示溫度,數(shù)碼管有兩種顯示方式,即

12、靜態(tài)顯示和動(dòng)態(tài)顯示。靜態(tài)顯示的特點(diǎn)是每個(gè)數(shù)碼管的段選必須接一個(gè) 8 位數(shù)據(jù)線來保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點(diǎn)是占用 CPU 時(shí)間少,顯示便于監(jiān)測和控制。缺點(diǎn)是硬件電路比較復(fù)雜,成本較高;動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。本設(shè)計(jì)數(shù)碼管采用動(dòng)態(tài)顯示。如

13、下圖: . . . . 9 / 23.、鍵盤輸入如圖: 本設(shè)計(jì)采用三個(gè)鍵,可任意調(diào)整上下限報(bào)警溫度,簡單實(shí)用。其中,鍵為設(shè)置鍵,按第下,上限溫度調(diào)整;按第下,下限溫度調(diào)整;按第下,顯示實(shí)際溫度。+鍵為每按一次設(shè)置溫度加。-鍵為每按一次設(shè)置溫度減。.、報(bào)警電路本設(shè)計(jì)中采用三極管驅(qū)動(dòng)蜂鳴器報(bào)警,其中,和分別模擬制熱器和制冷器。當(dāng)溫度高于上限溫度時(shí),蜂鳴器報(bào)警,燈亮,模擬啟動(dòng)制冷器;當(dāng)溫度低于下限溫度時(shí),蜂鳴器報(bào)警,燈亮,模擬啟動(dòng)制熱器。其中,與蜂鳴器相連的輕觸開關(guān)斷開時(shí),蜂鳴器停止報(bào)警,實(shí)現(xiàn)手動(dòng)解除報(bào)警。如圖:. . . . 10 / 23 .、測溫電路本設(shè)計(jì)采用溫度傳感器測量溫度。DS18B20

14、 簡介其兩種封裝如圖: 溫度傳感器的種類眾多,在應(yīng)用與高精度、高可靠性的場合時(shí) DALLAS(達(dá)拉斯)公司生產(chǎn)的 DS18B20 溫度傳感器當(dāng)仁不讓。超小的體積,超低的硬件開消,抗干擾能力強(qiáng),. . . . 11 / 23精度高,附加功能強(qiáng),使得 DS18B20 更受歡迎。對于我們普通的電子愛好者來說,DS18B20的優(yōu)勢更是我們學(xué)習(xí)單片機(jī)技術(shù)和開發(fā)溫度相關(guān)的小產(chǎn)品的不二選擇。了解其工作原理和應(yīng)用可以拓寬您對單片機(jī)開發(fā)的思路。DS18B20 的主要特征:1. 全數(shù)字溫度轉(zhuǎn)換與輸出。2. 先進(jìn)的單總線數(shù)據(jù)通信。3. 最高 12 位分辨率,精度可達(dá)土 0.5 攝氏度。4. 12 位分辨率時(shí)的最大工

15、作周期為 750 毫秒。5. 可選擇寄生工作方式。6. 檢測溫度圍為55C +125C (67F +257F)7. 置 EEPROM,限溫報(bào)警功能。8. 64 位光刻 ROM,置產(chǎn)品序列號,方便多機(jī)掛接。9. 多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。DS18B20 引腳功能:GND 電壓地 DQ 單數(shù)據(jù)總線 VDD 電源電壓 NC 空引腳DS18B20 工作原理與應(yīng)用:DS18B20 的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個(gè)芯片之上,從而抗干擾力更強(qiáng)。其一個(gè)工作周期可分為兩個(gè)部分,即溫度檢測和數(shù)據(jù)處理。在講解其工作流程之前我們有必要了解 18B20 的部存儲器資源。18B20 共有三種形態(tài)的存儲器資源,它

16、們分別是:ROM 只讀存儲器,用于存放 DS18B20ID 編碼,其前 8 位是單線系列編碼(DS18B20 的編碼是 19H) ,后面 48 位是芯片唯一的序列號,最后 8 位是以上 56 的位的 CRC 碼(冗余校驗(yàn)) 。數(shù)據(jù)在出產(chǎn)時(shí)設(shè)置不由用戶更改。DS18B20 共 64 位 ROM。RAM 數(shù)據(jù)暫存器,用于部計(jì)算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20 共 9 個(gè)字節(jié) RAM,每個(gè)字節(jié)為 8 位。第 1、2 個(gè)字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第 3、4 個(gè)字節(jié)是用戶EEPROM(常用于溫度報(bào)警值儲存)的鏡像。在上電復(fù)位時(shí)其值將被刷新。第 5 個(gè)字節(jié)則是用戶第 3 個(gè) EEPROM

17、的鏡像。第 6、7、8 個(gè)字節(jié)為計(jì)數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計(jì)的,同樣也是部溫度轉(zhuǎn)換、計(jì)算的暫存單元。第 9 個(gè)字節(jié)為前 8 個(gè)字節(jié)的CRC 碼。EEPROM 非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報(bào)警值和校驗(yàn)數(shù)據(jù),DS18B20 共 3 位 EEPROM,并在 RAM 都存在鏡像,以方便用戶操作。. . . . 12 / 23電路圖如下: .、單片機(jī)與上位機(jī)串口電路在現(xiàn)代業(yè)控制中,串口通信的應(yīng)用越來越廣泛。單片機(jī)和PC機(jī)之間的串口通信在進(jìn)行數(shù)據(jù)交換時(shí)經(jīng)常被使用。在串行通信時(shí),要求通信雙方都采用一個(gè)標(biāo)準(zhǔn)接口,RS232C接口是單片機(jī)利PC機(jī)進(jìn)行通信最常用的一

18、種接口。單片機(jī)與PC機(jī)進(jìn)行串口通信最簡單的二線制法,即接收數(shù)據(jù)針腳(RxD)與發(fā)送數(shù)據(jù)針腳(TxD)相連,彼此交叉,信號地(GND)對應(yīng)相接。但是,串口還不能直接和單片機(jī)相連,可以選用MAX232和MAX485進(jìn)行電平轉(zhuǎn)換。MAX232用于RS232C標(biāo)準(zhǔn);MAX485用于RS485標(biāo)準(zhǔn)。RS232C標(biāo)準(zhǔn)規(guī)定在碼元畸變小于4的情況下,傳輸電纜長度最大約為l5米,最高傳輸速率為20kbits。RS485標(biāo)準(zhǔn)最人傳輸距離約為1219米,最大傳輸速率約為l0Mbits。MAX232 芯片簡介MAX232 芯片是美信公司專門為電腦的 RS-232 標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v 單電源供

19、電。 引腳介紹:第一部分是電荷泵電路。由 1、2、3、4、5、6 腳和 4 只電容構(gòu)成。功能是產(chǎn)生+12v和-12v 兩個(gè)電源,提供給 RS-232 串口電平的需要。 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由 7、8、9、10、11、12、13、14 腳構(gòu)成兩個(gè)數(shù)據(jù)通道。 其中 13 腳(R1IN) 、12 腳(R1OUT) 、11 腳(T1IN) 、14 腳(T1OUT)為第一數(shù)據(jù)通道。. . . . 13 / 23 8 腳(R2IN) 、9 腳(R2OUT) 、10 腳(T2IN) 、7 腳(T2OUT)為第二數(shù)據(jù)通道。 TTL/CMOS 數(shù)據(jù)從 T1IN、T2IN 輸入轉(zhuǎn)換成 RS-232 數(shù)據(jù)從 T

20、1OUT、T2OUT 送到電腦 DB9插頭;DB9 插頭的 RS-232 數(shù)據(jù)從 R1IN、R2IN 輸入轉(zhuǎn)換成 TTL/CMOS 數(shù)據(jù)后從 R1OUT、R2OUT輸出。 第三部分是供電。15腳GND、16腳VCC(+5v) 。由于串口用的是 TTL 電平,和 RS232 電平不同,因此,單片機(jī)和 PC 通信時(shí)需要進(jìn)行電平轉(zhuǎn)換,常用的 IC 是 MAX232,連接圖如下圖所示,其中 MAX232 供電腳為5V。采用了三線制連接串口,也就是說和計(jì)算機(jī)的 9 針串口只連接其中的 3 根線:第 5 腳的 GND、第 2腳的 RXD、第 3 腳的 TXD。這是最簡單的連接方法,但是對我們來說已經(jīng)足夠使

21、用了。RS232引腳圖串口電路連接圖如下: . . . . 14 / 23收、發(fā)端的數(shù)據(jù)信號是相對于信號地,如從DTE設(shè)備發(fā)出的數(shù)據(jù)在使用DB25連接器時(shí)是2腳相對7腳(信號地)的電平,DB25各引腳定義參見圖2-9。典型的RS-232信號在正負(fù)電平之間擺動(dòng),在發(fā)送數(shù)據(jù)時(shí),發(fā)送端驅(qū)動(dòng)器輸出正電平在+5+15V,負(fù)電平在-5-15V電平。當(dāng)無數(shù)據(jù)傳輸時(shí),線上為TTL,從開始傳送數(shù)據(jù)到結(jié)束,線上電平從TTL電平到RS-232電平再返回TTL電平。接收器典型的工作電平在+3+12V與-3-12V。由于發(fā)送電平與接收電平的差僅為2V至3V左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離

22、最大為約15米,最高速率為20kb/s。RS-232是為點(diǎn)對點(diǎn)(即只用一對收、發(fā)設(shè)備)通訊而設(shè)計(jì)的,其驅(qū)動(dòng)器負(fù)載為37k。所以RS-232適合本地設(shè)備之間的通信。上位機(jī)和下位機(jī)的接線方法如圖上位機(jī)和下位機(jī)的接線方法MCS-52 部含有一個(gè)可編程全雙工串行通信接口,具有 UART 的全部功能。該接口電路不僅能同時(shí)進(jìn)行數(shù)據(jù)的發(fā)送和接收,也可作為一個(gè)同步移位寄存器使用。 . . . . 15 / 23在進(jìn)行異步通信時(shí),數(shù)據(jù)的發(fā)送和接收分別在各自的時(shí)鐘(TCLK 和 RCLK)控制下進(jìn)行的,但都必須與字符位數(shù)的波特率保持一致。MCS-52 串行口的發(fā)送和接收時(shí)鐘可由兩種方式產(chǎn)生,一種是由主機(jī)頻率 fo

23、sc 經(jīng)分頻后產(chǎn)生,另一種方式是由部定時(shí)器 T1 或 T2 的溢出率經(jīng) 16 分頻后提供。發(fā)送和接收的過程如下:串行口的發(fā)送過程由指令 MOV SBUF,A 啟動(dòng),即 CPU 由一條寫發(fā)送緩沖器的指令把數(shù)據(jù)(字符)寫入串行口的發(fā)送緩沖器 SBUF(發(fā))中,再由硬件電路自動(dòng)在字符的始、末加上起始位(低電平) 、停止位(高電平)與其它控制位(如奇偶位等) ,然后在移位脈沖SHIFT 的控制下,低位在前,高位在后,從 TXD 端(方式 0 除外)一位位地向外發(fā)送。串行口的接收與否受制于允許接收位 REN 的狀態(tài),當(dāng) REN 被軟件置“1”后,允許接收器接收。接收端 RXD 一位位地接收數(shù)據(jù),直到收到

24、一個(gè)完整的字符數(shù)據(jù)后,控制電路進(jìn)行最后一次移位,自動(dòng)去掉啟始位,使接收中斷標(biāo)志 RI 置“1” ,并向 CPU 申請中斷。CPU 響應(yīng)中斷,用一條指令(MOV A,SBUF)把接收緩沖器 SBUF(收)的容讀入累加器。TI 和 RI 是由硬件置位的,但需要用軟件復(fù)位。. . . . 16 / 23.、系統(tǒng)軟件設(shè)計(jì).、單片機(jī)軟件設(shè)計(jì):(1)主程序:主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理 DS18B20 的測量的當(dāng)前溫度值,溫度測量每 1s 進(jìn)行一次。這樣可以在一秒之測量一次被測溫度,其程序流程如下所示: 主程序流程圖. . . . 17 / 23(2)讀溫度子程序:先讓 DS18B20

25、 復(fù)位,然后發(fā)跳過 ROM 匹配命令,再發(fā)出溫度轉(zhuǎn)換命令,讓 DS18B20 進(jìn)行溫度轉(zhuǎn)換,延時(shí)等待轉(zhuǎn)換完畢后,再將已轉(zhuǎn)換的溫度值一一地從各個(gè) DS18B20 取出,轉(zhuǎn)換成ascall 碼后再發(fā)送到 PC 機(jī)上,如此循環(huán)。程序框圖如下:讀溫度程序框圖. . . . 18 / 23(3)溫度比較報(bào)警子程序此程序是將實(shí)際溫度與設(shè)置的報(bào)警上下限比較,決定是否發(fā)出報(bào)警信號。由于 T 為實(shí)際溫度的絕對值,TH、TL 也是溫度的絕對值,因此判斷大小關(guān)系時(shí)要通過其正負(fù)符號來確定。溫度比較報(bào)警子程序. . . . 19 / 234.5.2.上位機(jī)軟件設(shè)計(jì)PC 機(jī)程序中包括串口通信模塊,繪圖模塊,命令按妞模塊,

26、溫度顯示模塊等。一、串口通信模塊在本設(shè)計(jì)中,采用 MSComm 控件進(jìn)行串口的通訊,MSComm 控件串口具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過此控件,PC 機(jī)可以利用串行口與其它設(shè)備實(shí)現(xiàn)輕松連接,簡單高效地實(shí)現(xiàn)設(shè)備之間的通訊。此控件的事件響應(yīng)有兩種處理方式,事件驅(qū)動(dòng)方式:由MSComm 控件的 OnComm 事件捕獲并處理通訊錯(cuò)誤與事件;查詢方式:通過檢查 CommEvent屬性的值來判斷事件和錯(cuò)誤。 二、繪圖模塊在 VB 中,繪圖可以利用 Line 和 Circle 方法繪制幾何圖形11,還可以利用 MSChart控件繪制各種圖表。而本設(shè)計(jì)就采用 MSChart 控件進(jìn)形繪制溫度變化曲線圖。MSChart 控

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論