国产三级在线看完整版-内射白嫩大屁股在线播放91-欧美精品国产精品综合-国产精品视频网站一区-一二三四在线观看视频韩国-国产不卡国产不卡国产精品不卡-日本岛国一区二区三区四区-成年人免费在线看片网站-熟女少妇一区二区三区四区

儀器網(wǎng)(yiqi.com)歡迎您!

| 注冊2 登錄
網(wǎng)站首頁-資訊-話題-產(chǎn)品-評測-品牌庫-供應(yīng)商-展會-招標(biāo)-采購-知識-技術(shù)-社區(qū)-資料-方案-產(chǎn)品庫-視頻

問答社區(qū)

請求牛人解答 DAC0832正弦信號發(fā)生器程序

用34應(yīng)該是 2011-05-06 22:16:42 669  瀏覽
  • 請求牛人解答這是一個用DAC0832的信號發(fā)生器程序,可有許多看不懂得地方,邀請牛人解答。。。1.這個程序頻率值是怎么設(shè)定的?2.while(1){if(key_up==0)if(step<4096)step++;if(key_dw... 請求牛人解答
    這是一個用DAC0832的信號發(fā)生器程序,可有許多看不懂得地方,邀請牛人解答。。。
    1.這個程序頻率值是怎么設(shè)定的?
    2. while(1)
    {
    if(key_up == 0) if(step<4096) step++;
    if(key_dw == 0) if(step>1) step--;
    while((!key_up)||(!key_dw));
    } 這是什么意思?4096這些是什么意思。。。 3.程序看不太懂,急需大致講解。 下面是程序全部代碼,邀請眾位牛人幫忙解答,Z好各模塊加上點注解,小弟不勝感激。。。 #include #include #define dac1 XBYTE[0xdfff] // X 軸0832一級瑣存地址 unsigned char code type[256]={ 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,0xfe,0xfe,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7, 0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,0xda,0xd8,0xd6,0xd3, 0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c, 0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,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,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4, 0x3,0x3,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7, 0x8,0x9,0xa,0xc,0xd,0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,0x25,0x27,0x29,0x2c, 0x2e,0x30,0x33,0x35,0x38,0x3b,0x3d,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63, 0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c}; unsigned char i,j; unsigned int counter,step; sbit key_up = P3^2; sbit key_dw = P3^3; //定時器0初始化 void Init_Timer0(void) { TMOD = (TMOD & 0XF0) | 0X01; TH0 = 0xff; TL0 = 0xff; TR0 =1; ET0 =1; } main() { Init_Timer0(); step=2; EA = 1; while(1) { if(key_up == 0) if(step<4096) step++; if(key_dw == 0) if(step>1) step--; while((!key_up)||(!key_dw)); } } // 系統(tǒng)OS定時中斷服務(wù) void OS_Timer0(void) interrupt 1 using 2 { TH0 = 0xff; TL0 = 0xff; counter = counter + step; dac1=type[(unsigned int)counter>>8]; } 展開

參與評論

全部評論(1條)

  • milkneng1 2011-05-07 00:00:00
    1.這個程序頻率值是怎么設(shè)定的? 就是通過key_up ,key_dw來設(shè)定的,type【】里面的數(shù)已經(jīng)按照不同頻率的正弦波,算出不同點的值(用于da轉(zhuǎn)換),用查表的方法來設(shè)定頻率值(到底要的是哪一個頻率值,通過counter的大小選擇type里的某一串?dāng)?shù)送給da來決定) 2. while(1) { if(key_up == 0) if(step<4096) step++; if(key_dw == 0) if(step>1) step--; while((!key_up)||(!key_dw)); } 這是什么意思?4096這些是什么意思。。。 key_up ,key_dw 這兩個端口應(yīng)該是接按鍵了吧,采用查詢的方法判斷鍵是否按下, while((!key_up)||(!key_dw));按鍵按下后等待按鍵釋放!4069的意思,比如說你要訪問一組數(shù)組,數(shù)組只有10個元素,你能訪問第十一個元素嗎?去學(xué)一下什么是type型的數(shù),就知道為何是4069了。 3.程序看不太懂,急需大致講解。 單片機和c語言你要是一點也不會,我肯定給你講不懂的,你要是會的話,多看幾遍肯定就會了 希望能幫到你! #include<reg51.h> #include<absacc.h> //定義地址訪問的頭文件 #define dac1 XBYTE[0xdfff] // X 軸0832一級瑣存地址 unsigned char code type[256]={ //一堆數(shù),一堆不同頻率正弦波的正弦值 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,0xfe,0xfe,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7, 0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,0xda,0xd8,0xd6,0xd3, 0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c, 0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,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,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4, 0x3,0x3,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7, 0x8,0x9,0xa,0xc,0xd,0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,0x25,0x27,0x29,0x2c, 0x2e,0x30,0x33,0x35,0x38,0x3b,0x3d,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63, 0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c}; unsigned char i,j; unsigned int counter,step; sbit key_up = P3^2; sbit key_dw = P3^3; //按鍵定義 //定時器0初始化 void Init_Timer0(void) { TMOD = (TMOD & 0XF0) | 0X01; TH0 = 0xff; TL0 = 0xff; TR0 =1; ET0 =1; } main() { Init_Timer0(); step=2; EA = 1; while(1) //判斷按鍵 { if(key_up == 0) if(step<4096) step++; if(key_dw == 0) if(step>1) step--; while((!key_up)||(!key_dw)); } } // 系統(tǒng)OS定時中斷服務(wù) void OS_Timer0(void) interrupt 1 using 2 //定時子程序 { TH0 = 0xff; TL0 = 0xff; counter = counter + step; dac1=type[(unsigned int)counter>>8]; //根據(jù)鍵值,選擇某一個頻率的正弦波,送入da轉(zhuǎn)換! }

    贊(10)

    回復(fù)(0)

    評論

