基于modbus協(xié)議的模擬溫度采集器_第1頁
基于modbus協(xié)議的模擬溫度采集器_第2頁
基于modbus協(xié)議的模擬溫度采集器_第3頁
基于modbus協(xié)議的模擬溫度采集器_第4頁
基于modbus協(xié)議的模擬溫度采集器_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書信控學(xué)院硬件課程設(shè)計說明書基于Modbus協(xié)議的模擬溫度采集器學(xué)生學(xué)號: 學(xué)生姓名: 專業(yè)班級: 指導(dǎo)教師: 職 稱: 起止日期:2015.3.162015.4.3吉林化工學(xué)院Jilin Institute of Chemical Technology專業(yè)綜合設(shè)計任務(wù)書一設(shè)計題目:基于Modbus協(xié)議的模擬溫度采集器二設(shè)計目的1熟悉Keli uVision開發(fā)軟件 及Altium Designer電路設(shè)計軟件的使用;2. 掌握C8051F410單片機體系結(jié)構(gòu)及C語言程序設(shè)計方法,并了解Modbus協(xié)議;3. 掌握基于C8051F410單片機與AD590構(gòu)成的

2、基于Modbus協(xié)議的模擬溫度采集器的電路設(shè)計方法;4. 掌握基于C8051F410單片機的基于Modbus協(xié)議的模擬溫度采集器的編程方法。三設(shè)計任務(wù)及要求1. 學(xué)習(xí)C8051F410單片機體系結(jié)構(gòu)及程序開發(fā)。2.設(shè)計基于Modbus協(xié)議的模擬溫度采集器的電路原理圖,并應(yīng)用Altium Designer畫出其電路原理圖。3. 完成基于Modbus協(xié)議的模擬溫度采集器電路的焊裝和硬件調(diào)試。4. 編寫完整的實驗程序,進行整機調(diào)試。5. 撰寫設(shè)計說明書。四設(shè)計時間及進度安排設(shè)計時間共三周(2007.12.102007.12.28),具體安排如下表:周安排設(shè) 計 內(nèi) 容設(shè)計時間第一周1.學(xué)習(xí)C8051

3、F410單片機體系結(jié)構(gòu)及程序開發(fā);2設(shè)計基于Modbus協(xié)議的模擬溫度采集器電路,并應(yīng)用Altium Designer畫出其電路原理圖。 2015.3.162015.3.22第二周1.完成基于Modbus協(xié)議的模擬溫度采集器電路的焊裝和硬件調(diào)試;2.編寫實驗程序。2015.3.232015.3.29第三周1整機調(diào)試;2撰寫設(shè)計說明書;3.答辯2撰寫設(shè)計說明書。3答辯。2015.3.302015.4.3五指導(dǎo)教師評語及學(xué)生成績指導(dǎo)教師評語:年 月 日成績指導(dǎo)教師(簽字):I摘 要溫度是現(xiàn)代工業(yè)生產(chǎn)過程中的一個重要參數(shù),在生產(chǎn)過程中常需對溫度進行檢測盒監(jiān)控,特別是在電力、化工等大型自動化企業(yè)的生產(chǎn)

4、過程中往往需要監(jiān)視和測量幾十個溫度參數(shù)。在某些特殊的生產(chǎn)場合(比如印染和煉油),溫度參數(shù)測量和控制的精度直接影響后續(xù)產(chǎn)品的質(zhì)量。本文介紹一種基于Modbus協(xié)議的溫度采集模塊的設(shè)計方法。AD590溫度傳感器隨溫度的變化而產(chǎn)生不同的電阻信號,電阻信號經(jīng)過恒定電流變成模擬電壓信號,單片機內(nèi)部多路模擬開關(guān)電路對模擬信號進行采集,A/D轉(zhuǎn)換模塊對采集到的信號進行模數(shù)轉(zhuǎn)換,把轉(zhuǎn)換得到的數(shù)字信號按照順序分別送入單片機,單片機通過RS485現(xiàn)場總線實現(xiàn)與PC機的掛接。單片機通過現(xiàn)場總線能夠把溫度值以Modbus協(xié)議的形式發(fā)送給PC機,實現(xiàn)了工控計算機的現(xiàn)場總線集中管理。關(guān)鍵字: Modbus協(xié)議;A/D轉(zhuǎn)換

