智能溫度采集系統(tǒng)_第1頁(yè)
智能溫度采集系統(tǒng)_第2頁(yè)
智能溫度采集系統(tǒng)_第3頁(yè)
智能溫度采集系統(tǒng)_第4頁(yè)
智能溫度采集系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、信息與控制工程學(xué)院硬件課程設(shè)計(jì)說(shuō)明書(shū)基于MODBUS協(xié)議的智能溫度采集系統(tǒng)學(xué)生學(xué)號(hào): 12530232 學(xué)生姓名: 鐘 磊 專業(yè)班級(jí): 電信1202 指導(dǎo)教師: 孫明革 職 稱: 教 授 起止日期: 2015.04.072015.04.24吉林化工學(xué)院Jilin Institute of Chemical Technology信息與控制工程學(xué)院硬件課程設(shè)計(jì)說(shuō)明書(shū)課程設(shè)計(jì)任務(wù)書(shū)一、設(shè)計(jì)題目:基于Modbus協(xié)議的智能溫度采集系統(tǒng)二、設(shè)計(jì)目的1. 培養(yǎng)學(xué)生實(shí)踐動(dòng)手能力及獨(dú)立分析和解決工程實(shí)際問(wèn)題的能力;2. 掌握C8051F410單片機(jī)體系結(jié)構(gòu)及C語(yǔ)言程序設(shè)計(jì)方法,并了解Modbus協(xié)議;3. 學(xué)

2、習(xí)電路焊裝和硬件調(diào)試;4. 掌握基于C8051F410單片機(jī)的基于Modbus協(xié)議的智能溫度采集器的編程方法。三、設(shè)計(jì)任務(wù)及要求 設(shè)計(jì)并實(shí)現(xiàn)基于Modbus協(xié)議的智能溫度采集系統(tǒng)。系統(tǒng)具有以下基本功能:1利用C8051F410片上系統(tǒng)的24位AD轉(zhuǎn)換模塊實(shí)現(xiàn)對(duì)外部溫度的采集;2使用Modbus通訊協(xié)議實(shí)現(xiàn)單片機(jī)與上位機(jī)的通訊和示, 使用Modscan軟件實(shí)現(xiàn)溫度的實(shí)時(shí)顯;3. 編寫(xiě)完整的實(shí)驗(yàn)程序,進(jìn)行整機(jī)調(diào)試、撰寫(xiě)設(shè)計(jì)說(shuō)明書(shū)。四、設(shè)計(jì)時(shí)間及進(jìn)度安排設(shè)計(jì)時(shí)間共兩周(2015.462015.4.24),具體安排如下表:周安排設(shè) 計(jì) 內(nèi) 容設(shè)計(jì)時(shí)間第一周學(xué)習(xí)C8051F410、6N137、MAX48

3、5CPA單片機(jī)和DS18B20溫度傳感器的體系結(jié)構(gòu)及其功能;學(xué)習(xí)Modbus通訊協(xié)議、Modscan和altium designer;設(shè)計(jì)采樣電路和調(diào)試,并利用altium designer畫(huà)出其電路原理圖。2015.4.62015.4.10第二周編寫(xiě)實(shí)驗(yàn)程序;按照電路圖焊接。2015.4.132015.4.17第三周1.整機(jī)調(diào)試; 2. 撰寫(xiě)綜合設(shè)計(jì)報(bào)告; 3. 答辯。2015.4.202015.4.24五、指導(dǎo)教師評(píng)語(yǔ)及學(xué)生成績(jī)指導(dǎo)教師評(píng)語(yǔ):年 月 日成績(jī)指導(dǎo)教師(簽字):- I -目 錄課程設(shè)計(jì)任務(wù)書(shū)I摘要IV第一章 緒論- 1 -1.1設(shè)計(jì)目的- 1 -1.2單片機(jī)簡(jiǎn)介- 1 -1.2

4、.1單片機(jī)的發(fā)展趨勢(shì)- 1 -1.2.2單片機(jī)的應(yīng)用領(lǐng)域- 1 -1.3 MODBUS協(xié)議簡(jiǎn)介- 2 -1.3.1 Modbus 通信原理- 2 -1.3.2 MODBUS網(wǎng)絡(luò)的兩種傳輸模式- 3 -1.3.3 MODBUS網(wǎng)絡(luò)的兩種傳輸模- 3 -1.3.4 地址設(shè)置- 3 -1.3.5 功能碼設(shè)置- 3 -1.3.6錯(cuò)誤校驗(yàn)- 4 -第二章 系統(tǒng)方案與論證- 5 -2.1系統(tǒng)方案- 5 -2.1.1 單片機(jī)控制系統(tǒng)的論證與選擇- 5 -2.1.2 溫度采集模塊論證與選擇- 5 -2.1.3 數(shù)據(jù)通信的論證與選擇- 6 - 2.1.4 電源的論證與選擇- 7 -2.1.5顯示模塊- 7 -2

5、.1.6系統(tǒng)方案簡(jiǎn)述- 8 -第三章 硬件系統(tǒng)設(shè)計(jì)- 9 -3.1電路的設(shè)計(jì)- 9 -3.1.1單片機(jī)最小系統(tǒng)- 9 -3.1.2 RS485子系統(tǒng)框圖與電路原理圖- 9 -3.1.3溫度采集電路原理圖- 10 -3.1.4電源- 10 -第四章 軟件系統(tǒng)設(shè)計(jì)- 12 -4.1keil軟件的使用- 12 -4.2程序的設(shè)計(jì)- 14 -4.2.1程序功能描述與設(shè)計(jì)思路- 14 -4.2.2程序流程圖- 14 -第五章 系統(tǒng)調(diào)試與運(yùn)行- 17 -5.1測(cè)試方案- 17 -5.1.1硬件測(cè)試:- 17 -5.1.2軟件仿真測(cè)試:- 17 -5.1.3硬件軟件聯(lián)調(diào):- 17 -5.2 測(cè)試條件與儀器-

