DAC數模轉換實驗報告_第1頁
DAC數模轉換實驗報告_第2頁
DAC數模轉換實驗報告_第3頁
DAC數模轉換實驗報告_第4頁
DAC數模轉換實驗報告_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗報告基于DAC0832的數模轉換一、實驗目的1.學習單片機控制技術-用單片機控制外部數模轉換設備,實現D/A轉換;2.熟悉DAC0832芯片的內部結構、引腳功能、各種工作方式下的工作時序;3.熟悉并掌握51單片機系統(tǒng)硬件電路的基本工作原理,并學習硬件電路設計;4.學習C51單片機編程、調試方法。二、實驗任務利用51單片機控制DAC0832生成正弦波電壓輸出。三、實驗器材 C51單片機 一塊DAC0832 一塊 LM324 一塊單孔板 一塊導線 若干直流穩(wěn)壓電源 一臺示波器 一臺四、實驗原理1. 系統(tǒng)方案確立1)硬件電路工作原理DisplayDAC0832MCUKeyboard圖4-1 信號

2、發(fā)生器的硬件框圖 MCU作為單片機微處理系統(tǒng),通過Keyboard輸入可以產生正弦波數字信號的程序,使MCU輸出正弦波數字信號,通過DAC0832數模轉換,變成正弦波的模擬信號,用示波器顯示出來。如圖4-1所示。2)程序工作流程相位復0開 始 time 0=0?D/A芯片初始化Y 相位>=2?Ni+相幅轉換YN幅度D/A轉換輸出定時器初始化 time 0=0 T0中斷服務 置定時到標志T0重賦值返回圖4-2 信號發(fā)生器的程序流程圖2. 硬件電路設計1)單片機最小系統(tǒng)的組成單片機最小系統(tǒng)是指用最小元件組成的單片機工作系統(tǒng)。對MCS-51系列單片機來說,其內部已經包含了一定數量的程序存儲器和

3、數據存儲器,在外部只要增加時鐘電路和復位電路即可構成單片機最小系統(tǒng)。下圖所示便是MCS-51系列單片機最小系統(tǒng)電路,由單片機芯片和典型的時鐘電路和復位電路構成。 圖4-3 典型的時鐘電路大多采用內部時鐘方式,晶振一般在1.212MHz之間,甚至可達到24MHz或更高,頻率越高,單片機處理速度越快,但功耗也就越大,一般采用11.0592MHz的石英晶振。與晶振并聯的兩個電容、通常為30pF左右,對頻率有微調作用。需要注意的是,在設計單片機系統(tǒng)的印刷電路板(PCB)時,晶振和電容應盡可能與單片機芯片靠近,以減少引線的寄生電容,保證振蕩器可靠工作。典型的復位電路大多采用上電自動復位和按鍵手動復位組合

4、電路,電容的大小直接影響單片機的復位時間,電容值越大,復位時間越短,一般為1030uF。2)數模轉換工作電路的設計我們選中DAC0832進行DA變換。但DAC0832輸出的是電流,我們要輸出電壓信號。因此我們選用如圖4-4 工作電路。圖4-4 兩級運用放大解決輸出雙極性電壓的問題。輸出電流經放大,輸出電壓:Vref:DAC0832的參考電壓(通常為+5V)R2與R3的比值確定輸出電壓的偏移范圍;R1與R3的比值確定輸出電壓的大小。DAC0832與MCS-51單片機的電路連接如圖4-5 所示。我們選擇單片機的P2口為數字量的輸出口,同時DAC0832采取直通轉換模式,即輸入寄存器和DAC寄存器為

5、直通模式,數字量從單片機P2口直接接到DA轉換器進行轉換。圖4-5 3. 軟件設計1)定時器的設定本系統(tǒng)輸出正弦波周期為20mS。用查表法實現正弦波的相幅轉換,再將幅度值經DA轉換、低通濾波,生成連續(xù)變化的正弦波電壓。正弦波相位等分為1/250,因此步進時間為80S。我們選T0定時產生該步進時鐘,設計如下。我們用的MCS-51單片機是的頻率是11.0592MHz的,并且是用16位的計數器,用定時器T0進行計數。所以根據實驗原理里寫的初值計算公式可得我們需要的初值X為: 轉換為16進制為 FFB6H。所以對定時器進行賦值TH0=0xff,TL0=0xb6。因為選用時T0的計時器,并且是16位,所

