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

下載本文檔

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

文檔簡介

1、工程實訓(xùn)實驗報告單位(二級學(xué)院): 自 動 化 學(xué) 院 學(xué) 生 姓 名: 張寶川 專 業(yè): 電氣工程及其自動化 班 級: 0831302 學(xué) 號: 2013212629 實驗一、數(shù)據(jù)采集_A/D轉(zhuǎn)換1、 實驗?zāi)康模?)掌握A/D轉(zhuǎn)換與單片機接口的方法;(2)了解A/D芯片0809轉(zhuǎn)換性能及編程方法;(3)通過實驗了解單片機如何進行數(shù)據(jù)采集。(4)ADC0809引腳結(jié)構(gòu):ADC0809各腳功能如下: D7 D0:8位數(shù)字量輸出引腳。IN0 IN7:8位模擬量輸入引腳。VCC:+5V工作電壓。GND:地。REF(+):參考電壓正端。REF(-):參考電壓負端。START:A/D轉(zhuǎn)換啟動信號輸入端。

2、ALE:地址鎖存允許信號輸入端。(以上兩種信號用于啟動A/D轉(zhuǎn)換). EOC:轉(zhuǎn)換結(jié)束信號輸出引腳,開始轉(zhuǎn)換時為低電平,當(dāng)轉(zhuǎn)換結(jié)束時為高電平。OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時鐘信號輸入端(一般為500KHz)。A、B、C:地址輸入線。二、實驗任務(wù)1.硬件電路設(shè)計: 設(shè)計基于單片機控制的AD轉(zhuǎn)換應(yīng)用電路。AD轉(zhuǎn)換芯片采用ADC0809。ADC0809的通道IN3輸入05V之間的模擬量,通過ADC0809轉(zhuǎn)換成數(shù)字量在數(shù)碼管上以十進制形成顯示出來。ADC0809的VREF接5V電壓。2. 軟件設(shè)計: 程序設(shè)計內(nèi)容(1) 進行A/D轉(zhuǎn)換時,采用查詢EOC的標志信號來檢測A

3、/D轉(zhuǎn)換是否完畢,經(jīng)過數(shù)據(jù)處理之后在數(shù)碼管上顯示。(2) 進行A/D轉(zhuǎn)換之前,要啟動轉(zhuǎn)換的方法:ABC110選擇第三通道。ST0,ST1,ST0產(chǎn)生啟動轉(zhuǎn)換的正脈沖信號圖1.2 ADC0809時序圖三、實驗代碼#include#include#define uint unsigned int#define uchar unsigned charsbit OE=P10;sbit ST=P12;sbit EOC=P11;sbit CLK=P13;sbit C1=P16;sbit C2=P15;sbit C3=P14;unsigned char table=0x3f,0x06,0x5b,0x4f,0

4、x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00;unsigned date;void delay(unsigned int z) unsigned int i,j; for(i=z;i0;i-) for(j=110;j0;j-) ;void display(unsigned int x) P2=0xfe; P0=tablex/100; delay(10); P0=0x00;P2=0xfd; P0=tablex/10%10; delay(10); P0=0x00;P2=0xfb; P0=tablex%10; delay(10); P0=0x00;void main() TM

5、OD=0x01; TH0=(65536-900)/256; TL0=(65536-900)%256; TR0=1; ET0=1; EA=1; C1=0; C2=1; C3=1; while(1) ST=0; ST=1; ST=0; delay(2); while(!EOC) display(date); OE=1; date=P3; OE=0; void timer0() interrupt 1 TH0=(65536-900)/256; TL0=(65536-900)%256; CLK=CLK;四、實驗結(jié)果實驗二、D/A轉(zhuǎn)換及數(shù)字式波形發(fā)生器一、實驗?zāi)康?、熟悉DAC0832 內(nèi)部結(jié)構(gòu)及引腳。

6、2、掌握D/A轉(zhuǎn)換與接口電路的方法。3、通過實驗了解單片機如何進行波形輸出。二、 D/A轉(zhuǎn)換器的主要性能參數(shù)(1)分辨率: 該參數(shù)是描述D/A轉(zhuǎn)換對輸入變量變化的敏感程度。具體指D/A轉(zhuǎn)換器能分辨的最小電壓值。 分辨率的表示有兩種: 最小輸出電壓VLSB(輸入數(shù)字只有最低位為1)與最大輸出電壓輸入數(shù)字全為1)的比值來表示 用輸入端待進行轉(zhuǎn)換的二進制數(shù)的位數(shù)來表示, 位數(shù)越多,分辨率越高。 分辨率的表示式為: 分辨率=Vref/2位數(shù) 或 分辨率=(V+ref+V-ref)/2位數(shù) 若Vref=5V,8位的D/A轉(zhuǎn)換器分辨率為5/256=20mV。(2) 轉(zhuǎn)換時間:指數(shù)字量輸入到模擬量輸出達到穩(wěn)

