AD與DA轉(zhuǎn)換實驗_第1頁
AD與DA轉(zhuǎn)換實驗_第2頁
AD與DA轉(zhuǎn)換實驗_第3頁
AD與DA轉(zhuǎn)換實驗_第4頁
AD與DA轉(zhuǎn)換實驗_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電子科技大學中山學院學生實驗報告院別:電子信息學院 課程名稱:微處理器實驗班級無線技術14姓名學號實驗名稱A/D與D/A轉(zhuǎn)換實驗實驗時間2016年11月25日成績教師簽名批改時間報 告 內(nèi) 容一、實驗目的和任務1、熟悉A/D轉(zhuǎn)換和D/A轉(zhuǎn)換的基本原理。 2、掌握單片機內(nèi)部A/D轉(zhuǎn)換器的特性及程序控制方法。 3、掌握利用PWM技術實現(xiàn)D/A轉(zhuǎn)換的原理及程序控制方法。二、實驗原理簡介A/D轉(zhuǎn)換器(ADC)的作用是實現(xiàn)模擬量到數(shù)字量的線性轉(zhuǎn)換,常用A/D轉(zhuǎn)換器類型包括雙積分型和逐次逼近型。雙積分型A/D轉(zhuǎn)換器的優(yōu)點是轉(zhuǎn)換精度高,抗干擾性能好,缺點是轉(zhuǎn)換速度慢。逐次逼近型A/D轉(zhuǎn)換器速度較快,精度略低

2、于雙積分型。STC12C5A60S2單片機內(nèi)部自帶8路10位逐次逼近型A/D轉(zhuǎn)換器,可在程序控制下,將ADC0ADC7(與P1口引腳復用)中任何一路模擬輸入轉(zhuǎn)換為等比例的10位數(shù)字量。為便于程序控制,STC12C5A60S2新增多個與A/D轉(zhuǎn)換器相關的特殊功能寄存器(SFR),常用寄存器的功能及各位含義如下:P1ASF:模擬功能控制寄存器(字節(jié)地址為9DH) P1ASF的Di位設為0時,P1.i位用作普通I/O口; P1ASF的Di位設為1時,P1.i位用作ADCi模擬輸入引腳。 ADC_CONTR:ADC控制寄存器(字節(jié)地址為BCH) ADC_POWER用于A/D轉(zhuǎn)換器電源控制,設為0時,關

3、閉A/D轉(zhuǎn)換器電源,設為1時,開啟A/D轉(zhuǎn)換器電源。開啟A/D轉(zhuǎn)換器電源; SPEED1、SPEED0用于A/D轉(zhuǎn)換速度設置,設為00/01/10/11時,A/D轉(zhuǎn)換分別需要540/360/180/90個時鐘周期; ADC_FLAG為轉(zhuǎn)換結(jié)束標志位,A/D轉(zhuǎn)換完成后ADC_FLAG自動置1(需通過程序清0); ADC_START用于A/D轉(zhuǎn)換啟動控制,設為1時,開始A/D轉(zhuǎn)換(轉(zhuǎn)換結(jié)束后ADC_START自動清0); CHS2、CHS1、CHS0用于模擬輸入通道選擇,其8種組合分別對應選擇ADC0ADC7通道。ADC_RES和ADC_RESL:A/D轉(zhuǎn)換結(jié)果寄存器(字節(jié)地址分別為BDH和BEH

4、) 注:STC12C5A60S2新增AUXR1寄存器中ADRJ位由復位時默認的0改為1,則ADC_RES和ADC_RESL將改為分別存放轉(zhuǎn)換結(jié)果的高2位和低8位。 此外,STC12C5A60S2的A/D轉(zhuǎn)換器也支持中斷控制。 STC12C5A60S2中A/D轉(zhuǎn)換器的控制流程與傳統(tǒng)ADC0809芯片類似:1)設置P1ASF寄存器,指定P1口某口線用作ADC輸入引腳;2)設置ADC_CONTR寄存器,開啟A/D轉(zhuǎn)換器電源,選擇轉(zhuǎn)換速度及通道,并啟動轉(zhuǎn)換;3)查詢ADC_CONTR寄存器的ADC_FLAG位,判斷轉(zhuǎn)換是否結(jié)束;4)ADC_FLAG位變?yōu)?時,轉(zhuǎn)換結(jié)束,讀取ADC_RES和ADC_RE