5、器;AD590溫度傳感器I目錄專業(yè)綜合設(shè)計任務(wù)書I1 概 述12 整體設(shè)計思路及原理23 硬件設(shè)計33.1供電電源模塊33.2單片機最小系統(tǒng)及其接口電路模塊33.3 RS485通訊模塊43-3RS485通訊模塊53.4 AD590測溫模塊54 軟件設(shè)計84.1 Modbus協(xié)議84.2 系統(tǒng)初始化95 Keil的使用10結(jié) 論15參考文獻16附錄1 系統(tǒng)電路圖17附錄2 焊接電路板過程18III1 概 述課程設(shè)計是學(xué)生理論聯(lián)系實際的重要實踐教學(xué)環(huán)節(jié),是對學(xué)生進行的一次綜合性專業(yè)設(shè)計訓(xùn)練。通過課程設(shè)計使學(xué)生獲得以下幾方面能力,為畢業(yè)設(shè)計(論文)奠定基礎(chǔ)。1進一步鞏固和加深學(xué)生所學(xué)一門或幾門相關(guān)專

6、業(yè)課(或?qū)I(yè)基礎(chǔ)課)理論知識,培養(yǎng)學(xué)生設(shè)計、計算、繪圖、計算機應(yīng)用、文獻查閱、報告撰寫等基本技能;2培養(yǎng)學(xué)生實踐動手能力及獨立分析和解決工程實際問題的能力;3培養(yǎng)學(xué)生的團隊協(xié)作精神、創(chuàng)新意識、嚴肅認真的治學(xué)態(tài)度和嚴謹求實的工作作風。4.培養(yǎng)學(xué)生與老師合作的能力,學(xué)生通過向指導(dǎo)老師提問獲取一些專業(yè)信息,為畢業(yè)以后所從事的研究方向奠定一定的基礎(chǔ)。5.培養(yǎng)學(xué)生的意志力,三周的實習(xí)對學(xué)生來說也是相當長的一段經(jīng)歷,如何靜下心來踏實學(xué)習(xí)老師所要求記憶自己想要掌握的知識,對大多數(shù)同學(xué)來說也是一種考驗。6培養(yǎng)學(xué)生的抗壓能力,在實習(xí)期的最后,我們每個人都需要進行個人與老師單獨答辯,是否能把自己所掌握的知識說出來

7、,讓專業(yè)技術(shù)人員聽明白也是一種能力的表現(xiàn)。7培養(yǎng)學(xué)生的團隊認同感,一個團隊如果想要合作愉快,必須有明確的分工和各自的要求及細則,如果人人都有這種認同感,那么這次實習(xí)變?yōu)槲覀円院笞哌M工作崗位提供了一些經(jīng)驗。8.培養(yǎng)學(xué)生的執(zhí)行能力,僅僅三周的時間如果能把課題所涉及的內(nèi)容完美地呈現(xiàn)來,每個組員必須各盡其責,同時也培養(yǎng)了助長的領(lǐng)導(dǎo)能力。2 整體設(shè)計思路及原理作為數(shù)字檢測儀表它的主要功能是把模擬信號轉(zhuǎn)換成相應(yīng)的數(shù)字信號,然后通過CPU的處理和運算,最后通過顯示器進行顯示,完成相應(yīng)的處理功能。因此,它的設(shè)計原理及流程如下圖所示:供 系統(tǒng)電源單片機小系統(tǒng)D/A上位機顯示傳感器信號調(diào)理電路3 硬件設(shè)計本設(shè)計的

8、電路主要由電源模塊、單片機最小系統(tǒng)及其接口電路模塊、AD590溫度傳感器模塊、485通訊模塊。具體電路和工作原理下面一一介紹。3.1供電電源模塊電子技術(shù)課程中所介紹的直流穩(wěn)壓電源一般是線性穩(wěn)壓電源, 它的特點是起電壓調(diào)整功能的器始終工作在線性放大區(qū),由50Hz工頻變壓器、整流器、濾波器和串聯(lián)調(diào)整穩(wěn)壓器組成。它的基本工作原理為:工頻交流電源經(jīng)過變壓器降壓、 整流、濾波后成為一穩(wěn)定的直流電。圖中其余部分是起電壓調(diào)節(jié),實現(xiàn)穩(wěn)壓作用的控制部分。電源接上負載后,通過采樣電路獲得輸出電壓,將此輸出電壓與基準電壓進行比較。如果輸出電壓小于基準電壓,則將誤差值經(jīng)過放大電路放大后送入調(diào)節(jié)器的輸入端,通過調(diào)節(jié)器調(diào)