7、定所需的時間。一般電流型D/A轉(zhuǎn)換器在幾秒到幾百微秒之內(nèi);而電壓型D/A轉(zhuǎn)換器轉(zhuǎn)換較慢,取決于運算放大器的響應(yīng)時間。(3) 轉(zhuǎn)換精度:指D/A轉(zhuǎn)換器實際輸出與理論值之間的誤差,一般采用數(shù)字量的最低有效位作為衡量單位。如:1/2LSB表示,當(dāng)D/A分辨率為20mV,則精度為10mV.(4)線性度:當(dāng)數(shù)字量變化時,D/A轉(zhuǎn)換器輸出的模擬量按比例變化的程度。線性誤差 模擬量輸出值與理想輸出值之間偏離的最大值。三、實驗內(nèi)容1. AT89C51控制DAC0832實現(xiàn)數(shù)/模轉(zhuǎn)換(D/A)轉(zhuǎn)換。從單片機輸出數(shù)據(jù)到DAC0832,經(jīng)其轉(zhuǎn)換成模擬量輸出。2. 設(shè)計一個由單片機控制的信號發(fā)生器。運用單片機系統(tǒng)控制

8、產(chǎn)生多種波形,這些波形包括方波、三角波、鋸齒波、正弦波等。信號發(fā)生器所產(chǎn)生的波形的頻率、幅度均可調(diào)節(jié)。并可通過軟件任意改變信號的波形。基本要求:產(chǎn)生三種以上波形。如正弦波、三角波、矩形波等。最大頻率不低于500Hz。并且頻率可按一定規(guī)律調(diào)節(jié)。幅度可調(diào),峰峰值在0 5V之間變化。擴展要求:產(chǎn)生更多的頻率和波形。四、實驗代碼#includesbit key1=P10;sbit key2=P13;sbit key3=P16;#define uchar unsigned char#define uint unsigned intvoid sanjiaobo();void fangbo();void j

9、uchibo();void main()P1=0xff;while(1) if(key1=0) sanjiaobo(); if(key2=0) fangbo(); if(key3=0) juchibo();void sanjiaobo()unsigned int i;char flag=0;P2=0;while(1)if(flag=0)for(i=0;i=255)flag=1;if(flag=1)for(i=0;i10;i+);P2-=1;if(P2=0)flag=0;void fangbo()unsigned int i ;while(1)for(i=0;i1000;i+);P2=255;f

10、or(i=0;i1000;i+);P2=0;void juchibo()unsigned int i;char flag=0;P2=0;while(1)if(flag=0)for(i=0;i=255)flag=1;if(flag=1)P2=0;if(P2=0)flag=0;五、實驗結(jié)果實驗三、基于旋轉(zhuǎn)編碼器的轉(zhuǎn)速測量一、實驗?zāi)康?. 了解編碼器工作原理2. 掌握編碼器速度檢測的方法;二、編碼器工作原理絕對脈沖編碼器:APC增量脈沖編碼器:SPC兩者一般都應(yīng)用于速度控制或位置控制系統(tǒng)的檢測元件 旋轉(zhuǎn)編碼器分為單路輸出和雙路輸出兩種: 單路輸出是指旋轉(zhuǎn)編碼器的輸出是一組脈沖, 雙路輸出的旋轉(zhuǎn)編碼器

11、輸出兩組相位差90度的脈沖,通過這兩組脈沖不僅可以測量轉(zhuǎn)速,還可以判斷旋轉(zhuǎn)的方向。編碼器電路外接74HC74的作用74HC74在旋轉(zhuǎn)編碼器旋轉(zhuǎn)時輸出兩路正交脈沖A、B,為了判斷旋轉(zhuǎn)編碼器旋轉(zhuǎn)方向,用74HC74做鑒相器。A作為時鐘脈沖接入74HC74,B作為D接入74HC74,理論上74HC74應(yīng)該在A的上升沿判斷B狀態(tài),如果B為低電平,則輸出Q為低電平,說明旋轉(zhuǎn)編碼器正轉(zhuǎn);如果B為高電平,則輸出Q為高電平,說明旋轉(zhuǎn)編碼器反轉(zhuǎn)。因為A、B是正交脈沖,只要旋轉(zhuǎn)編碼器旋轉(zhuǎn)方向不變,74HC74的輸出Q就應(yīng)該維持高電平或低電平狀態(tài)。三、實驗內(nèi)容1. 根據(jù)旋轉(zhuǎn)編碼器的工作原理,設(shè)計基于旋轉(zhuǎn)編碼器的速度

12、檢測原理圖;2. 利于實驗室提供的單片機最小系統(tǒng),設(shè)計位置檢測、速度檢測系統(tǒng)的應(yīng)用電路;畫出系統(tǒng)框圖;3. 編寫相關(guān)程序, 實現(xiàn)對位置及轉(zhuǎn)速的測量,并顯示;四、實驗代碼#include #define uchar unsigned char #define uint unsigned int sbit IN1 = P10;sbit IN2 = P11;sbit ENA = P12;sfr ldata=0x80;sbit dula=P26;sbit wela=P27;sbit q1=P34;bitbit_0;uint count_N,count_N1,count_N2;uint count_n8

