|
51单片机波形发生器
- #include<reg51.h>
- #include<math.h>
- unsigned char biao=0;
- void delay(unsigned char m)
- {
- while(--m!=0);
- }
- void bo() interrupt 0
- {
- if(++biao==4)
- {biao=0;}
- }
- void main()
- {
- unsigned char i=0;
- float j=0.0;
- IT0=1;
- EX0=1;
- EA=1;
- while(1)
- {
- switch(biao)
- {
- case 0: for(i=0;i<255;i++)
- {
- P1=i;
- }
- for(i=255;i>0;i--)
- {
- P1=i;
-
- }
- break;
- case 1:P1=0;
- delay(100);
- P1=0xff;
- delay(100);
- break;
- case 2: for(i=255;i>0;i--)
- P1=i;
- break;
- case 3: for(j=0;j<6.28;j+=0.02)
- {
- P1=(1+sin(j))*(2*2*2*2*2*2*2);
- for(i=0;i<200;i++)
- delay(20);
- }
- break;
- default : P1=0;
-
- }
- }
- }
复制代码
|
评分
-
查看全部评分
|