5、SL寄存器,組成10位A/D轉(zhuǎn)換結(jié)果。圖3.8.1為ZSC-1實驗箱的STC12C5A60S2的A/D轉(zhuǎn)換實驗電路。電位器W101產(chǎn)生05V模擬電壓,通過ADC1引腳輸入單片機進行A/D轉(zhuǎn)換,轉(zhuǎn)換結(jié)果可通過發(fā)光管L101L108以二進制或其它形式顯示,也可用于控制蜂鳴器BZ1的發(fā)聲頻率。 圖3.8.1 A/D轉(zhuǎn)換實驗電路 D/A轉(zhuǎn)換器(DAC)的作用是實現(xiàn)數(shù)字量到模擬量的線性轉(zhuǎn)換。為實現(xiàn)D/A轉(zhuǎn)換,除了在單片機外部配置專用D/A轉(zhuǎn)換器芯片外,還可使用成本較低的PWM加低通濾波的方法,其依據(jù)的主要原理是:PWM信號的平均電壓正比于信號的占空比。本實驗即使用該方法實現(xiàn)D/A轉(zhuǎn)換,電路如圖3.8.2

6、所示。單片機在程序控制下,以一定的時間間隔,通過P1.4口線動態(tài)輸出不同占空比的PWM信號,經(jīng)電阻、電容組成的低通濾波器濾波后,即可在排針J101的2腳得到各時間點幅值正比于對應占空比的連續(xù)模擬信號。對于普通80C51單片機,一般是通過程序控制通用定時/計數(shù)器并配合中斷處理,來產(chǎn)生所需的PWM信號。STC12C5A60S2除具有普通80C51的兩個通用定時/計數(shù)器外,還增加了具有多種工作模式的兩路可編程計數(shù)器陣列(PCA)模塊,能夠非常方便地產(chǎn)生兩路頻率相同而占空比獨立的PWM信號,其中,PWM0通過P1.3(也可切換到P4.2)輸出,PWM1通過P1.4(也可切換到P4.3)輸出。 圖3.8

7、.2 D/A轉(zhuǎn)換實驗電路 STC12C5A60S2新增多個與PCA相關的SFR,其中,本實驗涉及的PWM1輸出相關的SFR包括:CCON:PCA控制寄存器(字節(jié)地址為D8H) 其中,CR為PCA運行控制位,設為0時,關閉PCA,設為1時,啟動PCA。CMOD:PCA工作模式寄存器(字節(jié)地址為D9H) 其中,CPS2、CPS1、CPS0、用于PCA時鐘源選擇,例如,100組合時以系統(tǒng)時鐘(其頻率為晶振頻率)為PCA時鐘,000組合時以系統(tǒng)時鐘的12分頻為PCA時鐘。 CCAPM1:PCA模塊1的模式寄存器(字節(jié)地址為DBH) 其中,為使PCA模塊1工作在8位PWM無中斷模式,應將ECOM1和PW

8、M1兩位設為1,,其它位設為0。此外,CCAP1H(字節(jié)地址為FBH)和CCAP1L(字節(jié)地址為EBH)分別是PCA模塊1捕捉/比較寄存器的高8位和低8位。在8位PWM模式下,當PCA計數(shù)器低8位(CL)的值小于CCAP1L時,PWM1引腳輸出為低,大于或等于CCAP1L時,PWM1引腳輸出為高;另外,當CL的值由FFH加到00H(溢出)時,CCAP1H的當前值自動加載到CCAP1L中,因此,程序只需對CCAP1H進行設定,即可在PWM1引腳穩(wěn)定輸出相應占空比的PWM信號。三、實驗設備1、PC機一臺(已安裝Keil uVision、STC_ISP等軟件); 2、ZSC-1單片機實驗箱一臺。四、

9、實驗內(nèi)容和步驟 實驗步驟: 在Keil中編寫源程序。 在Keil中創(chuàng)建工程,加入源程序文件,設置選項,進行匯編/編譯、連接、轉(zhuǎn)換處理,生成HEX格式的單片機程序文件。 用串行電纜連接實驗箱和PC機各自的串行通信口,并運行PC機上的STC_ISP程序,進行單片機程序下載(注意MCU1要先斷電再上電)。 運行單片機程序,調(diào)節(jié)W101電位器,觀察發(fā)光管顯示的變化。實驗內(nèi)容:(一)A/D(Mcu1內(nèi)部ADC)1、設計程序,以0.2秒為間隔,采集ADC(P1.1)腳的輸入電壓,將數(shù)字量顯示在LED上,并通過串口發(fā)送出去。程序代碼如下:#include<reg51.h>#include<