6、 17 -5.3 測(cè)試結(jié)果及分析- 17 -5.3.1測(cè)試溫度- 17 -5.3.2結(jié)論- 18 -第六章 總結(jié)與致謝- 19 -參考文獻(xiàn)- 20 -附錄1:電路原理圖- 21 -附錄2:源程序- 22 -摘要隨著當(dāng)今社會(huì)的不斷發(fā)展,由單片機(jī)控制的各種系統(tǒng)的應(yīng)用也變的越來(lái)越廣泛,對(duì)各種測(cè)量系統(tǒng)的測(cè)量精度要求也越來(lái)越高,這其中就包括了智能溫度采集系統(tǒng)。而且隨著科學(xué)研究、工業(yè)和家用電器等方面對(duì)測(cè)溫和溫控的的應(yīng)用越來(lái)越多,對(duì)溫度采集的精度要求變的更高,更要求能夠?qū)崟r(shí)的顯示溫度的數(shù)值實(shí)現(xiàn)良好的人際溝通。各種新型的集成電路溫度傳感器不斷被研制出來(lái)。尤其是溫度傳感器DS18B20一種價(jià)格低廉高精度的數(shù)字溫

7、度傳感器,其特點(diǎn)是測(cè)量誤差小,價(jià)格低,響應(yīng)速度快,體積小,功耗低。因此得到了廣泛的應(yīng)用。在此課程設(shè)計(jì)中,以C8051f410作為控制系統(tǒng),通過(guò)溫度傳感器DS18B20來(lái)進(jìn)行溫度采集,采集后的數(shù)據(jù)通過(guò)基于MODBUS協(xié)議的RS485通信傳輸?shù)缴衔粰C(jī)PC機(jī)中通過(guò)MODSCAN軟件進(jìn)行實(shí)時(shí)的顯示。在設(shè)計(jì)過(guò)程中主要應(yīng)用了Altium Design 13來(lái)進(jìn)行硬件電路的設(shè)計(jì),通過(guò)keil軟件來(lái)進(jìn)行編程設(shè)計(jì)。本系統(tǒng)設(shè)計(jì)簡(jiǎn)單高效,能夠?qū)囟鹊恼`差控制在±05,能夠?qū)崟r(shí)顯示溫度數(shù)值,具有良好的人機(jī)溝通。關(guān)鍵詞:C8051F410單片機(jī)、DS18B20、MODBUS協(xié)議、 RS485通信、上位機(jī)顯示。

8、- III -第一章 緒論1.1設(shè)計(jì)目的隨著經(jīng)濟(jì)的發(fā)展和社會(huì)的進(jìn)步,當(dāng)今社會(huì)各種電子產(chǎn)品,監(jiān)測(cè)系統(tǒng)、控制系統(tǒng)等工作時(shí)對(duì)溫度的要求變得越來(lái)越高,本次課程設(shè)計(jì)的目的就是為了設(shè)計(jì)一種智能溫度采集系統(tǒng),能夠比較通過(guò)較簡(jiǎn)單的硬件設(shè)計(jì)和軟件設(shè)計(jì),較為簡(jiǎn)單高效的采集溫度的數(shù)值,并能夠?qū)崟r(shí)的顯示出來(lái),實(shí)現(xiàn)良好的人機(jī)溝通。課程設(shè)計(jì)是學(xué)生理論聯(lián)系實(shí)際的重要實(shí)踐教學(xué)環(huán)節(jié),是對(duì)學(xué)生進(jìn)行的一次綜合性專業(yè)設(shè)計(jì)訓(xùn)練。通過(guò)課程設(shè)計(jì)使學(xué)生獲得以下幾方面能力,為畢業(yè)設(shè)計(jì)(論文)奠定基礎(chǔ)。1進(jìn)一步鞏固和加深所學(xué)的電路和模電。數(shù)電理論知識(shí),培養(yǎng)學(xué)生設(shè)計(jì)、計(jì)算、繪圖、計(jì)算機(jī)應(yīng)用、文獻(xiàn)查閱、報(bào)告撰寫(xiě)等基本技能;2培養(yǎng)學(xué)生實(shí)踐動(dòng)手能力及獨(dú)

9、立分析和解決工程實(shí)際問(wèn)題的能力;3培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作精神、創(chuàng)新意識(shí)、嚴(yán)肅認(rèn)真的治學(xué)態(tài)度和嚴(yán)謹(jǐn)求實(shí)的工作作風(fēng)。1.2單片機(jī)簡(jiǎn)介 1.2.1單片機(jī)的發(fā)展趨勢(shì)隨著微電子技術(shù)的不斷發(fā)展,微處理器芯片的集成度越來(lái)越高,在一片集成電路芯片上集成微處理器、存儲(chǔ)器、I/O接口電路等元器件,從而構(gòu)成了“單芯片微型計(jì)算機(jī)”,簡(jiǎn)稱單片機(jī)。單片機(jī)的誕生標(biāo)志著計(jì)算機(jī)正式形成了通用的計(jì)算機(jī)系統(tǒng)和嵌入式計(jì)算機(jī)系統(tǒng)兩個(gè)分支。單片機(jī)的發(fā)展PC系統(tǒng)中的CPU 一樣歷經(jīng)幾代的過(guò)程,由于單片機(jī)的巨大市場(chǎng)空間和廣泛的應(yīng)用范圍,世界各大芯片廠商紛紛推出自己的單片機(jī)產(chǎn)品,但是單片機(jī)遠(yuǎn)沒(méi)有PC中的CPU更新速度快,大體經(jīng)歷了4位機(jī)、8位機(jī)、

10、16位機(jī)、32位機(jī)的發(fā)展過(guò)程,其中8位機(jī)在市場(chǎng)上一直是主流產(chǎn)品。1976年Intel公司率先推出8位機(jī)MCS-48系列,1980年又推出了內(nèi)部功能單元集成度強(qiáng)的8位機(jī)MCS-51系列產(chǎn)品,其性能大大超過(guò)并取代了MCS-48系列產(chǎn)品。如計(jì)算速度為MCS-48系列的10倍,時(shí)鐘12MHz時(shí)鐘指令周期可為1us。由于8位機(jī)可以一次處理一個(gè)ASC碼,因而一問(wèn)世便顯示出其強(qiáng)大的生命力,廣泛應(yīng)用于顯示、終端鍵盤(pán)、打印、字處理、工業(yè)控制等。雖然再8位機(jī)發(fā)展應(yīng)用過(guò)程中出現(xiàn)了16位機(jī)、32位機(jī),乃至64位機(jī),但是8位機(jī)仍以它的價(jià)格低廉、品種齊全、應(yīng)用軟件豐富、支持環(huán)境充分、開(kāi)發(fā)方便等特點(diǎn)而占領(lǐng)著單片機(jī)市場(chǎng)的主導(dǎo)

11、地位。所以各大芯片生產(chǎn)廠家商紛紛生產(chǎn)與MCS-51兼容或不兼容的單片機(jī)產(chǎn)品。1.2.2單片機(jī)的應(yīng)用領(lǐng)域目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過(guò)程控制等領(lǐng)域,大致可分如下幾個(gè)范疇:1在智能儀器儀表上的應(yīng)用單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電

12、子或數(shù)字電路更加強(qiáng)大。2在工業(yè)控制中的應(yīng)用用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。3在家用電器中的應(yīng)用可以這樣說(shuō),現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯褒、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門(mén),無(wú)所不在。4在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī),電話機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無(wú)線通信、再到

13、日常工作中隨處可見(jiàn)的移動(dòng)電話,集群移動(dòng)通信,無(wú)線電對(duì)講機(jī)等。5單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。6 在各種大型電器中的模塊化應(yīng)用某些專用單片機(jī)設(shè)計(jì)用于實(shí)現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用,而不要求使用人員了解其內(nèi)部結(jié)構(gòu)。在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡(jiǎn)化了電路,降低了損壞、錯(cuò)誤率,也方便于更換。 此外,單片機(jī)在工商,金融,科研、教育,國(guó)防航空航天等領(lǐng)域都有著十分廣泛的用途。1.3 MODBUS協(xié)議簡(jiǎn)介1.3.1 Modbus 通信原理Modbus協(xié)議可以方便的在各種網(wǎng)絡(luò)內(nèi)進(jìn)

14、行通信,每個(gè)設(shè)備都能使用Modbus協(xié)議來(lái)啟動(dòng)遠(yuǎn)程操作,同樣的通信能夠在串行鏈路和TCP/IP以太網(wǎng)網(wǎng)絡(luò)上進(jìn)行,而網(wǎng)關(guān)則能夠?qū)崿F(xiàn)各種使用Modbus協(xié)議的總線或網(wǎng)絡(luò)之間的通信。Modbus通信過(guò)程就是一個(gè)查詢和一個(gè)回應(yīng)的過(guò)程,其中查詢消息中的功能代碼表示被選中的從設(shè)備要執(zhí)行何種功能。數(shù)據(jù)段包含了從設(shè)備要執(zhí)行的任何附加信息。例如功能代碼03H是要求從設(shè)備讀保持寄存器并返回它的內(nèi)容數(shù)據(jù)段包含了。數(shù)據(jù)段必須包含要告知從設(shè)備的信息:從寄存器開(kāi)始讀及要讀的寄存器數(shù)量。錯(cuò)誤校驗(yàn)為從設(shè)備提供了一種驗(yàn)證消息內(nèi)容是否正確的方法。如果從設(shè)備產(chǎn)生一正常的回應(yīng),在回應(yīng)消息的中的功能代碼是在查詢消息中的功能代碼的回應(yīng)。

15、數(shù)據(jù)段包含了從設(shè)備收集的數(shù)據(jù)、寄存器的值或狀態(tài)。如果有錯(cuò)誤發(fā)生,功能代碼將被修改來(lái)指出回應(yīng)消息是錯(cuò)誤的,同時(shí)數(shù)據(jù)段包含了描述此錯(cuò)誤信息的代碼,錯(cuò)誤校驗(yàn)是主設(shè)備確認(rèn)消息傳輸?shù)恼`。1.3.2 MODBUS網(wǎng)絡(luò)的兩種傳輸模式 控制器能設(shè)置為兩種傳輸模式(ASCII或RTU)中的任何一種在標(biāo)準(zhǔn)的Modbus網(wǎng)絡(luò)通信。用戶選擇想要的模式,包括串口通信參數(shù)(波特率、校驗(yàn)方式等),在配置每個(gè)控制器的時(shí)候,在一個(gè)Modbus網(wǎng)絡(luò)上的所有設(shè)備都必須選擇相同的傳輸模式和串口參數(shù)。   1.ASCII模式   當(dāng)控制器設(shè)為在Modbus網(wǎng)絡(luò)上以ASCII(美國(guó)標(biāo)準(zhǔn)信息交換代

16、碼)模式通信,在消息中的每個(gè)8Bit字節(jié)都作為一個(gè)ASCII碼(兩個(gè)十六進(jìn)制字符)發(fā)送。  這種方式的主要優(yōu)點(diǎn)是字符發(fā)送的時(shí)間間隔可達(dá)到1秒而不產(chǎn)生錯(cuò)誤。  2.RTU模式  當(dāng)控制器設(shè)為在Modbus網(wǎng)絡(luò)上以RTU(遠(yuǎn)程終端單元)模式通信,在消息中的每個(gè)8Bit字節(jié)包含兩個(gè)4Bit的十六進(jìn)制字符。  這種方式的主要優(yōu)點(diǎn)是:在同樣的波特率下,可比ASCII模式傳送更多的數(shù)據(jù)。  我們公司的稱重儀表支持的都是MODBUS RTU模式。1.3.3 MODBUS網(wǎng)絡(luò)的兩種傳輸模Modbus信息以幀的方式傳輸,每幀有確定的起始點(diǎn)和結(jié)