6、以TMOD控制寄存器中的低4位:GATE=0,=0,M1 M0=01,所以TMOD=0000 0001,轉換為16進制為0x01。與此同時,TCON控制寄存器中的TR0=1。定時步進由T0中斷控制。所以中斷允許寄存器IE中的總中斷控制EA=1,同時也要開啟T0中斷,即ET0=1。以上設置在系統(tǒng)初始化中完成。2)相幅轉換由于在程序中,我們是用查表法來輸出正弦波數字信號,250個數字量為一個正弦波周期2,這就說明表中的每個數字量有其與之對應的正弦波周期中的某個相位。所以,每兩個數字量之間的相位為2/250,只要每經過一個80S定時中斷,其相位值便增加2/250;與此同時,其中相位對應的數字量電壓值

7、也在發(fā)生變化,這就實現了正弦波中相位和幅度的轉換。然后經過250個中斷后,相位便從0開始,按每次2/250繼續(xù)累加到2,進行重復循環(huán)。最后通過DA轉換輸出模擬量的電壓值,變可在示波器上顯示出完整的正弦波模擬信號。五、試驗步驟 1、按照實驗內容中的電路原理圖進行單片機最小系統(tǒng)的建立和DAC0832和運放電路在單孔版上的焊接。對于電路圖中的參數,我們選擇:單片機晶振電路:, Y1=12MHz單片機復位電路:LM324運放電路: 2、對于DAC0832各引腳的電平高低情況應定為: ALE、 接高電平 +5V 接低電平 3、對于LM324,我們需要在運放器的兩端接高低電平,所以我們選擇的直流電源。 4

8、、把上面寫的軟件程序導入Keil中,生成 .hex文件,傳輸到MCS-51的單片機中。 5、然后LM324的輸出端連接到示波器上,準備顯示。 6、按照電路圖中的線路,用導線連接C51單片機、DAC0832之間的數據線。準備上電實驗。 7、對各芯片供電,打開示波器,觀察輸出波形。六、實驗數據與分析按照實驗步驟進行實驗,我們可以看到在示波器上顯示出正弦波信號,如圖4-6所示??梢钥匆娛静ㄆ魃巷@示的周期為,而理論上的周期為。只所以產生這種原因,是因為單片機的頻率為11.0592MHz。所以這個實驗大致上是正確的,有理有據的。圖4-6七、實驗感受通過這次實驗,我們對于MCS-51系列單片機有了初步的認

9、識和理解,并且通過和DAC0832在一起,使我們對于I/O接口方面的知識也有了很好的應用。同時對DAC0832芯片的結構、性能、工作原理我們是完全的掌握了,這樣我們可以通過DAC0832進行其他的一系列實驗。再者,運放的基本原理及公式也可以讓我們能更加靈活的對復雜電路進行轉化。與此同時,我們的動手能力也有了很大的提高,對于電路的排版、搭配也有了很清晰的認識。總之,這次實驗使我們的收獲很大,理論和實際相結合,對知識也有了更深刻的理解和知新。附錄 1.程序#include<reg52.h>#include<absacc.h>#define uint unsigned int

10、#define uchar unsigned char bit time; unsigned char sin(unsigned char x)unsigned char code sin_tab=128,131,134,138,141,144,147,150,153,156,159,162,165,168,171,174,177,180,182,185,188,191,193,196,198,201,203,206,208,211,213,215,217,219,221,223,225,227,229,231,232,234,235,237,238,239,241,242,243,244,2

11、45,246,247,248,249,250,251,252,253,254,254,255,255,254,254,253,252,251,250,249,248,247,246,245,244,243,242,241,239,238,237,235,234,232,231,229,227,225,223,221,219,217,215,213,211,208,206,203,201,198,196,193,191,188,185,182,180,177,174,171,168,165,162,159,156,153,150,147,144,141,138,134,131,128,125,1

12、22,119,116,112,109,106,103,100, 97, 94, 91, 88, 85, 82, 79, 76, 73, 70, 68, 65, 62, 59, 57, 54, 52, 49, 47, 44, 42, 39, 37,35, 33, 31, 29, 27, 25, 27, 29, 27, 25, 23, 21, 19, 18, 16, 15, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1, 0, 0, 0, 1, 1 , 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 1

13、6, 18, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 42, 44, 47, 49, 52, 54, 57, 59, 62, 65, 68, 70, 73, 76, 79, 82, 85, 88, 91, 97,100,103,106,109,112,116,119,122,125,128,131; return sin_tabx; void DAC0832(unsigned char x) P2=x;void main()unsigned char i;TMOD = 0x01;/設置T0為工作方式1 TH0 =0xff;/ (65536-100

14、0)/256; /設定初值 TL0 = 0xb6;/(65536-1000)%256; /設定初值 TR0 = 1;/啟動定時器0 EA=1;ET0=1;i=0;time=0;while(1) if(time=1) time=0; if(i>248) i=0; else i+; DAC0832(sin(i); void T0_time() interrupt 1 TH0 = 0xff;/(65536-1000)/256; /設定初值 TL0 = 0xb6;/(65536-1000)%256; /設定初值 time=1;2. 主要器件簡介DAC0832工作原理1)DAC0832的內部結構D

