(1)方波
#include #define uchar unsigned char #define uint unsigned int uchar temp; void delay(uint x){ uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void main() { while(1) { P0=0x00; delay(5); P0=0xff; delay(5); } } (2)锯齿波 #include #define uchar unsigned char #define uint unsigned int uchar temp; void delay(uint x){ uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void main() { while(1) { P0=temp; delay(5); temp++; } } (3)三角波 #include #define uchar unsigned char #define uint unsigned int uchar temp; void delay(uint x){ uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void main() { while(1) { for(temp=0;temp<255;temp++) { P0=temp; delay(5); } for(temp=255;temp>0;temp--) { P0=temp; delay(5); } } } (4)正弦波 #include #include #define uchar unsigned char #define uint unsigned int uchar temp; float t; void delay(uint x){ uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void main() { while(1) { for(t=0;t<3.14;t+=0.1) { P0=127+sin(t)*128; delay(1); } for(t=0;t<3.14;t+=0.1) { P0=128-sin(t)*127; delay(1); } } } 2.双极性 #include #include #define uchar unsigned char #define uint unsigned int uchar temp; float t; void delay(uint x) { uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void main() { while(1) { for(t=0;t<3.14;t+=0.1) { P0=127+sin(t)*128; delay(1); } for(t=0;t<3.14;t+=0.1) { P0=128-sin(t)*127; delay(1); } } }