17、束點(diǎn),使接收設(shè)備在信息的起點(diǎn)開(kāi)始讀地址,并確定要尋址的設(shè)備,以及信息傳輸?shù)慕Y(jié)束時(shí)間。  RTU模式中,信息開(kāi)始至少需要有3.5個(gè)字符的靜止時(shí)間,依據(jù)使用的波特率,很容易計(jì)算這個(gè)靜止的時(shí)間(如圖1-1)。接著,第一個(gè)區(qū)的數(shù)據(jù)為設(shè)備地址。圖1-1各個(gè)區(qū)允許發(fā)送的字符均為16進(jìn)制的0-9,A-F。網(wǎng)絡(luò)上的設(shè)備連續(xù)監(jiān)測(cè)網(wǎng)絡(luò)上的信息,包括靜止時(shí)間。當(dāng)接收第一個(gè)地址數(shù)據(jù)時(shí),每臺(tái)設(shè)備立即對(duì)它解碼,以決定是否是自己的地址。發(fā)送完最后一個(gè)字符號(hào)后,也有一個(gè)3.5個(gè)字符的靜止時(shí)間,然后才能發(fā)送一個(gè)新的信息。整個(gè)信息必須連續(xù)發(fā)送。如果在發(fā)送幀信息期間,出現(xiàn)大于1.5個(gè)字符的靜止時(shí)間時(shí),則接收設(shè)備刷新不完整