熱門問答

請求牛人解答 DAC0832正弦信號發(fā)生器程序
請求牛人解答這是一個用DAC0832的信號發(fā)生器程序,可有許多看不懂得地方,邀請牛人解答。。。1.這個程序頻率值是怎么設(shè)定的?2.while(1){if(key_up==0)if(step<4096)step++;if(key_dw... 請求牛人解答
這是一個用DAC0832的信號發(fā)生器程序,可有許多看不懂得地方,邀請牛人解答。。。
1.這個程序頻率值是怎么設(shè)定的?
2. while(1)
{
if(key_up == 0) if(step<4096) step++;
if(key_dw == 0) if(step>1) step--;
while((!key_up)||(!key_dw));
} 這是什么意思?4096這些是什么意思。。。 3.程序看不太懂,急需大致講解。 下面是程序全部代碼,邀請眾位牛人幫忙解答,Z好各模塊加上點注解,小弟不勝感激。。。 #include #include #define dac1 XBYTE[0xdfff] // X 軸0832一級瑣存地址 unsigned char code type[256]={ 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,0xfe,0xfe,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7, 0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,0xda,0xd8,0xd6,0xd3, 0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c, 0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,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,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4, 0x3,0x3,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7, 0x8,0x9,0xa,0xc,0xd,0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,0x25,0x27,0x29,0x2c, 0x2e,0x30,0x33,0x35,0x38,0x3b,0x3d,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63, 0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c}; unsigned char i,j; unsigned int counter,step; sbit key_up = P3^2; sbit key_dw = P3^3; //定時器0初始化 void Init_Timer0(void) { TMOD = (TMOD & 0XF0) | 0X01; TH0 = 0xff; TL0 = 0xff; TR0 =1; ET0 =1; } main() { Init_Timer0(); step=2; EA = 1; while(1) { if(key_up == 0) if(step<4096) step++; if(key_dw == 0) if(step>1) step--; while((!key_up)||(!key_dw)); } } // 系統(tǒng)OS定時中斷服務(wù) void OS_Timer0(void) interrupt 1 using 2 { TH0 = 0xff; TL0 = 0xff; counter = counter + step; dac1=type[(unsigned int)counter>>8]; } 展開
2011-05-06 22:16:42 669 1
單片機+DAC0832做的正弦信號發(fā)生器,輸出頻率怎么算?
 
2013-05-01 23:25:10 332 1
正弦信號發(fā)生器
1。正弦波輸出頻率范圍:1KH-10MH;2。具有頻率設(shè)置功能,頻率步進(jìn):100H;3。輸出信號頻率穩(wěn)定度,優(yōu)于10的負(fù)4次方4。輸出電壓幅度:在50歐負(fù)載電阻上的電壓蜂-峰值Vopp>=1V;5。失真... 1。正弦波輸出頻率范圍:1KH-10MH; 2。具有頻率設(shè)置功能,頻率步進(jìn):100H; 3。輸出信號頻率穩(wěn)定度,優(yōu)于10的負(fù)4次方 4。輸出電壓幅度:在50歐負(fù)載電阻上的電壓蜂-峰值Vopp>=1V; 5。失真度:用示波器觀察時無明顯失真 我需要一個原理圖,和計算方法。 展開
2009-07-23 13:14:51 524 3
單片機正弦信號發(fā)生器
用的是82C51接上一個DAC0832,用匯編語言寫程序,對正弦波一個周期取256個樣點,然后放進(jìn)表格,上半波是正數(shù),數(shù)據(jù)從00H開始到FFH再到00H,但是下半波是負(fù)數(shù)應(yīng)該怎么寫?比如-6是FAH,... 用的是82C51接上一個DAC0832,用匯編語言寫程序,對正弦波一個周期取256個樣點,然后放進(jìn)表格,上半波是正數(shù),數(shù)據(jù)從00H開始到FFH再到00H,但是下半波是負(fù)數(shù)應(yīng)該怎么寫?比如-6是FAH,但是這在上半波已經(jīng)出現(xiàn)了 展開
2012-12-28 04:22:02 413 2
正弦信號發(fā)生器如何設(shè)計
 
2018-11-23 21:08:53 388 0
2.設(shè)計一個正弦信號發(fā)生器。
2.設(shè)計一個正弦信號發(fā)生器。要求:(1)正弦波輸出頻率范圍:1kHz~2MHz;(2)具有頻率調(diào)節(jié)功能(頻率可調(diào));(3)輸出信號頻率穩(wěn)定度:優(yōu)于10-2;(4)輸出電壓幅度:在負(fù)載電阻上... 2.設(shè)計一個正弦信號發(fā)生器。要求: (1)正弦波輸出頻率范圍:1kHz~2MHz; (2)具有頻率調(diào)節(jié)功能(頻率可調(diào)); (3)輸出信號頻率穩(wěn)定度:優(yōu)于10-2; (4)輸出電壓幅度:在 負(fù)載電阻上的電壓峰-峰值Vopp≥1V; 大俠些,麻煩了,幫我設(shè)計一下,特別是那個頻率可調(diào)1kHz-2MHz,網(wǎng)友laohuzhou88給的參考很不錯,謝謝你了,不過現(xiàn)在我是初學(xué)者,還需要一些指點,成了再加分! 展開
2008-10-21 07:53:37 504 3
有關(guān)正弦信號發(fā)生器的畢業(yè)論文
快畢業(yè)了,論文是Z頭疼的,請各路大俠出手救救阿,不勝感激?。。?!... 快畢業(yè)了,論文是Z頭疼的,請各路大俠出手救救阿,不勝感激?。。?! 展開
2009-03-03 21:08:34 510 1
基于cordic正弦信號發(fā)生器怎么做
 
2017-05-01 02:55:37 329 1
設(shè)計并制作一個正弦信號發(fā)生器。
設(shè)計并制作一個正弦信號發(fā)生器。(1)設(shè)計制作的技術(shù)指標(biāo)要求:1)正弦波輸出頻率范圍:1kHz~10MHz;2)輸出信號頻率穩(wěn)定度:優(yōu)于10-4;3)輸出電壓幅度:在負(fù)載電阻上的電壓峰-峰值... 設(shè)計并制作一個正弦信號發(fā)生器。 (1)設(shè)計制作的技術(shù)指標(biāo)要求: 1)正弦波輸出頻率范圍:1kHz~10MHz; 2)輸出信號頻率穩(wěn)定度:優(yōu)于10-4; 3)輸出電壓幅度:在 負(fù)載電阻上的電壓峰-峰值Vopp≥1V; 4)失真度:用示波器觀察時無明顯失真。 展開
2013-12-11 04:04:32 442 3
FPGA中,正弦信號發(fā)生器的作用是什么?
 
