ppt文檔
0.png (177.05 KB, 下載次數(shù): 214)
下載附件
2016-4-7 03:15 上傳
仿真:
1.png (33.36 KB, 下載次數(shù): 201)
下載附件
2016-4-7 03:15 上傳
3.png (54.1 KB, 下載次數(shù): 155)
下載附件
2016-4-7 03:17 上傳
以上壓縮包所有資料下載:
各種波形發(fā)生器.rar
(479.67 KB, 下載次數(shù): 97)
2016-4-7 03:18 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
產(chǎn)生各種波形的波形發(fā)生器 利用DAC0832將數(shù)字信號轉(zhuǎn)換為模擬信號,產(chǎn)生各種波形,利用虛擬示波器顯示。 設(shè)計要求: 能產(chǎn)生4中波形:正弦波,矩形波,鋸齒波,三角波。 四個功能鍵K1-K4: 功能鍵K1:產(chǎn)生正弦波。 功能鍵K2:產(chǎn)生矩形波。 功能鍵K3:產(chǎn)生鋸齒波。 功能鍵K4:產(chǎn)生三角波。
下面是程序源代碼:
- #include<reg52.h>
- #include<math.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit k1=P0^0;
- sbit k2=P0^1;
- sbit k3=P0^2;
- sbit k4=P0^3;
- sbit out=P0^4;
- uint i;
- float t;
- void delay(uint z)
- {uint x,y;
- for(x=z;x>0;x--)
- for(y=50;y>0;y--);
- }
- void juchi()
- {
- for(i=0;i<255;i++)
- {
- P1=i;
- delay(1);
- }
-
- }
- void sanjiao()
- {
- for(i=0;i<255;i++)
- {
- P1=i;
- delay(1);
- }
- for(i=255;i>0;i--)
- {
- P1=i;
- delay(1);
- }
-
- }
- void zhengxian()
- {for(i=0;i<255;i++)
- {
- t=i*2*3.1415926/256;
- P1=127*sin(t)+127;
- }
- }
- void juxing()
- {
- for(i=0;i<255;i++)
- {
- P1=0;
- delay(1);
- }
- for(i=255;i>0;i--)
- {
- P1=255;
- delay(1);
- }
- }
- void main()
- {while(1)
- {
- if(!k1)zhengxian();
- else if(!k2)juxing();
- else if(!k3)juchi();
- else if(!k4)sanjiao();
- else P1=0;
- }
- }
復(fù)制代碼
|