18、的信息,并假設(shè)下一個(gè)地址數(shù)據(jù)。1.3.4 地址設(shè)置有效的從機(jī)設(shè)備地址范圍0-247(十進(jìn)制),各從機(jī)設(shè)備的尋址范圍為1-247。主機(jī)把從機(jī)地址放入信息幀的地址區(qū),并向從機(jī)尋址。從機(jī)響應(yīng)時(shí),把自己的地址放入響應(yīng)信息的地址區(qū),讓主機(jī)識(shí)別已作出響應(yīng)的從機(jī)地。地址0為于廣播地址,所有從機(jī)均能識(shí)別。1.3.5 功能碼設(shè)置Modbus常用的功能代碼,見(jiàn)圖1-2常用功能碼表圖1-2 常用功能碼表1.3.6錯(cuò)誤校驗(yàn)CRC域是兩個(gè)字節(jié),包含一16位的值,2個(gè)8位字節(jié),它由傳輸設(shè)備計(jì)算后加入到消息中。接收設(shè)備重新計(jì)算收到消息的CRC,并與接收到的CRC域中的值比較,如果兩值不同,則有誤。例如: 

19、0;      讀取稱重變送器JF300A,JF300B,JF300C,JF300AD當(dāng)前顯示值(整形數(shù)據(jù))示例:見(jiàn)圖1-3舉例圖圖1-3 舉例圖 第二章 系統(tǒng)方案與論證2.1系統(tǒng)方案本系統(tǒng)主要由單片機(jī)控制系統(tǒng)模塊、RS485通信模塊、溫度采集模塊模塊、電源模塊組成,下面分別論證這幾個(gè)模塊的選擇。2.1.1 單片機(jī)控制系統(tǒng)的論證與選擇方案一:AT89C51單片機(jī)(1)4K字節(jié)可編程閃爍存儲(chǔ)器;(2)128*8位的內(nèi)部RAM;(3)32個(gè)可編程I/O口線;(4)兩個(gè)16位定時(shí)器、計(jì)數(shù)器;(5)5個(gè)中斷源;(6)可編程穿行通道;(7)片內(nèi)振蕩器和時(shí)

20、鐘電路;(8)低功耗的閑置和掉電模式。AT89C51單片機(jī)是一款通用MCU,但片上集成資源有限,使用時(shí)需要擴(kuò)展D/A和A/D轉(zhuǎn)換器,致使I/O資源被大量占用,而且增加電路焊接難度,不易調(diào)試,不僅成本高而且電路可靠性低。方案二:C8051F410單片機(jī):(1)高速高集成結(jié)構(gòu)與8051兼容的微控制器;(2)真12位200ksps的24通道ADC,兩個(gè)12位電流輸出DAC;(3)高精度可編程的24.5MHz內(nèi)部振蕩器;(4)多達(dá)24個(gè)端口I/O;(5)片內(nèi)上電復(fù)位、VDD監(jiān)視器和溫度傳感器;(6)2304字節(jié)片內(nèi)RAM;(7)達(dá)32KB的片內(nèi)FLASH存儲(chǔ)器 ;(8)片內(nèi)電壓比較器

21、0;。由于C8051F410單片機(jī)片內(nèi)資源豐富,不需要外圍擴(kuò)展D/A與A/D,焊接簡(jiǎn)單,可靠性高,節(jié)省時(shí)間,處理器速度最高可達(dá)98M,完全滿足系統(tǒng)數(shù)值運(yùn)算與調(diào)節(jié)時(shí)間的實(shí)時(shí)性,因此,所以本設(shè)計(jì)選C8051F410為系統(tǒng)控制核心配合其他外圍電路實(shí)現(xiàn)智能溫度采集。方案一焊接復(fù)雜,調(diào)試?yán)щy,不易實(shí)現(xiàn),綜合比較,而方案二焊機(jī)簡(jiǎn)單,運(yùn)行速度快。綜合以上兩種方案,選擇方案二。2.1.2 溫度采集模塊論證與選擇方案一:用普通半導(dǎo)體溫度傳感器作為敏感元件,再結(jié)合電壓放大器和AD轉(zhuǎn)換器將感應(yīng)到的溫度數(shù)值轉(zhuǎn)換為數(shù)字量存儲(chǔ)在某一單元內(nèi)。但由于該方案所需元件較多,且電路較繁,調(diào)試起來(lái)較復(fù)雜,所以舍之不用。方案二:使用普

22、通溫度傳感器pt100再結(jié)合電壓放大器和AD轉(zhuǎn)換器將感應(yīng)到的溫度數(shù)值轉(zhuǎn)換為數(shù)字量存儲(chǔ)在某一單元內(nèi)。該方案電路繁多,線路冗長(zhǎng)。且溫度傳感器pt100價(jià)格較貴。方案三:使用AD590集成溫度傳感器,它實(shí)質(zhì)上是一種半導(dǎo)體集成電路,它是利用晶體管的b-e結(jié)壓降的不飽和值VBE與熱力學(xué)溫度T和通過(guò)發(fā)射極電流I的下述關(guān)系實(shí)現(xiàn)對(duì)溫度的檢測(cè),集成溫度傳感器具有線性好、精度適中、靈敏度高、體積小、使用方便等優(yōu)點(diǎn),得到廣泛應(yīng)用。集成溫度傳感器的輸出形式分為電壓輸出和電流輸出兩種。電壓輸出型的靈敏度一般為10mV/K,溫度0時(shí)輸出為0,溫度25時(shí)輸出2.982V。電流輸出型的靈敏度一般為1mA/K。方案四:使用溫度

23、傳感器DS18B20,DS18B20為數(shù)字式溫度傳感器分辨率0.0625 ºC,滿足要求且無(wú)需其他外加電路,直接輸出數(shù)字量??芍苯优c單片機(jī)通信,讀取測(cè)溫?cái)?shù)據(jù),路簡(jiǎn)單,控制方便。圖2.1 DS18B20實(shí)物圖綜合以上各種方案,選用DS18B20使用方便,設(shè)計(jì)電路簡(jiǎn)單且經(jīng)濟(jì)實(shí)惠,所以選擇方案四。 2.1.3 數(shù)據(jù)通信的論證與選擇用通信方式來(lái)看,有兩種總線方式即:RS232總線和RS485總線。方案一:采用RS232串行總線方式,它是外部串行總線,通常我們用9針線接口進(jìn)行通信,實(shí)際上只用到TXD、RXD、GND三根線,單端傳輸方式,最大傳輸距離是15米,最大傳輸速度20Kbit/s,具有串

