微控制器8051設計簡易波形發生器,要求能產生正弦波,方波,三角波,通過鍵盤可改變輸出訊號的頻率和幅度

時間 2021-08-11 17:34:55

1樓:

基於51微控制器的訊號發生器-完整電路、程式免費的。

可以產生弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的頻率(最大790hz)和幅度在一定範圍內可任意改變。波形和頻率的改變通過軟體控制,幅度的改變通過硬體實現。這是本人課程設計得到優秀的作品,有完整的電路圖,程式。

不是光**那種。

如果你覺得790hz的頻率不夠的話,可以用fpga+ad,頻率幾十m都沒問題,也不是很難。多看看資料,

2樓:q號

這個網上資料很多的,你可以參考下的,我前幾天也做了個,proteus**的,程式如下,希望能幫到你的,有問題可以交流下的

#include

unsigned char i,sqar_num=128; //最大值100,預設值50

unsigned char cho=0; //0:正弦波。1:方波。2:三角波。3:鋸齒波。

unsigned char num=0;

unsigned char time0_h=0xff,time0_l=0xdc; //定時器0的初值設定;全域性變數.對應正弦波,鋸齒波50hz

sbit chg= p1^0;

sbit freq_u=p1^1;

sbit freq_d=p1^2;

sbit duty_u=p1^3;

sbit duty_d=p1^4;

sbit cs =p3^7;

bit flag=0;

unsigned int freq=50;//初始化頻率,30hz

unsigned char flag1;

sbit rs=p1^5;

sbit lcdcs=p1^7;

sbit cd=p3^0;

unsigned char tempbuffer[7];

unsigned char value1=;

void delay(unsigned int ms)

//波形發生函式

void sint(void)

}/* else if(flag)

} */

}void square(void)

else

}void ********(void)

void stw(void)

}//1602顯示開始

void write_command(unsigned char command)

void write_data(unsigned char data0)

void init_1602()

//1602顯示結束

void temp_to_str()

void main()

tr0=1;

while(1)}

設計製作一個波形發生器,該波形發生器能產生正弦波、方波、三角波和由使用者編輯的特定形狀波形。 50

3樓:匿名使用者

呵呵!~樓上的樓上 這麼長程式 沒有一個電路圖 什麼管腳幹什麼用都很難弄清楚 也真是辛苦了

4樓:匿名使用者

/////p2口接4*4鍵盤的行線和列線;紅燈亮時進行頻率輸入;綠燈亮時進行佔空比輸入;頻率值暫定在100到60khz之間;輸入頻率和佔空比時要輸夠六位整數,不夠的在前面補0;佔空比以百比數(0-100)形式存在。///////////

/////////方波發生器資料。空軍工程大學導院501明明,2007.10.10初稿/////////

#include

#include

#define uchar unsigned char

sbit coma=p1^0;

sbit comb=p1^1;

sbit comc=p1^2;

sbit comd=p1^3;

sbit come=p1^4;

sbit red=p1^5;

sbit green=p1^6;

sbit new=p1^7;

sbit q=p3^7;

int i,x,y;

/* 延時函式 */

void delay(void)

/*數字對應的共陽極段碼*/

uchar getcode(uchar i)

return(p);

}/////////顯示函式/////////

void display(int t)

/* 鍵掃描函式 */

uchar keyscan(void)

else scancode = (scancode<<1)|0x01; // 行掃描碼左移一位}}

}return(0); // 無鍵按下,返回值為0

}/////////////t0中斷/////////

timer0 () interrupt 1

else }

///////////主函式///////////

main( )

break; // 1行1列,數字0

case 0x21: if (count<=5) break;// 1行2列,數字1

case 0x41: if (count<=5) break;// 1行3列,數字2

case 0x81: if (count<=5) break;// 1行4列,數字3

case 0x12: if (count<=5) break;// 2行1列,數字4

case 0x22: if (count<=5) break; // 2行2列,數字5

case 0x42: if (count<=5) break;// 2行3列,數字6

case 0x82: if (count<=5) break;// 2行4列,數字7

case 0x14: if (count<=5) break;// 3行1列,數字8

case 0x24: if (count<=5) break;// 3行2列,數字9

case 0x44: if (count==5) confirm++;} break;// 3行3列,確認鍵

//輸入完頻率,按下確認鍵,再輸入佔空比

case 0x84: x=0;count=0; break; // 3行4列,取消鍵

default: break;

} display(x);

}tr0=1;

if(new==0)}}}

5樓:康幹

這種東西買一個就可以了。

很成熟的產品,自己做反而更貴。

微控制器簡易電子門的設計 ??幫幫忙

暈 樓上的部分 也太 部分 了吧。不知樓主想設計成簡易到什麼程度?有沒有課題要求之類的啊?買作品 51微控制器盒製作簡易門鈴控制系統 51微控制器開發盒的電路圖有沒。利用微控制器設計簡易電子琴 這個肯定適合你!proteus電子琴。整個設計過程,程式電路圖都有了。這個 不是一句話兩句話說清楚的,先完...

關於微控制器的畢業設計,微控制器類畢業設計題目彙總

1325你不懂 提供給那些做畢業設計的朋友 吉儉門巳 以上我都會,要來找我,我發程式設計軟體和 軟體給你和程式以及電路圖 會微控制器的,比如參加過競賽的,一個星期就可以完成畢業設計什麼都不會的,除了抄,就是買,要不就來矇混過關按您的說法,估計你不太會微控制器,這個真的自己做,多向老師同學請教,也至少...

基於微控制器設計波形發生器,可產生方波 三角波 正弦波,且波形幅度 週期可調

波形發生器是一種常用的訊號源,廣泛地應用於電子電路 自動控制系統和教學實驗等領域。本次課程設計使用的at89s51 微控制器構成的發生器可產生鋸齒波 三角波 正弦波等多種波形,波形的週期可以用程式改變,並可根據需要選擇單極性輸出或雙極性輸出,具有線路簡單 結構緊湊等優點。在本設計的基礎上,加上按鈕控...