一 主要涉及到的知识点:
1. 对系统默认的数据类型进行重定义,u8,u16;
2.延时函数,主要是将传过来的整数进行减减实现延时;
3.还用到了while()循环;
二 代码分析:
1. 首次定义一个变量,主要是为了延时蜂鸣器响亮的时长;
2.通过while()循环,使得Buzzer_Port产生脉冲信号,从而使蜂鸣器响;
3.最后将i清零,然后将Buzzer_Port置0关闭蜂鸣器;
三 源代码:
//5-蜂鸣器实验
#include "reg52.h"
//对系统默认的数据类型进行重定义
typedef unsigned char u8;
typedef unsigned int u16;
//延时函数定义
void delay_10us(u16 tiem_num_us)
{
while(tiem_num_us--);
}
sbit Buzzer_Port = P2^5; //将P2.5管脚定义为Buzzer_Port
int main()
{
u16 i = 2000;
while(1)
{
while(i--)//循环2000次
{
Buzzer_Port = !Buzzer_Port; //产生一定频率的脉冲信号
delay_10us(100);
}
i = 0; //清零
Buzzer_Port = 0; //关闭蜂鸣器
}
return 0;
}