24、行傳輸只需要一根傳輸線即可,在成本上可以有一定的節(jié)約。但是典型的RS232信號(hào)在正負(fù)之間擺動(dòng),在發(fā)送數(shù)據(jù)時(shí),發(fā)送端的驅(qū)動(dòng)器輸出正電平在+5+15V,負(fù)電平在-5-15V之間。當(dāng)沒(méi)有數(shù)據(jù)傳輸時(shí),線上未TTL,從開(kāi)始傳輸數(shù)據(jù)到結(jié)束,線上電平從TTL電平到RS232電平再返回TTL電平。接收器典型的正工作電平在+3V+12V,負(fù)電平在-3V-12V。由于發(fā)送電平和接收電平的差僅為2V到3V,所以共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為15M,最高速率為20Kbit/s。由于RS232用于一對(duì)收發(fā)設(shè)備通訊,所以它只適合本地設(shè)備之間的通訊。方案二:采用RS485串行總線方式,它也是外部

25、串行總線,RS485可以采用二線與四線方式,二線制可以真正實(shí)現(xiàn)多點(diǎn)雙向通訊。而在采用四線連接時(shí),只能實(shí)現(xiàn)點(diǎn)對(duì)多的通訊信,也就是只有一個(gè)主設(shè)備,其他全為從設(shè)備。它的特點(diǎn)是輸入為差分輸入方式,最大傳輸距離為1200米,最大傳輸速率為10Mbit/s,其優(yōu)點(diǎn)是在RS232基礎(chǔ)上其抗干擾能力強(qiáng),同一根電纜線的數(shù)據(jù)傳輸可以不受其他線路的干擾,還具有總線收發(fā)器靈敏很高,能檢測(cè)很低的電壓,在遠(yuǎn)距離傳輸時(shí)也能使信號(hào)得以恢復(fù)。RS485的接口信號(hào)電平較RS232低,不易是接口電路的芯片受到損壞。由于RS485的種種優(yōu)點(diǎn),使它成為眾多工程師的首選串口接口。所以基于RS485的優(yōu)點(diǎn),本設(shè)計(jì)也采用方案二作為通信方式。

26、2.1.4 電源的論證與選擇方案一:采用開(kāi)關(guān)電源開(kāi)關(guān)電源是利用現(xiàn)代電力電子技術(shù),控制開(kāi)關(guān)管開(kāi)通和關(guān)斷的時(shí)間比率,維持穩(wěn)定輸出電壓的一種電源。開(kāi)關(guān)電源一般由脈沖寬度調(diào)制(PWM)控制IC和MOSFET構(gòu)成首先它交流電源輸入經(jīng)整流濾波變成直流電、通過(guò)高頻PWM芯片(脈沖寬度調(diào)制芯片)控制開(kāi)關(guān)管,將直流電加到開(kāi)關(guān)變壓器的初級(jí)線圈上開(kāi)關(guān)變壓器次級(jí)感應(yīng)出高頻電壓,經(jīng)過(guò)整流濾波供給負(fù)載 輸出部分通過(guò)電路反饋給控制電路,控制PWM占空比,以達(dá)到穩(wěn)定輸出的目的。方案二:采用線性電源線性電源是將交流電經(jīng)過(guò)變壓器降低電壓幅值,再經(jīng)過(guò)整流電路整流后,得到脈沖直流電,后經(jīng)濾波得到帶有微小波紋電壓的直流電壓。

27、首先它將交流電變換成所需的直流電,接著經(jīng)過(guò)預(yù)穩(wěn)壓電路線性調(diào)整元件,對(duì)濾波后的直流電壓進(jìn)行精細(xì)調(diào)整使輸入電壓達(dá)到所需要的值和精度要求,然后再通過(guò)濾波電路對(duì)直流電源的脈動(dòng)波干擾噪聲進(jìn)行最大限度的阻止和吸收從而保證直流電源的輸出電壓低紋波、低噪聲、低干擾。相比較來(lái)說(shuō)線性電源技術(shù)很成熟,制作成本較低,可以達(dá)到很高的穩(wěn)定度,波紋也很小,而且沒(méi)有干擾與噪音,但其體積比較龐大,且輸入電壓范圍要求高,效率低,一般只有30%-40%。開(kāi)關(guān)電源技術(shù)成熟,體積小,重量輕,輸入電壓范圍寬,自身抗干擾性強(qiáng),效率高,一般有60%70%。所以線性電源較抗干擾和效率來(lái)說(shuō)并不如開(kāi)關(guān)電源。但系統(tǒng)對(duì)電源的要求并不高,且需要兩路電源

28、,用線性電源完全能達(dá)到要求且設(shè)計(jì)簡(jiǎn)單,價(jià)格也更加的便宜。綜合考慮采用方案二。2.1.5顯示模塊本系統(tǒng)通過(guò)上位機(jī)顯示,單片機(jī)由RS通信將溫度發(fā)送到上位機(jī)PC機(jī)中,通過(guò)串MODSCAN軟件分別將溫度傳感器采集的溫度和單片機(jī)內(nèi)部溫度傳感器采集的溫度進(jìn)行顯示。2.1.6系統(tǒng)方案簡(jiǎn)述綜合以上論證,本系統(tǒng)系統(tǒng)框圖如圖2.2所示:圖2-2:系統(tǒng)設(shè)計(jì)框圖第三章 硬件系統(tǒng)設(shè)計(jì)3.1電路的設(shè)計(jì)3.1.1單片機(jī)最小系統(tǒng) 系統(tǒng)對(duì)單片機(jī)時(shí)鐘的精度和溫度穩(wěn)定度都沒(méi)有特別要求,可以直接使用C8051F410 單片機(jī)內(nèi)部自帶的時(shí)鐘振蕩器,而無(wú)需外接振蕩器。使用時(shí)要注意的是,是芯片工作電源是從Vregin 引腳引入( + 3.

29、 3V) ,VDD 是內(nèi)部基準(zhǔn)電壓輸出引腳,VIO 是I /O 口作為數(shù)字引腳時(shí)的電源輸入引腳。電路設(shè)計(jì)時(shí)必需在緊靠這3 個(gè)引腳的位置布上濾波和退耦電容( 470uf 和104pf) .P1.7是溫度傳感器DS18B20的數(shù)據(jù)線, P0. 4 和P0. 5 是串口通信線,與上位機(jī)顯示模塊連接。最小系統(tǒng)電路如圖3.1所示:圖3-1: 單片機(jī)最小系統(tǒng)原理圖3.1.2 RS485子系統(tǒng)框圖與電路原理圖1、RS485應(yīng)用簡(jiǎn)述MAX485接口芯片,采用單一電源+5V工作,額定電流為300A,采用半雙工通訊方式。它完成將TTL電平轉(zhuǎn)換為MAX485電平的功能。其從圖中可以看出,MAX485芯片的結(jié)構(gòu)和引腳

