#include "stm32f10x.h"//蜂鸣器的VCC接5V,IO口接地,GND和单片机B1脚之间接滑动变
#define SCL0 GPIO_ResetBits(GPIOB,GPIO_Pin_0)
#define SCL1 GPIO_SetBits(GPIOB,GPIO_Pin_0)
#define SDA0 GPIO_ResetBits(GPIOB,GPIO_Pin_1)
#define SDA1 GPIO_SetBits(GPIOB,GPIO_Pin_1)
#define Play100 for(i=0;i<30;i++) {SDA1;delay(1e4);SDA0;delay(1e4);}
#define Play101 for(i=0;i<60;i++) {SDA1;delay(5000);SDA0;delay(5000);}
#define Play102 for(i=0;i<67;i++) {SDA1;delay(4500);SDA0;delay(4500);}
#define Play103 for(i=0;i<75;i++) {SDA1;delay(4000);SDA0;delay(4000);}
#define Play104 for(i=0;i<80;i++) {SDA1;delay(3750);SDA0;delay(3750);}
#define Play105 for(i=0;i<90;i++) {SDA1;delay(3333);SDA0;delay(3333);}
#define Play106 for(i=0;i<100;i++){SDA1;delay(3000);SDA0;delay(3000);}
#define Play107 for(i=0;i<112;i++){SDA1;delay(2700);SDA0;delay(2700);}
#define Play111 for(i=0;i<119;i++){SDA1;delay(2523);SDA0;delay(2523);}
#define Play112 for(i=0;i<133;i++){SDA1;delay(2250);SDA0;delay(2250);}
#define Play113 for(i=0;i<150;i++){SDA1;delay(2000);SDA0;delay(2000);}
#define Play114 for(i=0;i<160;i++){SDA1;delay(1875);SDA0;delay(1875);}
#define Play115 for(i=0;i<180;i++){SDA1;delay(1667);SDA0;delay(1667);}
#define Play116 for(i=0;i<200;i++){SDA1;delay(1500);SDA0;delay(1500);}
#define Play117 for(i=0;i<225;i++){SDA1;delay(1333);SDA0;delay(1333);}
#define Play121 for(i=0;i<240;i++){SDA1;delay(1250);SDA0;delay(1250);}
#define Play200 for(i=0;i<60;i++) {SDA1;delay(1e4);SDA0;delay(1e4);}
#define Play201 for(i=0;i<120;i++) {SDA1;delay(5000);SDA0;delay(5000);}
#define Play202 for(i=0;i<133;i++) {SDA1;delay(4500);SDA0;delay(4500);}
#define Play203 for(i=0;i<150;i++) {SDA1;delay(4000);SDA0;delay(4000);}
#define Play204 for(i=0;i<160;i++) {SDA1;delay(3750);SDA0;delay(3750);}
#define Play205 for(i=0;i<180;i++) {SDA1;delay(3333);SDA0;delay(3333);}
#define Play206 for(i=0;i<200;i++){SDA1;delay(3000);SDA0;delay(3000);}
#define Play207 for(i=0;i<224;i++){SDA1;delay(2700);SDA0;delay(2700);}
#define Play211 for(i=0;i<238;i++){SDA1;delay(2523);SDA0;delay(2523);}
#define Play212 for(i=0;i<267;i++){SDA1;delay(2250);SDA0;delay(2250);}
#define Play213 for(i=0;i<300;i++){SDA1;delay(2000);SDA0;delay(2000);}
#define Play214 for(i=0;i<320;i++){SDA1;delay(1875);SDA0;delay(1875);}
#define Play215 for(i=0;i<360;i++){SDA1;delay(1667);SDA0;delay(1667);}
#define Play216 for(i=0;i<400;i++){SDA1;delay(1500);SDA0;delay(1500);}
#define Play217 for(i=0;i<450;i++){SDA1;delay(1333);SDA0;delay(1333);}
#define Play221 for(i=0;i<480;i++){SDA1;delay(1250);SDA0;delay(1250);}
void signbit(){}
void delay(__IO uint32_t i){for(;i!=0;i--);}//us
int main(){
int i;
GPIO_InitTypeDef GPIO;
GPIO.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
GPIO.GPIO_Speed = GPIO_Speed_50MHz;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_Init(GPIOB,&GPIO);
GPIO_SetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1);
while(1){
Play200 Play211 Play212 Play213 Play215 Play213 Play213 Play213
Play212 Play211 Play212 Play212 Play211 Play206 Play211 Play212
Play213 Play213 Play200 Play200
Play211 Play206 Play211 Play200 Play205 Play212 Play211 Play200
Play213 Play212 Play212 Play211 Play212 Play211 Play212 Play213
Play215 Play213 Play213 Play200 Play212 Play211 Play212 Play200
Play211 Play206 Play211 Play215 Play213 Play213 Play200 Play200
Play211 Play206 Play211 Play200 Play205 Play212 Play211 Play200
Play213 Play212 Play211 Play206 Play211 Play211 Play211 Play211
}
}