#include <reg52.h>
#include <intrins.h>
sbit trumpet = P3^4;
sbit D0_ON = P3^3;
sbit D1_OFF = P3^2;
sbit vibrate = P3^1;
void Delay2000ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
i = 15;
j = 2;
k = 235;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void Delay100ms() //@11.0592MHz
{
unsigned char i, j;
i = 180;
j = 73;
do
{
while (--j);
} while (--i);
}
void main(){
int mark = 0;
while(1){
if(D0_ON == 1){
mark = 1;
trumpet = 1;
Delay2000ms();
trumpet = 0;
}
if(D1_OFF == 1){
mark = 0;
trumpet = 1;
Delay100ms();
trumpet = 0;
}
if(mark == 0){
if(vibrate == 0){
trumpet = 1;
Delay2000ms();
Delay2000ms();
}else{
trumpet =0;
}
}
}
}
材料 STC89C52RC开发板,振动传感器模块,蜂鸣器模块,433M无线模块