当前位置:首页 > 单片机 > 单片机
[导读]//==声明区========================================#include //定义8051暂存器之标头档, P2-17~19sbitbuzzer = P3^7;//声明蜂鸣器的位置sbitrelay = P3^6;//声明继电器的位置void delay(int);//声明延迟函数void p

//==声明区========================================

#include //定义8051暂存器之标头档, P2-17~19

sbitbuzzer = P3^7;//声明蜂鸣器的位置

sbitrelay = P3^6;//声明继电器的位置

void delay(int);//声明延迟函数

void pulse_BZ(int,int,int);//声明蜂鸣器发声函数

void pulse_RL(int,int,int);//声明继电器控制函数

//==主程序========================================

main()//主程序开始

{while(1)//无穷循环,程序一直跑*/

{pulse_RL(10,2000,2000);

//继电器使灯亮灭各10次,各2000 0.5m=1s

pulse_BZ(100,1,1);

//蜂鸣器第1声哔,约100*(0.5m+0.5m)=0.1s

delay(200);//延迟200 0.5ms=0.1s

pulse_BZ(100,1,1);

//蜂鸣器第2声哔,约100*(0.5m+0.5m)=0.1s

delay(200);//延迟200 0.5ms=0.1s

}//while循环结束

}//主程序结束

//==副程序=========================================

//延迟函数开始,延迟约x*0.5ms/

void delay(int x)//延迟函数开始

{int i,j;//声明整数变量i,j

for (i=0;i计数x次,延迟约x 0.5ms

for (j=0;j<60;j++); //计数60次,延迟约0.5ms

}//延迟函数结束

void pulse_BZ(int count,int TH,int TL)//蜂鸣器发声函数开始

{int i;//声明整数变量i/

for(i=0;i计数count次

{buzzer=1;//输出高态

delay(TH);//延迟TH 0.5ms

buzzer=0;//输出低态

delay(TL);//延迟TL 0.5ms

}//for循环结束

}//蜂鸣器发声函数结束

void pulse_RL(int count,int TH,int TL) //继电器控制函数开始

{int i;//声明整数变量i

for(i=0;i计数count次

{relay=1;//输出高态,继电器激磁(灯亮)

delay(TH);//延迟TH 0.5ms

relay=0;//输出低态,继电器消磁(灯灭)

delay(TL);//延迟TL 0.5ms

}//for循环结束

}//继电器控制函数结束思考``````


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