單片機(jī)溫度數(shù)據(jù)采集系統(tǒng)實(shí)驗(yàn)報告_第1頁
單片機(jī)溫度數(shù)據(jù)采集系統(tǒng)實(shí)驗(yàn)報告_第2頁
單片機(jī)溫度數(shù)據(jù)采集系統(tǒng)實(shí)驗(yàn)報告_第3頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于單片機(jī)的溫度數(shù)據(jù)采集系統(tǒng)實(shí)驗(yàn)報告班級:電技 10 1班姓 名:田波平學(xué) 號: 1012020188 指導(dǎo)老師:仲老師 題目:基于單片機(jī)的溫度數(shù)據(jù)采集系統(tǒng) 一設(shè)計要求1被測量溫度范圍:0120C,溫度分辨率為0.5 C。2被測溫度點(diǎn): 2 個,每 5 秒測量一次。3顯示器要求:通道號 2 位,溫度 4 位<精度到小數(shù)點(diǎn)后一位)。 顯示方式為定點(diǎn)顯示和輪流顯示。4鍵盤要求: <1)定點(diǎn)顯示設(shè)定; <2)輪流顯示設(shè)定; <3)其他功能鍵。 二設(shè)計內(nèi)容1單片機(jī)及電源模塊設(shè)計 單片機(jī)可選用AT89S51及其兼容系列,電源模塊可以選用7805等穩(wěn)壓組件,本機(jī)輸入電壓范圍 9-1

2、2v 。2存儲器設(shè)計 擴(kuò)展串行 I2C 存儲器 AT24C02。 要求:AT24C02 的 SCK 接 P3.2 AT24C02 的 SDA 接 P3.42傳感器及信號轉(zhuǎn)換電路溫度傳感器可以選用PTC熱敏電阻,信號轉(zhuǎn)換電路將 PTC輸出阻值轉(zhuǎn)換為 0-5V。3A/D 轉(zhuǎn)換器設(shè)計A/D 選用 ADC0832要求:ADC0832 的 CS端接 P3.5ADC0832勺 DI 端接 P3.6ADC0832勺 DO端接 P3.7 ADC0832勺 CLK端接 P2.14顯示器設(shè)計。6位共陽極LED顯示器,段選<a-h)由P0 口控制,位選由 控制。數(shù)碼管由2N5401驅(qū)動。5鍵盤電路設(shè)計。6 個

3、按鍵, P2.2-P2.7 接 6 個按鍵, P3.4 接公共端,采用動態(tài)掃描方式檢 測鍵盤。6系統(tǒng)軟件設(shè)計。系統(tǒng)初始化模塊,鍵盤掃描模塊,數(shù)據(jù)采集模塊,標(biāo)度變換模塊、顯示模三設(shè)計報告要求設(shè)計報告應(yīng)按以下格式書寫:<1)封面;<2)設(shè)計任務(wù)書;<3)目錄;<4)正文;<5)參考文獻(xiàn)。 其中正文應(yīng)包含以下內(nèi)容: <1)系統(tǒng)總體功能及技術(shù)指標(biāo)描述;<2)各模塊電路原理描述;<3)系統(tǒng)各部分電路圖及總體電路圖 <用PROTE繪制);<4)軟件流程圖及軟件清單; <5)設(shè)計總結(jié)及體會。四、參考資料1、李全利,單片機(jī)原理及接口技術(shù),高等教

4、育出版社, 20042、于永, 51 單片機(jī)常用模塊與綜合系統(tǒng)設(shè)計實(shí)例精講,電子工業(yè)出版社, 2007目錄 一項(xiàng)目研究意義 二項(xiàng)目研究內(nèi)容1. 單片機(jī)及電源模塊設(shè)計2. 存儲器設(shè)計3. A/D 轉(zhuǎn)換器設(shè)計4. 顯示器設(shè)計5. 鍵盤電路設(shè)計6. 系統(tǒng)軟件設(shè)計 三項(xiàng)目心得 四參考文獻(xiàn) 一項(xiàng)目的研究意義21 世紀(jì)的今天,科學(xué)技術(shù)的發(fā)展日新月異,科學(xué)技術(shù)的進(jìn)步同時也帶動了 測量技術(shù)的發(fā)展,現(xiàn)代控制設(shè)備不同于以前,它們在性能和結(jié)構(gòu)發(fā)生了翻天覆 地的變化。我們已經(jīng)進(jìn)入了高速發(fā)展的信息時代,測量技術(shù)是當(dāng)今社會的主 流,廣泛地深入到應(yīng)用項(xiàng)目的各個領(lǐng)域。溫度是工業(yè)、農(nóng)業(yè)生產(chǎn)中常見的和最基本的參數(shù)之一,在生產(chǎn)過程

