智能儀表綜合訓練課程設計報告_第1頁
智能儀表綜合訓練課程設計報告_第2頁
智能儀表綜合訓練課程設計報告_第3頁
智能儀表綜合訓練課程設計報告_第4頁
智能儀表綜合訓練課程設計報告_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

內(nèi)蒙古科技大學智能儀表綜合訓練課程設計報告題目:數(shù)據(jù)采集器(LED顯示)學生姓名:學號:專業(yè):測控技術與儀器班級:指導教師:目錄第1章概述11.1研究背景及其目的意義11.2該課題研究的主要內(nèi)容內(nèi)容11.3設計目的2第2章總體方案設計32.1數(shù)據(jù)采集系統(tǒng)的概述32.2數(shù)據(jù)采集系統(tǒng)各個組成局部的設計32.2.1單片機的選擇32.2.2A/D模數(shù)轉(zhuǎn)換的選擇42.2.3串行口的選擇42.2.4數(shù)據(jù)采集ADC0832的工作原理42.2.5顯示局部的設計62.2.6按鍵的設計7第3章硬件設計與仿真93.1硬件設計9復位電路9晶振電路93.1.3串口通信電路103.2仿真11第四章軟件設計134.1簡介KeilUvision4134.1.1keilC51的概述134.1.2keilC51的優(yōu)點134.2程序設計13第5章調(diào)試與總結155.1硬件、軟件調(diào)試155.2總結16參考文獻17附錄A:數(shù)據(jù)采集器硬件原理圖〔總圖〕18附錄B:數(shù)據(jù)采集器源程序19第1章概述1.1研究背景及其目的意義數(shù)據(jù)采集系統(tǒng)是通過采集傳感器輸出的模擬信號并轉(zhuǎn)換成數(shù)字信號,并進行分析、處理、傳輸、顯示、存儲和顯示。它起始于20世紀中期,在過去的幾十年里,隨著信息領域各種技術的開展,在數(shù)據(jù)采集方面的技術也取得了長足的進步,采集數(shù)據(jù)的信息化是目前社會的開展主流方向。各種領域都用到了數(shù)據(jù)采集,在石油勘探、科學實驗、飛機飛行、地震數(shù)據(jù)采集領域已經(jīng)得到應用。近年來,數(shù)據(jù)采集及其應用受到了人們越來越廣泛的關注,數(shù)據(jù)采集系統(tǒng)也有了迅速的開展,它可以廣泛的應用于各種領域。國內(nèi)現(xiàn)在已有不少數(shù)據(jù)測量和采集的系統(tǒng),但很多系統(tǒng)存在功能單一、采集通道少、采集速率低、操作復雜、并且對測試環(huán)境要求較高等問題。人們需要一種應用范圍廣、性價比高的數(shù)據(jù)采集系統(tǒng)?;趩纹瑱C的多通道數(shù)據(jù)采集系統(tǒng)是將來自傳感器的信號通過放大、輸入A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號后由單片機采集,、后期處理與顯示,實現(xiàn)了數(shù)據(jù)處理功能強大、顯示直觀、界面友好、性價比高、應用廣泛的特點,可廣泛應用于工業(yè)控制、儀器、儀表、機電一體化、智能家居等諸多領域盡管現(xiàn)在以微機為核心的可編程數(shù)據(jù)采集與處理采集技術的開展方向得到了迅速的開展,而且組成一個數(shù)據(jù)采集系統(tǒng)只需要一塊數(shù)據(jù)采集卡,把它插在微機的擴展槽內(nèi)并輔以應用軟件,就能實現(xiàn)數(shù)據(jù)采集功能,但這并不會對基于單片機為核心的數(shù)據(jù)采集系統(tǒng)產(chǎn)生影響。相較于數(shù)據(jù)采集板卡本錢和功能的限制,單片機具多功能、高效率、高性能、低電壓、低功耗、低價格等優(yōu)點,而雙單片機又具有精度較高、轉(zhuǎn)換速度快、能夠?qū)Χ帱c同時進行采集,因此能夠開發(fā)出能滿足實際應用要求的、電路結構簡單的、可靠性高的數(shù)據(jù)采集系統(tǒng)。這就使得以單片機為核心的數(shù)據(jù)采集系統(tǒng)在許多領域得到了廣泛的應用。1.2該課題研究的主要內(nèi)容內(nèi)容本設計運用單片機STC89C52進行數(shù)據(jù)采集的設計,剛剛供電時,用戶輸入四位密碼,如果輸入錯誤,系統(tǒng)就會報警,如果輸入正確,單片機就會讓電壓模擬量〔0-5V〕通過模擬量/數(shù)字量轉(zhuǎn)換芯片〔ADC0832〕,送入單片機,進行數(shù)據(jù)處理之后,通過4個移位存放器〔74LS164〕,靜態(tài)顯示在LED數(shù)碼管或LCD顯示上。實驗的模擬量數(shù)據(jù)是通過一個可調(diào)電位器輸出0-5V的模擬量,顯示是0-1000攝氏度的靜態(tài)顯示。該設計的預期結果就是設計出一套基于單片機控制的測溫數(shù)字顯示系統(tǒng)并能proteus實現(xiàn)仿真。根據(jù)要求編寫出應用程序,繪制出protel電路圖,動手完成實物設計。1.3設計目的在智能儀表課程設計學習中,練習單片機、嵌入式設計的相關技術,實現(xiàn)智能儀表功能要求,具體如下:⑴熟練掌握C語言的相關編程知識⑵了解電子系統(tǒng)的設計方法,穩(wěn)固和提高學過的根底理論和專業(yè)知識⑶掌握ADC0832及其編程方法⑷增強對單片機的認識,掌握分析處理問題的方法,進行調(diào)試、計算等根本技能的訓練,到達具有一定程度的實際工作能力⑸學會用Protel99se進行電路原理圖和PCB圖的繪制⑹學習用Proteus、Keil等軟件進行電路程序設計和仿真⑺實踐嵌入式系統(tǒng)開發(fā)流程及相關技能⑻練習設計報告及科技論文的寫作標準第2章總體方案設計2.1數(shù)據(jù)采集系統(tǒng)的概述數(shù)據(jù)采集,又稱數(shù)據(jù)獲取,是利用一種裝置,從系統(tǒng)外部采集數(shù)據(jù)并輸入到系統(tǒng)內(nèi)部的一個接口。數(shù)據(jù)采集技術廣泛引用在各個領域。在該系統(tǒng)中需要將模擬量轉(zhuǎn)換為數(shù)據(jù)量,而A/D是將模擬量轉(zhuǎn)換為數(shù)字量的器件,他需要考慮的指標有:分辨率、轉(zhuǎn)換時間、轉(zhuǎn)換誤差等等。而單片機是該系統(tǒng)的根本的微處理系統(tǒng),它完成數(shù)據(jù)讀取、處理及邏輯控制,數(shù)據(jù)傳輸?shù)纫幌盗械娜蝿?。在該系統(tǒng)中采用的是8051系列的單片機。雙機通信的串行口可以采用RS232C標準接口,由芯片MAX232實現(xiàn)雙機的通信。而數(shù)據(jù)的顯示那么采用的是LED數(shù)碼管,該器件比擬簡單,在生活中接觸也較多。數(shù)據(jù)采集系統(tǒng)一般由信號調(diào)理電路,多路切換電路,采樣保持電路,A/D,單片機等組成。完成課程設計所需要的系統(tǒng)框圖如圖2.1所示。圖2.1系統(tǒng)框圖2.2數(shù)據(jù)采集系統(tǒng)各個組成局部的設計2.2.1單片機的選擇AT89C52是一個低電壓,高性能CMOS8位單片機,片內(nèi)含8kbytes的可反復擦寫的Flash只讀程序存儲器和256bytes的隨機存取數(shù)據(jù)存儲器〔RAM〕,器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應用。AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)本錢。而本設計選用的是AT89C52.2.2.2A/D模數(shù)轉(zhuǎn)換的選擇ADC0832為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達256級,可以適應一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。鑒于在價格、轉(zhuǎn)換速度等多種標準考量下,在本設計選用的是逐漸逼近式A/D轉(zhuǎn)換器——ADC0809.2.2.3串行口的選擇該串行口我選用了標準RS-232C接口,它是電平與TTL電平轉(zhuǎn)換驅(qū)動電路。常用的芯片是MAX232,MAX232的優(yōu)點是:⑴一片芯片可以完成發(fā)送轉(zhuǎn)換和接收轉(zhuǎn)換的雙重功能。⑵單一電源+5V供電⑶它的電路設計與連接比擬簡單而且功能齊全。2.2.4數(shù)據(jù)采集ADC0832的工作原理正常情況下ADC0832與單片機的接口應為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時使用并與單片機的接口是雙向的,所以在I/O口資源緊張時可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。當ADC0832未工作時其CS輸入端應為高電平,此時芯片禁用,CLK和DO/DI的電平可任意。當要進行A/D轉(zhuǎn)換時,須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結束。此時芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘〔CLK〕輸入端輸入時鐘脈沖,DO/DI端那么使用DI端輸入通道功能選擇的數(shù)據(jù)信號。在第一個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第二、三個脈沖下沉之前DI端應輸入兩位數(shù)據(jù)用于選擇通道功能。如表2.1所示,當此兩位數(shù)據(jù)為“1”、“0”時,只對CH0進行單通道轉(zhuǎn)換。當2位數(shù)據(jù)為“1”、“1”時,只對CH1進行單通道轉(zhuǎn)換。當兩位數(shù)據(jù)為“0”、“0”時,將CH0作為正輸入端IN+,CH1作為負輸入端IN-進行輸入。當兩位數(shù)據(jù)為“0”、“1”時,將CH0作為負輸入端IN-,CH1作為正輸入端IN+進行輸入。到第三個脈沖的下降之后DI端的輸入電平就失去輸入作用,此后DO/DI端那么開始利用數(shù)據(jù)輸出DO進行轉(zhuǎn)換數(shù)據(jù)的讀取。從第4個脈沖下降沿開始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位Data7,隨后每一個脈沖的下降沿DO端輸出下一位數(shù)據(jù)。直到第11個脈沖時發(fā)出最低位數(shù)據(jù)Data0,一個字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個相反字節(jié)的數(shù)據(jù),即從第11個字節(jié)的下降沿輸出Data0。隨后輸出8位數(shù)據(jù),到第19個脈沖時數(shù)據(jù)輸出完成,也標志著一次A/D轉(zhuǎn)換的結束。最后將CS置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進行處理就可以了。時序說明請參照圖2.2。表2.1通道地址設置表通道地址通道工作方式說明SGL/DIFODD/SIGN0100+-差分方式01-+10+單端輸入方式11+作為單通道模擬信號輸入時ADC0832的輸入電壓是0—5V且8位分辨率時的電壓精度為19.53mV,即〔5/256〕V。如果作為由IN+與IN-輸入的輸入時,可是將電壓值設定在某一個較大范圍之內(nèi),從而提高轉(zhuǎn)換的寬度。但值得注意的是,在進行IN+與IN-的輸入時,如果IN-的電壓大于IN+的電壓那么轉(zhuǎn)換后的數(shù)據(jù)結果始終為00H。圖2.2ADC0832的工作時序圖2.2.5顯示局部的設計74LS164為8位移位存放器,串行輸入數(shù)據(jù),然后并行輸出。當去除端為低電平時,輸出端〔Q0~Q7〕均為低電平。串行數(shù)據(jù)輸入端〔DSA,DSB〕可控制數(shù)據(jù)。當DSA、DSB任意一個為低電平,那么禁止新數(shù)據(jù)輸入,在時鐘端〔CLOCK〕脈沖上升沿作用下Q0為低電平。當DSA、DSB有一個為高電平,那么另一個就允許輸入數(shù)據(jù),并在CP上升沿作用下決定Q0的狀態(tài)。時鐘(CP)每次由低變高時,數(shù)據(jù)右移一位,輸入到Q0,Q0是兩個數(shù)據(jù)輸入端(DSA和DSB)的邏輯與,它將上升時鐘沿之前保持一個建立時間的長度。⑴74LS164芯片引腳功能74LS164芯片引腳功能圖如圖2.3所示,各個引腳的用處如下:①DSA:數(shù)據(jù)輸入②Q0~Q7:數(shù)據(jù)輸出③DSB:數(shù)據(jù)輸入④CP:時鐘輸入(低電平到高電平邊沿觸發(fā))⑤:中央復位輸入(低電平有效)圖2.374LS164芯片引腳圖⑵74LS164如何驅(qū)動四位共陰數(shù)碼管圖2.474LS164時序圖這里單片機的RXD、TXD都是當作IO口使用的,每個74LS164在收到一個時鐘后,D0(DSA/DSB)、Q0~Q6順次移到Q0~Q7中,而前三個芯片的Q7分別接到后三個的DSA/DSB端,由于它們的時鐘都是共用的,所以在時鐘輸入時,前一個芯片的Q7就通過后一芯片的A/B端鎖存到其Q0了,而各芯片原來的Q0~Q6移到Q1~Q7。這樣只要連續(xù)發(fā)送32個時鐘就可以把32位數(shù)據(jù)分別移到4個芯片的32個輸出腳上。圖2.5共陰數(shù)碼管圖共陰極數(shù)碼管是把所有LED的陰極連接到共同接點com,而每個LED的陽極分別為A、B、C、D、E、F、G及DP〔小數(shù)點〕,如圖2.6所示。圖中的8個LED分別與上面那個圖中的A~DP各段相對應,通過控制各個LED的亮滅來顯示數(shù)字。圖2.6共陰數(shù)碼管管腳圖2.2.6按鍵的設計鍵盤在單片機中是一種常見的輸入設備,用戶可以向通過鍵盤輸入數(shù)據(jù)或命令。鍵盤有兩種接口方法:一種是獨立按鍵;另一種是矩陣式按鍵。在本系統(tǒng)中,由于所需的按鍵較少,可采用獨立式鍵盤。每只按鍵接單片機的一條I/O線,通過對線的查詢,即可識別各按鍵的狀態(tài)。如圖2.7所示。4只按鍵分別在單片機的P1.4~P1.7I/O線上。無按鍵按下時,P1.4~P1.7線上均輸入高電平。當某按鍵按下時,與其相連的I/O線將得到低電平輸入,這四個獨立按鍵用來輸入用戶密碼。圖2.7獨立按鍵引腳圖硬件設計與仿真3.1硬件設計3.1.1復位電路復位電路如圖3.1所示,51單片機是高電平復位,所以先看給單片機加5V電源〔上電〕啟動時的情況:這時電容充電相當于短路〔電容特性:通交流,隔直流,上電瞬間相當于交流),你可以認為RST上的電壓就是VCC,這是單片機就是復位狀態(tài)。隨著時間推移電容兩端電壓升高,即造成RST上的電壓降低,當?shù)椭灵撝惦妷簳r,即完成復位過程。如果按下SW〔按鍵復位中的帽子按鍵〕,確實就是按鈕把C短路了,這時電容放電,兩端電壓都是VCC,即RST引腳電壓為VCC,如果超過規(guī)定的復位時間,單片機就復位了。當按鈕彈起后,RST引腳的電壓為0,單片機處于運行狀態(tài)。51單片機復位要求是:RST上加高電平時間大于2個機器周期,你用的12MHz晶振,所以一個機器周期就是1us,要復位就加2us的高電平即可。圖3.1復位電路圖3.1.2晶振電路單片內(nèi)部有單獨的振蕩電路部份,只不過為了得到穩(wěn)定精準的頻率,一般情況下需要外接一個晶振,它是一個被動器件,外接上就可以了,與內(nèi)部電路相連就可以正常工作,產(chǎn)生外接晶振標定頻率的震蕩頻率,提供應單片內(nèi)部時序。用示波器測量晶振的兩腳,都可以看到正弦波形。理論上來說,振蕩頻率越高表示單片機運行速度越快,但同時對存儲器的速度和印刷電路板的要求也就越高。如同木桶原理。同時單片機性能的好壞,不僅與CPU運算速度有關,而且與存儲器的速度、外設速度等都有很大關系。因此一般選用6~12MHZ。并聯(lián)諧振電路對電容的值沒有嚴格要求,但會影響振蕩器的穩(wěn)定、振蕩器頻率上下、起振快速性等。所以一般C1、C2選值20~100pF,在60~70pF時振蕩器有較高的頻率穩(wěn)定性。陶瓷封裝電容可以進一步提高溫度穩(wěn)定性。圖3.2晶振電路圖3.1.3串口通信電路我們在應用單片機的串口和PC進行串行通信時,通常都需要進行兩種不同的電平之間的轉(zhuǎn)換,大家都知道單片機實用的是TTL電平(+5V為高電平,低電平為0V),而計算機的串口為RS-232C電平,其中高電平為-12V,低電平為+12V。這里要強調(diào)的是,RS-232C電平為負邏輯電平。我們平時用得比擬多的電平轉(zhuǎn)換芯片是美信公司生產(chǎn)的MAX232芯片,該芯片可以直接完成以上兩種電平的轉(zhuǎn)換。為了更能豐富大家知識,我們也可以在沒有MAX232的場合使用分立元件來完成TTL到RS-232電平的轉(zhuǎn)換。如圖3.3所示,MAX232的11腳T1IN接單片機TXD端P3.1,TTL電平從單片機的TXD端發(fā)出,經(jīng)過MAX232轉(zhuǎn)換為RS-232電平后從MAX232的14腳T1OUT發(fā)出,再連接到系統(tǒng)板上的串口座的第2腳RXD,至此計算機端接收到數(shù)據(jù)。PC機發(fā)送數(shù)據(jù)時從PC機串口座上的第3腳TXD端發(fā)出數(shù)據(jù),再逆向流向單片機的RXD端P3.0接收數(shù)據(jù)。圖3.3串口通信電路圖3.2仿真為了使設計到達我們預期的效果,所以我們現(xiàn)在Proteus仿真軟件的幫助下進行一次仿真測試。。它還可以與keil進行聯(lián)調(diào),可以更方便的調(diào)試程序錯誤。ProteusISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:(1)現(xiàn)了單片機仿真和SPICE電路仿真相結合。(2)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。(3)提供軟件調(diào)試功能。如圖3.4所示,程序剛剛運行時,數(shù)碼管顯示AAAA,單片機不采集數(shù)據(jù),整個系統(tǒng)被鎖死。圖3.4系統(tǒng)鎖死圖如圖3.5所示,程序設置正確密碼為2255,用戶通過按鍵輸入密碼,當密碼輸入錯誤時,系統(tǒng)就會報警。當密碼輸入正確時,系統(tǒng)就會進入采集狀態(tài)。圖3.5密碼翻開圖如圖3.6所示,系統(tǒng)進入采集狀態(tài)后,實際輸入電壓為3.05V,此時,此時系統(tǒng)采集后,通過AD轉(zhuǎn)化,在數(shù)碼管上顯示為3.046V,如圖3.7,實際輸入電壓和采集后的顯示電壓根本是一致,說明此時,AD采集是沒有什么問題的,完全可以正常工作。圖3.6實際輸入電壓圖3.7采集顯示電壓實驗的模擬量數(shù)據(jù)是通過一個可調(diào)電位器輸出0-5V的模擬量,顯示是0-1000℃的靜態(tài)顯示。通過按鍵切換顯示界面,此時顯示的溫度為609℃,符合標度變換規(guī)律,如圖3.8所示。圖3.8溫度顯示軟件設計4.1簡介KeilUvision44.1.1keilC51的概述Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境〔UVISION〕將這些組合在一起。KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil的優(yōu)勢。下面詳細介紹KeilC51開發(fā)系統(tǒng)各局部功能和使用。C51工具包的整體結構,μVision與Ishell分別是C51forWindows和forDos的集成開發(fā)環(huán)境(IDE〕,可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標文件〔.obj〕。目標文件可由LIB51創(chuàng)立生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.abs〕。abs文件由OH51轉(zhuǎn)換成標準的hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。4.1.2keilC51的優(yōu)點⑴KeilC51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能表達高級語言的優(yōu)勢。⑵與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。4.2程序設計軟件設計主要分為密碼輸入、報警、AD采集、數(shù)碼管顯示、標度變換這五個局部,各個模塊相互嵌套,組成了整個系統(tǒng)。各個局部以STC89C52為核心,來控制整個系統(tǒng)。程序剛剛運行時,單片機不采集數(shù)據(jù),整個系統(tǒng)被鎖死,當用戶將密碼輸入正確后,方可進行數(shù)據(jù)采集。AD采集模塊是我們軟件編程的核心,由于ADC0832在進行A/D轉(zhuǎn)換時需要有CLK信號,而此時的ADC0832的CLK是接在AT89C52單片機的P3.6端口上,也就是要求從P3.6輸出CLK信號供ADC0832使用。因此產(chǎn)生CLK信號的方法就得用軟件來實現(xiàn)了;由于ADC0832的參考電壓VREF=V,所以轉(zhuǎn)換之后的數(shù)據(jù)要經(jīng)過數(shù)據(jù)處理。在數(shù)碼管上顯示出電壓值,實際顯示的電壓值的關系為V=D/256×VREF。最后進行標度變換,將采集來的電壓轉(zhuǎn)化成實際的溫度。整個程序流程圖如圖4.1所示。圖4.1程序流程圖調(diào)試與總結5.1硬件、軟件調(diào)試單片機系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能分開的,許多硬件錯誤是在軟件調(diào)試中被發(fā)現(xiàn)和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結合起來調(diào)試以進一步排除故障。可見硬件的調(diào)試是根底,如果硬件調(diào)試不通過,軟件設計那么無從做起。硬件的調(diào)試主要是把電路各種參數(shù)調(diào)整到符合設計要求。先排除硬件電路故障,包括設計性錯誤和工藝性故障。一般原那么是先靜態(tài)后動態(tài)。利用萬用表檢查電路中的各器件以及引腳是否連接正確,是否有短路故障。先將單片機AT89C52芯片取下,對電路板進行通電檢查,通過觀觀察是否有異常,然后用萬用表測試各電源電壓,這些都沒有問題后,接上仿真機進行聯(lián)機調(diào)試觀察各個接口線路是否正常。軟件調(diào)試經(jīng)過Keil軟件編譯通過后,在Proteus8.0編輯環(huán)境中繪制仿真電路圖,將編譯好的“1.hex”文件加載到AT89C52里,然后啟動仿真,就可以看到仿真效果。仿真成功后,可以做出實物,用實物來最終驗證。調(diào)試結果圖5.1、5.2所示。圖5.1電壓顯示圖5.2數(shù)據(jù)采集5.2總結本設計實現(xiàn)了數(shù)據(jù)采集,在到達設計要求的同時也具備一定的擴展性,通過簡單的軟件修改,即可實現(xiàn)采集電壓和標度變換的功能。本次設計使我更加深刻的認知到智能儀表控制的在現(xiàn)代儀表控制中的實用性,重要性。在以后的學習中我將加大智能儀表設計的學習。在課設中認知到了整個系統(tǒng)結構緊湊、簡單可靠、操作靈活、功能強、性能價格比高,較好地滿足現(xiàn)代生產(chǎn)和科研的需要。參考文獻[1]周堅.單片機C語言輕松入門[M].北京:北京航天航空大學出版社,2006.[2]江太輝.51系列單片機原理及應用[M].北京:華南理工大學出版社,2004年.[3]張國雄.測控電路[M].北京:機械工業(yè)出版社.2001.[4]郭天祥.新概念51單片機c語言教程[M].北京:電子工業(yè)出版社,2009.[5]熊壯,張全和.程序設計技術[M].重慶:重慶大學出版社,2006.[6]夏雪生.微機化儀器設計[M].北京:科學出版社,1988年.[7]趙新民.智能儀器原理與設計[M].哈爾濱:哈爾濱工業(yè)大學出版社,1991年.[8]李光飛.51系列單片機設計實例[M].北京:北京航天航空大學出版社,2003年.[9]張道德.單片機接口技術[M].北京:中國水利水電出版社,2007年.[10]吳興惠.傳感器與信號處理[M].北京:電子工業(yè)出版社,2009年.[11]方承遠.工廠電氣控制技術[M].北京:機械工業(yè)出版社,2004.[12]張迎新.單片機初級教程[M].北京:北京航天航空大學出版社,2000年.[13]徐愛鈞.智能化測量控制儀表原理與設計[M].北京:北京航天航空大學出版社,2004年.[14]李朝青.單片機原理及接口技術[M].北京:北京航天航空大學出版社,2005年.[15]張毅剛.單片機原理及應用[M].北京:高等教育出版社.2004.附錄A:數(shù)據(jù)采集器硬件原理圖〔總圖〕附圖1數(shù)據(jù)采集器硬件原理圖附圖2數(shù)據(jù)采集器硬件PCB圖附錄B:數(shù)據(jù)采集器源程序#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintucharcodeLED[]={0x3F,0x06,0x5b,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0X6F,0x77,0x7c,0x39,0x5e,0x79,0x71}; intpoint[]={0x80,0x7f,0x7f,0x7f};intdisp_buffer[4];intad;intd1[4];sbitclk_adc0832=P3^6; sbitcs_adc0832=P2^0;sbitdi_adc0832=P3^7;sbitdo_adc0832=P3^7;sbitCLK=P1^1; sbitDIN=P1^0;sbitKEY1=P1^4;sbitKEY2=P1^5;sbitKEY3=P1^6;sbitKEY4=P1^7;//sbitfmq=P2^7;#definepulse0832()clk_adc0832=1;clk_adc0832=0//?óê±oˉêyvoiddelay(intz){inti,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}//08322é?ˉoˉêyuchargetvalue0832() { uchari,dat1=0,dat2=0; cs_adc0832=0; di_adc0832=1; pulse0832(); di_adc0832=1; pulse0832(); di_adc0832=0; pulse0832(); di_adc0832=1; for(i=0;i<8;i++) { pulse0832(); dat1<<=1; if(do_adc0832) dat1|=0x01; } for(i=0;i<8;i++) { dat2>>=1; if(do_adc0832)dat2|=0x80; pulse0832(); } cs_adc0832=1; return(dat1==dat2)?dat1:0; }voidwrite(intx){inti;for(i=0;i<8;i++){CLK=0;DIN=x&0x80;CLK=1;x<<=1;}}voidwrite1(unsignedlongintx){inti,j;unsignedlonginty;for(j=0;j<4;j++){ if(j) x>>=8; y=x;for(i=0;i<8;i++){CLK=0;DIN=y&0x80;CLK=1;y<<=1;}}}voidHex2Bcd(){inti;floattemp;i=getvalue0832();temp=i*0.01953125;ad=(int)(temp*200); d1[0]=(uchar)(temp);temp=temp-d1[0];temp=temp*10;d1[1]=(uchar)(temp);temp=temp-d1[1];temp=temp*10;d1[2]=(uchar)(temp);temp=temp-d1[2];temp=temp*10;d1[3]=(uchar)(temp);}voiddisplay1(){ disp_buffer[0]=LED[d1[0]]|point[0]; disp_buffer[1]=LED[d1[1]]&point[1]; disp_buffer[2]=LED[d1[2]]&point[2]; disp_buffer[3]=LED[d1[3]]&point[3];}voiddisplay(intz){inti,d[4];d[0]=z%10;d[1]=z%100/10;d[2]=z%1000/100;d[3]=z%10000/1000;for(i=3;i>=0;i--){write(LED[d[i]]);}}voiddisp_led(void) {inti;for(i=0;i<=3;i++){write(disp_buffer[i]);}}voidmain() { ucharnum,bt,ct,m,kk; intpassword; while(1) { if(KEY1==0) { while(!KEY1); display(0); bt=1; ct=0; } if(bt==1) { if(KEY2==0) { if(num==1) { if(num==2) { if(KEY3==0) { while(!K

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論