單片機實訓(xùn)模擬量輸入輸出設(shè)計與實現(xiàn)_第1頁
單片機實訓(xùn)模擬量輸入輸出設(shè)計與實現(xiàn)_第2頁
單片機實訓(xùn)模擬量輸入輸出設(shè)計與實現(xiàn)_第3頁
單片機實訓(xùn)模擬量輸入輸出設(shè)計與實現(xiàn)_第4頁
單片機實訓(xùn)模擬量輸入輸出設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機實訓(xùn)模擬量輸入輸出設(shè)計與實現(xiàn)第一頁,共二十八頁,2022年,8月28日教學(xué)目的掌握模/數(shù)、數(shù)/模轉(zhuǎn)換芯片與單片機的連接方法及典型應(yīng)用。掌握用查詢方式、中斷方式完成模/數(shù)、數(shù)/模轉(zhuǎn)換程序的編寫方法。第二頁,共二十八頁,2022年,8月28日模/數(shù)、數(shù)/模轉(zhuǎn)換模擬量I/O接口的作用實際工業(yè)生產(chǎn)環(huán)境——連續(xù)變化的模擬量

例如:電壓、電流、壓力、溫度、位移、流量計算機內(nèi)部——離散的數(shù)字量二進制數(shù)、十進制數(shù)工業(yè)生產(chǎn)過程的閉環(huán)控制模擬量D/A傳感器執(zhí)行元件A/D數(shù)字量數(shù)字量模擬量模擬量輸入(數(shù)據(jù)采集)模擬量輸出(過程控制)計算機第三頁,共二十八頁,2022年,8月28日模擬量I/O通道的組成模擬接口電路的任務(wù)模擬電路的任務(wù)0010110110101100工業(yè)生產(chǎn)過程傳感器放大濾波多路轉(zhuǎn)換&采樣保持A/D轉(zhuǎn)換放大驅(qū)動D/A轉(zhuǎn)換輸出接口

計算機執(zhí)行機構(gòu)輸入接口物理量變換信號處理信號變換I/O接口輸入通道輸出通道第四頁,共二十八頁,2022年,8月28日ADC0809模數(shù)轉(zhuǎn)換器

ADC0809是8通道8位的,以逐次逼近原理進行模—數(shù)轉(zhuǎn)換的器件;內(nèi)部有一個8通道模擬多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換;A/D轉(zhuǎn)換后的數(shù)據(jù)由三態(tài)鎖存器輸出;片內(nèi)沒有時鐘,需外接時鐘信號。第五頁,共二十八頁,2022年,8月28日ADC0809主要特性8路8位A/D轉(zhuǎn)換器,即分辨率8位;具有轉(zhuǎn)換起??刂贫耍晦D(zhuǎn)換時間為100μs;單個+5V電源供電;模擬輸入電壓范圍0~+5V,不需零點和滿刻度校準(zhǔn);工作溫度范圍為-40~+85攝氏度;低功耗,約15mW。第六頁,共二十八頁,2022年,8月28日ADC0809外部特性一ADC0809芯片有28條引腳,采用雙列直插式封裝IN0~IN7:8路模擬量輸入端;D0~D8:8位數(shù)字量輸出端;ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路;CLK:時鐘脈沖輸入端;REF(+)、REF(-):基準(zhǔn)電壓;Vcc:電源,單一+5V;GND:地;第七頁,共二十八頁,2022年,8月28日通道選擇表

地址碼CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7第八頁,共二十八頁,2022年,8月28日ADC0809外部特性二ALE:地址鎖存允許信號,輸入,高電平有效。START:A/D轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復(fù)位,下降沿啟動A/D轉(zhuǎn)換)。EOC:A/D轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。第九頁,共二十八頁,2022年,8月28日ADC0809工作過程首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中;此地址經(jīng)譯碼選通8路模擬輸入之一到比較器;START上升沿將逐次逼近寄存器復(fù)位;下降沿啟動A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行;直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請;當(dāng)OE輸入高電平時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。第十頁,共二十八頁,2022年,8月28日模數(shù)轉(zhuǎn)換顯示程序模數(shù)轉(zhuǎn)換顯示流程圖模數(shù)轉(zhuǎn)換顯示程序開始初始化啟動A/D轉(zhuǎn)換A/D轉(zhuǎn)換完成?數(shù)據(jù)輸出延時結(jié)束第十一頁,共二十八頁,2022年,8月28日工作模塊1數(shù)字電壓表設(shè)計與實現(xiàn)

使用AT89S52單片機,采用動態(tài)顯示的方式,把8通道模數(shù)轉(zhuǎn)換器ADC0808采樣的電壓值的大小經(jīng)單片機處理后由數(shù)碼管顯示出來,量程為0-5V,顯示格式:X.XXX。第十二頁,共二十八頁,2022年,8月28日數(shù)字電壓表電路設(shè)計

由于需要顯示多位,因此數(shù)碼管采用了較節(jié)省I/O口線的動態(tài)顯示方式。第十三頁,共二十八頁,2022年,8月28日認識數(shù)碼管(P132)數(shù)碼管結(jié)構(gòu)圖ABCDEFGDP第十四頁,共二十八頁,2022年,8月28日數(shù)碼管電路圖共陰數(shù)碼管共陽數(shù)碼管第十五頁,共二十八頁,2022年,8月28日數(shù)碼管的編碼規(guī)則第十六頁,共二十八頁,2022年,8月28日第十七頁,共二十八頁,2022年,8月28日數(shù)字電壓表程序設(shè)計