5、中常需 對溫度進(jìn)行檢測和監(jiān)控,采用微型機(jī)進(jìn)行溫度檢測、數(shù)字顯示、信息存儲及實(shí) 時控制,對于提高生產(chǎn)效率和產(chǎn)品質(zhì)量、節(jié)約能源等都有重要的作用。伴隨工 業(yè)科技、農(nóng)業(yè)科技的發(fā)展,溫度測量需求越來越多,也越來越重要。但是在一 些特定環(huán)境溫度監(jiān)測環(huán)境范圍大 , 測點(diǎn)距離遠(yuǎn) , 布線很不方便。這時就要采用無 線方式對溫度數(shù)據(jù)進(jìn)行采集。本設(shè)計是以Atmel公司的AT89C52單片機(jī)作為控制核心,通過 ADC0832莫數(shù)轉(zhuǎn) 換對所測的溫度進(jìn)行數(shù)字量變化,且通過數(shù)碼管進(jìn)行相應(yīng)的溫度顯示。因?yàn)椴捎梦⑿蜋C(jī)進(jìn)行溫度檢測、數(shù)字顯示、信息存儲及實(shí)時控制,對于提 高生產(chǎn)效率和產(chǎn)品質(zhì)量、節(jié)約能源等都有重要的作用,并且溫度參數(shù)

6、對工業(yè)生 產(chǎn)的重要性,所以溫度測量系統(tǒng)的精確度和智能化一直受到企業(yè)的重視。所以 學(xué)習(xí)并研究溫度測量及相關(guān)知識可做為一個較為實(shí)用的課題的方向,能獲得較 實(shí)用的知識和方法。因此溫度測控技術(shù)是一個很實(shí)用、也很重要的技術(shù),值得 去研究掌握。 它應(yīng)用的領(lǐng)域也相當(dāng)廣泛,可以應(yīng)用到消防電氣的非破壞性溫度檢測,電力、 電訊設(shè)備的過熱故障預(yù)知檢測,空調(diào)系統(tǒng)的溫度檢測,各類運(yùn)輸工具之組件的 過熱檢測,保全與監(jiān)視系統(tǒng)之應(yīng)用,醫(yī)療與健診的溫度測試,化工、機(jī)械等設(shè)備溫度過熱檢測。因此前景是相當(dāng)?shù)目捎^。二研究內(nèi)容1. 單片機(jī)及電源莫塊設(shè)計單片機(jī):AT89C52簡介如圖5.1-1所示為AT89C52芯片的引腳圖。兼容標(biāo)準(zhǔn)

7、MCS-51指令系統(tǒng)的 AT89S52單片機(jī)是一個低功耗、高性能 CHMO的單片機(jī),片內(nèi)含4KB在線可編 程 Flash 存儲器的單片機(jī)。它與通用 80C51 系列單片機(jī)的指令系統(tǒng)和引腳兼 容。AT89C52單片機(jī)片內(nèi)的Flash可允許在線重新編程,也可用通用非易失性 存儲編程器編程;片內(nèi)數(shù)據(jù)存儲器內(nèi)含 128字節(jié)的RAM有40個引腳,32個外部雙向輸入/輸出1/0 )端口。具有兩個16位可編程疋時器;中斷系統(tǒng)是具有6個中斷源、5個中斷矢量、2級中斷優(yōu)先級的中斷結(jié)構(gòu);震蕩器頻率0至V33MHZ因此我們在此選用 12MHZ的晶振是比較合理的;具有片內(nèi)看門狗定時器;具有斷電標(biāo)志 P0F等等。AT8

8、9S51具有PDIP、TQFP和PLCC三種封裝形式8。6P1.0(T2)VCCP11(T2EX)P0.0(AD0)Pl,2PO.lfADl)P1JP0.2(AD2)PL4P0.3(AD3)Pl.5PO.(AD-1)Pl.6PO.5(AD5)Pl.7P0.6(AD6)RSTP07(AD7)P3.0(RXD)EA(TP)P3.1(T?®)ALEfPROG)P3.2ONT0)PSENP3J(INT1)P2.7(A15)P3.4(TO)P2.6(A14)PJ.5(TljP2J(A13)P3.6 陛)P2.4(A12)P3,7(RO)P2.3(A11)XTAL2P2.2(A10)XTAL1P

