空气钢琴单片机源程序如下:
- #include<reg52.h>
- #define unchar unsigned char
- #define unint unsigned int
- sbit echo=P2^3;
- sbit trig=P2^4;
- sbit voi=P2^0;
- unchar i;
- unint a;
- void getdist()
- {
- trig=1;
- i=4;
- while(i--);
- trig=0;
- while(i<8)
- {
- if(echo==1)
- {
- while(echo);
- i++;
- }
- }
- a=0;
- while(echo==0);
- TR0=1;
- while(echo==1)
- {
- if(a>5000)
- {
- i=55;
- break;
- }
- }
- TR0=0;
- //a=a/100; //距离单位mm
- }
- void main()
- {
- //unchar j=1;
- TMOD &= 0xF0; //设置定时器模式
- TMOD |= 0x02; //设置定时器模式
- TL0 = 0x55; //设置定时初值
- TH0 = 0x55; //设置定时初值
- TF0 = 0; //清除TF0标志
- ET0=1;
- EA=1;
- voi=0;
- voi=0;
- while(1)
- {
- getdist();
- if(i==55)
- a=100;
- while(a--);
- if(voi==1)
- voi=0;
- else
- voi=1;
- }
- }
- void delay50us() interrupt 1
- {
- a++;
- }
复制代码
所有资料51hei提供下载:
空气钢琴.rar
(18.27 KB, 下载次数: 6)
|