13、; /計數(shù)值uchar T_N=20;uchar T_N1=3;void msplay(uchar,uchar);void INT_0_Init();void Timer0_Init();void Motor_Init();uchar code x1=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f,0x40,0x7c,0x39,0x5e,0x3e,0x48;uchar code x2=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;

14、uchar codex3=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;uchar codex4=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;void delay(uint z)/延時函數(shù)uint x;for(x=z;x0;x-);void Motor_Init()ENA = 1;IN1 = 1;IN2 = 0;void INT_0_Init()IT0=1;EX0=1;void Timer0_Init()TMOD=0X11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET

15、0=1;TR0=1;void main()uchar k5,k4,k3,k2,k1,k0,k6;INT_0_Init();Timer0_Init();while(1)k0=0x0e;k1=0x0f;if(!q1) k6=0;elsek6=10;if(!bit_0)k2=count_N%10000/1000;k3=count_N%1000/100;k4=count_N%100/10;k5=count_N%10;bit_0=1;msplay(k0,0);msplay(k1,1);msplay(k6,3);msplay(k2,4);msplay(k3,5);msplay(k4,6);msplay(k

16、5,7);void int_0() interrupt 0 count_n8+;void timer0() interrupt 1TR0=0;TH0=(65536-45000)/256;TL0=(65536-45000)%256;T_N-;if(0=T_N)count_N2=count_n8;count_N=27.952*count_N2;bit_0=0;count_n8=0;T_N=20;TR0=1;void msplay(uchar y1,uchar y2) ldata = x1y1; if(y2=6) ldata=ldata|0x80; dula=1; dula=0; delay(1);

17、 ldata = x3y2; wela=1; wela=0; delay(1); ldata = 0x00; dula=1; dula=0; delay(1); ldata = 0x0ff; wela=1; wela=0; delay(1);五、實驗結(jié)果實驗四、基于51系列單片機控制的直流電機PWM調(diào)速一、實驗?zāi)康?掌握脈寬調(diào)制 (PWM) 的方法。2用程序?qū)崿F(xiàn)脈寬調(diào)制,并對直流電機進行調(diào)速控制。二、脈寬調(diào)制(PWM)基本原理控制方式就是對逆變電路開關(guān)器件的通斷進行控制,使輸出端得到一系列幅值相等的脈沖,用這些脈沖來代替正弦波或所需要的波形。也就是在輸出波形的半個周期中產(chǎn)生多個脈沖,使各脈沖的

18、等值電壓為正弦波形,所獲得的輸出平滑且低次諧波少。按一定的規(guī)則對各脈沖的寬度進行調(diào)制,即可改變逆變電路輸出電壓的大小,也可改變輸出頻率。利用51單片機產(chǎn)生PWM脈沖思路:需要用到內(nèi)部定時器來實現(xiàn),可用兩個定時器實現(xiàn),也可以用一個定時器實現(xiàn)。用兩個定時器的方法是用定時器T0來控制頻率,定時器T1來控制占空比。編程思路是這樣的:T0定時器中斷讓一個I0口輸出高電平,在這個定時器T0的中斷當(dāng)中起動定時器T1,而這個T1是讓IO口輸出低電平,這樣改變定時器T0的初值就可以改變頻率,改變定時器T1的初值就可以改變占空比。 L298N 為SGS-THOMSON Microelectronics 所出產(chǎn)的雙

19、全橋步進電機專用驅(qū)動芯片( Dual Full-Bridge Driver ) ,內(nèi)部包含4信道邏輯驅(qū)動電路,是一種二相和四相步進電機的專用驅(qū)動器,可同時驅(qū)動2個二相或1個四相步進電機,可驅(qū)動46V、2A以下的步進電機,且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片可直接由單片機的IO端口來提供模擬時序信號。三、實驗內(nèi)容:1. 利用實驗室提供的單片機應(yīng)用系統(tǒng)及直流電機驅(qū)動電路板,編制控制程序,實現(xiàn)直流電機PWM調(diào)速控制。四、實驗代碼#include #define uchar unsigned char #define uint unsigned int uchar code LEDData=0x3

20、f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;sbit IN1 = P10;sbit IN2 = P11;sbit ENA = P12;sbit Key1=P35;sbit Key2=P36;sbit Key3=P37;uint Velocity1=50;uint count=50;uint time=100;uint count1=0;uint time1=0;uint velocity=0;uint m=0;void delayms(uint ms)uchar i;while(ms-)for(i=0;i120;i+);void display

21、(uint result)P2=0xf7;P0=LEDDataresult%100%10;delayms(2);P0=0x00;P2=0xff;P2=0xfb;P0=LEDDataresult%100/10;delayms(2);P0=0x00;P2=0xff;P2=0xfd;P0=LEDDataresult/100;delayms(2);P0=0x00;P2=0xff;void Init()ENA = 1;IN1 = 0;IN2 = 1;IT0=1;EX0=1;TMOD = 0x11; TL0 = (65536-5)/256; TH0 = (65536-5)%256; TR0 = 1; ET0 = 1;TH1=(65536-50000)/256;TL1=(65536-50000)%256;TR1=1;ET1=

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論