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

下載本文檔

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

文檔簡介

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

評論

0/150

提交評論