數(shù)碼管顯示電壓值實現(xiàn)分析模數(shù)轉(zhuǎn)換采用的是8位的ADC0808,因此其分辨力為5*1/2^8V,即19.6mV。為了得到各位待顯示的數(shù)字的大小,采取了除法和取余相結(jié)合的方式:dat[3]=tmp/10000; /最高位dat[2]=tmp/1000%10;dat[1]=tmp/100%10;dat[0]=tmp/10%10; /最低位

數(shù)字電壓表控制C語言程序第十八頁,共二十八頁,2022年,8月28日C語言結(jié)構(gòu)體類型

結(jié)構(gòu)體與前面介紹過的數(shù)組一樣,是一種構(gòu)造類型的數(shù)據(jù),它是將若干個不同類型的數(shù)據(jù)變量有序地組合在一起而形成的一種數(shù)據(jù)的集合體。組成該集合體的各個數(shù)據(jù)變量稱為結(jié)構(gòu)成員。整個集合體使用一個單獨的結(jié)構(gòu)變量名。一般來說結(jié)構(gòu)中的各個變量之間是存在某些關(guān)系的,如時間數(shù)據(jù)中的時、分、秒等。第十九頁,共二十八頁,2022年,8月28日結(jié)構(gòu)體類型的定義

定義一個結(jié)構(gòu)體類型的一般形式為:struct結(jié)構(gòu)體名{成員項列表};其中“struct”是關(guān)鍵字,作為定義結(jié)構(gòu)體類型的標(biāo)志;“結(jié)構(gòu)體名”由用戶自行定義;“成員列表”為該結(jié)構(gòu)體中的各個成員,由于結(jié)構(gòu)體可以由不同類型的數(shù)據(jù)組成,因此對結(jié)構(gòu)體中各成員都要進行數(shù)據(jù)類型的說明。第二十頁,共二十八頁,2022年,8月28日結(jié)構(gòu)體類型變量的定義

結(jié)構(gòu)體定義好以后,就可以指明該結(jié)構(gòu)體的具體對象,即定義該種類型的變量,結(jié)構(gòu)體類型變量的定義主要有如下三種方式:先定義結(jié)構(gòu)體類型,再定義變量名在定義結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體變量名直接定義結(jié)構(gòu)體變量第二十一頁,共二十八頁,2022年,8月28日先定義結(jié)構(gòu)體類型,再定義變量名定義一個表示時間的結(jié)構(gòu)體類型。structtime{

unsignedcharhour;

unsignedcharminute;

unsignedcharsecond;};定義好一個結(jié)構(gòu)體后,就可以用它來定義結(jié)構(gòu)體變量。一般格式為:struct結(jié)構(gòu)體名結(jié)構(gòu)體變量名1,結(jié)構(gòu)體變量名2,...結(jié)構(gòu)體變量名n;用結(jié)構(gòu)體time來定義時間的結(jié)構(gòu)體變量:structtimetime1;結(jié)構(gòu)體變量time1具有structtime類型的結(jié)構(gòu),可以使用該結(jié)構(gòu)體中的數(shù)據(jù)。第二十二頁,共二十八頁,2022年,8月28日定義結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體變量名一般格式為:struct結(jié)構(gòu)體名{成員列表}結(jié)構(gòu)體變量名1,結(jié)構(gòu)體變量名2,...結(jié)構(gòu)體變量名n;

第二十三頁,共二十八頁,2022年,8月28日直接定義結(jié)構(gòu)體變量

一般格式如下:struct{成員列表}結(jié)構(gòu)體變量名1,結(jié)構(gòu)體變量名2,...結(jié)構(gòu)體變量名n;第三種方法直接省略了結(jié)構(gòu)體名,一般不提倡。第二十四頁,共二十八頁,2022年,8月28日結(jié)構(gòu)體變量的引用

定義了一個結(jié)構(gòu)體變量之后,就可以對它進行引用,既可以進行賦值、存取和運算。結(jié)構(gòu)體變量的引用是通過對其成員的引用來實現(xiàn)的。引用結(jié)構(gòu)體變量中的成員格式為:結(jié)構(gòu)體變量名.成員名其中“.”是引用結(jié)構(gòu)體成員的運算符。例如:time1.hour=20,表示給結(jié)構(gòu)體變量time1中的成員hour賦值。對結(jié)構(gòu)體變量中的各個成員可以像普通變量一樣進行賦值、存取和運算。第二十五頁,共二十八頁,2022年,8月28日結(jié)構(gòu)體變量的初始化

對結(jié)構(gòu)體變量可以在定義的時候進行初始化;也可以在定義后對各個成員單獨進行初始化。例如:time1.hour=20;

//結(jié)構(gòu)體成員賦初值time1.minute=35;time1.second=55;第二十六頁,共二十八頁,2022年,8月28日結(jié)構(gòu)體變量需要注意的地方

結(jié)構(gòu)體類型與結(jié)構(gòu)體變量是兩個不同的概念。定義一個結(jié)構(gòu)體類型時只給出了該結(jié)構(gòu)體的組織形式,并沒有給出具體的組織成員,因此結(jié)構(gòu)體不占用任何存儲空間。結(jié)構(gòu)體變量則是一個結(jié)構(gòu)體中的具體對象,會給結(jié)構(gòu)體變量分配存儲空間,因此可以對結(jié)構(gòu)體變量名進行賦值、存取和運算。一個結(jié)構(gòu)體中的成員還可以是另外一個結(jié)構(gòu)體類型中的變量,既

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論