9、節(jié)使輸出電壓增加,直到與基準值相等;如果輸出電壓大于基準電壓,則通過調(diào)節(jié)器使輸出減小。這種穩(wěn)壓電源具有優(yōu)良的紋波及動態(tài)響應(yīng)特性。本設(shè)計采用固定集成輸出集成穩(wěn)壓電路,它主要由變壓器(雙9V,5W)、集成整流橋、集成穩(wěn)壓器LM7805(+5V)、LM431(2.5V)構(gòu)成。電路圖如下:3-1 穩(wěn)壓供電電源3.2單片機最小系統(tǒng)及其接口電路模塊單片機最小系統(tǒng)是單片機能正常工作的條件。它主要由時鐘電路、復(fù)位電路構(gòu)成。具體接法請觀察各個端口的網(wǎng)絡(luò)標號。C8051F410 內(nèi)部有兩個12 位的電流模式數(shù)/模轉(zhuǎn)換器(IDAC)。由于12位D/A精度不夠,故需要擴展成15位D/A。從鍵盤輸入溫度數(shù)值,查表得其對

10、應(yīng)的電壓值。故可算出IDAC對應(yīng)的的輸出電流值。具體電路見下圖: 3-2單片機最小系統(tǒng)及接口電路3.3 RS485通訊模塊特點: 1. RS-485的電氣特性:采用差分信號負邏輯,邏輯"1”以兩線間的電壓差為+(26)V表示;邏輯"0"以兩線間的電壓差為-(26)V表示。接口信號電平比RS-232-C降低了,就不易損壞接口電路的芯片, 且該電平與TTL電平兼容,可方便與TTL電路連接。2. RS-485的數(shù)據(jù)最高傳輸速率為10Mbps。3. RS-485接口是采用平衡驅(qū)動器和差分,接收器的組合,抗共模干擾能力增強,即抗噪聲干擾性好。4. RS-485最大的通信距離

11、約為1219m,最大傳輸速率為10Mbps,傳輸速率與傳輸距離成反比,在100KbpS的傳輸速率下,才可以達到最大的通信距離,如果需傳輸更長的距離,需要加485中繼器。RS-485總線一般最大支持32個節(jié)點,如果使用特制的485芯片,可以達到128個或者256個節(jié)點,最大的可以支持到400個節(jié)點。3-3RS485通訊模塊3.4 AD590測溫模塊AD590是美國ANALOG DEVICES公司的單片集成兩端感溫電流源,其輸出電流與絕對溫度成比例。在4 V至30 V電源電壓范圍內(nèi),該器件可充當一個高阻抗、恒流調(diào)節(jié)器,調(diào)節(jié)系數(shù)為1 µA/K。片內(nèi)薄膜電阻經(jīng)過激光調(diào)整,可用于校準器件,使該

12、器件在298.2K (25°C)時輸出298.2 µA電流。AD590適用于150°C以下、目前采用傳統(tǒng)電氣溫度傳感器的任何溫度檢測應(yīng)用。低成本的單芯片集成電路及無需支持電路的特點,使它成為許多溫度測量應(yīng)用的一種很有吸引力的備選方案。應(yīng)用AD590時,無需線性化電路、精密電壓放大器、電阻測量電路和冷結(jié)補償。除溫度測量外,還可用于分立器件的溫度補償或校正、與絕對溫度成比例的偏置、流速測量、液位檢測以及風速測定等。AD590可以裸片形式提供,適合受保護環(huán)境下的混合電路和快速溫度測量。AD590特別適合遠程檢測應(yīng)用。它提供高阻抗電流輸出,對長線路上的壓降不敏感。任何絕緣