15、AC0832的內部結構如下圖所示。由8位輸入寄存器、8位DAC寄存器、8位D/A轉換器以及控制邏輯電路組成,采用二次緩沖方式,這樣可以在輸出的同時,輸入下一個數據,以提高轉換速度。兩個8位寄存器輸出控制邏輯電路由三個與門組成,該邏輯電路的功能是進行數據鎖存控制,當=0時,輸入數據被鎖存;當=1時,鎖存器的輸出跟隨輸入的數據。數據進入8位DAC寄存器,經8位D/A轉換電路,就可以輸出和數字量成正比的模擬輸出電壓。 圖4-72)DAC0832的引腳功能 DI7DI0:8位數字量輸入線,TTL電平,其作用為送需轉換的數字量至DAC0832。 ILE:輸入鎖存允許信號,高電平有效。 :片選信號,低電平

16、有效,與ILE信號結合,可對是否起作用進行控制。 :輸入寄存器的寫選通輸入信號,低電平有效。當、ILE有效,且=0時,為輸入寄存器直通方式;當、ILE有效,且=1時, DI7DI0的數據被鎖存至輸入寄存器,為輸入寄存器鎖存方式。 :數據傳送控制信號,低電平有效,可作為地址線使用。 :DAC寄存器寫選通輸入信號,低電平有效。當=0,=0時,輸入寄存器的內容傳送至DAC寄存器中;當=0,=1時,為DAC寄存器直通方式;當=1,=0時,為DAC寄存器鎖存方式。 :輸出電流1、輸出電流2。當輸入數據為全“1”時,端電流最大,端電流最小;當輸入數據全“0”時,端電流最?。欢穗娏骱投穗娏髦蜑橐怀?。 :

17、反饋電阻輸入引腳,反饋電阻在芯片內部。 :基準電壓輸入端,用作D/A轉換的基準電壓,可在-10V+10V范圍內選取。 :電源電壓,可在+5V+15V范圍內選取,通常取+5V。 AGND:模擬地。 DNGD:數字地。3)DAC0832的工作方式 DAC8032利用、ILE控制信號可以構成三種工作方式。 (1)直通方式:當=0時,兩個寄存器處于常通狀態(tài),數據可以直接經兩個寄存器進入D/A轉換器進行轉換。這種方式下,不能直接與系統(tǒng)的數據總線相連,需另外添加鎖存器,所以很少使用。 (2)單緩沖方式:當=0或=0時,兩個寄存器之一處于直通,而另一個寄存器處于受控狀態(tài)。實際使用時,如果只有一路模擬量輸出,

18、或雖然有多路模擬量輸出但不要求同步輸出時,就可以采用單緩沖方式。 (3)雙緩沖方式:兩個寄存器都處于受控狀態(tài)。這種方式使用于多路模擬量同步輸出。 對于單緩沖方式,即兩個寄存器中任意一個直通,另一個受控,有以下兩種解法:ILE接+5V,接地,接地址線(作為片選),8位輸入寄存器直通,8位DAC寄存器受控。ILE接+5V,接地,接地址線(作為片選),8位DAC寄存器直通,8位輸入寄存器受控。表4-1 輸入寄存器邏輯關系 有效 表4-2 DAC寄存器邏輯關系輸入寄存器的內容送至DAC寄存器 圖4-8 0832引腳圖 圖4-9 51單片機引腳圖51單片機基本工作原理 1)C51單片機的引腳功能80C5

19、1的40個引腳可分為:電源引腳2個,時鐘引腳2個,控制引腳4個和I/O引腳32個。這些引腳的功能分別介紹如下。 :電源接入引線,接+5V電源 :接地引腳 XTAL1:接外部晶振和微調電容的一端。對CHMOS型單片機,在使用外部時鐘時,次引腳應接外部時鐘的輸入端。 XTAL2:接外部晶振和微調電容另一端。對CHMOS型單片機,在使用外部時鐘時,此引腳懸空。 RST/:復位信號/備用電源輸入引腳.當RST引腳保持兩個機器周期的高電平后,就可以使單片機復位。該引腳的第二功能使,即備用電源的輸入端,具有掉電保護功能。若在該引腳接+5V備用電源,在使用中主電源掉電,則可保護片內RAM中的信息部丟失。AL

