




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)課程設(shè)計報告單片機(jī)課程設(shè)計報告題目:基于溫度采集的單片機(jī)和題目:基于溫度采集的單片機(jī)和 VisualVisual C+C+串口通信串口通信單片機(jī)的應(yīng)用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。在實(shí)時檢測和自動控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個核心部件來使用,僅單片機(jī)方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點(diǎn)的軟件結(jié)合,加以完善。DS18B20 是美國 DALLAS 公司生產(chǎn)的數(shù)字溫度傳感器芯片,具有結(jié)構(gòu)簡單、體積小、功耗小、抗干擾能力強(qiáng)、使用方便等優(yōu)點(diǎn)。本文設(shè)計的一種溫度控制系統(tǒng),用 STC89C51 單片機(jī)作為溫控器,選用 DS18B20 數(shù)
2、字溫度傳感器,可任意設(shè)置上下限報警溫度,采用數(shù)碼管實(shí)時顯示溫度,通過串口利用單片機(jī)與上位機(jī)的通信,對環(huán)境溫度采集并進(jìn)行控制。關(guān)鍵詞:關(guān)鍵詞:STC89C51STC89C51 單片機(jī)、串口通信、上下限報警、數(shù)碼管顯示溫度單片機(jī)、串口通信、上下限報警、數(shù)碼管顯示溫度、2.2.引論引論隨著時代的進(jìn)步和開展,單片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科研、各個領(lǐng)域,已經(jīng)成為一種比擬成熟的技術(shù)。溫度是工業(yè)生產(chǎn)中主要的被控參數(shù)之一,與之相關(guān)的跟中溫度控制是工業(yè)生產(chǎn)過程中經(jīng)常遇到的過過程控制,有些工藝過程對其溫度的控制效果直接影響著產(chǎn)品的質(zhì)量。用單片機(jī)做成的產(chǎn)品外圍元件很少,能實(shí)現(xiàn)的功能卻很廣,廣泛應(yīng)用于工業(yè),農(nóng)
3、業(yè)等。兼于此,特用單片機(jī)設(shè)計此電路。溫度控制在實(shí)際生產(chǎn)中有著廣泛的應(yīng)用。例如:在冶金工業(yè)、化工生產(chǎn)、電力工程、造紙行業(yè)、機(jī)械制造和食品加工等諸多領(lǐng)域中,人們都需要對各類加熱爐、熱處理爐、反響爐和鍋爐中的溫度進(jìn)行檢測和控制。因而設(shè)計一種較為理想的溫度控制系統(tǒng)是非常有價值的。在國內(nèi)外溫度控制成了一科廣泛應(yīng)用于很多領(lǐng)域的技術(shù)。具體如空調(diào)、冰箱、茶葉烘烤、糧倉溫度控制、等等。糧食溫度檢測是儲藏庫中防止糧食霉?fàn)€、保質(zhì)存放的重要環(huán)節(jié)。對于一個農(nóng)業(yè)大國來講,糧食生產(chǎn)、需求與儲藏量都很大。大量糧食在儲藏的過程中常因糧食濕度過大而升溫發(fā)熱,導(dǎo)致糧食大量腐爛變質(zhì),給郭建帶來巨大損失。本論文正是以此為出發(fā)點(diǎn),對單片
4、機(jī)控制的遠(yuǎn)程溫度控制作了較詳盡的介紹。單片機(jī)的應(yīng)用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。在實(shí)時檢測和自動控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個核心部件來使用,僅單片機(jī)方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點(diǎn)的軟件結(jié)合,加以完善。DS18B20 是美國 DALLAS公司生產(chǎn)的數(shù)字溫度傳感器芯片,具有結(jié)構(gòu)簡單、體積小、功耗小、抗干擾能力強(qiáng)、使用方便等優(yōu)點(diǎn)。本文設(shè)計的一種溫度控制系統(tǒng),用 STC89C52 單片機(jī)作為溫控器,選用DS18B20 數(shù)字溫度傳感器,可任意設(shè)置上下限報警溫度,采用數(shù)碼管實(shí)時顯示溫度,通過串口利用單片機(jī)與上位機(jī)的通信,對溫度進(jìn)行采
5、集、數(shù)據(jù)處理和控制。3、目錄、目錄1、摘要、摘要2、引論、引論3、目錄、目錄4、正文、正文 4.1、設(shè)計目的、設(shè)計目的 4.2、具體內(nèi)容及要求、具體內(nèi)容及要求 4.3、系統(tǒng)總體方案設(shè)計、系統(tǒng)總體方案設(shè)計 、設(shè)計方案論證、設(shè)計方案論證 、系統(tǒng)總體構(gòu)成圖、系統(tǒng)總體構(gòu)成圖 、硬件設(shè)計、硬件設(shè)計 、軟件設(shè)計、軟件設(shè)計 4.4、系統(tǒng)各個模塊設(shè)計、系統(tǒng)各個模塊設(shè)計 、單片機(jī)最小系統(tǒng)、單片機(jī)最小系統(tǒng) 、顯示局部、顯示局部 、報警電路、報警電路 、測溫電路、測溫電路 、單片機(jī)與上位機(jī)串、單片機(jī)與上位機(jī)串 4.5、系統(tǒng)軟件設(shè)計、系統(tǒng)軟件設(shè)計 、單片機(jī)軟件設(shè)計口電路、單片機(jī)軟件設(shè)計口電路 、上位機(jī)軟件設(shè)計、上位機(jī)
6、軟件設(shè)計5、結(jié)論、結(jié)論 6、總結(jié)心得、總結(jié)心得7、參考文獻(xiàn)參考文獻(xiàn)附錄附錄 4、正文、正文 4.1. 設(shè)計目的設(shè)計目的 (1)了解電子系統(tǒng)的設(shè)計方法,穩(wěn)固和提高學(xué)過的根底理論和專業(yè)知識; (2)學(xué)習(xí) DS18B20 數(shù)字溫度傳感器的測溫原理,提高運(yùn)用所學(xué)專業(yè)知識進(jìn)行獨(dú)立思考和綜合分析、解決實(shí)際問題的能力; (3) 掌握串口通信協(xié)議及其編程方法,掌握正確的思維方法和利用軟件和硬件解決實(shí)際問題的根本技能; (4)增強(qiáng)對單片機(jī)的認(rèn)識,掌握分析處理問題的方法,進(jìn)行調(diào)試、計算等根本技能的訓(xùn)練,到達(dá)具有一定程度的實(shí)際工作能力。(5) 學(xué)會用 Protel99se 進(jìn)行電路原理圖和 PCB 圖的繪制。 (6
7、) 學(xué)習(xí)用 PSPICE、 Multisim 10.0 等仿真軟件進(jìn)行電路設(shè)計和仿真。 (7)通過參與實(shí)際工作,能夠了解單片機(jī)行業(yè)的具體工作。 4.2. 具體內(nèi)容及要求具體內(nèi)容及要求1. 內(nèi)容及要求:研究基于單片機(jī)的遠(yuǎn)程溫度監(jiān)控系統(tǒng),可以在 PC 機(jī)端實(shí)時監(jiān)控系統(tǒng)溫度,并根據(jù)當(dāng)前的溫度值對單片機(jī)系統(tǒng)進(jìn)行控制。利用 VC 編制 PC 例如程序。2.主要技術(shù)指標(biāo):1 、溫度測量范圍 20-35;2 、可以設(shè)置溫度報警的上、下限;3 、提供 PC 機(jī)通訊接口;4 、PC 機(jī)軟件實(shí)現(xiàn)對溫度數(shù)據(jù)分析、統(tǒng)計和處理; 4.34.3、系統(tǒng)總體方案設(shè)計、系統(tǒng)總體方案設(shè)計設(shè)計方案論證方案一由于本設(shè)計是測溫電路,可
8、以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行 A/D 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到 A/D 轉(zhuǎn)換電路,其中還涉及到電阻與溫度的對應(yīng)值的計算,感溫電路比擬麻煩。而且在對采集的信號進(jìn)行放大時容易受溫度的影響出現(xiàn)較大的偏差。方案二 進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器 DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,電路簡單,精度高,軟硬件都以實(shí)現(xiàn),而且使用單片機(jī)的接口便于系統(tǒng)的再擴(kuò)展,滿足設(shè)計要求。
9、從以上兩種方案,很容易看出,采用方案二,電路比擬簡單,費(fèi)用較低,可靠性高,軟件設(shè)計也比擬簡單,故采用了方案二。、系統(tǒng)總體構(gòu)成圖如下:、硬件設(shè)計:現(xiàn)在 PC 機(jī)提供的 COM 口是采用 RS-232 接口標(biāo)準(zhǔn)的。而 RS-232 是用正負(fù)電壓來表示邏輯狀態(tài),與 TTL 以上下電平來表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計算機(jī)借口或終端的 TTL 器件如單片機(jī)連接,必須在 RS-232 與 TTL 電路之間進(jìn)行電平和邏輯關(guān)系的變換,變換電路選用芯片 MAX232.該器件包含 2 個驅(qū)動器、2 個接收器和一個電壓發(fā)生器電路提供 TIA/EIA-232-F 電平轉(zhuǎn)換成 5V TTL/CMOS 電平。
10、每一個發(fā)送器將 TTL/CMOS 電平轉(zhuǎn)換成 TIA/EIA-232-F 電平。、軟件設(shè)計單片機(jī)軟件設(shè)計單片機(jī)程序由主程序和中斷子程序組成的。主程序負(fù)責(zé)對來自上位機(jī)的命令進(jìn)行解析并執(zhí)行讀溫度值、存儲溫度值、輸出控制等等,中斷效勞程序只負(fù)責(zé)單片機(jī)和上位機(jī)之間的數(shù)據(jù)發(fā)送與接收。上位機(jī)程序設(shè)計由單片機(jī)采集的實(shí)時溫度,經(jīng)過處理后通過 MAX232 傳輸?shù)缴衔粰C(jī) PC,利用在 Visual C+ 6.0 的通信控件 Mscomm 屬性設(shè)置和事件響應(yīng)的根底上,實(shí)現(xiàn)與單片機(jī)串行通信,在上位機(jī)中,完成報警溫度設(shè)置、實(shí)時溫度數(shù)據(jù)顯示、曲線繪制,實(shí)時報警等功能。4.44.4、系統(tǒng)各個模塊設(shè)計:、系統(tǒng)各個模塊設(shè)計:
11、單片機(jī)最小系統(tǒng)1、STC89C51 單片機(jī)管腳圖如下:2、各引腳功能:(1)XTAL1(19 腳);XTAL2(18 腳)-外接時鐘引腳。XTAL1 為片內(nèi)振蕩電路的輸入電源和時鐘引腳.VCC(40 腳)GND(20 腳)常壓為+5V,低壓為。(2)端。 XTAL2 為片內(nèi)振蕩電路的輸出端,80C51 的時鐘有兩種方式,一種是片內(nèi)振蕩方式,需要在這兩個引腳接石英晶體和振蕩電容, 振蕩電容的值一般選擇為10P30P。另一種外部時鐘方式即 XTAL1 接地,外部時鐘信號從 XTAL2 腳輸入。(3)RST(9 腳)-單片機(jī)的復(fù)位引腳。P0 口(39 腳32 腳)雙向 8 位 I/O 口,每個口可以
12、獨(dú)立控制。51 單片機(jī) PO 口內(nèi)部沒有上拉電阻,為高阻狀態(tài),所以不能正常的輸出上下電平,因此該組 I/O 口在使用的時候務(wù)必要接上拉電阻,一般我們采用接入 10K 的上拉電阻。P1 口(1 腳8 腳)-準(zhǔn)雙向 8 位 I/O 口。每個口可以獨(dú)立操作控制,內(nèi)帶上拉電阻,這種接口輸出沒有高阻狀態(tài),輸入也不能鎖存,固然不是真正的雙向 I/O 口,之所以稱它為 準(zhǔn)雙向是因?yàn)樵摽谠谧鳛檩斎胧褂们耙认蛟摽谶M(jìn)行寫一操作,然后單片機(jī)內(nèi)部才可以正確讀出外部信號,也就是要使其先要有個準(zhǔn)備過程,所以才稱準(zhǔn)雙向口。對 52 單片機(jī)的引腳的第二功能為 T2 定時器的外部輸入引腳的第二功能為 T2EX 捕捉,重裝觸發(fā)
13、,即 T2 的外部控制器。P2 口(21 腳28 腳)-準(zhǔn)雙向 8 位 I/O 口,每個口都可以獨(dú)立操作控制,內(nèi)帶上拉電阻,與 P1 口相似。P3 口(10 腳17 腳)-準(zhǔn)雙向 8 位 I/O 口,每個口可以獨(dú)立操作控制,內(nèi)帶上拉電阻,作為第一功能使用時就當(dāng)作普通 I/O 口,與 P1 口相似。作為第二功能使用時,各引腳的定義如表:值得強(qiáng)調(diào)的是,P3 口的每一個引腳均可以獨(dú)立定義為第一功能的輸入/輸出或第二功能P3 口引腳第二功能定義標(biāo)號引腳第二功能說明10RXD串行輸入口11TXD串行輸出口12/INTO外部中斷 013/INT1外部中斷 114T0定時器/計數(shù)器 0外部輸入口15T1定時
14、器/計數(shù)器 1外部輸入口16/WE外部數(shù)據(jù)存儲器寫脈沖17/RD外部數(shù)據(jù)存儲器讀脈沖3、單片機(jī)最小系統(tǒng)其中:a、復(fù)位電路單片機(jī)上電時,當(dāng)振蕩器正在運(yùn)行時,只要持續(xù)給出 RST 引腳連個機(jī)器周期的高電平,便可完成系統(tǒng)復(fù)位。外部復(fù)位電路是為內(nèi)部復(fù)位電路提供兩個機(jī)器周期以上的電平而設(shè)計的。系統(tǒng)采用上電自動復(fù)位,上電瞬間電容器上的電壓不能突變,RST 上的電壓是 Vcc 上的電壓與電容器上的電壓之差,因而 RST 上的電壓與 Vcc 上的電壓相同。隨著充電的進(jìn)行,電容器上的電壓不斷上升,RST 上的 電壓就隨著下降,RST 腳上只要保持 10ms 以上高電平,系統(tǒng)就會有效復(fù)位。電容 C 可取 1033
15、uF,電阻 R 可取 1.210k。在本系統(tǒng)設(shè)計中,C 取10uf,R 取 10k。b、振蕩電路XTAL1 腳和 XTAL2 腳分別構(gòu)成片內(nèi)振蕩器的反相放大器的輸入和輸出端,外接石英晶振或陶瓷晶振以及補(bǔ)償電容 C1、C2 選 47uF 構(gòu)成并聯(lián)諧振電路。當(dāng)外接石英晶振時,電容C1、C2 選 30Pf10pF;當(dāng)外接陶瓷振蕩器時,電容 C1、C2 選 47uF10uF。系統(tǒng)中,外接電 C1、C2 的大小會影響振蕩器頻率的穩(wěn)定度、起振時間及溫度穩(wěn)定性。在設(shè)計電路板時,晶振和電容應(yīng)靠近單片機(jī)芯片,以便減少寄生電容,保證振蕩器穩(wěn)定可靠工作。在本硬件系統(tǒng)設(shè)計中,為保證串行通行波特率的誤差,選擇了 11.
16、0592MHz 的標(biāo)準(zhǔn)石英晶振,電容 C1、C2 為 30pF。c、EA接高電平,選用片內(nèi)程序存儲器。、顯示局部:本系統(tǒng)采用三極管驅(qū)動四位一體共陽數(shù)碼管顯示溫度,數(shù)碼管有兩種顯示方式,即靜態(tài)顯示和動態(tài)顯示。靜態(tài)顯示的特點(diǎn)是每個數(shù)碼管的段選必須接一個 8 位數(shù)據(jù)線來保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點(diǎn)是占用 CPU 時間少,顯示便于監(jiān)測和控制。缺點(diǎn)是硬件電路比擬復(fù)雜,本錢較高;動態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位
17、選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好似各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應(yīng)略小于靜態(tài)顯示電路中的。本設(shè)計數(shù)碼管采用動態(tài)顯示。如下列圖:、報警電路本設(shè)計中采用三極管驅(qū)動蜂鳴器報警,其中,分別模擬制熱器和制冷器。當(dāng)溫度高于上限溫度時,蜂鳴器報警,燈亮,模擬啟動制冷器;當(dāng)溫度低于下限溫度時,蜂鳴器報警,燈亮,模擬啟動制熱器。當(dāng)按復(fù)位鍵時,數(shù)據(jù)去除。其中,與蜂鳴器相連的輕觸開關(guān)斷開時,蜂鳴器停止報警,實(shí)現(xiàn)手動解除報警。如圖:RST9XTAL218XTAL119GND20P2.0(A8)21P2.1(A9)22P2.2(A10)23P2.3(A
18、11)24P2.4(A12)25P2.5(A13)26P2.6(A14)27P2.7(A15)28PSEN29ALE(PROG)30EA(VPP)31P0.7(AD7)32P0.6(AD6)33P0.5(AD5)34P0.4(AD4)35P0.3(AD3)36P0.2(AD2)37P0.1(AD1)38P0.0(AD0)39VCC40P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0(RXD)10P3.1(TXD)11P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P3.6(WR)16P3.7(RO)17U189C5
19、1GND1DQ2VDD3U2DS18B20R1RES2CELECTRO1JT1234567891110JD Connector 9100pFC1CapG19DIR1A12B118A23B217A34B316A45B415A56B514A67B613A78B712A89B811U574LS24512U3A7407100pFC2CapGNDSSW-PBGNDGNDVCCVCCVCCR210kGNDP23P22abcdefgabcdefgdpdpcom2abfcgdedpcom1abfcgdedpabfcgdedpcom3com4abfcgdedpU6SR410561KP00P01P02P03P04
20、P05P06P07P00P01P02P03P04P05P06P0734U3B740756U3C740798U3D7407R3RES2R4RES2R5RES2R6RES2VCCP30P31P32P33P30P31P32P33GNDQ8550VCCR7RES2P23P22C1+1V+2C1-3C2+4C2-5V-6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC16U4M AX232GNDP34P35P34P35GND100pFC3VCC100pFC4Cap100pFC5100pFC6100pFC7VCCR8RES2P36P36b1
21、BELLD1LED_RECBT?BatteryGNDVCC、測溫電路本設(shè)計采用溫度傳感器測量溫度。DS18B20 簡介其兩種封裝如圖:溫度傳感器的種類眾多,在應(yīng)用與高精度、高可靠性的場合時 DALLAS達(dá)拉斯公司生產(chǎn)的 DS18B20 溫度傳感器當(dāng)仁不讓。超小的體積,超低的硬件開消,抗干擾能力強(qiáng),精度高,附加功能強(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.
22、最高 12 位分辨率,精度可達(dá)土 0.5 攝氏度。4. 12 位分辨率時的最大工作周期為 750 毫秒。5. 可選擇寄生工作方式。6. 檢測溫度范圍為55C +125C (67F +257F)7. 內(nèi)置 EEPROM,限溫報警功能。8. 64 位光刻 ROM,內(nèi)置產(chǎn)品序列號,方便多機(jī)掛接。9. 多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。DS18B20 芯片封裝結(jié)構(gòu):DS18B20 引腳功能:GND 電壓地 DQ 單數(shù)據(jù)總線 VDD 電源電壓 NC 空引腳DS18B20 工作原理及應(yīng)用:DS18B20 的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強(qiáng)。其一個工作周期可分為兩個局部,即溫度檢測
23、和數(shù)據(jù)處理。在講解其工作流程之前我們有必要了解18B20 的內(nèi)部存儲器資源。18B20 共有三種形態(tài)的存儲器資源,它們分別是:ROM 只讀存儲器,用于存放 DS18B20ID 編碼,其前 8 位是單線系列編碼DS18B20 的編碼是19H ,后面 48 位是芯片唯一的序列號,最后 8 位是以上 56 的位的 CRC 碼冗余校驗(yàn) 。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。DS18B20 共 64 位 ROM。RAM 數(shù)據(jù)暫存器,用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后喪失,DS18B20 共 9 個字節(jié)RAM,每個字節(jié)為 8 位。第 1、2 個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第 3、4 個字節(jié)是用戶EEPROM
24、常用于溫度報警值儲存的鏡像。在上電復(fù)位時其值將被刷新。第 5 個字節(jié)那么是用戶第 3 個 EEPROM 的鏡像。第 6、7、8 個字節(jié)為計數(shù)存放器,是為了讓用戶得到更高的溫度分辨率而設(shè)計的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計算的暫存單元。第 9 個字節(jié)為前 8 個字節(jié)的 CRC 碼。EEPROM 非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗(yàn)數(shù)據(jù),DS18B20 共 3 位 EEPROM,并在 RAM 都存在鏡像,以方便用戶操作。電路圖如下:、單片機(jī)與上位機(jī)串口電路在現(xiàn)代業(yè)控制中,串口通信的應(yīng)用越來越廣泛。單片機(jī)和PC機(jī)之間的串口通信在進(jìn)行數(shù)據(jù)交換時經(jīng)常被使用。在串行通信時,要求通信
25、雙方都采用一個標(biāo)準(zhǔn)接口,RS232C接口是單片機(jī)利PC機(jī)進(jìn)行通信最常用的一種接口。單片機(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 芯片是美信公司專門為電
26、腦的 RS-232 標(biāo)準(zhǔn)串口設(shè)計的單電源電平轉(zhuǎn)換芯片,使用+5v 單電源供電。 引腳介紹:第一局部是電荷泵電路。由 1、2、3、4、5、6 腳和 4 只電容構(gòu)成。功能是產(chǎn)生+12v 和-12v兩個電源,提供應(yīng) RS-232 串口電平的需要。 第二局部是數(shù)據(jù)轉(zhuǎn)換通道。由 7、8、9、10、11、12、13、14 腳構(gòu)成兩個數(shù)據(jù)通道。 其中 13 腳R1IN 、12 腳R1OUT 、11 腳T1IN 、14 腳T1OUT為第一數(shù)據(jù)通道。 8 腳R2IN 、9 腳R2OUT 、10 腳T2IN 、7 腳T2OUT為第二數(shù)據(jù)通道。 TTL/CMOS 數(shù)據(jù)從 T1IN、T2IN 輸入轉(zhuǎn)換成 RS-232
27、 數(shù)據(jù)從 T1OUT、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 通信時需要進(jìn)行電平轉(zhuǎn)換,常用的 IC 是 MAX232,連接圖如下列圖所示,其中 MAX232 供電腳為5V。采用了三線制連接串口,也就是說和計算機(jī)的 9 針串口只連接其中的 3 根線:第 5 腳的 GND、第 2 腳的 RXD、第 3 腳的 TXD。這是最簡單的連接方法,但是對我
28、們來說已經(jīng)足夠使用了。RS232引腳圖串口電路連接圖如下:收、發(fā)端的數(shù)據(jù)信號是相對于信號地,如從DTE設(shè)備發(fā)出的數(shù)據(jù)在使用DB25連接器時是2腳相對7腳信號地的電平,DB25各引腳定義參見圖2-9。典型的RS-232信號在正負(fù)電平之間擺動,在發(fā)送數(shù)據(jù)時,發(fā)送端驅(qū)動器輸出正電平在+5+15V,負(fù)電平在-5-15V電平。當(dāng)無數(shù)據(jù)傳輸時,線上為TTL,從開始傳送數(shù)據(jù)到結(jié)束,線上電平從TTL電平到RS-232電平再返回TTL電平。接收器典型的工作電平在+3+12V與-3-12V。由于發(fā)送電平與接收電平的差僅為2V至3V左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為約15米,最高
29、速率為20kb/s。RS-232是為點(diǎn)對點(diǎn)即只用一對收、發(fā)設(shè)備通訊而設(shè)計的,其驅(qū)動器負(fù)載為37k。所以RS-232適合本地設(shè)備之間的通信。上位機(jī)和下位機(jī)的接線方法如圖上位機(jī)和下位機(jī)的接線方法MCS-51 內(nèi)部含有一個可編程全雙工串行通信接口,具有 UART 的全部功能。該接口電路不僅能同時進(jìn)行數(shù)據(jù)的發(fā)送和接收,也可作為一個同步移位存放器使用。 在進(jìn)行異步通信時,數(shù)據(jù)的發(fā)送和接收分別在各自的時鐘TCLK 和 RCLK控制下進(jìn)行的,但都必須與字符位數(shù)的波特率保持一致。MCS-51 串行口的發(fā)送和接收時鐘可由兩種方式產(chǎn)生,一種是由主機(jī)頻率 fosc 經(jīng)分頻后產(chǎn)生,另一種方式是由內(nèi)部定時器 T1 或
30、T2 的溢出率經(jīng) 16 分頻后提供。發(fā)送和接收的過程如下:串行口的發(fā)送過程由指令 MOV SBUF,A 啟動,即 CPU 由一條寫發(fā)送緩沖器的指令把數(shù)據(jù)字符寫入串行口的發(fā)送緩沖器 SBUF發(fā)中,再由硬件電路自動在字符的始、末加上起始位低電平 、停止位高電平及其它控制位如奇偶位等 ,然后在移位脈沖SHIFT 的控制下,低位在前,高位在后,從 TXD 端方式 0 除外一位位地向外發(fā)送。串行口的接收與否受制于允許接收位 REN 的狀態(tài),當(dāng) REN 被軟件置“1后,允許接收器接收。接收端 RXD 一位位地接收數(shù)據(jù),直到收到一個完整的字符數(shù)據(jù)后,控制電路進(jìn)行最后一次移位,自動去掉啟始位,使接收中斷標(biāo)志
31、RI 置“1,并向 CPU 申請中斷。CPU 響應(yīng)中斷,用一條指令MOV A,SBUF把接收緩沖器 SBUF收的內(nèi)容讀入累加器。TI 和 RI 是由硬件置位的,但需要用軟件復(fù)位。.、系統(tǒng)軟件設(shè)計、單片機(jī)軟件設(shè)計:1主程序:主程序的主要功能是負(fù)責(zé)溫度的實(shí)時顯示、讀出并處理 DS18B20 的測量的當(dāng)前溫度值,溫度測量每 1s 進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程如下所示: 主程序流程圖2讀溫度子程序:先讓 DS18B20 復(fù)位,然后發(fā)跳過 ROM 匹配命令,再發(fā)出溫度轉(zhuǎn)換命令,讓 DS18B20 進(jìn)行溫度轉(zhuǎn)換,延時等待轉(zhuǎn)換完畢后,再將已轉(zhuǎn)換的溫度值一一地從各個 DS18B20
32、 取出,轉(zhuǎn)換成ascall 碼后再發(fā)送到 PC 機(jī)上,如此循環(huán)。程序框圖如下:讀溫度程序框圖3溫度比擬報警子程序此程序是將實(shí)際溫度與設(shè)置的報警上下限比擬,決定是否發(fā)出報警信號。由于 T 為實(shí)際溫度的絕對值,TH、TL 也是溫度的絕對值,因此判斷大小關(guān)系時要通過其正負(fù)符號來確定。溫度比擬報警子程序.上位機(jī)軟件設(shè)計PC 機(jī)程序中包括串口通信模塊,繪圖模塊,命令按鈕模塊,溫度顯示模塊等。一、串口通信模塊在本設(shè)計中,采用 MSComm 控件進(jìn)行串口的通訊,MSComm 控件串口具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過此控件,PC 機(jī)可以利用串行口與其它設(shè)備實(shí)現(xiàn)輕松連接,簡單高效地實(shí)現(xiàn)設(shè)備之間的通訊。此
33、控件的事件響應(yīng)有兩種處理方式,事件驅(qū)動方式:由 MSComm控件的 OnComm 事件捕獲并處理通訊錯誤及事件;查詢方式:通過檢查 CommEvent 屬性的值來判斷事件和錯誤。 二、繪圖模塊在 VC 中,繪圖可以利用 Line 和 Circle 方法繪制幾何圖形11,還可以利用 botton控件繪制各種圖表。而本設(shè)計就采用 botton 控件進(jìn)形繪制溫度變化曲線圖。botton 控件在繪制直方圖條形圖 、折線圖、餅圖、標(biāo)記圖、填充區(qū)域圖等各種常用的數(shù)據(jù)分析圖形方面有很大的優(yōu)勢,我們只要將需按圖形表示的數(shù)據(jù)裝入數(shù)組中,然后將數(shù)組數(shù)據(jù)賦值給botton 控件,再進(jìn)行一些簡單的圖形標(biāo)題、背景、圖例
34、、注腳方面的定義,就可以得到所期望的數(shù)據(jù)分析圖形。由于 botton 控件不是 VC 內(nèi)建的根本控件,因此在使用前必須用工程菜單中的“部件,添加 botton 控件。添加 botton 控件的選項(xiàng)是“Microsoft Chart Control 6.0(OLEDB)。三、命令按鈕11模塊大多數(shù)應(yīng)用程序中都有命令按鈕 CommandButton 控件,用戶可以單擊按鈕執(zhí)行某項(xiàng)操作。在本設(shè)計統(tǒng)中要讓下位機(jī)執(zhí)行相應(yīng)操作,就是通過命令按鈕給下位機(jī)下發(fā)命令實(shí)現(xiàn)該功能。命令按鈕是 VB 應(yīng)用程序中經(jīng)常使用的對象,程序運(yùn)行中要執(zhí)行一條或一組命令,通常通過用鼠標(biāo)單擊命令按鈕來實(shí)現(xiàn),當(dāng)然具體產(chǎn)生何種動作要通過
35、執(zhí)行相應(yīng)的事件過程中的程序代碼來決定。四、溫度顯示模塊在本設(shè)計中顯示由文本框和標(biāo)簽控件完成。完成后的 VC 界面如下: 本溫控系統(tǒng)通過 STC89C51 單片機(jī)采集從 DS18B20 溫度傳感器所測得的溫度數(shù)據(jù),并通過串口實(shí)時傳送到上位機(jī)。單片機(jī)系統(tǒng)完成對溫度信號的采集、設(shè)定上下限報警等功能,并通過串口通信與 PC 機(jī)進(jìn)行通信,在 PC 機(jī)上進(jìn)行顯示及一些操作,從而使系統(tǒng)更加直觀,使用更加方便。本設(shè)計主要解決了以下幾個問題:1.系統(tǒng)的硬件采用以單片機(jī)為核心的硬件電路,所用元器件也很少,體積小,重量輕,抗干擾能力強(qiáng),對環(huán)境要求不高,價格低廉。2.實(shí)現(xiàn)單片機(jī)與 PC 機(jī)的通信功能,實(shí)現(xiàn)遠(yuǎn)距離的進(jìn)行
36、監(jiān)控.當(dāng)然本設(shè)講也存在著一些缺乏:1電路設(shè)計技術(shù)還不夠成熟2本設(shè)計通信采用 RS232,如果采用 RS485 通信距離將會大大增加這個系統(tǒng)本身或通過擴(kuò)展可應(yīng)用于智能家居、工業(yè)控制、智能農(nóng)業(yè)、環(huán)境監(jiān)測等各個領(lǐng)域的溫度采集以及數(shù)據(jù)分析控制。相信,隨著單片機(jī)與PC應(yīng)用的不斷推廣和不斷成熟,基于單片機(jī)與PC機(jī)的溫度控制系統(tǒng)將會得到廣泛的應(yīng)用。 3本設(shè)計在繪圖的時候,定位范圍不是很好,圖線會伸出繪圖區(qū)間。6 6、總結(jié)心得、總結(jié)心得7 7、參考文獻(xiàn)參考文獻(xiàn) 單片機(jī)應(yīng)用系統(tǒng)設(shè)計技術(shù)基于C51的Proteus仿真第2版 張齊 電子工業(yè)出版社 C+程序設(shè)計第四版 譚浩強(qiáng) 清華大學(xué)出版社 C/C+串口通信典型應(yīng)用
37、實(shí)例編程實(shí)踐 曹衛(wèi)斌 電子工業(yè)出版社 Visual C+數(shù)據(jù)采集與串口通信測控應(yīng)用實(shí)戰(zhàn) 田敏 人民郵電出版社 C語言常見問題集 Steve Summit(原著 翻譯:朱群英 孫云 單片機(jī)C語言程序設(shè)計實(shí)訓(xùn)100例基于80C51+Proteus仿真 彭偉 北京航空航天大學(xué)出版社附錄附錄1、總體電路圖:電腦端程序:DIM N AS INTEGERDIM T AS INTEGER 定義全局變量PRIVATE SUB COMMAND2_CLICK() 單擊按鈕執(zhí)行數(shù)據(jù)采集或停止采集 IF COMMAND2.CAPTION = 采集數(shù)據(jù) THEN COMMAND2.CAPTION = 停止采集 TIME
38、R1.ENABLED = TRUE MSCOMM1.OUTPUT = A ELSE COMMAND2.CAPTION = 采集數(shù)據(jù) TIMER1.ENABLED = FALSE MSCOMM1.OUTPUT = B MSCOMM1.OUTPUT = B END IFEND SUBPRIVATE SUB COMMAND4_CLICK() 單擊按鈕清空數(shù)據(jù)TEXT1.TEXT = TEXT4.TEXT = END SUBPRIVATE SUB COMMAND5_CLICK() 單擊按鈕開關(guān)通信端口 IF COMMAND5.CAPTION = 開啟通信 THEN COMMAND5.CAPTION =
39、 關(guān)閉通信 COM.ENABLED = FALSE COMMAND2.ENABLED = TRUE COMMAND1.ENABLED = TRUE TEXT2.ENABLED = TRUE SELECT CASE COM.LISTINDEX 指定端口號COM CASE 0 MSCOMM1 MPORT = 1 CASE 1 MSCOMM1 MPORT = 2 CASE 2 MSCOMM1 MPORT = 3 CASE 3 MSCOMM1 MPORT = 4 END SELECT MSCOMM1.SETTINGS = 9600,N,8,1 9600 波特,無校驗(yàn),8 位數(shù)據(jù)位,1 位停止位 MSC
40、OMM1.INPUTMODE = COMINPUTMODETEXT 接收文本數(shù)據(jù) MSCOMM1.INPUTLEN = 0 讀出接收緩沖區(qū)的所有內(nèi)容 MSCOMM1.INBUFFERSIZE = 1024 MSCOMM1.OUTBUFFERSIZE = 1024 MSCOMM1.RTHRESHOLD = 1 每接收到 1 個字符,發(fā)生 1 次事件 MSCOMM1.PORTOPEN = TRUE 翻開串口 ELSE TIMER1.ENABLED = FALSE MSCOMM1.OUTPUT = B MSCOMM1.OUTPUT = B COMMAND5.CAPTION = 開啟通信 COM.EN
41、ABLED = TRUE MSCOMM1.PORTOPEN = FALSE COMMAND2.CAPTION = 采集數(shù)據(jù) COMMAND2.ENABLED = FALSE COMMAND1.ENABLED = FALSE TEXT2.ENABLED = FALSE END IFEND SUBPRIVATE SUB COMMAND7_CLICK() 單擊按鈕保存溫度數(shù)據(jù)COMMONDIALOG1.ACTION = 2OPEN COMMONDIALOG1.FILENAME FOR APPEND AS #1 WRITE #1, NOWCLOSE #1END SUBPRIVATE SUB FORM_LOAD() COM.ADDITEM COM1 COM.ADDITEM COM2 COM.ADDITEM COM3 COM.ADDITEM COM4END SUBPRIVATE SUB MSCOMM1_ONCOMM() 串口接收到數(shù)據(jù)時讀出數(shù)據(jù) CASE COMEVRECEIVE CASE ELSE END SELECTEND SUBPRIVATE SUB TEXT1_CHANGE() 對讀出的數(shù)據(jù)進(jìn)行處理IF (LEN(TEXT1.TEXT) MOD 4 = 0) AND (LEN(TEXT1.TEXT) 0) THENTEXT3.TEX
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 六一活動炒貨店活動方案
- 六一活動點(diǎn)贊活動方案
- 六一活動線上活動方案
- 六一活動贈禮活動方案
- 六一游園益智活動方案
- 六一甜品屋活動方案
- 六一繪畫比賽活動方案
- 六一節(jié)活動農(nóng)場活動方案
- 六一話童年活動方案
- 六一野餐活動方案
- 2025年江蘇省高考化學(xué)試卷真題
- (網(wǎng)絡(luò)+收集版)2025年高考全國二卷語文高考真題文檔版(無答案)
- 室內(nèi)婦科診室管理制度
- 2025年現(xiàn)代圖書館管理與信息服務(wù)考試試題及答案
- 國家開放大學(xué)2025年《創(chuàng)業(yè)基礎(chǔ)》形考任務(wù)4答案
- 房屋安全鑒定服務(wù)投標(biāo)方案
- 2025年4月版安全法律法規(guī)標(biāo)準(zhǔn)文件清單
- 鋼板樁專項(xiàng)施工方案
- 大學(xué)課程《美國文學(xué)史》期末試卷及參考答案
- 工序標(biāo)準(zhǔn)工時及產(chǎn)能計算表
- 四川省中小型水利工程建設(shè)項(xiàng)目管理制管理辦法(試行)
評論
0/150
提交評論