13、良好的雙絞線都適用,與接收電路的距離可達到數(shù)百英尺。這種輸出特性還便于AD590實現(xiàn)多路復(fù)用,輸出電流可以通過一個CMOS多路復(fù)用器切換,或者電源電壓可以通過一個邏輯門輸出切換。它的主要特性如下: 1、流過器件的電流(mA)等于器件所處環(huán)境的熱力學(xué)溫度(開爾文)度數(shù),即:mA/K式中: 流過器件(AD590)的電流,單位為mA; T熱力學(xué)溫度,單位為K。 2、AD590的測溫范圍為-55+150。 3、AD590的電源電壓范圍為4V30V。電源電壓可在4V6V范圍變化,電流 變化1mA,相當于溫度變化1K。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會被損壞。 4、輸出電

14、阻為710MW。 5、精度高。AD590共有I、J、K、L、M五檔,其中M檔精度最高,在-55+150范圍內(nèi),非線性誤差為±0.3。 AD590溫度感測器是一種已經(jīng)IC化的溫度感測器,它會將溫度轉(zhuǎn)換為電流,在8051的各種課本中??吹剿?相當常用到。 其規(guī)格如下: 溫度每增加1,它會增加1A輸出電流。 可量測范圍-55至150。 供應(yīng)電壓范圍+4V至30V。 AD590的接腳圖及零件符號如下圖所示: AD590的輸出電流值說明如下: 其輸出電流是以絕對溫度零度(-273)為基準,每增加1,它會增加1A輸出電流,因此在室溫25時,其輸出電流Io=(273+25)=298A。 Vo的值為

15、Io乘上10K,以室溫25而言,輸出值為2.98V(10K×298A)。 量測Vo時,不可分出任何電流,否則量測值會不準。 電路分析 AD590的輸出電流I=(273+T)A(T為攝氏溫度),因此量測的電壓V為(273+T)A ×10K= (2.73+T/100)V。為了將電壓量測出來又需使輸出電流I不分流出來,我們使用電壓追隨器其輸出電壓V2等于輸入電壓V。 由于一般電源供應(yīng)較多零件之后,電源是帶雜訊的,因此我們使用齊納二極體作為穩(wěn)壓零件,再利用可變電阻分壓,其輸出電壓V1需調(diào)整至2.73V。 接下來我們使用差動放大器其輸出Vo為 (100K/10K)×(V2-

16、V1)=T/10V。如果現(xiàn)在為攝氏28度,輸出電壓為2.8V。 3-4 AD590測溫模塊4 軟件設(shè)計 4.1 Modbus協(xié)議Modbus是由Modicon(現(xiàn)為施耐德電氣公司的一個品牌)在1979年發(fā)明的,是全球第一個真正用于工業(yè)現(xiàn)場的總線協(xié)議。ModBus網(wǎng)絡(luò)是一個工業(yè)通信系統(tǒng),由帶智能終端的可編程序控制器和計算機通過公用線路或局部專用線路連接而成。其系統(tǒng)結(jié)構(gòu)既包括硬件、亦包括軟件。它可應(yīng)用于各種數(shù)據(jù)采集和過程監(jiān)控。ModBus網(wǎng)絡(luò)只有一個主機,所有通信都由他發(fā)出。網(wǎng)絡(luò)可支持247個之多的遠程從屬控制器,但實際所支持的從機數(shù)要由所用通信設(shè)備決定。采用這個系統(tǒng),各PC可以和中心主機交換信息

17、而不影響各PC執(zhí)行本身的控制任務(wù)。Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。它已經(jīng)成為一通用工業(yè)標準。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進行集中監(jiān)控。此協(xié)議定義了一個控制器能認識使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進行通信的。它描述了一控制器請求訪問其它設(shè)備的過程,如何回應(yīng)來自其它設(shè)備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。當在一Modbus網(wǎng)絡(luò)上通信時,此協(xié)議決定了每個控制器須要知道它們的設(shè)備地址,識別按地址發(fā)來的消息,決定要產(chǎn)生何種行動。如果需要回應(yīng),控制

18、器將生成反饋信息并用Modbus協(xié)議發(fā)出。在其它網(wǎng)絡(luò)上,包含了Modbus協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上使用的幀或包結(jié)構(gòu)。這種轉(zhuǎn)換也擴展了根據(jù)具體的網(wǎng)絡(luò)解決節(jié)地址、路由路徑及錯誤檢測的方法。此協(xié)議支持傳統(tǒng)的RS-232、RS-422、RS-485和以太網(wǎng)設(shè)備。許多工業(yè)設(shè)備,包括PLC,DCS,智能儀表等都在使用Modbus協(xié)議作為他們之間的通訊標準。Modbus具有以下幾個特點:(1)標準、開放,用戶可以免費、放心地使用Modbus協(xié)議,不需要交納許可證費,也不會侵犯知識產(chǎn)權(quán)。目前,支持Modbus的廠家超過400家,支持Modbus的產(chǎn)品超過600種。(2)Modbus可以支持多種電氣接口,如R