30、都非常簡(jiǎn)單,內(nèi)部含有一個(gè)驅(qū)動(dòng)器和接收器。RO和DI端分別為接收器的輸出和驅(qū)動(dòng)器的輸入端,與單片機(jī)連接時(shí)只需分別與單片機(jī)的RXD和TXD相連即可;和DE端分別為接收和發(fā)送的使能端,當(dāng)為邏輯0時(shí),器件處于接收狀態(tài);當(dāng)DE為邏輯1時(shí),器件處于發(fā)送狀態(tài),因?yàn)镸AX485工作在半雙工狀態(tài),所以只需用單片機(jī)的一個(gè)管腳控制這兩個(gè)引腳即可, A端和B端分別為接收和發(fā)送的差分信號(hào)端,當(dāng)A引腳的電平高于B時(shí),代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時(shí),代表發(fā)送的數(shù)據(jù)為0。在與單片機(jī)連接時(shí)接線非常簡(jiǎn)單。只需要一個(gè)信號(hào)控制MAX485的接收和發(fā)送即可。同時(shí)將A和B端之間加匹配電阻,一般可選120的電阻。2、RS485應(yīng)

31、用電路圖圖3-2: RS485應(yīng)用原理圖3.1.3溫度采集電路原理圖圖3-3: 溫度采集原理圖DS18B20的特性: 1、 獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。2、測(cè)溫范圍 55+125,固有測(cè)溫誤差(注意,不是分辨率,這里之前是錯(cuò)誤的)1。3、支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個(gè),實(shí)現(xiàn)多點(diǎn)測(cè)溫,如果數(shù)量過(guò)多,會(huì)使供電電源電壓過(guò)低,從而造成信號(hào)傳輸?shù)牟环€(wěn)定。4、工作電源: 3.05.5V/DC (可以數(shù)據(jù)線寄生電源)。5、在使用中不需要任何外圍元件。6、 測(cè)量結(jié)果以912位數(shù)字量方

32、式串行傳送。3.1.4電源 本系統(tǒng)電源設(shè)計(jì)為兩路+5V電壓,一路電壓負(fù)責(zé)為單片機(jī)供電,一路電壓負(fù)責(zé)為通信芯片MAX485和光耦隔離芯片6N137供電,避免因通信時(shí)拉低單片機(jī)的內(nèi)部電壓,造成單片機(jī)的低電停止工作,電源硬件電路如圖3.4所示: 圖3-4:電源硬件原理圖 電源由變壓部分、濾波部分、穩(wěn)壓部分組成。為整個(gè)系統(tǒng)提供兩路+5V電壓,確保電路的正常穩(wěn)定工作。這部分電路比較簡(jiǎn)單,都采用三端穩(wěn)壓管實(shí)現(xiàn),故不作詳述。 第四章 軟件系統(tǒng)設(shè)計(jì)4.1keil軟件的使用Keil_uVision4是眾多單片機(jī)愛(ài)應(yīng)用開(kāi)發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的MCS51架構(gòu)的芯片,它集編輯、編譯、仿真等于一體

33、,同時(shí)還支持PLM、匯編和C語(yǔ)言的程序設(shè)計(jì),它的界面和常用的微軟VC+的界面相似,界面友好,易學(xué)易用,在調(diào)程序,軟件仿真方面也有很強(qiáng)大的功能。1.新建一個(gè)工程文件,點(diǎn)擊“Project->New Project”菜單,如圖4-1所示:圖4-1 Keil4建立新工程2.選擇工程文件要存放的路徑 ,輸入工程文件名 kechengsheji, 最后單擊保存,如圖4-2所示:圖4-2 保存新工程3. 在彈出的對(duì)話框中選擇 CPU 廠商及型號(hào),如圖4-3所示:圖4-3 CPU型號(hào)選擇4新建一個(gè) C51 文件 , 單擊左上角的 New File 如圖4-4所示 :圖4-4 建立新文件5保存

34、好后把此文件加入到工程中方法如下 : 用鼠標(biāo)在 Source Group1 上單擊右鍵 , 然后再單擊 Add Files to Group Source Group 1' 如圖4-5所示:圖4-5 添加文件6.到此我們完成了工程項(xiàng)目的建立以及文件加入工程 , 現(xiàn)在我們開(kāi)始編譯工程如圖4-6所示:我們先單擊編譯, 如果在錯(cuò)誤與警告處看到 0 Error(s) 表示編譯通過(guò)。如圖4-6 編譯C文件4.2程序的設(shè)計(jì)4.2.1程序功能描述與設(shè)計(jì)思路1、程序功能描述本程序只要包擴(kuò)單片機(jī)的初始化程序,和通過(guò)溫度傳感器DS18B20對(duì)溫度的采集數(shù)據(jù)進(jìn)行讀取和處理,然后通過(guò)485通信將數(shù)據(jù)傳輸?shù)缴衔?/p>

35、機(jī)中進(jìn)行顯示的程序(1)初始化程序:設(shè)置端口、頻率、看門(mén)狗、串口通信和AD。(2)溫度采集:讀數(shù)據(jù),寫(xiě)數(shù)據(jù),初始化。(3)串口通信:發(fā)送數(shù)據(jù),接收數(shù)據(jù)。 4.2.2程序流程圖1、主程序流程圖主程序包含系統(tǒng)初始化子程序、DS18B20數(shù)據(jù)采集程序、內(nèi)部溫度傳感器溫度采集、RS485通信六個(gè)模塊。如圖4-7所示:圖4-7 主程序流程圖2、A/D程序轉(zhuǎn)換流程圖如圖4-8所示:?jiǎn)?dòng)A/D轉(zhuǎn)換讀取A/D轉(zhuǎn)換采樣AD取AD平均值將內(nèi)部電壓轉(zhuǎn)化成溫度值子程序返回圖4-8 A/D轉(zhuǎn)換流程圖3、CRC算法計(jì)算方法及流程圖如圖4-9所示:圖4-9 CLC16算法流程圖具體計(jì)算方法為:1、設(shè)置CRC寄存器,給其賦值

