ppt文檔
仿真:
以上壓縮包所有資料下載:
各種波形發生器.rar
(479.67 KB, 下載次數: 97)
2016-4-7 03:18 上傳
點擊文件名下載附件
產生各種波形的波形發生器 利用DAC0832將數字信號轉換為模擬信號,產生各種波形,利用虛擬示波器顯示。 設計要求: 能產生4中波形:正弦波,矩形波,鋸齒波,三角波。 四個功能鍵K1-K4: 功能鍵K1:產生正弦波。 功能鍵K2:產生矩形波。 功能鍵K3:產生鋸齒波。 功能鍵K4:產生三角波。
下面是程序源代碼:
- #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;
- }
- }
復制代碼
|