ppt文档
仿真:
以上压缩包所有资料下载:
各种波形发生器.rar
(479.67 KB, 下载次数: 97)
产生各种波形的波形发生器 利用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;
- }
- }
复制代码
|