51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验四 蜂鸣器

目录

前言

一、原理图及知识点介绍

1.1、蜂鸣器原理图:

 二、代码分析


前言

第一个实验:51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验一 点亮第一个LED_ManGo CHEN的博客-CSDN博客

第二个实验:51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验二 LED闪烁_ManGo CHEN的博客-CSDN博客

第三个实验:51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验三 LED流水灯_ManGo CHEN的博客-CSDN博客

第四个实验:蜂鸣器

一、原理图及知识点介绍

1.1、蜂鸣器原理图:

蜂鸣器电路如下图:

51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验四 蜂鸣器_第1张图片

蜂鸣器的原理参考下面这篇博文:单片机_CT107D训练平台电路原理图\蓝桥杯训练板\输入输出模块\矩阵按键\蜂鸣器电路\继电器电路\LM386功率放大电路,驱动扬声器_ct107d单片机_ManGo CHEN的博客-CSDN博客

 二、代码分析

先来介绍一下工程:

 下面我们就直接上代码:

/**************************************************************************************
*		              蜂鸣器实验												  *
实现现象:下载程序后蜂鸣器发声
注意事项:无																				  
***************************************************************************************/

#include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器
#include		//因为要用到左右移函数,所以加入这个头文件

typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;

sbit beep=P1^5;	   

/*******************************************************************************
* 函 数 名         : delay
* 函数功能		   : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
	while(i--);	
}

/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void main()
{	
	while(1)
	{	
		beep=~beep;
		delay(10); //延时大约100us   通过修改此延时时间达到不同的发声效果	
	}
}

这里面的程序很简单,本节主要是蜂鸣器的原理理解:有源与无源的原理请参考:

单片机_CT107D训练平台电路原理图\蓝桥杯训练板\输入输出模块\矩阵按键\蜂鸣器电路\继电器电路\LM386功率放大电路,驱动扬声器_ct107d单片机_ManGo CHEN的博客-CSDN博客

你可能感兴趣的:(51单片机,嵌入式硬件,单片机)