10、INTRINS.h>typedef unsigned char uint8;sfr P1ASF=0x9D;sfr ADC_CONTR=0xBC;sfr ADC_RES=0xBD;uint8 ADC(uint8 ch);void UartInit();void UartSendByte(uint8 x);void Delay(int ms);void main()uint8 N;UartInit();while(1)N=ADC(1) ;P0=N;UartSendByte(N);Delay(200);uint8 ADC(uint8 ch) P1ASF=1<<ch;ADC_CONT

11、R=0x88+ch;_nop_();while(ADC_CONTR&0x10)=0);ADC_CONTR&=0x10;return ADC_RES;void UartInit()TMOD=0x20;TH1=TL1=0xFD;TR1=1;SCON=0x50;void UartSendByte(uint8 x)SBUF=x;while(!TI);TI=0;void Delay(int ms)int i;while(ms-)for(i=700;i;i-);仿真結(jié)果如下: 2、 設計程序,用P1.1腳電壓控制蜂鳴器發(fā)聲頻率。程序代碼如下:#include<reg51.h>#

12、include<INTRINS.h>typedef unsigned char uint8;sfr P1ASF=0x9D;sfr ADC_CONTR=0xBC;sfr ADC_RES=0xBD;uint8 ADC(uint8 ch);void UartInit();void UartSendByte(uint8 x);void Delay(int ms);void main() uint8 N; UartInit(); while(1) N=ADC(1) ; /P0=N; P0=(1<<N/32); /Delay(200) ; N+=1000; while(-N); P

13、11=0x01; uint8 ADC(uint8 ch) P1ASF=1<<ch; ADC_CONTR=0x88+ch; _nop_(); while(ADC_CONTR&0x10)=0); ADC_CONTR&=0x10; return ADC_RES;void UartInit() TMOD=0x20;TH1=TL1=0xFD;TR1=1;SCON=0x50;void UartSendByte(uint8 x) SBUF=x;while(!TI);TI=0;void Delay(int ms) int i;while(ms-) for(i=700;i;i-);

14、(2) D/A(Mcu1內(nèi)部PCA輸出PWM+外部RCLPF) 1、 設計程序,利用STC12C5A60S2單片機內(nèi)部PCA模塊產(chǎn)生PWM信號,經(jīng)低通濾波后輸出鋸齒波。程序代碼如下:#include <reg51.h>typedef unsigned char uint8;typedef unsigned int uint16;sfr CMOD=0xD9;sfr CCAPM1=0xDB;sbit CR=0xDE;sfr CCAP1H=0xFB;sbit bo=P11;void Delay(uint16 ms);void PwmInit()CMOD=0x08;CCAPM1=0x42;

15、CR=1;void PwmOut(uint8 Duty)CCAP1H=255-Duty;void main() int i,j;PwmInit();/*while(1) PwmOut(30);Delay(800);PwmOut(120);Delay(800);*/while(1) for(i=1;i<254;i+) PwmOut(i); j=100; while(-j); void Delay(uint16 ms)int i,j;for(i=0;i<ms;i+)for(j=0;j<100;j+);仿真波形如右圖所示: 2、 設計程序,利用STC12C5A60S2單片機內(nèi)部PC

16、A模塊產(chǎn)生PWM信號,經(jīng)低通濾波后輸出正弦波。程序代碼如下:#include <reg51.h>typedef unsigned char uint8;typedef unsigned int uint16;sfr CMOD=0xD9;sfr CCAPM1=0xDB;sbit CR=0xDE;sfr CCAP1H=0xFB;sbit bo=P11;uint8 code SinTable=127,152,176,199,218,234,245,252, 254,251,242,230,213,192,170,145, 120, 95, 71, 49, 31, 16, 6, 1, 0, 5, 15, 29, 45, 68, 92,116;void Delay(uint16 ms);void PwmInit()CMOD=0x08;CCAPM1=0x42;CR=1;void PwmOut(uint8 Duty)CCAP1H=255-Duty;void main() int i,j;PwmInit();/*while(1) PwmOut(30);Delay(800);PwmOut(120);Delay(800);*/while(1) for(i=0;i<32;i+) /PwmOut(

溫馨提示

  • 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

提交評論