9、21(A9)GNDP2.0(A8)789圖5.1-1 AT89S52 引腳圖o 1 2 3TV-6-.8901i 1 1 1 - 1 - 11 - 1 一 1 - 1 - 1>4 -3938373635343332JI30r 29182726252423222140上圖就是PDIP封裝的引腳排列,下面介紹各引腳的功能。5.2 AT89C52引腳說明P0 口: 8位、開漏級、雙向I/O 口。P0 口可作為通用I/O 口,但須外接上 拉電阻;作為輸出口,每各引腳可吸收8各TTL的灌電流。作為輸入時,首先應(yīng)將引腳置1。P0也可用做訪問外部程序存儲器和數(shù)據(jù)存儲器時的低8位地址/數(shù)據(jù)總線的復(fù)用線。

10、在該模式下,P0 口含有內(nèi)部上拉電阻。在 FLASH編程時, P0 口接收代碼字節(jié)數(shù)據(jù);在編程效驗(yàn)時,P0 口輸出代碼字節(jié)數(shù)據(jù)(需要外接上拉電阻。P1 口: 8位、雙向I/0 口,內(nèi)部含有上拉電阻。P1 口可作普通I/O 口。輸出緩沖器可驅(qū)動四個 TTL負(fù)載;用作輸入時,先將引腳置1,由片內(nèi)上拉電阻將其抬到高電平。P1 口的引腳可由外部負(fù)載拉到低電平,通過上拉電阻提供電 流。在FLASH并行編程和校驗(yàn)時,P1 口可輸入低字節(jié)地址。在串行編程和效驗(yàn) 時,P1.5/M0-SI,P1.6/MIS0和P1.7/SCK分別是串行數(shù)據(jù)輸入、輸出和移位脈 沖引腳。P2 口:具有內(nèi)部上拉電阻的8位雙向I/O

11、口。P2 口用做輸出口時,可驅(qū)動 4各TTL負(fù)載;用做輸入口時,先將引腳置 1,由內(nèi)部上拉電阻將其提高到高電 平。若負(fù)載為低電平,貝U通過內(nèi)部上拉電阻向外部輸出電流。CPU訪問外部16位地址的存儲器時,P2 口提供高8位地址。當(dāng)CPU用8位地址尋址外部存儲 時,P2 口為P2特殊功能寄存器的內(nèi)容。在 FLASH并行編程和校驗(yàn)時,P2 口可 輸入高字節(jié)地址和某些控制信號。P3 口:具有內(nèi)部上拉電阻的8位雙向口。P3 口用做輸出口時,輸出緩沖器 可吸收4各TTL的灌電流;用做輸入口時,首先將引腳置1,由內(nèi)部上拉電阻抬位高電平。若外部的負(fù)載是低電平,貝U通過內(nèi)部上拉電阻向輸出電流。在與 FLASH并

12、行編程和校驗(yàn)時,P3 口可輸入某些控制信號。P3 口除了通用I/O 口功 能外,還有替代功能,如表5.3-1所示。表5.3-1 P3口的替代功能引腳符號說明P3.0RXD串行口輸入P3.1TXD串行口輸出P3.2/INT0外部中斷0P3.3/INT1外部中斷1P3.4T0T0定時器的外部的計數(shù)輸入P3.5T1T1定時器的外部的計數(shù)輸入P3.6/WR外部數(shù)據(jù)存儲器的寫選通P3.7/RD外部數(shù)據(jù)存儲器的讀選通RST復(fù)位端。當(dāng)振蕩器工作時,此引腳上出現(xiàn)兩個機(jī)器周期的高電平將系 統(tǒng)復(fù)位。ALE/":當(dāng)訪問外部存儲器時,ALE<fe許地址鎖存)是一個用于鎖存地址的低8位字節(jié)的書粗脈沖。在

13、Flash編程期間,此引腳也可用于輸入編程脈 沖二一)。在正常操作情況下,ALE以振蕩器頻率的1/6的固定速率發(fā)出脈 沖,它是用作對外輸出的時鐘,需要注意的是,每當(dāng)訪問外部數(shù)據(jù)存儲器時, 將跳過一個ALE脈沖。如果希望禁止 ALE操作,可通過將特殊功能寄存器中位 地址為8EH那位置的“ 0”來實(shí)現(xiàn)。該位置的“ 1”后。ALE僅在MOV或MOVC 指令期間激活,否則ALE引腳將被略微拉高。若微控制器在外部執(zhí)行方式,ALE禁止位無效。=7:外部程序存儲器讀選取通信號。當(dāng)AT89S51在讀取外部程序時,每個機(jī)器周期 將PSEN激活兩次。在此期間內(nèi),每當(dāng)訪問外部數(shù)據(jù)存儲器時,將 跳過兩個二7信號。丁/