36、0xffff;2、將待校驗(yàn)數(shù)據(jù)的第一個(gè)字節(jié)(8bit)與16位CRC的低字節(jié)進(jìn)行異或操作,結(jié)果存入CRC寄存器;3、CRC寄存器向右移一位,MSB補(bǔ)零,移出并檢查L(zhǎng)SB;4、如果LSB為0,重復(fù)第三步;若LSB為1,CRC寄存器與多項(xiàng)式碼(8005)相異或,結(jié)果依然存入CRC寄存器;5、重復(fù)第3、4步,直到8次移位全部完成。即一個(gè)8bit字節(jié)處理完畢;6、重復(fù)第2至第5步,即依次處理后面的數(shù)據(jù)字節(jié),直到全部數(shù)據(jù)處理完成;7、最終CRC寄存器里的內(nèi)容即為CRC值。在數(shù)據(jù)傳輸中,附加在有效信息后面的CRC16兩個(gè)字節(jié),高字節(jié)在前,低字節(jié)在后。第五章 系統(tǒng)調(diào)試與運(yùn)行5.1測(cè)試方案5.1.1硬件測(cè)試:

37、a.根據(jù)設(shè)計(jì)的電路原理圖監(jiān)測(cè)硬件的設(shè)計(jì)是否焊接錯(cuò)誤b.使用數(shù)字萬(wàn)用表來(lái)檢測(cè)所焊接電路的通斷情況,檢測(cè)有無(wú)漏焊、虛焊現(xiàn)象。并且測(cè)量單片機(jī)每個(gè)I/O口的電壓、電流是否正常。5.1.2軟件仿真測(cè)試:直接在keil軟件中通過(guò)其自帶的仿真系統(tǒng)進(jìn)行系統(tǒng)的仿真模擬,5.1.3硬件軟件聯(lián)調(diào):將設(shè)計(jì)的電路板焊接好后,將系統(tǒng)程序下載到單片機(jī)中,連接電源后檢測(cè)系統(tǒng)是否正常工作,并通過(guò)數(shù)字萬(wàn)用表,數(shù)字示波器等檢測(cè)觀察各個(gè)模塊的工作狀態(tài)是否正常。5.2 測(cè)試條件與儀器測(cè)試條件:檢查多次,仿真電路和硬件電路必須與系統(tǒng)原理圖完全相同,并且檢查無(wú)誤,硬件電路保證無(wú)虛焊。測(cè)試儀器:高精度的數(shù)字毫伏表,模擬示波器,數(shù)字示波器,數(shù)

38、字萬(wàn)用表,指針式萬(wàn)用表。5.3 測(cè)試結(jié)果及分析5.3.1測(cè)試溫度由于18b20出場(chǎng)的測(cè)溫精度可達(dá)ºC,基本能夠達(dá)到設(shè)計(jì)要求。在此使用了高精度電子溫度計(jì),精確測(cè)量室溫。1、靜態(tài)溫度測(cè)量本次測(cè)量的方法主要是使用高精度的電子溫度計(jì)放到溫度傳感器附近反復(fù)測(cè)量溫度數(shù)值并比較,測(cè)量結(jié)果見(jiàn)表5-1 表5-1 溫度測(cè)試表 ( 單位: ºC)傳感器第一次第二次第三次第四次DS18B2018.519.720.023.3電子溫度計(jì)18.719.520.023.0內(nèi)部傳感器20.621.622.324.9誤差分析:由于測(cè)溫部位無(wú)法達(dá)到完全一致,且受各種外界其它條件的影響、在此DS18B20誤差均在

39、0.5(ºC)以內(nèi),且沒(méi)有規(guī)律性,所以不再軟件補(bǔ)償溫度值內(nèi)部溫度傳感器一般較室溫高兩攝氏度左右2、測(cè)試結(jié)果分析由以上測(cè)量可見(jiàn),系統(tǒng)性能基本上達(dá)到了所要求的指標(biāo)。靜態(tài)測(cè)溫的精度主要有DS18B20決定。DS18B20的精度比較高,這里采取了讀取溫度寄存器辦法,測(cè)溫精度能夠達(dá)到0.3ºC,可以達(dá)到比較好的精度。內(nèi)部溫度傳感器一般較室溫高兩攝氏度左右5.3.2結(jié)論 整個(gè)系統(tǒng)的設(shè)計(jì)思想是精確測(cè)量溫度,減小調(diào)節(jié)時(shí)間和超調(diào)量。整個(gè)系統(tǒng)綜合有如下幾個(gè)特點(diǎn):通過(guò)DS18B20集成溫度傳感器減少了A/D轉(zhuǎn)換電路,簡(jiǎn)化了電路結(jié)構(gòu)。采用C8051F410,簡(jiǎn)化了功率控制電路,提高了系統(tǒng)的穩(wěn)定性。

40、在電路設(shè)計(jì)中充分考慮了系統(tǒng)的可靠性和安全性。通過(guò)精心調(diào)試達(dá)到基本功能指標(biāo),動(dòng)態(tài)性能也達(dá)到較好的要求。綜上所述,本設(shè)計(jì)達(dá)到設(shè)計(jì)要求。第六章 總結(jié)與致謝硬件課程設(shè)計(jì)是學(xué)習(xí)階段一次非常重要的理論與實(shí)際相結(jié)合的機(jī)會(huì),通過(guò)這次智能溫度采集系統(tǒng)的設(shè)計(jì),我擺脫了單純的理論知識(shí)學(xué)習(xí)狀態(tài),和實(shí)際設(shè)計(jì)的結(jié)合鍛煉了我綜合運(yùn)用所學(xué)專業(yè)知識(shí)解決實(shí)際問(wèn)題的能力,同時(shí)也提高了我查閱文獻(xiàn)資料、電腦制圖等其他能力水平。而且通過(guò)對(duì)整體設(shè)計(jì)思路的掌控,對(duì)局部器件的取舍,以及對(duì)細(xì)節(jié)程序的斟酌處理,都使我的能力得到了鍛煉,并且意志力、抗壓能力及耐力也都得到了不同程度的提升。這是我們都希望看到的也正是我們進(jìn)行硬件課程設(shè)計(jì)的目的所在。此次