20、E/:地址鎖存允許信號輸出/編程電壓輸入引腳。當單片機上電正常工作后,ALE端不斷輸出正脈沖信號,此信號頻率為振蕩器頻率的1/6。當CPU訪問片外存儲器時,ALE輸出控制信號鎖存P0口輸出的低8位地址,從而實現P0口數據與低位地址的分時復用。該引腳的第二功能是,當對87C51內部4KB EPROM編程寫入時,該引腳為編程脈沖輸入端。:內外ROM選擇/編程電壓輸入引腳。當接高電平時,CPU執(zhí)行片內ROM指令,但當PC值超過0FFFH時,將自動轉去執(zhí)行片外ROM指令;當接低電平時,CPU只執(zhí)行片外ROM指令。對于80C31,由于其無片內ROM,故其必須接低電平。該引腳的第二功能是,當對87C51片

21、內EPROM、89C51片內Flash ROM編程寫入時,該引腳為編程電壓的輸入引腳。:片外ROM讀選通信號輸出引腳。在讀片外ROM時,有效,為低電平,以實現對片外ROM的讀操作。P0.0P0.7:P0口的8位雙向I/O口引腳。P0口及可作為地址/數據總線使用,又可作為通用的I/O口使用。當CPU訪問片外存儲器時,P0口分時先作為低8位地址總線,后作為雙向數據總線,此時P0口就不能再作I/O口使用。P1.0P1.7:P1口的8位準雙向I/O口引腳。P1口作為通用的I/O口使用。P2.0P2.7:P2口的8位準雙向I/O口引腳。P2口即可作為通用的I/O口使用,也可作為片外存儲器的高8位地址總線

22、,與P0口配合,組成16位片外存儲器單元地址。P3.0P3.7:P3口的8位準雙向I/O口引腳。P3口除了作為通用的I/O口使用之外,每個引腳都具有第二功能,在實際工作中,大多數情況下都使用P3口的第二功能。2) C51單片機的定時器/計數器 MCS-51系列單片機內部有兩個定時器/計數器,即T0(P3.4)和T1(P3.5)。他們都是16位的加法計數器,可用于定時控制和對外部事件的計數。 (1)定時器工作方式 定時功能是通過計數器的計數實現的,每當輸入引腳的脈沖發(fā)生負跳變時,計數器加1。但是計數脈沖來自單片機內部,即每個機器周期產生1個計數脈沖,也就是每經過1個機器周期的時間,計數值加1。

23、(2)定時器的結構 每個定時器有兩個8位的寄存器。定時器/計數器T0由特殊功能寄存器TH0、TL0構成,定時器/計數器T1由特殊功能寄存器TH1、TL1構成,其中TH0、TL0、TH1和TL1都是8位寄存器。圖4-10 51單片機定時/計數器結構原理 (3)定時器/計數器的工作原理 MCS-51系列單片機內部的兩個16位可編程的定時器/計數器T0、T1均有計數和定時功能。他們的工作方式、定時時間和啟動方式等均對相應的寄存器TMOD、TCON進行編程來實現,計數數值也是由指令對計數寄存器(TH0、TL0或TH1、TL1)來設置。T0、T1在選擇計數器模式時,P3.4和P3.5這兩個引腳分別作為兩

24、個計數器的計數輸入端。每當輸入引腳的脈沖發(fā)生“1“ “0”跳變時,計數器加“1”。T0、T1選擇定時器模式時,計數器對內部機器周期進行計數。不管工作在哪種模式,計數產生了溢出之后,就會將相應的溢出標志置位;在中斷允許的情況下,溢出后會產生中斷。(4)TMOD控制寄存器和TCON控制寄存器 MCS-51系列單片機的定時器/計數器有四種工作方式:方式0、方式1、方式2和方式3。定時器/計數器具體的工作模式和方式主要由TMOD、TCON控制寄存器來設置的,下面重點介紹8位寄存器TMOD和TCON。 TMOD控制寄存器 TMOD寄存器用于選擇定時器/計數器的工作模式和工作方式,它的字節(jié)地址為89H,不