2018-07-02 11:43:19 404 1
我需要設(shè)計制作一個正弦信號發(fā)生器
1、基本要求(1)正弦波輸出頻率范圍:1kHz~10MHz;(2)具有頻率設(shè)置功能,頻率步進(jìn):100Hz;(3)輸出信號頻率穩(wěn)定度:優(yōu)于10-4;(4)輸出電壓幅度:在負(fù)載電阻上的電壓峰-峰值Vo... 1、基本要求 (1)正弦波輸出頻率范圍:1kHz~10MHz; (2)具有頻率設(shè)置功能,頻率步進(jìn):100Hz; (3)輸出信號頻率穩(wěn)定度:優(yōu)于10-4; (4)輸出電壓幅度:在 負(fù)載電阻上的電壓峰-峰值Vopp≥1V; 展開
2011-06-13 01:46:22 437 5
正弦信號發(fā)生器的主要性能指標(biāo)有哪些?
 
2013-05-30 04:42:10 368 1
關(guān)于正弦信號發(fā)生器的主要性能指標(biāo)的問題?
正弦信號發(fā)生器的主要性能指標(biāo)頻率穩(wěn)定度、非線性失真系數(shù)(失真度)、輸出阻抗、輸出電平及調(diào)制特性在工作性能生有什么區(qū)別?請各自指出。... 正弦信號發(fā)生器的主要性能指標(biāo)頻率穩(wěn)定度、非線性失真系數(shù)(失真度)、輸出阻抗、輸出電平及調(diào)制特性在工作性能生有什么區(qū)別?請各自指出。 展開
2013-05-30 12:32:49 465 2
單片機簡易頻率計,怎么編程序測正弦信號的?
測方波信號的我知道,就是用計數(shù)器來計數(shù),但正弦信號不能這樣子的吧。
2011-06-18 10:21:18 488 3
女生畢業(yè)設(shè)計 基于FPGA的正弦信號發(fā)生器 請教問題
我有一塊黑金開發(fā)板,然后還有一塊DAAD模塊,現(xiàn)在波形數(shù)據(jù)那些都弄出來了,不知道怎么使開發(fā)板和DA模塊相關(guān)聯(lián)然后通過示波器觀察波形,我是直接將ROM里的輸出q直接和模塊的IO口相連,... 我有一塊黑金開發(fā)板,然后還有一塊DAAD模塊,現(xiàn)在波形數(shù)據(jù)那些都弄出來了,不知道怎么使開發(fā)板和DA模塊相關(guān)聯(lián)然后通過示波器觀察波形,我是直接將ROM里的輸出q直接和模塊的IO口相連,沒管DACLK,這樣不對吧,真的不知道怎么弄了,請教各位大佬們,謝謝回答。還有我沒有像圖中的那樣q出來還外接DAC[9..0],請問需要嗎? 展開
2018-11-30 16:58:06 344 0
求助請教基于FPGA的verilog正弦信號發(fā)生器設(shè)計
附帶程序,Z好有注解... 附帶程序,Z好有注解 展開
2012-05-03 15:02:14 426 1
如何設(shè)計正弦信號發(fā)生器要求信號振幅可調(diào)0-15V
 
