




已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
摘要模擬信號的輸出是生產(chǎn)過程中非常重要的一個環(huán)節(jié),它直接影響到控制系統(tǒng)性能。采用上位機(jī)對系統(tǒng)進(jìn)行控制是一個工業(yè)生產(chǎn)中經(jīng)常遇到的問題,采用上位機(jī)通過RS485控制單片機(jī)不僅具有控制方便、操作簡單等優(yōu)點,而且可以在節(jié)約操作成本的同時大幅度的提高控制安全。整個系統(tǒng)的電路結(jié)構(gòu)簡單,可靠性能高。本文著重介紹了該系統(tǒng)的硬件設(shè)計方法。本設(shè)計是設(shè)計一個8路的模擬量輸出系統(tǒng),外部信號由RS485通信傳送給控制器作為控制的依據(jù),決定每路模擬量輸出通道輸出的大小。本設(shè)計要求輸出420MA電流。精度要求做到1。因此本設(shè)計采用的單片機(jī)是AT80C51,只所以采用51單片機(jī)是因為該單片機(jī)在軟件編寫時,用C語言編寫比較的靈活,價格便宜。采用的DA芯片是DAC0832,DAC0832的轉(zhuǎn)換精度可以做到1。關(guān)鍵詞D/A,單片機(jī),異步串行通信ABSTRACTTHEOUTPUTOFTHEANALOGSIGNALISVERYIMPORTANTFORTHEPRODUCTIONPROCESS,WHICHDIRECTLYAFFECTSTHECONTROLSYSTEMPERFORMANCETHEUSEOFPCCONTROLSYSTEMISOFTENENCOUNTEREDINANINDUSTRIALPRODUCTIONPROBLEMS,THEUSEOFPCCONTROLVIARS485CHIPISNOTONLYEASYTOCONTROL,BUTALSOCANSAVESUBSTANTIALOPERATINGCOSTSWHILEIMPROVINGCONTROLSECURITYTHESTRUCTUREOFTHEWHOLESYSTEMISSIMPLE,ITHASHIGHRELIABILITYTHISARTICLEHIGHLIGHTSTHESYSTEMSHARDWAREDESIGNTHISPAPERISTODESIGNAN8WAYANALOGOUTPUTSYSTEM,RECEIVINGANEXTERNALSIGNAL,ISTHEEXTERNALSIGNALTHEDECISIONOFEACHANALOGOUTPUTCHANNELTHEEXTERNALSIGNALTRANSMITTEDBYTHERS485COMMUNICATIONSTOTHECONTROLLERASTHECONTROLBASISTHEDESIGNWHICHOUTPUTIS420MACURRENTISTOACHIEVE1ACCURACYTHEREFORE,AMICROCONTROLLERWHICHISUSEDBYTHISDESIGNISTHEAT80C51,BECAUSETHEUSEOF51SINGLECHIPMICROCONTROLLERINSOFTWAREDEVELOPMENTWHENCOMPAREDWITHTHECLANGUAGEFLEXIBLEANDCHEAPERPRICESISVERYGOODDACHIPWHICHWEUSEISDAC0832,DAC0832CANDOTHECONVERSIONACCURACYOF1KEYWORDSD/A,MICROCOMPUTER,ASYNCHRONOUSSERIALCOMMUNICATION目錄摘要IABSTRACTI第1章緒論111課題背景112研究的意義113研究的對象1第2章總體方案設(shè)計221系統(tǒng)總體設(shè)計222本系統(tǒng)工作流程2第3章硬件設(shè)計431AT80C51功能簡介432CPU最小系統(tǒng)設(shè)計4321晶振原理設(shè)計5322復(fù)位電路設(shè)計633單片機(jī)與DAC0832接口的設(shè)計8331DAC0832的功能簡介8332DAC0832的工作原理8333具體接口設(shè)計10334輸出電路設(shè)計1134單片機(jī)串口通信設(shè)計12341RS485收發(fā)器介紹13342RS485通信模塊設(shè)計1435電源模塊16第4章軟件部分1941主程序設(shè)計1942DA轉(zhuǎn)換程序設(shè)計2043通信設(shè)置20431串口控制寄存器SCON的設(shè)置20432定時器內(nèi)部主要寄存器21433波特率計算2244通信程序流程圖22第5章總結(jié)與展望2651總結(jié)2652展望26致謝27參考文獻(xiàn)28第1章緒論11課題背景隨著單片機(jī)技術(shù)的迅速興起與蓬勃發(fā)展,其穩(wěn)定、安全、高效、經(jīng)濟(jì)等優(yōu)點十分突出,所以其應(yīng)用也十分廣泛。單片機(jī)已經(jīng)無處不在、與我們生活息息相關(guān),并且滲透到生活的方方面面。所以單片機(jī)在工業(yè)中應(yīng)用中,可以極大地提高工業(yè)設(shè)備的智能化、數(shù)據(jù)處理能力和處理效率。本課題是單片機(jī)系統(tǒng)應(yīng)用課題,是針對工業(yè)數(shù)據(jù)檢測與控制系統(tǒng)的常用模塊設(shè)計,具有普遍的使用價值,有助于對單片機(jī)系統(tǒng)的開發(fā)做進(jìn)一步研究,本課題是一實踐課題,要求運(yùn)用單片機(jī)系統(tǒng)設(shè)計具有串行通信功能的多路模擬信號輸出模塊,上位機(jī)可通過串行總線對單片機(jī)輸入控制信號,對它進(jìn)行遠(yuǎn)距離的多路控制,大大節(jié)約了成本,提高了利用率。特別在現(xiàn)在工業(yè)生產(chǎn)和生活中帶來了很多便利。12研究的意義電流是一個非常重要的控制量,因此對用電流為控制量的研究的意義就越來越大。多路模擬信號輸出和通信系統(tǒng)在工業(yè)生產(chǎn)、科學(xué)研究和人們的生活領(lǐng)域中,得到了廣泛應(yīng)用。在工業(yè)生產(chǎn)過程中,很多時候都需要對現(xiàn)場儀表進(jìn)行嚴(yán)格的控制,以使得生產(chǎn)能夠順利的進(jìn)行,產(chǎn)品的質(zhì)量才能夠得到充分的保證。單片機(jī)廣泛適用于工業(yè)現(xiàn)場,過程控制,智能控制儀表及狀態(tài)檢測等各個方面,單片機(jī)微型計算機(jī)原理及接口技術(shù)是機(jī)電,電子信息及控制技術(shù)相關(guān)專業(yè)的一門重要專業(yè)課程。本課題是單片機(jī)系統(tǒng)應(yīng)用課題,是針對工業(yè)數(shù)據(jù)檢測與控制系統(tǒng)的常用模塊設(shè)計,具有普遍的使用價值,有助于對單片機(jī)系統(tǒng)的開發(fā)做進(jìn)一步研究。13研究的對象本設(shè)計的研究對象主要是基于單片機(jī)的數(shù)字信號到模擬信號的轉(zhuǎn)換,即單片機(jī)于DA芯片接口的研究和單片機(jī)和上位機(jī)的數(shù)據(jù)通信。主要采用單片機(jī)是AT08C51,采用的數(shù)模裝換器是DAC芯片DAC0832,采用的是RS485通信。第2章總體方案設(shè)計21系統(tǒng)總體設(shè)計本章主要內(nèi)容是論述基于51單片機(jī)的多路模擬信號輸出及通信系統(tǒng)的總體設(shè)計以及方案論證。單片機(jī)接受上位機(jī)控制信號并控制哪路去完成數(shù)字信號到模擬信號的轉(zhuǎn)換。本系統(tǒng)由單片機(jī)AT08C51、D/A轉(zhuǎn)換模塊DAC0832、電源系統(tǒng)單元、串行通信單元RS485、上位機(jī)等組成。使用的軟件有MAPLAB,串口助手軟件等。總體設(shè)計框圖如圖21所示。單片機(jī)串口通信晶振電路復(fù)位電路38譯碼器D/A轉(zhuǎn)換模塊上位機(jī)數(shù)據(jù)總線圖21系統(tǒng)總體設(shè)計22本系統(tǒng)工作流程系統(tǒng)的工作流程如圖22所示。系統(tǒng)上電初始化上位機(jī)通過485傳輸控制信號單片機(jī)對信號處理數(shù)模轉(zhuǎn)換出模擬信號模擬信號處理圖22系統(tǒng)工作流程單片機(jī)該部分的功能不僅包括向DA轉(zhuǎn)換器寫入各種控制命令、讀取上位機(jī)傳輸數(shù)據(jù)、數(shù)據(jù)處理。單片機(jī)是整個系統(tǒng)的控制核心及數(shù)據(jù)處理核心。485芯片本部分的主要功能是完成單片機(jī)與上位機(jī)的通信,作用就像是單片機(jī)和上位機(jī)之間的橋梁,上位機(jī)通過它對系統(tǒng)可實行遠(yuǎn)程控制。D/A轉(zhuǎn)換本部分將單片機(jī)的數(shù)字信號轉(zhuǎn)換成模擬信號。三八譯碼器單片機(jī)通過它實現(xiàn)多路模擬信號輸出。第3章硬件設(shè)計31AT80C51功能簡介方案一采用ATMEL公司生產(chǎn)的AT80C51系列的單片機(jī)作為主控制器。其特點是支持ISP在線可編程寫入技術(shù)。串行寫入、其頻率高達(dá)33MHZ,故其速度更快、內(nèi)部集成看門狗計時器,不再需要像80C51那樣外接看門狗計時器單元電路,穩(wěn)定性更好。AT80C51是一款高性能、低功耗8位單片機(jī),片內(nèi)含8KBYTESISPINSYSTEMPROGRAMMABLE的可反復(fù)擦寫1000次的FLASH只讀程序存儲器。AT89C51具有如下特點40個引腳、8KBYTESFLASH片內(nèi)程序存儲器、256BYTES隨機(jī)存取數(shù)據(jù)存儲器(RAM)、32個外部雙向輸入/輸出(I/O)口、5個中斷源,2層優(yōu)先級中斷嵌套、2個16位可編程定時/計數(shù)器、1個全雙工串行通信口、看門狗(WDT)電路。此外,空閑模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求1。方案二采用ATMEL公司ATMEGA系列等高檔八位單片機(jī)作為本系統(tǒng)控制核心。這一類高檔單片機(jī)最顯著的特點就是功能全,如空間更大的FLASH和SRAM存儲器、雙串口、更多的硬件定時器資源等。但是其價格往往比普通單片機(jī)貴。根據(jù)系統(tǒng)設(shè)計要求和資源預(yù)算,并且考慮系統(tǒng)成本,為了使本系統(tǒng)性價比達(dá)到更高,決定選用方案一,即AT80C51單片機(jī)作為本系統(tǒng)控制核心模塊。32CPU最小系統(tǒng)設(shè)計單片機(jī)是整個系統(tǒng)的核心,在本設(shè)計中選用8位微處理器AT89C51,該微處理器是一種CMOS工藝的低功耗、高性能8位嵌入式微控制器。該器件與MCS51系列的同類產(chǎn)品(如80C51等)在指令系統(tǒng)及引腳上完全兼容。微處理器具有8K可寫/擦1000次的FLASH內(nèi)部程序存儲器,對系統(tǒng)開發(fā)過程中的程序編寫和調(diào)試可以提供極大的方便。另外,微處理器內(nèi)部還有256字節(jié)的RAM、3個16位定時器/計數(shù)器、8個中斷源和可編程串行口。在該系統(tǒng)的單片機(jī)模塊中,還有一路由110592MHZ晶振和電容組成的振蕩電路用于構(gòu)成系統(tǒng)時鐘。本設(shè)計的CPU單元電路圖如圖31所示2。圖31CPU單元電路圖321晶振原理設(shè)計時鐘引腳為XTAL1、XTAL2。時鐘引腳外接晶體與片內(nèi)的反向放大器構(gòu)成了一個振蕩器,它提供單片機(jī)的時鐘控制信號。時鐘引腳也可外接晶體振蕩器。XTAL1(19腳)接外部晶體的一個引腳。在單片機(jī)內(nèi)部,它是一個反向放大器的輸入端。這個放大器構(gòu)成了片內(nèi)振蕩器。當(dāng)采用外接晶體振蕩器時,此引腳應(yīng)接地。XTAL2(18腳)接外部晶體的另一端,在單片機(jī)內(nèi)部接至內(nèi)部反向放大器的輸出端。若采用外部振蕩器時,該引腳接收振蕩器的信號,即把此信號直接接到內(nèi)部時鐘發(fā)生器的輸入端。本系統(tǒng)采用晶振時鐘電路。外部晶振以及電容C2和C3構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格要求,但電容的大小多少會影響振蕩器頻率的高低,振蕩器的穩(wěn)定性,起振的快速性和穩(wěn)定性。外接晶振時,C1和C2通常選擇30PF,晶振采用110592MHZ。時鐘電路如下圖32所示。圖32時鐘電路圖在圖33中上面的正弦波是110592MHZ產(chǎn)生的,下面的是12MHZ產(chǎn)生的波形,可知12MHZ由于過驅(qū)動產(chǎn)生紋波,110592MHZ能夠產(chǎn)生較穩(wěn)定的晶振頻率4。圖33晶振產(chǎn)生的正弦波322復(fù)位電路設(shè)計本系統(tǒng)采用的復(fù)位電路如圖34所示。圖34復(fù)位電路圖單片機(jī)復(fù)位電路設(shè)計不良將導(dǎo)致以下現(xiàn)象程序無故無循環(huán)特征的跑飛、死機(jī),但在仿真軟件中運(yùn)行良好;在短時間內(nèi)開關(guān)機(jī),單片機(jī)無法復(fù)位等。所以我們設(shè)計了本復(fù)位電路3。首先,在單片機(jī)上電過程中,單片機(jī)的電源電壓上升到一定水平并保持穩(wěn)定的時候,其才可以正常工作。其次,在單片機(jī)上電過程中,晶振從的震蕩幅度由0V到規(guī)定值的過程需要一定的時間。最后,單片機(jī)程序運(yùn)行中出現(xiàn)死機(jī)、跑飛等現(xiàn)象是,需要回到初始值來從頭開始。本復(fù)位電路的基本功能是為了可靠起見電源穩(wěn)定后,還要經(jīng)一定的延時才撤銷復(fù)位信號以防電源開關(guān)或電源插頭分合過程中引起的抖動而影響復(fù)位。本電路用于低電平復(fù)位的單片機(jī)的上電復(fù)位。確保系統(tǒng)上電時能夠自動復(fù)位,系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。本復(fù)位電路的基本原理設(shè)VCC5V,經(jīng)計算得知,當(dāng)VCC由0V上升到5V,并保持穩(wěn)定的時候,R2兩端的壓降為08V,此時NPN導(dǎo)通。由于C2和C3的存在,RESET腳的電壓由0V緩慢上升到5V(理論值),R4值的大小決定了這個上升過程的時間,即下降沿保持時間。在這個時間中,單片機(jī)處于復(fù)位狀態(tài)。當(dāng)RESET腳的電壓達(dá)到單片機(jī)正常工作的高度,復(fù)位結(jié)束。圖中D205為C2和C3提供了一個放電通路,以確保在關(guān)電的時候,這兩個電容快速的放電,這樣在頻繁的開關(guān)機(jī)過程中不會出現(xiàn)復(fù)位不良的問題。R3為NPN的限流電阻;C1為電源的濾波電容,C3為復(fù)位信號的濾波電容,這兩個電容一起,防止了電源波動或外部干擾,引起不必要的復(fù)位5。圖35上電瞬間各引腳電壓上述復(fù)位電路的優(yōu)點在于,等電源電壓上升到VCC時候,復(fù)位電路才正式啟動。單片機(jī)啟動的時候,復(fù)位信號釋放的時機(jī)(各電平變化)如圖34所示在單片機(jī)每次初始加電時,首先投入工作的功能部件是復(fù)位電路。復(fù)位電路把單片機(jī)鎖定在復(fù)位狀態(tài)上并且維持一個延時,以便給予電源電壓從上升到穩(wěn)定的一個等待時間;在電源電壓穩(wěn)定之后,再插入一個延時,給予時鐘振蕩器從起振到穩(wěn)定的一個等待時間。在經(jīng)歷了一系列延時之后,單片機(jī)才開始按照時鐘源的工作頻率,進(jìn)入到正常的程序運(yùn)行狀態(tài)。從圖35所示的實測曲線中可以同時看到3條曲線VDD、VRST、和ALE。在電源電壓以及振蕩器輸出信號穩(wěn)定之后,又等待了一段較長的延時才釋放RST信號,使得CPU脫離復(fù)位鎖定狀態(tài);而RST信號一旦被釋放,立刻在ALE引腳上就可檢測到持續(xù)的脈沖信號。綜合上述理由,復(fù)位電路的延時是為等待電源電壓和晶振穩(wěn)態(tài)的出現(xiàn),在這個過程中,單片機(jī)重啟,程序初始化。33單片機(jī)與DAC0832接口的設(shè)計上位機(jī)把控制信號送給單片機(jī),單片機(jī)控制哪一路進(jìn)行D/A轉(zhuǎn)換,并將所轉(zhuǎn)換完的模擬信號保持住。331DAC0832的功能簡介DAC0832是美國資料公司研制的8位雙緩沖器D/A轉(zhuǎn)換器。芯片內(nèi)帶有資料鎖存器,可與數(shù)據(jù)總線直接相連。電路有極好的溫度跟隨性,使用了COMS電流開關(guān)和控制邏輯而獲得低功耗、低輸出的泄漏電流誤差。芯片采用R2RT型電阻網(wǎng)絡(luò),對參考電流進(jìn)行分流完成D/A轉(zhuǎn)換。轉(zhuǎn)換結(jié)果以一組差動電流IOUT1和IOUT2輸出6。DAC0832主要性能參數(shù)分辨率8位轉(zhuǎn)換時間1S參考電壓10V單電源5V15V功耗20MW332DAC0832的工作原理一個8位D/A轉(zhuǎn)換器有8個輸入端(其中每個輸入端是8位二進(jìn)制數(shù)的一位),有一個模擬輸出端。輸入可有256個不同的二進(jìn)制組態(tài),輸出為256個基準(zhǔn)電壓之一,即輸出電壓不是整個電壓范圍內(nèi)任意值,而只能是256個可能值。圖36是DAC0832的封裝圖7。圖36DAC0832的封裝圖D0D7數(shù)字信號輸入端。ILE輸入寄存器允許,高電平有效。CS片選信號,低電平有效。WR1寫信號1,低電平有效。XFER傳送控制信號,低電平有效。WR2寫信號2,低電平有效。IOUT1、IOUT2DAC電流輸出端。RFB是集成在片內(nèi)的外接運(yùn)放的反饋電阻。VREF基準(zhǔn)電壓(1010V)。VCC是源電壓(515V)。AGND模擬地NGND數(shù)字地,可與AGND接在一起使用。DAC0832的內(nèi)部結(jié)構(gòu)如圖37所示。DAC0832中有兩級鎖存器,第一級鎖存器稱為輸入寄存器,它的鎖存信號為ILE;第二級鎖存器稱為DAC寄存器,它的鎖存信號為傳輸控制信號XFER。因為有兩級鎖存器,DAC0832可以工作在雙緩沖器方式,即在輸出模擬信號的同時采集下一個數(shù)字量,這樣能有效地提高轉(zhuǎn)換速度。此外,兩級鎖存器還可以在多個D/A轉(zhuǎn)換器同時工作時,利用二級鎖存信號來實現(xiàn)多個轉(zhuǎn)換器同步輸出。圖37DA0832內(nèi)部原理圖圖37中ILE為高電平、CS和WR1為低電平時,ILE為高電平,輸入寄存器的輸出跟隨輸入而變化;此后,當(dāng)WR1由低變高時,ILE為低電平,資料被鎖存到輸入寄存器中,這時的輸入寄存器的輸出端不再跟隨輸入資料的變化而變化。對第二級鎖存器來說,XFER和WR2同時為低電平時,ILE為高電平,DAC寄存器的輸出跟隨其輸入而變化;此后,當(dāng)WR2由低變高時,ILE變?yōu)榈碗娖?,將輸入寄存器的資料鎖存到DAC寄存器中。333具體接口設(shè)計DAC0832的時序如圖38所示8。圖380832時序圖DAC0832有3種工作方式單緩沖方式。單緩沖方式是控制輸入寄存器和DAC寄存器同時接收資料,或者只用輸入寄存器而把DAC寄存器接成直通方式。此方式適用只有一路模擬量輸出或幾路模擬量異步輸出的情形。雙緩沖方式。雙緩沖方式是先使輸入寄存器接收資料,再控制輸入寄存器的輸出資料到DAC寄存器,即分兩次鎖存輸入資料。此方式適用于多個D/A轉(zhuǎn)換同步輸出的情節(jié)。直通方式。直通方式是資料不經(jīng)兩級鎖存器鎖存,即WR1,WR2,XFER,CS均接地,ILE接高電平。此方式適用于連續(xù)反饋控制線路,不過在使用時,必須通過另加I/O接口與CPU連接,以匹配CPU與D/A轉(zhuǎn)換9。圖39DA轉(zhuǎn)換模塊設(shè)計轉(zhuǎn)換電路整體電路圖見附錄,單路接線圖接線如圖39所示,本設(shè)計采用單緩沖方式,故XFER接地,ILE接高電平,WR1與WR2與單片機(jī)WR口相連,由38譯碼器出來控制CS信號控制口。當(dāng)CS由Y2送低電平時,DA開始轉(zhuǎn)換,模擬信號輸出。當(dāng)CS由Y2送高電平時,這時DA芯片將維持輸出剛才的模擬量,我們用單片機(jī)P2口控制74LS138,74LS138的每一個輸出控制一路DA轉(zhuǎn)換。這樣我們達(dá)到了控制要求。334輸出電路設(shè)計由于DAC0832產(chǎn)生0到100NA的電流,要想產(chǎn)生4到20MA的電流,要先轉(zhuǎn)換成電壓信號,后再轉(zhuǎn)換成電流信號,具體電路圖如圖310所示。圖310輸出電路設(shè)計電流取樣電阻盡量取小點的原因是,為了滿足輸出電流信號的帶負(fù)載能力,所以要求信號轉(zhuǎn)換電路的內(nèi)部壓降盡可能減小。但是,為了保證轉(zhuǎn)換精度,也不能太小所以取50歐姆,即對應(yīng)420毫安時的壓降為021V。對應(yīng)輸入電壓05V來講,VI05V,VO021V。運(yùn)放增益3120153OKRFVAII運(yùn)放的輸入端32VFEIIOCI205180所以V的分壓電阻上端取20K,下端取100K即可。34單片機(jī)串口通信設(shè)計在工業(yè)控制及測量領(lǐng)域較為常用的網(wǎng)絡(luò)之一就是物理層采用RS485通信接口所組成的工控設(shè)備網(wǎng)絡(luò)。這種通信接口可以十分方便地將許多設(shè)備組成一個控制網(wǎng)絡(luò)。從目前解決單片機(jī)之間中長距離通信的諸多方案分析來看,RS485總線通信模式由于具有結(jié)構(gòu)簡單、價格低廉、通信距離和數(shù)據(jù)傳輸速率適當(dāng)?shù)忍攸c而被廣泛應(yīng)用于儀器儀表、智能化傳感器集散控制、樓宇控制、監(jiān)控報警等領(lǐng)域。但RS485總線存在自適應(yīng)、自保護(hù)功能脆弱等缺點,如不注意一些細(xì)節(jié)的處理,常出現(xiàn)通信失敗甚至系統(tǒng)癱瘓等故障10。341RS485收發(fā)器介紹采用MAX公司的MAX485芯片(DIP8封裝)作為485通信的收發(fā)器。MAX485是MAX公司生產(chǎn)的一種RS485接口芯片,它使用單一電源VCC,電壓在47555V范圍內(nèi)均能正常工作,可以完成TTL與RS485之間轉(zhuǎn)換。MAX485芯片引腳和典型工作電路如圖311所示11。DIEGNDVCRODEIGNABVCABRODI12348765RDROBA12348765RDDRDERE圖311MAX485芯片引腳和典型工作電路MAX485芯片功能表,見下表31所示。表31MAX485芯片功能表發(fā)送功能表輸入接收功能表輸入輸出輸入輸出REDEDIZYREDEABROX11010002V1X10100002V000X高阻高阻00輸入開路110X高阻高阻10X高阻MAX485芯片的結(jié)構(gòu)和引腳都非常簡單,內(nèi)部含有一個驅(qū)動器和接收器。R0和D1端分別為接收器的輸出和驅(qū)動器的輸入端,與單片機(jī)連接時只需分別與單片機(jī)的RXD和TXD相連;和DE端分別為接收和發(fā)送的使能端,當(dāng)為邏RERE輯0時,器件處于接收狀態(tài);當(dāng)DE為邏輯1時,器件處于發(fā)送狀態(tài),因為MAX485工作在半雙工狀態(tài)下,所以只需用單片機(jī)的一個管腳控制這兩個引腳;A端和B端分別為接收和發(fā)送的差分信號端,當(dāng)A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)位1;當(dāng)A的電平低于B端時,代表發(fā)送的數(shù)據(jù)位0。在單片機(jī)連接時接線非常簡單。只需要一個信號控制MAX485的接收和發(fā)送。同時將A和B之間加匹配電阻,一般可選100的電阻12。對于由單片機(jī)結(jié)合RS485組建的測控網(wǎng)絡(luò),應(yīng)優(yōu)先采用各節(jié)點獨立供電的方案。RS485由于使用了差分電平傳輸信號,傳輸距離比RS232更長,最多可以達(dá)到3000M,因此很適合工業(yè)環(huán)境下的應(yīng)用。但與CAN總線等更為先進(jìn)的現(xiàn)場工業(yè)總線相比,其處理錯誤的能力還稍顯遜色,所以在軟件部分還需要進(jìn)行特別的設(shè)計,以避免數(shù)據(jù)錯誤等情況發(fā)生。另外,系統(tǒng)的數(shù)據(jù)冗余量較大,對于速度要求高的應(yīng)用場所不適宜用RS485總線。雖然RS485總線存在一些缺點,但由于它的線路設(shè)計簡單、價格低廉、控制方便,只要處理好細(xì)節(jié),在某些工程應(yīng)用中仍然能發(fā)揮良好的作用??傊鉀Q可靠性的關(guān)鍵在于工程開始施工前就要全盤考慮可采取的措施,這樣才能從根本上解決問題,而不要等到工程后期再去亡羊補(bǔ)牢。342RS485通信模塊設(shè)計單片機(jī)與上位機(jī)通信模塊如圖312所示。單片機(jī)MAX485MAX485上位機(jī)(PLC)圖312單片機(jī)與上位機(jī)通信模塊設(shè)計RS485通信的硬件電路設(shè)計如圖313所示,在該電路中,使用了一種RS485接口芯片MAX485,它采用單一電源VCC,電壓在355V范圍內(nèi)都能正常工作。與普通的RS485芯片相比,它不但能抗雷電的沖擊而且能承受高達(dá)8KV的靜電放電沖擊,片內(nèi)集成4個瞬時過壓保護(hù)管,可承受高達(dá)400V的瞬態(tài)脈沖電壓。因此,它能顯著提高防止雷電損壞器件的可靠性。對一些環(huán)境比較惡劣的現(xiàn)場,可直接與傳輸線相接而不需要任何外加保護(hù)元件。該芯片還有一個獨特的設(shè)計,當(dāng)輸入端開路時,其輸出為高電平,這樣可保證接收器輸入端電纜有開路故障時,不影響系統(tǒng)的正常工作。另外,它的輸入阻抗為RS485標(biāo)準(zhǔn)輸入阻抗的2倍(24K),故可以在總線上連接64個收發(fā)器。芯片內(nèi)部設(shè)計了限斜率驅(qū)動,使輸出信號邊沿不會過陡,使傳輸線上不會產(chǎn)生過多的高頻分量,從而有效扼制電磁干擾。在圖1中,四位一體的光電耦合器TLP521讓單片機(jī)與之間完全沒有了電的聯(lián)系,提高了工作的可靠性?;驹頌楫?dāng)單片機(jī)P250時,光電耦合器的發(fā)光二極管發(fā)光,光敏三極管導(dǎo)通,輸出高電壓(5V),選中RS485接口芯片的DE端,允許發(fā)送。當(dāng)單片機(jī)P251時,光電耦合器的發(fā)光二極管不發(fā)光,光敏三極管不導(dǎo)通,輸出低電壓(0V),選中RS485接口芯片的RE端,允許接收。MAX485的R端(接收端)和D端(發(fā)送端)的原理與上述類似。圖313485通信電路圖RS485的DE控制端設(shè)計,在RS485總線構(gòu)筑的半雙工通信系統(tǒng)中,在整個網(wǎng)絡(luò)中任一時刻只能有一個節(jié)點處于發(fā)送狀態(tài)并向總線發(fā)送數(shù)據(jù),其他所有節(jié)點都必須處于接收狀態(tài)。如果有2個節(jié)點或2個以上節(jié)點同時向總線發(fā)送數(shù)據(jù),將會導(dǎo)致所有發(fā)送方的數(shù)據(jù)發(fā)送失敗。因此,在系統(tǒng)各個節(jié)點的硬件設(shè)計中,應(yīng)首先力求避免因異常情況而引起本節(jié)點向總線發(fā)送數(shù)據(jù)而導(dǎo)致總線數(shù)據(jù)沖突。以MCS51系列的單片機(jī)為例,因其在系統(tǒng)復(fù)位時,I/O口都輸出高電平,如果把I/O口直接與RS485接口芯片的驅(qū)動器使能端DE相連,會在CPU復(fù)位期間使DE為高,從而使本節(jié)點處于發(fā)送狀態(tài)。如果此時總線上有其他節(jié)點正在發(fā)送數(shù)據(jù),則此次數(shù)據(jù)傳輸將被打斷而告失敗,甚至引起整個總線因某一節(jié)點的故障而通信阻塞,繼而影響整個系統(tǒng)的正常運(yùn)行。考慮到通信的穩(wěn)定性和可靠性,在每個節(jié)點的設(shè)計中應(yīng)將控制RS485總線接口芯片的發(fā)送引腳設(shè)計成DE端的反邏輯,即控制引腳為邏輯“1”時,DE端為“0”;控制引腳為邏輯“0”時,DE端為“1”。在圖313中,將CPU的引腳P25通過光電耦合器驅(qū)動DE端,這樣就可以使控制引腳為高或者異常復(fù)位時使MAX485始終處于接收狀態(tài),從而從硬件上有效避免節(jié)點因異常情況而對整個系統(tǒng)造成的影響。這就為整個系統(tǒng)的通信可靠奠定了基礎(chǔ)。當(dāng)一個節(jié)點需要使用總線時,為了實現(xiàn)總線通信可靠,在有數(shù)據(jù)需要發(fā)送的情況下先偵聽總線。在硬件接口上,首先將RS485接口芯片的數(shù)據(jù)接收引腳反相后接至CPU的中斷引腳INT0。在圖313中,INT0是連至光電耦合器的輸出端。當(dāng)總線上有數(shù)據(jù)正在傳輸時,MAX485的數(shù)據(jù)接收端(R端)表現(xiàn)為變化的高低電平,利用其產(chǎn)生的CPU下降沿中斷(也可采用查詢方式),能得知此時總線是否正“忙”,即總線上是否有節(jié)點正在通信。如果“空閑”,則可以得到對總線的使用權(quán)限,這樣就較好地解決了總線沖突的問題。在此基礎(chǔ)上,還可以定義各種消息的優(yōu)先級,使高優(yōu)先級的消息得以優(yōu)先發(fā)送,從而進(jìn)一步提高系統(tǒng)的實時性。采用這種工作方式后,系統(tǒng)中已經(jīng)沒有主、從節(jié)點之分,各個節(jié)點對總線的使用權(quán)限是平等的,從而有效避免了個別節(jié)點通信負(fù)擔(dān)較重的情況??偩€的利用率和系統(tǒng)的通信效率都得以大大提高,從而也使系統(tǒng)響應(yīng)的實時性得到改善,而且即使系統(tǒng)中個別節(jié)點發(fā)生故障,也不會影響其他節(jié)點的正常通信和正常工作。這樣使得系統(tǒng)的“危險”分散了,從某種程度上來說增強(qiáng)了系統(tǒng)的工作可靠性和穩(wěn)定性13。35電源模塊本系統(tǒng)中用5V,5V,和24V供電,采用了7805和7824和LMC7600做出了三個簡單獨立的電源。由下圖可知,220V交流電經(jīng)過變壓器降壓,再經(jīng)過橋式整流電路進(jìn)行整流,而后接濾波電容進(jìn)行濾波,輸出脈動的直流電,再由三端穩(wěn)壓芯片7805進(jìn)行穩(wěn)壓,輸出5V直流電壓,圖中D205起保護(hù)作用。5V電源如圖314所示。圖3145V電源原理圖24V電源原理和5V一樣,我們將7805改成7824。并換了220V/36V變壓器。其原理圖如圖315所示。圖31524V電源原理圖由于0832基準(zhǔn)電源是5V,而我們只有5V的電源,所以需設(shè)計5V轉(zhuǎn)5V的電路。圖316是轉(zhuǎn)換電路。主要通過LMC7660芯片轉(zhuǎn)換5V得到5V。圖3165V電源原理圖第4章軟件部分軟件的設(shè)計是我畢業(yè)設(shè)計的另一個重要方面。它的好壞直接關(guān)系畢業(yè)設(shè)計的成功與否。我的軟件是用匯編完成的,需要能熟練的掌握匯編語言,還要熟悉AT89C51單片機(jī)。從程序流程圖、通信協(xié)議、波特率計算、編寫程序,是很復(fù)雜的。下面作詳細(xì)介紹41主程序設(shè)計程序流程圖是編寫軟件的重要前提,它是在圖表上直觀的體現(xiàn)擬設(shè)計的目的及過程。也是編譯的重要依據(jù),按照流程圖一步一步編寫程序,下面為主流程圖圖41。開始清標(biāo)志清存儲串行口初始化CPU開中斷串行口通信CPU數(shù)據(jù)處理DA轉(zhuǎn)換結(jié)束圖41程序主流程圖42DA轉(zhuǎn)換程序設(shè)計DA轉(zhuǎn)換模塊的程序流程框圖如圖42所示。開始CPU信號處理輸出模擬量結(jié)束選擇哪一路啟動DA圖42DA轉(zhuǎn)換程序流程圖43通信設(shè)置通信協(xié)議是發(fā)射機(jī)和接收機(jī)之間通信不可缺少的部分,包括下面幾方面的設(shè)置。串行串行口控制寄存器的基本情況在前面已經(jīng)介紹,這里不再重復(fù)。根據(jù)我們所做的內(nèi)容,我們采用了串行工作方式1,REN設(shè)置為“1”(允許接收),綜上所述我們設(shè)SCON的初始值為50H,如表41所示431串口控制寄存器SCON的設(shè)置表41串行口控制寄存器SM0SM1SM2RENTB8TB8TIRI01010000IEEAET2ESET1EX1ET0EX0位地址AFADACABAAA9A8432定時器內(nèi)部主要寄存器定時器/計數(shù)器0有4種工作模式模式013位定時器/計數(shù)器,模式116位定時器/計數(shù)器模式,模式28位自動重裝模式,模式32個8位定時器/計數(shù)器定時器/計數(shù)器1除模式3外,其他工作模式與定時器/計數(shù)器0相同,T1在模式3時無效,停止計數(shù)。與定時器/計數(shù)器0、定時器/計數(shù)器1有關(guān)的寄存器有定時器控制寄存器TCON、定時器方式TMOD寄存器格式、中斷允許寄存器IE,三者共同作用控制著定時器的工作狀態(tài)14。定時器方式TMOD寄存器格式如表41所示。表41定時器方式TMOD寄存器格式GATEC/TM1M0GATEC/TM1M089H控制T1控制T0定時器控制寄存器TCON格式如表42所示。表42定時器控制寄存器TCON格式TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8F8E8D8C8B8A8988TR0為0時,停T0計數(shù);為1時,啟T0計數(shù)TF0為0時,無T0中斷硬件復(fù)位;為1時,有T0溢出中斷TR1為0時,停T1計數(shù);為1時,啟T1計數(shù)TF1為0時,無T1中斷硬件復(fù)位;為1時,有T1溢出中斷IE1為0時,硬件復(fù)位;為1時INT1上有中斷IT1為0時,INT1電平觸發(fā)軟件復(fù)位;為1時,INT1負(fù)邊沿觸發(fā)IE0為0時,硬件復(fù)位;為1時INT0上有中斷IT0為0時,INT0電平觸發(fā)(軟件復(fù)位);INT0負(fù)邊沿觸發(fā)中斷允許寄存器IE格式如表43所示。表43中斷允許寄存器IEEA為0時關(guān)所有中斷;為1時開所有中斷ET2為0時關(guān)T2中斷;為1時開T2中斷,只有8032、8052、8752才有此中斷ES為0時關(guān)串口中斷;為1時開串口中斷ET1為0時關(guān)T1中斷;為1時開T1中斷EX1為0時關(guān);INT1中斷;為1時開ET0為0時關(guān)T0中斷為1時開T0中斷EX0為0時關(guān)INT0中斷;為1時開INT0中斷433波特率計算晶振為6M,波特率為12K單片機(jī)工作方式為串行方式1,T1是方式2,所以121/16XX1921921/2256YY2176把十進(jìn)制轉(zhuǎn)換成十六進(jìn)制數(shù)為D9,所以初始值為D9。44通信程序流程圖從機(jī)接收到主機(jī)發(fā)來的地址信號后產(chǎn)生串口中斷,在中斷服務(wù)程序里被尋址從機(jī)根據(jù)接收到的控制命令,從機(jī)就準(zhǔn)備根據(jù)控制命令完成相應(yīng)的操作。串口通信的流程圖如圖45所示。保護(hù)現(xiàn)場開中斷上位機(jī)通信進(jìn)入串口中斷程序開始傳輸數(shù)據(jù)傳輸完數(shù)據(jù)恢復(fù)現(xiàn)場NY圖45串口通信流程圖主機(jī)和從機(jī)間發(fā)送數(shù)據(jù)和地址外,還發(fā)送一些從機(jī)識別的狀態(tài)字和命令。主機(jī)通信子程序用于主機(jī)和從機(jī)間一個數(shù)據(jù)塊的傳輸,程序流程圖如圖46所示。開始定時器T1、串行口初始化地址指針DPTR,長度計數(shù)器R7,校驗寄存器R6置初值發(fā)送從機(jī)地址發(fā)送命令字發(fā)送數(shù)據(jù)塊接收數(shù)據(jù)塊狀態(tài)字正確返回命令分類從機(jī)接收就緒從機(jī)發(fā)送就緒否是地址相符從機(jī)應(yīng)答是命令從機(jī)復(fù)位否從機(jī)應(yīng)答否是否是否否是是圖46主機(jī)通訊子程序流程圖從機(jī)中斷服務(wù)程序用于對主機(jī)的通信,從機(jī)程序通信流程圖如圖47所示。開始從機(jī)初始化接收地址符合本機(jī)地址送回本機(jī)地址接收下一字符是命令字嗎命令分類本機(jī)發(fā)送就緒本機(jī)接受就緒回發(fā)TDRY1回發(fā)RRDY1發(fā)送數(shù)據(jù)接收數(shù)據(jù)發(fā)送完接收完回發(fā)TDRY0返回回發(fā)RRDY0否否非法命令從機(jī)發(fā)送從機(jī)接收是是否否否是是否圖47從機(jī)通訊子程序流程圖單片機(jī)通信節(jié)點的程序基本上可以分為6個主要部分,分別為預(yù)定義部分、初始化部分、主程序部分、設(shè)備狀態(tài)檢測部分、幀接收部分和幀發(fā)送部分。預(yù)定義部分主要定義了通信中使用的握手信號,用于保存設(shè)備信息的緩沖區(qū)和保存本節(jié)點設(shè)備號的變量。設(shè)備狀態(tài)檢測部分應(yīng)能在程序初始化后,當(dāng)硬件發(fā)生故障時,作出相應(yīng)的反應(yīng)。主程序部分應(yīng)能接收命令幀,并根據(jù)命令的內(nèi)容作出相應(yīng)的回應(yīng)15。第5章總結(jié)與展望51總結(jié)我所做的是單片機(jī)多路模擬信號輸出及通信,從去年放假我就開始準(zhǔn)備。畢業(yè)設(shè)計完成了,達(dá)到了預(yù)期的目的。一開始拿到這個題目的時候,真不知道從哪下手,在老師的指導(dǎo)下,自己找資料、看書,總算完成了。通過這次的畢業(yè)設(shè)計,使我對單片機(jī)有了更深的認(rèn)識,從理論和實踐上都得到了很大的提高,所以這次任務(wù)的完成是我學(xué)到了很多東西。首先,豐富了自己的知識面,學(xué)到了以前沒能學(xué)通的東西,具體了解了怎樣去完成一個電路的設(shè)計從流程圖、電路圖,畢業(yè)論文。從畢業(yè)設(shè)計中,學(xué)到了單片機(jī)AT89C51的內(nèi)部結(jié)構(gòu)及其工作原理,鞏固了匯編語言的使用能力,提高了自己動手的能力,學(xué)到了很多經(jīng)驗,并且提高了自己分析問題的能力和創(chuàng)新能力,得到了理論聯(lián)系實際的機(jī)會,做出了成果。使自己在硬件設(shè)計方面樹立了信心,為以后從事這方面的工作打好了基礎(chǔ),這也是這次畢業(yè)設(shè)計的最大收獲。在一開始接觸這個題目的時候,真的很茫然,不知道從哪開始下手,不知道單片機(jī)485通信是干什么的怎么才能做出來用什么做這些問題一個都不知道。后來在龐老師的指導(dǎo)下,才知道我要怎么開始做。自己就開始找資料,了解單片機(jī)89C51、RS485的有關(guān)知識,學(xué)習(xí)時鐘電路、控制電路的設(shè)計原理,看不懂的時候就去問老師、同學(xué)。在這些都搞得比較明白后就開始畫設(shè)計流程圖和電路圖,最后用了很長時間才畫出自己的電路圖,給老師看后,在老師的幫助下,改正了幾處有問題的地方。接下來的工作一切還算順利,在老師還有同學(xué)的幫助下,都一一完成。這次的畢業(yè)設(shè)計總的來說還是很成功的,自己從中學(xué)到很多,也發(fā)現(xiàn)了不少問題,為自己以后的學(xué)習(xí)、進(jìn)步打下了不錯的基礎(chǔ)。52展望實驗的結(jié)果基本令人滿意,今后可以在以下幾個方面繼續(xù)研究1通過網(wǎng)絡(luò)通信的學(xué)習(xí)研究可以改進(jìn)上位機(jī)對系統(tǒng)進(jìn)行遠(yuǎn)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 油氣開采智能化風(fēng)險評估與管理
- 嬰兒腦癱早期診斷技術(shù)
- 英語四級高頻詞匯表
- 文化產(chǎn)業(yè)園區(qū)場地?zé)o償使用與文創(chuàng)產(chǎn)業(yè)發(fā)展合同
- 出差合同中環(huán)保責(zé)任及措施協(xié)議
- 倉儲物流倉儲配送信息化合同范本
- 餐飲店加盟管理與培訓(xùn)合作協(xié)議
- 柴油儲存設(shè)施租賃與運(yùn)營管理合同
- 民用機(jī)場租賃合同中英文本詳細(xì)約定
- 餐飲連鎖品牌分店租賃經(jīng)營合同
- NIH-FDA-IND-IDE-II期III期臨床試驗方案模板
- 部隊施工合同協(xié)議
- 西藏參工參建管理制度
- 2025春季學(xué)期國開電大??啤缎姓M織學(xué)》一平臺在線形考(形考任務(wù)1至5)試題及答案
- 某礦業(yè)股份有限公司高管人員績效考核與薪酬激勵制度
- 動火作業(yè)施工方案
- 施工現(xiàn)場防汛安全教育
- 2025年ibm英語客服面試題及答案
- JJF1070-2023定量包裝商品凈含量計量檢驗規(guī)則
- 科技革命與產(chǎn)業(yè)變革-深度研究
- 部編初中歷史八下第14課海峽兩岸的交往教案
評論
0/150
提交評論