- /**************************************************************************************
- 实验名称:蜂鸣器实验
- 接线说明:
- 实验现象:下载程序后蜂鸣器发出声音,一段时间后关闭
- 注意事项:
- ***************************************************************************************/
- #include "reg52.h"
- typedef unsigned int u16; //对系统默认数据类型进行重定义
- typedef unsigned char u8;
- sbit BEEP=P2^5; //将P2.5管脚定义为BEEP
- /*******************************************************************************
- * 函 数 名 : delay_10us
- * 函数功能 : 延时函数,ten_us=1时,大约延时10us
- * 输 入 : ten_us
- * 输 出 : 无
- *******************************************************************************/
- void delay_10us(u16 ten_us)
- {
- while(ten_us--);
- }
- /*******************************************************************************
- * 函 数 名 : main
- * 函数功能 : 主函数
- * 输 入 : 无
- * 输 出 : 无
- *******************************************************************************/
- void main()
- {
- u16 i=2000;
- while(1)
- {
- while(i--)//循环2000次
- {
- BEEP=!BEEP;//产生一定频率的脉冲信号
- delay_10us(100);
- }
- i=0;//清零
- BEEP=1;//关闭蜂鸣器,关闭第六个LED.因为BEEP是由P2^5引脚控制,P2^5同时控制LED6,对于蜂鸣器BEEP为高电平还是低电平都没有关系,因为只有脉冲信号才能使无源蜂鸣器工作。将BEEP设置为高电平,是因为P2^5默认输出的就是高电平。
- }
- }
复制代码
|