2013-05-17 16:23:31 406 2
信號發(fā)生器與DAC0832
不會調(diào)波形的頻率與幅值,頻率在20hz~10Khz,步進(jìn)10hz,在10khz~100Khz,步進(jìn)50hz,在100Khz~1Mhz,步進(jìn)100hz,還要在數(shù)碼管上顯示出來。在網(wǎng)上查的,輸出頻率與定時器的初值有關(guān),但是寫程... 不會調(diào)波形的頻率與幅值,頻率在20hz~10Khz,步進(jìn)10hz,在10khz~100Khz,步進(jìn)50hz,在100Khz~1Mhz,步進(jìn)100hz,還要在數(shù)碼管上顯示出來。在網(wǎng)上查的,輸出頻率與定時器的初值有關(guān),但是寫程序沒有思路,希望老師給點思路,程序也行。 展開
2017-06-20 08:53:44 354 1
基于DAC0832的信號發(fā)生器
我想弄一個基于DAC0832的信號發(fā)生器,用LM358雙運放,能夠做到頻率和幅度可調(diào)的,PO做數(shù)據(jù)端口,P2.0到P2.3都是接了按鍵,能不能給個程序參考一下??!幅度我都能達(dá)到,就頻率比較麻煩... 我想弄一個基于DAC0832的信號發(fā)生器,用LM358雙運放,能夠做到頻率和幅度可調(diào)的,PO做數(shù)據(jù)端口,P2.0到P2.3都是接了按鍵,能不能給個程序參考一下?。》任叶寄苓_(dá)到,就頻率比較麻煩~正弦波也是!!高分回報~謝謝??! 頻率是1HZ~5KHZ的~幅度是5V 感謝一樓的回答,但是考慮到成本,不用DDS來弄~就是用51單片機來定時處理頻率問題,能實現(xiàn)嗎? 展開
2009-11-25 10:17:43 362 1
利用振蕩法測電阻電感電容是不是不用正弦信號發(fā)生器?
 
2012-08-14 05:48:12 321 1

4月突出貢獻(xiàn)榜

推薦主頁

最新話題