75-喇叭发声原理
/*----------------------------------------------- 名称:喇叭 论坛:www.doflye.net 编写:shifang 日期:2009.5 修改:无 内容:通过发出一定频率方波,是喇叭发声 ------------------------------------------------*/ #include//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbit SPK=P1^2; //定义喇叭端口 /*------------------------------------------------ 函数声明 ------------------------------------------------*/ void DelayUs2x(unsigned char t);//函数声明 void DelayMs(unsigned char t); /*------------------------------------------------ 主函数 ------------------------------------------------*/ main() { while(1) { DelayMs(1); //发出大约500Hz的方波 频率越大声音越尖 SPK=!SPK; } } /*------------------------------------------------ uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0~255 这里使用晶振12M,精确延时请使用汇编,大致延时 长度如下 T=tx2+5 uS ------------------------------------------------*/ void DelayUs2x(unsigned char t) { while(--t); } /*------------------------------------------------ mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0~255 这里使用晶振12M,精确延时请使用汇编 ------------------------------------------------*/ void DelayMs(unsigned char t) { while(t--) { //大致延时1mS DelayUs2x(245); DelayUs2x(245); } }