41、設(shè)計(jì)主要應(yīng)用了溫度傳感技術(shù)和單片機(jī)技術(shù)。系統(tǒng)的溫度傳感部分使用數(shù)字溫度傳感器DS18B20采集。電路經(jīng)過(guò)多次改正測(cè)試最后達(dá)到理想效果,接收到溫度信號(hào)后能夠較快的在上位機(jī)PC機(jī)上顯示出來(lái),溫度信號(hào)穩(wěn)定,可遠(yuǎn)距離傳輸,抗干擾能力好,價(jià)格低廉。這樣,不僅降低了系統(tǒng)的設(shè)計(jì)成本,而且提高了系統(tǒng)的精度。經(jīng)過(guò)多次的調(diào)試與運(yùn)行,本系統(tǒng)完全達(dá)到設(shè)計(jì)要求。完全能夠在現(xiàn)實(shí)生活中達(dá)到實(shí)際而且廣泛的應(yīng)用。為期三周的課程設(shè)計(jì)已經(jīng)結(jié)束了,在過(guò)去的這段時(shí)間中,感謝孫老師對(duì)我們辛勤的教導(dǎo),在這為期并不算長(zhǎng)的時(shí)間段內(nèi),孫老師傳授給了我們非常多的專業(yè)知識(shí),并傳授給我們?cè)S多做事的方法,這將對(duì)我們往后做工程產(chǎn)生深遠(yuǎn)的影響。真心的非常感

42、謝老師對(duì)我們的幫助和指導(dǎo)。在這段時(shí)間中也感謝和我一起學(xué)習(xí),一起鉆研的同學(xué)們,在這段時(shí)間內(nèi)也感謝你們對(duì)我的幫助,正式有你們,才讓我在課程設(shè)計(jì)這段時(shí)間中能夠充滿斗志的去學(xué)習(xí),讓我們共同加油,感謝你們。參考文獻(xiàn)1 翟玉文,梁偉, 艾學(xué)忠.電子設(shè)計(jì)與實(shí)踐. 中國(guó)電力出版社,2005.52 申琢玉.吉林化工學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū).2009.6.123 張齊,朱寧西. 單片機(jī)系統(tǒng)設(shè)計(jì)與開(kāi)發(fā). 北京:機(jī)械工業(yè)出版社,2008.84 時(shí)景榮,李立春. C語(yǔ)言程序設(shè)計(jì). 中國(guó)鐵道出版社,2008.125 張毅剛. 單片機(jī)原理及應(yīng)用. 北京:高等教育出版社,20086 申琢玉.吉林化工學(xué)院畢業(yè)設(shè)計(jì)

43、說(shuō)明書(shū).2009.6.127 翟玉文.Altera可編程邏輯器件設(shè)計(jì)與實(shí)驗(yàn). 吉林化工學(xué)院校內(nèi)講義. 2001.12- 31 -附錄1:電路原理圖附錄2:源程序/*程序名稱:ADC0.c;-程序功能:C8051F410A/D轉(zhuǎn)換測(cè)試;*/-/ C51頭文件/-#include <c8051f410.h> / 包含c8051f410單片機(jī)特殊寄存器#include <intrins.h> / 包含指示編譯器產(chǎn)生嵌入原有代碼的程序的原型#defineSYSCLK 1531250 float temp;float wendu;union tempXfloat tempf;un

44、signed char tempc4;realtemp;union wenduXfloat wenduf;unsigned char wenduc4;realwendu;unsigned char xdata rd0_dat48,td0_dat48;/UART0接收計(jì)數(shù)、站號(hào) unsigned char idata rd0_cont,zhhao=1;sbit LED=P25;sbit dq=P17;#include "C8051F410.h"/ Peripheral specific initialization functions,/ Called from the In

45、it_Device() functionvoid PCA_Init() PCA0MD &= 0x40; PCA0MD = 0x00;void Oscillator_Init() OSCICN = 0x82;void UART_Init() SCON0 = 0x10;void Timer_Init() TCON = 0x40; TMOD = 0x21; CKCON = 0x0C; TL0 = 0x84; TH0 = 0xFB;TL1 = 0xD8; TH1 = 0xD8; void Port_IO_Init() P0MDIN = 0xFB; P1MDIN = 0xFB; P2MDOUT

46、= 0x20; P0SKIP = 0x04; P1SKIP = 0x04; XBR0 = 0x01; XBR1 = 0xC0;void ADC_Init() ADC0MX = 0x18; ADC0CN = 0x80; / ADC0 disabled, burst-mode disabled, / conversion triggered on TMR2 overflow ADC0TK = 0xF8; / Pre-tracking mode enabled, keep / default timing settings ADC0CF = 0x00; / Repeat count = 1 ADC0

47、CF |= (SYSCLK/3000000)-1)<<3; / Set SAR clock to 3MHz AD0EN = 1;void Voltage_Reference_Init() REF0CN = 0x15;/void Voltage_Reference_Init()/ REF0CN = 0x13;/void Init_Device(void) PCA_Init();Oscillator_Init();ADC_Init(); Voltage_Reference_Init();Timer_Init();UART_Init(); Port_IO_Init();/單周期時(shí)間1.3

48、06US/延時(shí)子函數(shù)/一次循環(huán)11機(jī)器周期,每增一次加9機(jī)器周期 (n*10+13)*1.306void delay1(unsigned char x) unsigned char i;for(i=0;i<x;i+)/延時(shí)子函數(shù)void delay2(unsigned long x) unsigned long i; for(i=0;i<x;i+)/-/函數(shù)說(shuō)明/ 向DS18B20寫(xiě)入一個(gè)字節(jié)/函數(shù)參數(shù)/ wrt:被寫(xiě)入的字節(jié)/-void write (unsigned char wrt)unsigned char i;EA=0;for (i=0;i<8;i+) dq=0;dq=wrt & 0x01; delay1(4);dq=1;wrt>>=1; EA=1; /-/函數(shù)說(shuō)明/ 從DS18B20讀數(shù)據(jù)16bit數(shù)據(jù),也就是溫度值的轉(zhuǎn)換碼/函數(shù)返回/ 返回所讀取的2個(gè)字節(jié)數(shù)據(jù)/- unsigned int read_word ()unsigned char i;unsigned int a=0;EA=0;for(i=

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論