25、能進行位尋址,其具體定義如下表示:整個8位分為2組,高4位控制T1,低4位控制T0。 表4-3 TMOD寄存器各位定義 D7 D6 D5 D4 D3 D2 D1 D0 表4-4 TMOD寄存器各位功能說明 名稱 功能說明 門控制GATE=0,用運行控制位TRi(i=0,1)啟動定時器GATE=1,用外中斷請求信號輸入端INTi(i=0,1)和TRi(i=0,1)共同啟動定時器 定時方式或計數模式選擇位=0,定時工作模式=1,計數工作模式 M1 M0工作方式選擇位 M1M0=00方式,13位定時器/計數器 M1M0=01方式,16位定時器/計數器 M1M0=10方式,自動再裝入的8位定時器/計數

26、器 M1M0=11方式,僅適用于T0分成2個8位計數器,T1停止計數 TCON控制寄存器TCON寄存器的字節(jié)地址為88H,可進行位尋址,位地址為88H8FH,其具體定義如下圖所示。 表4-5 TCON寄存器各位定義 D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCOM寄存器低4位與外部中斷有關,高4位與定時中斷有關。 表4-6 TCON寄存器高4位功能說明名稱 功能說明 TF1 T1計數溢出標志位。計數/計時溢出時,該位置“1”。在中斷方式時,此位作中斷標志位,在轉向中斷服務程序時由硬件自動清“0”。在查詢方式時,也可以由程序查

27、詢和清“0” TR1 定時器/計數器T1運行控制位 TR1=0,停止定時器/計數器1工作 TR1=1,啟動定時器/計數器1工作 該位由軟件置位和復位 TF0 T0計數溢出標志位。計數溢出時,該位置“1”。在中斷方式時,此位作中斷標志位,在轉向中斷服務程序時由硬件自動清“0”。在查詢方式時,也可以由程序查詢和清“0” TR0 定時器/計數器T0運行控制位 TR0=0,停止定時器/計數器0工作 TR0=1,啟動定時器/計數器0工作 該位由軟件置位和復位 (5)定時器的初值計算 選擇定時功能時,單片機內部提供計數脈沖,并對機器周期進行計數。假設T表示定時時間,初值用X表示,所用計數器的位數為N,設系

28、統(tǒng)時鐘頻率為,則他們滿足 3)C51單片機中斷的基本內容 圖4-11 MCS-51中斷系統(tǒng)結構 MCS-51系列單片機的中斷系統(tǒng)有5個中斷請求源,具有2個中斷優(yōu)先級,可實現兩級中斷服務程序嵌套。每一個中斷源可以用軟件獨立地控制為允許中斷或關中斷狀態(tài);每一個中斷源的中斷級別均可用軟件來設置。(1) MCS-51系列單片機中斷系統(tǒng)共有5個中斷請求源,見下表序號 中斷引腳 中斷請求中斷請求標志 1 2 3 定時器/計數器T0溢出中斷請求 TF0 4 定時器/計數器T1溢出中斷請求 TF1 5 TX/RX 串行口中斷請求 TI/RI 這些中斷請求源的中斷請求標志位分別由特殊功能寄存器TCON和SCON

29、的相應位鎖存。 特殊功能寄存器TCON中的標志位 TCON為定時器/計數器的控制寄存器,字節(jié)地址為88H,可位尋址。該寄存器中既有定時器/計數器T0和T1的溢出中斷請求標志位TF1和TF0,也有外部中斷請求標志位IE1與IE0。其格式如下, D7D6 D5 D4 D3 D2 D1 D0TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0位地址 8FH - 8DH - 8BH 8AH 89H 88H TCON寄存器中與中斷系統(tǒng)有關的各標志位的功能如下。 IT0 選擇外部中斷請求0為邊沿觸發(fā)方式還是電平觸發(fā)方式。 IT0=0,為電平觸發(fā)方式,加到引腳上的外部中斷請求輸入信號為低

30、電平有效。 IT0=1,為邊沿觸發(fā)觸發(fā)方式,加到引腳上的外部中斷請求輸入信號電平從高到低的副跳變有效。 IT0位可由軟件置“1”或清“0”。 IE0 外部中斷請求0的中斷請求標志位。 當IT0=0,為電平觸發(fā)方式,CPU在每個機器周期的S5P2采樣引腳,若引腳為低電平,則將IE0置“1”,說明有中斷請求,否則將IE0清“0”。 當IT0=1,即外部中斷請求0設置為邊沿觸發(fā)方式,當第一個機器周期采樣到為低電平時,則將IE0置“1”,IE0=1,表示外部中斷0正在向CPU請求中斷。當CPU響應該中斷,轉向中斷服務程序時,由硬件將IE0清“0”。 IT1 選擇外部中斷請求1為邊沿觸發(fā)還是電平觸發(fā),其意義與IT0類似。 IE1

溫馨提示

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

評論

0/150

提交評論