19、S-232、RS-485等,還可以在各種介質(zhì)上傳送,如雙絞線、光纖、無線等。(3)Modbus的幀格式簡單、緊湊,通俗易懂。用戶使用容易,廠商開發(fā)簡單。4.2 系統(tǒng)初始化主控芯片采用C8051F410 MCU,其指令周期為1至2個時鐘周期,系統(tǒng)時鐘頻率為24.5MHZ,由于C語言易于移植,且語法簡潔,本系統(tǒng)采用C語言編寫,系統(tǒng)程序流程圖如圖6所示4-1 流程圖C8051F410單片機是一款混合信號的處理器,內(nèi)部集成AD、DA、晶振、SPI、比較器等片上資源,3組P口重的每個端口引腳都可以被定義為通用I/O(GPIO)或模擬輸入/輸出。所以在系統(tǒng)上電后為了使系統(tǒng)能夠正確運行,必須對相應(yīng)的寄存器做

20、必要的配置;之后,還要對LCD顯示部分進行相應(yīng)的初始化后才能夠正確顯示,所有這些的初始化工作都在系統(tǒng)初始化中完成。經(jīng)過系統(tǒng)初始化后,系統(tǒng)進入循環(huán)掃描的狀態(tài)中,系統(tǒng)要不斷地對按鍵輸入進行測量,利用單片機的DA轉(zhuǎn)換器將其轉(zhuǎn)換為模擬量, 然后在液晶上顯示出來。5 Keil的使用 Keil是眾多單片機愛應(yīng)用開發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的MCS51架構(gòu)的芯片,它集編輯、編譯、仿真等于一體,同時還支持PLM、匯編和C語言的程序設(shè)計,它的界面和常用的微軟VC+的界面相似,界面友好,易學(xué)易用,在調(diào)程序,軟件仿真方面也有很強大的功能。1.點擊桌面上的Keil uVision3圖標,出現(xiàn)啟動畫面:

21、2.新建一個工程,點擊“project - New Project”新建3. 在對話框,選擇 “硬件設(shè)計Modbus”文件夾下,給這個工程取個名“模擬溫度采集器”后保存。4.在彈出的對話框中選擇 CPU 廠商及型號, 并選中“Silicon Laboratories”下的C8051F410。5.新建一個 C51 文件 , 單擊左上角的 New File 如下圖所示 :6. 在下面空白區(qū)別寫入或復(fù)制一個完整的程序,然后保存。如果想用匯編語言,要帶后綴名一定是“test . asm”,如果是C語言,則是“test . c”: 7.保存好后把此文件加入到工程中方法如下 : 用鼠標在 Source G

22、roup1 上單擊右鍵 , 然后再單擊 Add Files to Group Source Group 1'。8.選擇要加入的文件 , 找到 萬年歷.C 后 , 單擊 Add, 然后單擊 Close9.在編輯框里輸入代碼。10.到此我們完成了工程項目的建立以及文件加入工程 , 現(xiàn)在我們開始編譯工程。我們先單擊編譯, 如果在錯誤與警告處看到 0 Error(s) 表示編譯通過.11.生成 .hex 燒寫文件,先單擊Options for Target,如圖; 在下圖中,我們單擊 Output, 選中 Create HEX F。再單擊“確定”。結(jié) 論硬件課程設(shè)計是學(xué)習(xí)階段一次非常重要的理論