14、Vpp :訪問外部程序存儲器允許端。為了能夠從外部程序存儲器的 0000H 至FFFFH單元中取指令,丸必須接地,然而要注意的是,若對加密位 1進(jìn)行編 程,則在復(fù)位時,匕的狀態(tài)在內(nèi)部被鎖存。執(zhí)行內(nèi)部程序缸應(yīng)接VCC不當(dāng)選擇12V編程電源時,在 Flash編程期 間,這個引腳可接12V編程電壓。XTAL1振蕩器反向放大器輸入端和內(nèi)部時鐘發(fā)生器的輸入端。XTAL2振蕩器反相放大器輸出端9。電源模塊:電源電路電源變壓器是將交流電網(wǎng)220V的電壓變?yōu)樗枰碾妷褐?。交流電?jīng)過二 極管整流之后,方向單一了,但是電流強(qiáng)度大小還是處在不斷地變化之中。這 種脈動直流一般是不能直接用來給集成電路供電的,而要通過

15、整流電路將交流 電變成脈動的直流電壓。因?yàn)榇嗣}動的直流電壓還含有較大的紋波,必須通過 濾波電路加以濾除,從而得到平滑的直流電壓。濾波的任務(wù),就是把整流器輸 出電壓中的波動成分盡可能地減小,改造成接近穩(wěn)恒的直流電。但這樣的電壓 還隨電網(wǎng)電壓波動,一般有 ±0%左右的波動,負(fù)載和溫度的變化而變化,因而 在整流、濾波電路之后,還需要接穩(wěn)壓電路。穩(wěn)壓電路的作用是當(dāng)電網(wǎng)電壓波動,負(fù)載和溫度變化時,維持輸出直流電 壓穩(wěn)定。220V交流電通過9V變壓器變?yōu)?V的交流電,9V交流電通過四個二極管的全橋整流后變?yōu)?V直流電,然后經(jīng)過電解電容470yF)進(jìn)行一級濾 波,以去除直流電里面的雜波,防止干擾。

16、9V直流電出來后再經(jīng)過三端穩(wěn)壓器 LM7805穩(wěn)壓成為穩(wěn)定的5V電源,其中7805的Vin腳是輸入腳,接9V直流 電源正極,GND是接地腳,接9V直流電源負(fù)極,Vout為輸出腳,它和接地腳 的電壓就是+5V 了。5V電源出來再經(jīng)過電解電容的二級濾波,使 5V電源更加 穩(wěn)定可靠。同時在5V穩(wěn)壓電源加上一個10K的電阻和一個紅色發(fā)光二極管, 當(dāng)上電后,紅色發(fā)光二極管點(diǎn)亮,表示電源工作正常。此時一個穩(wěn)定輸出5V的電源已經(jīng)設(shè)計好,對于本設(shè)計它完全能夠滿足單片機(jī)及集成塊所需電源的要 求2。電源原理圖如圖所示。32. 存儲器設(shè)計本設(shè)計采用的是AT24C02外擴(kuò)存儲器工作電壓:1.8V5.5V/輸出引腳兼容

