基于單片機(jī)和dac0832的波形發(fā)生器_第1頁(yè)
基于單片機(jī)和dac0832的波形發(fā)生器_第2頁(yè)
基于單片機(jī)和dac0832的波形發(fā)生器_第3頁(yè)
基于單片機(jī)和dac0832的波形發(fā)生器_第4頁(yè)
基于單片機(jī)和dac0832的波形發(fā)生器_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于單片機(jī)和dac0832的波形發(fā)生器仿真電路圖(輸出正弦波、三角波,鋸齒波)主程序:#include<reg52.h>

sbitkey2=P2^2;

sbitkey1=P2^1;

sbitkey0=P2^0;

charflag;

//波型輸出標(biāo)置變量

bittime;

unsignedchari;

int

num;

voidfrequency();

voiddelay(intz)//延時(shí)

z毫秒

{

intx,y;

for(x=z;x>0;x--)

for(y=124;y>0;y--);

}

unsignedcharsin(unsignedcharx)//正弦波

{

unsignedcharcodesin_tab[]={0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,

//上半周

0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,0xd8,

0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf4,

0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,

0xf6,0xf4,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0xde,0xdc,

0xda,0xd8,0xd5,0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb3,

0xb0,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,

0x80,

0x80,0x7d,0x7a,0x76,0x73,0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,0x5b,0x58,0x55,0x52,//下半周期

0x4f,0x4c,0x49,0x46,0x43,0x41,0x3e,0x3b,0x39,0x36,0x33,0x31,0x2e,0x2c,0x2a,0x27,

0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15,0x14,0x12,0x10,0x0f,0x0d,0x0c,0x0b,

0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x03,0x02,0x02,0x01,0x01,

0x00,0x00,0x00,

0x00,0x01,0x01,0x02,0x02,0x03,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0b,0x0c,0x0d,

0x0f,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,0x25,0x27,0x2a,0x2c,

0x2e,0x30,0x33,0x35,0x38,0x3b,0x3d,0x3e,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,

0x57,0x5a,0x5d,0x5f,0x60,0x63,0x66,0x69,0x6b,0x6d,0x6f,0x72,0x74,0x76,0x78,0x7a,0x7e,0x80};

returnsin_tab[x];}

voidDAC0832(unsignedcharx)

{

P1=x;

}

voidmain()

{

chard;

d=1;

TMOD=0X02;

num=10;

TH0=256-num;

//num用來(lái)控制采樣一個(gè)點(diǎn)所用的時(shí)間

TL0=256-num;

ET0=1;

//按鍵接于外部中斷0,與中斷1

EA=1;

TR0=1;

flag=2;

//開(kāi)始時(shí)有輸出

i=0;

while(1)

{

if(key2==0)

//按一下key3,d自加1

{

delay(5);

if(key2==0)

{

while(!key2);

d++;

if(d==21)//當(dāng)d=21,d變?yōu)?

d=1;

}

}

frequency();

if(time==1)

{

time=0;

if(i>255)

i=0;

else

i=i+d;//設(shè)置采樣間隔

switch(flag)

//當(dāng)按鍵1的為輸出三角波,按鍵2時(shí)輸出正弦波

{

case0:DAC0832(i);break;//當(dāng)flag=0時(shí),鋸齒波

case1:

if(i>127)//當(dāng)flag=1時(shí),三角波

DAC0832(255-i);

else

DAC0832(i);

break;

case2:DAC0832(sin(i));//當(dāng)flag=2時(shí),正弦波

break;

default:

break;

}

}

}

}voidtime0()interrupt1

{

TH0=256-num;

TL0=256-num;

time=1;

}

voidfrequency()

{

if(key0==0)//

//key0控制flag,頻率選擇

{

delay(5);

if(key0==0)//再次檢測(cè)

{

while(!key0);

//等待按鍵釋放

flag++;

//按一下加1

if(flag==3)//大于2返回0

flag=0;

}

}

if(key1==0)

//檢測(cè)P21是否按下

{

delay(

溫馨提示

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

評(píng)論

0/150

提交評(píng)論