新闻中心

EEPW首页>嵌入式系统>设计应用> STC89C52单片机蜂鸣器实验

STC89C52单片机蜂鸣器实验

作者: 时间:2016-11-21 来源:网络 收藏

//////////////////////////////////////////////////////////////////////////
实现功能:打开实验板上的蜂鸣器,响0.3秒,然后关闭0.3秒,然后依次这样循环
实验板型号:KBL-XYD-C52
实验名称:蜂鸣器实验
编写人:谢应东
编写日期:2012-4-25
//////////////////////////////////////////////////////////////////////////
#include

#define uchar unsigned char //定义unsigned char 为 uchar
#define uint unsigned int

本文引用地址://m.amcfsurvey.com/article/201611/319227.htm

sbit FMQ=P2^4;

#define FMQ_ONFMQ=0
#define FMQ_OFF FMQ=1

//////////////////////////////////////////////////////////////////////////
函数名称:毫秒延时函数
函数功能:实现毫秒级的延时
参数介绍:Delay_MS: 定义需要延时的毫秒的数值
iNumber: 记录Delay_MS的数值,以for语句实现所要求的延时
iValue: 要延时毫秒所要进行的循环数值,本数值为实际测得
返回值:
注意事项:本实验是在所用晶振为12M的前提下实现的毫秒延时,本函数是通过循环的形
式完成,所以如果改变了晶振的频率,请做相应的改变
//////////////////////////////////////////////////////////////////////////
void DelayMs(uint Delay_MS)
{
uint iNumber,iValue;
for(iNumber=0;iNumber {
iValue=107;
while(iValue--);
}
}
//////////////////////////////////////////////////////////////////////////
函数名称:main
函数功能:完成打开蜂鸣器,延时0.3秒,然后关闭0.3秒,这样依次循环
参数介绍:无
返回值:
注意事项:无
//////////////////////////////////////////////////////////////////////////

void main()
{
while(1)
{
FMQ_ON;//打开蜂鸣器
DelayMs(300);//延时0.3秒
FMQ_OFF;//关闭蜂鸣器
DelayMs(300);//延时0.3秒
}
}



评论


技术专区

关闭