23、與實際相結(jié)合的機會,通過這次基于Bodbus協(xié)議的模擬溫度采集器的設(shè)計,我擺脫了單純的理論知識學(xué)習(xí)狀態(tài),和實際設(shè)計的結(jié)合鍛煉了我綜合運用所學(xué)專業(yè)知識解決實際問題的能力,同時也提高了我查閱文獻資料、電腦制圖等其他能力水平。而且通過對整體設(shè)計思路的掌控,對局部器件的取舍,以及對細節(jié)程序的斟酌處理,都使我的能力得到了鍛煉,并且意志力、抗壓能力及耐力也都得到了不同程度的提升。這是我們都希望看到的也正是我們進行硬件課程設(shè)計的目的所在。通過此次實習(xí),讓我們脫離了書本,讓硬件和軟件結(jié)合在一起,而不僅僅是紙上談兵,增強了我們的動手能力,為以后找工作打下堅實的基礎(chǔ)。此次實習(xí)還認識了很多在書本上見識不到的器件,拓

24、寬了我們的視野,拓展了我們的專業(yè)知識,鞏固了我們在書本上學(xué)習(xí)到的書面知識,讓書本不再枯燥,讓我們對這個專業(yè)更加有興趣,讓我們能用愉快的心態(tài)去學(xué)習(xí)和鉆研這個專業(yè)。此次設(shè)計主要應(yīng)用單片機技術(shù)。使用AD590溫度傳感器采集溫度并通過數(shù)碼管顯示。電路經(jīng)過多次改正測試最后達到理想效果,使用單片機編寫程序通過數(shù)碼管顯示出來,隨溫度的不同數(shù)碼管顯示相應(yīng)數(shù)值。同時溫度顯示非常清晰,該系統(tǒng)抗干擾能力好,價格低廉。這樣,不僅降低了系統(tǒng)的設(shè)計成本,而且通過單片機的時鐘電路提高了系統(tǒng)的精度。在0到100誤差正負為0.1。該系統(tǒng)主要依靠單片機技術(shù),單片機技術(shù)是設(shè)計的最主要的部分,它的使用明顯提高了系統(tǒng)的靠性。在調(diào)試過程

25、中,我感觸頗多,電路的基本結(jié)構(gòu)和所需硬件焊接部分都已經(jīng)大工告成,信心滿滿地用設(shè)計的程序進行調(diào)試,一直不出結(jié)果,對于一個剛剛接觸硬件的我來說檢查電路是最頭疼的事,沒有辦法,應(yīng)用老師說過的一句話,“沒病不死人”,我用萬用表檢查電路的通斷,配置電阻的大小是否正確,三極管的基極、集電極、發(fā)射極所接與自己繪制的電路圖是否一致等等,最后終于找到是因為隔離的地和電源接法混淆,導(dǎo)致電路不能正常工作。在最后精準測溫階段,這時硬件電路已經(jīng)沒有問題,只能從所編程序的算法上下功夫找出為什么溫度產(chǎn)生漂移而不能達到設(shè)計要求,最后在老師的提醒下得知是溫度采集器AD590下接電阻阻值的問題,經(jīng)過計算在程序中填入計算值,溫度顯

26、示正常,達到設(shè)計要求,這時是最開心的。 最后,謝謝老師在這三周里給予我們的關(guān)心,同時感謝老師三天中所教授的拓展知識和工程應(yīng)用方面的經(jīng)驗,讓我們體會到了組態(tài)軟件功能之強大、英語在使用軟中的重要性、當代最常用的主從機校驗方式等等,通過此次硬件設(shè)計的鍛煉與老師的指導(dǎo),我對畢業(yè)設(shè)計的畏懼感不是那么強烈啦,這是老師和我一起學(xué)習(xí)的結(jié)果,我很享受這次與老師同學(xué)一起學(xué)習(xí)的過程。參考文獻1 吳金戌,沈慶陽8051單片機實踐與應(yīng)用,北京:清華大學(xué)出版社,2003.12,26382 何立民單片機應(yīng)用文集,北京:北京航空航天大學(xué)出版社,1991,53723 公茂法單片機人機接口實例集,北京:北京航空航天大學(xué)出版社,1

