【51微控制器】驅動繼電器實驗程式碼
阿新 • • 發佈:2018-12-22
//驅動繼電器實驗
#include <reg52.h>
sbit buzzer = P3^7; //宣告蜂鳴器位置
sbit relay = 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.5ms=1s(接上燈可以觀察到亮滅)
pulse_BZ(100,1,1) ;
delay(200);
//蜂鳴器響第一聲後延遲200×0.5ms=0.1s
pulse_BZ(100,1,1);
delay(200);
//蜂鳴器響第二聲後延遲200×0.5ms=0.1s
}
}
//延遲函式。
void delay(int n)
{
int i,j;
for(j=0;j<n;j++) //大迴圈n次,用時n×0.5ms
for(i=0;i<60;i++); //小迴圈60次,用時0.5ms
}
//蜂鳴器發聲函式。
void pulse_BZ(int count, int TH, int TL)
{
int i;
for(i=0;i<count;i++)
{
buzzer = 1;
delay(TH);
buzzer = 0;
delay(TL);
}
}
//繼電器控制函式。
void pulse_RL(int count, int TH, int TL)
{
int i;
for(i=0;i<count;i++)
{
relay = 1;
delay(TH);
relay = 0;
delay(TL);
}
}