17、5V128x8(1K>,256x8(2K>,512x8(4K>,1024x8(8K>,2048x8(16K>400KHz<1.8V,2.5V,2.7V,3.6V)1,000,000 次- 數(shù)據(jù)保存:100年引腳說明串行時鐘信號引腳(SCL:在SCL輸入時鐘信號的上升沿將數(shù)據(jù)送入 EEPRO件, 并在時鐘的下降沿將數(shù)據(jù)讀出。串行數(shù)據(jù)輸入/輸出引腳(SDA: SDA引腳可實(shí)現(xiàn)雙向串行數(shù)據(jù)傳輸。該引腳為 開漏輸出,可與其它多個開漏輸出器件或開集電極器件線或連接。24C04僅使用A2、A1作為硬件連接的器件地址輸入引腳,在一個總線上最多 可尋址四個4K器件。A0引腳

18、內(nèi)部未連接。器件操作時鐘及數(shù)據(jù)傳輸:SD引I腳通常被外圍器件拉高。SD/引腳的數(shù)據(jù)應(yīng)在SCL為低 時變化;當(dāng)數(shù)據(jù)在SCL為高時變化,將視為下文所述的一個起始或停止命令。起始命令:當(dāng)SCL為高,SDAfe高到低的變化被視為起始命令,必須以起始命 令作為任何一次讀/寫操作命令的開始(參見圖5。停止命令:當(dāng)SCL為高,SDA由低到高的變化被視為停止命令,在一個讀操作 后,停止命令會使EEPROM進(jìn)入等待態(tài)低功耗模式(參見圖5。應(yīng)答:所有的地址和數(shù)據(jù)字節(jié)都是以8位為一組串行輸入和輸出的。每收到一 組8位的數(shù)據(jù)后,EEPRO都會在第9個時鐘周期時返回應(yīng)答信號。每當(dāng)主控器 件接收到一組8位的數(shù)據(jù)后,應(yīng)當(dāng)在

19、第9個時鐘周期向EEPROM返回一個應(yīng)答信號。收到該應(yīng)答信號后,EEPROM會繼續(xù)輸出下一組8位的數(shù)據(jù)。若此時沒有得到主控器件的應(yīng)答信號,EEPROh會停止讀出數(shù)據(jù),直到主控器件返回一個停止命令 來結(jié)束讀周期。等待模式:24C01/02/04/08/16特有一個低功耗的等待模式??梢酝ㄟ^以下方法 進(jìn)入該模式:(a上電( 收到停止位并且結(jié)束所有的內(nèi)部操作后。器件復(fù)位:在協(xié)議中斷、下電或系統(tǒng)復(fù)位后,器件可通過以下步驟復(fù)位:1)連續(xù)輸入9個時鐘;2)在每個時鐘周期中確保當(dāng) SCL為高時SDA也為高; 3)建立一個起始條件。總線時序圖2SCL:串行時鐘輸入.SDA:串行數(shù)據(jù)輸入/輸出程序設(shè)計如下:vo

20、id start(>開始信號 sda=1。 delay(>。 sck=1。 delay(>。sda=0b delay(>。void stop(>結(jié)束信號 sda=0b delay(>。 sck=1o delay(>。 sda=1。delay(>ovoid resp on s(>/應(yīng)答uchar i。sck=1。delay(>。 while(sda=1>&&i<250> i+。sck=0o delay(>ovoid in it(>/ 初始化sda=1。 delay(>o sck=1od

21、elay(。void write_byte(uchar date/寫字節(jié)uchar i,temp。temp=date。for(i=0 o i8。i+ temp=temp1。sck=0。delay(。sda=CY。delay(。sck=1。 delay(。sck=0。delay(。sda=1。delay(。uchar read_byte(/讀字節(jié)uchar i,k。sck=0。delay(。sda=1。delay(。for(i=0。 i8。 i+ sck=1。delay(。k=(k1|sda。sck=0。delay(。return k。void write_add(uchar address,u

22、char date 寫入外存儲器中start(。write_byte(0xa0。respons(。write_byte(address。respons(。write_byte(date。respons(。stop(。uchar read_add(uchar address從外存儲器中讀出數(shù)據(jù) _uchar datestart(。write_byte(OxaO。resp ons(write_byte(addressresp ons(start(。write_byte(0xa1。resp ons(。date=read_byte(鼻stop(。return data3. A/D轉(zhuǎn)換器設(shè)計ADC083

23、是美國國家半導(dǎo)體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉(zhuǎn)換芯 片。因?yàn)樗w積小,兼容性強(qiáng),性價比高而深受單片機(jī)愛好者及企業(yè)歡迎,其 目前已經(jīng)有很高的普及率。學(xué)習(xí)并使用 ADC083可是使我們了解A/D轉(zhuǎn)換器的原 理,有助于我們單片機(jī)技術(shù)水平的提高。ADC0832具有以下特點(diǎn):位分辨率;雙通道A/D轉(zhuǎn)換;俞入輸出電平與TTL/CMOS相兼容; 5V電源供電時輸入電壓在05V之間;工作頻率為250KHZ,轉(zhuǎn)換時間為32卩S般功耗僅為15mW ; 8P 14P DIPv雙列直插)、PICC多種封裝;$用級芯片溫寬為0OC to +70 C,工業(yè)級芯片溫寬為40Cto +85C。 引腳圖a引腳功能如下

24、:cs_片選使能.低電平芯片使能,CH0模擬輸入通道0,或作為IN+/-使用CH1模擬輸入通道或作為IN”-使用.GND芯片蔘考0電位(地人DI數(shù)據(jù)信號輸入.選擇通道控制“DO數(shù)據(jù)借號輸出.轉(zhuǎn)換數(shù)據(jù)輸出.CLK芯片時鐘輸入。Vcc/REF電源輸入及參考電壓輸入 ' 復(fù)用)芯片接口說明ADC0832為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá) 256級,可以適應(yīng)一般的 模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸 入在05V之間。芯片轉(zhuǎn)換時間僅為32以 據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以 減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛 接和處理器

25、控制變的更加方便。通過 DI數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能 的選擇。功能時序圖ADC04321314*1819T 23 i 5610 T1 121318192021CLK_*IIMICS當(dāng)ADC0832未工作時其CS輸入端應(yīng)為高電平,此時芯片禁用,CLK和DO/DI的電平可任意。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時,須先將CS使能端置于低電平并且保持低電 平直到轉(zhuǎn)換完全結(jié)束。此時芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘輸入 端CLK輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。在 第1個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第 2、3個脈沖 下沉之前DI端應(yīng)輸入2位數(shù)據(jù)

26、SGL、Odd)用于選擇通道功能,當(dāng)此2位數(shù)據(jù)為1”、0”時,只對CH0進(jìn)行單通道轉(zhuǎn)換。當(dāng)2位數(shù)據(jù)為 T、 T時,只對CH1進(jìn) 行單通道轉(zhuǎn)換。當(dāng)2位數(shù)據(jù)為0”、0”時,將CH0作為正輸入端IN+,CH1作為 負(fù)輸入端IN-進(jìn)行輸入。當(dāng)2位數(shù)據(jù)為0”、 1”時,將CH0作為負(fù)輸入端IN-, CH1作為正輸入端IN+進(jìn)行輸入。在完成輸入啟動位、通道選擇之后,就可以開始讀出數(shù)據(jù),轉(zhuǎn)換得到的數(shù)據(jù)會被送出二次,一次高位在前傳送,一次低位 在前傳送,連續(xù)送出。在程序讀取二個數(shù)據(jù)后,我們可以加上檢驗(yàn)來看看數(shù)據(jù) 是否被正確讀取。下面 程序如下:un sig ned char GetValueO832(bit

27、Cha nn el>/AD專換后的數(shù)據(jù)un sig ned char i,data1=0,data2=0 clk=O。d0=1。di=1 。cs=0。/cs=0時 ADC0832有效clk=1 。/delay(>。clk=0。 /第一個脈沖,開始位d0=1。di=1 。clk=1 。/delay(>。clk=0。 /第二個脈沖,模式選擇di=Channel。d0=channel。 /通道選擇 clk=1 。/delay(>。clk=0。 /第三個脈沖 ,通道選擇d0=1。di=1 。for(i=0。 i<8。 i+> /第一次讀數(shù)從高到低 ,時鐘下降沿有效

28、clk=1 。 clk=0。if(d0=1&&di=1> data1|=0x80>>i。for(i=0。 i<8。 i+> /第二次從低到高讀數(shù),下降沿有效if(d0=1&&di=1> data2|=0x01<<i。clk=1 。 delay(>。 clk=0。cs=1。d0=1。di=1 。clk=1 。 if(data1=data2> return(data1>。5.鍵盤電路設(shè)計6個按鍵,接6個按鍵,P3.4接公共端,采用動態(tài)掃描方式檢測鍵盤6.uint keysca n(> uchar

29、 temp。P33=0。temp=P2&0xf0。 if(temp!=0xf0> Delayms(10>。 temp=P2&0xf0。 if(temp!=0xf0>switch(temp>case 0x70:retur n 1。breakcase 0xb0:retur n 2。breakcase 0xd0:retur n 3。breakcase 0xe0:retur n 4。break顯示模塊采用6個共陽極數(shù)碼管,采用動態(tài)掃描的方式進(jìn)行示。電路圖如下:1 1.丿丿丿丿丿丿丿丿H/hrmfrffH、Pl(H圖6:顯示模塊void Display(void顯示溫度的函數(shù)P27=0b /選中第一個位選P0 =LEDucADC/2/100。/ 顯示Delayms(1。delay1(200。P27=1。P26=0b /選中第一個位選P0 = LEDucADC/2%100/10。/ 顯示/Delayms(1 。delay1(200> 。P26=1。P25=0。 / 選中第一個位選P0 = (LEDucADC/2%10-0x80> 。 / 顯示 /Delayms(1> 。dela

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論