1樓:
基於51微控制器的訊號發生器-完整電路、程式http://wenku.baidu.com/view/effec6f2ba0d4a7302763a13.html 免費的。
可以產生弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的頻率(最大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樓:康幹
這種東西買一個就可以了。
很成熟的產品,自己做反而更貴。
8051微控制器的結構特點,求解8051微控制器的硬體結構特點!!!!!!!!!!!!!!
差不多的51學習 上都又的 自己去看看吧 求解8051微控制器的硬體結構特點!51微控制器的內部硬體結構 cpu工作原理,儲存器結構,51,52和89c51,89s51型號對比 2009 09 15 23 4851系列微控制器的內部結構 主要由以下部分組成 cpu ram rom 四個並行i o口 ...
8051微控制器引腳圖,80C51微控制器引腳圖及引腳功能介紹
這個有不同封裝的,外形也不同.80c51微控制器引腳圖及引腳功能介紹 寒夢夜雨花 80c51微控制器有40個引腳大致可分為4類 電源 時鐘 控制和i o引腳。1 電源 1 vcc 晶元電源,接 5v 2 vss 接地端 2 時鐘 xtal1 xtal2 晶體振盪電路反相輸入端和輸出端。3 控制線 控...
微控制器的簡易計算器,怎麼用51微控制器做簡易計算器? 10
基本功能介紹 簡單的加減乘除的運算。時間顯示功能,而且能實現計算器模組和時間模組之間的任意切換。按鍵音卻換功能。原理 多功能微控制器計算器是一個實現加減乘除的和時間功能的計算器,主要的硬體組成由,一個at89s52微控制器晶片,一個led液晶 1602液晶 一個4 4鍵盤,和4個特殊功能按鍵。一個時...