27、998.2,32594 何立明單片機高級教程應(yīng)用與設(shè)計,北京:北京航天航空大學(xué)出版社,2000.4,1491735 李廣弟,朱月秀單片機基礎(chǔ),北京:北京航空航天大學(xué)出版社,2001.8,36856 樓然苗,李光飛MCS51系列單片機設(shè)計實例,北京:北京航天航空大學(xué)出版社,2001.3,75837 李華單片機原理與接口技術(shù),北京:清華大學(xué)出版社,33808 李軍.51系列單片機高級實例開發(fā)指南M.上海:北京航空航天大學(xué)出版社,2004.10-15.9 凌玉華.單片機原理與應(yīng)用系統(tǒng)設(shè)計M.長沙:中南大學(xué)出版社,2004.10-19.10 楊將新,李華軍,劉到駿等.單片機程序設(shè)計及應(yīng)用(從基礎(chǔ)到實踐

28、)M.電子工業(yè)出版社,2006.11-21附錄1 系統(tǒng)電路圖附錄2 焊接電路板過程小組成員焊接電路板電路板布局圖電路板走線圖附錄3 實驗重點程序/*程序名稱:ADC0.c;-程序功能:C8051F410A/D轉(zhuǎn)換測試;*/-/ C51頭文件/-#include <c8051f410.h> / 包含c8051f410單片機特殊寄存器#include <intrins.h> / 包含指示編譯器產(chǎn)生嵌入原有代碼的程序的原型/-/ 宏定義/-#defineSYSCLK 1531250 unsigned int result1;float voltage,current;floa

29、t temp;union tempXfloat tempf;unsigned char tempc4;realtemp;unsigned char xdata rd0_dat48,td0_dat48;/UART0接收計數(shù)、站號 unsigned char idata rd0_cont,zhhao=3;sbit LED=P25;/ Genera6+ted Initialization File /#include "C8051F410.h"/ Peripheral specific initialization functions,/ Called from the Init

30、_Device() functionvoid PCA_Init() PCA0MD &= 0x40; PCA0MD = 0x00; void Oscillator_Init() OSCICN = 0x87;void UART_Init() SCON0 = 0x10;void Timer_Init() TCON = 0x40; TMOD = 0x21; CKCON = 0x04; TL0 = 0x8F; TH0 = 0x8E;TL1 = 0x96; TH1 = 0x96;void ADC_Init() ADC0CN = 0x00; / ADC0 disabled, burst-mode d

31、isabled, / conversion triggered on TMR2 overflow ADC0TK = 0xF8; / Pre-tracking mode enabled, keep / default timing settings ADC0CF = 0x00; / Repeat count = 1 ADC0CF |= (SYSCLK/3000000)-1)<<3; / Set SAR clock to 3MHz AD0EN = 1;void Voltage_Reference_Init() REF0CN = 0x13;void Port_IO_Init() P0MD

32、IN = 0xFB; P1MDIN = 0xFB; P2MDOUT = 0x20; P0SKIP = 0x04; P1SKIP = 0x04; XBR0 = 0x01; XBR1 = 0x40;/ Initialization function for device,/ Call Init_Device() from your main programvoid Init_Device(void) PCA_Init();Oscillator_Init();Timer_Init();UART_Init(); ADC_Init(); Voltage_Reference_Init(); Port_IO

33、_Init();unsigned int AD_Convert(unsigned char channel)unsigned int idata ad_value = 0;ADC0MX = channel;AD0BUSY = 1; / 啟動轉(zhuǎn)換while(ADC0CN&0x20)=0); / 轉(zhuǎn)換沒有完成則等待ADC0CN = ADC0CN&0xDF; / 清0轉(zhuǎn)換完成中斷標志ad_value = (ad_value|ADC0H&0X0F)<<8|ADC0L;return ad_value;/-/函數(shù)說明/ 計算發(fā)送數(shù)據(jù)幀的CRC校驗碼,共2個字節(jié)/函數(shù)返回

34、/ 2個字節(jié)的校驗碼/-unsigned int CRC_Send_UART0(unsigned char buf,unsigned char len)unsigned int idata b=65535,c=40961,l;unsigned char idata i,j,k;for(i=0;i<len;i+)l=b;l=l>>8;l=l<<8;k=b;k=kbufi;b=l+k;for(j=0;j<8;j+)k=b;k=k<<7;k=k>>7;b=b>>1;if(k=1)b=bc; return b;unsigned char CRC_Recv_UART0(unsigned char buf,unsigned char len)unsigned int idata b=65535,c=40961,l;unsigned char idata i,j,k;for(i=0;i<len;i+)l=b;l=l>>8;l=l<<8;k=b;k=kbufi;b=l+k;for(j=0;j<8;j+)k=b

溫馨提示

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

評論

0/150

提交評論