单片机对继电器的控制

    说实话,继电器虽然简单,但没有用到之前,还真不知道该怎么使用。

    有一个毕业设计找到我,这个毕业设计好像是类似给鱼缸换水的一个系统,我需要做的是做一个单片机系统可以控制220v交流供电的一个抽水电机的工作与否。

   先来看看实物图吧:

单片机对继电器的控制_第1张图片

下面是原理图:

单片机对继电器的控制_第2张图片我只画了继电器的驱动部分,剩下的就是单片机的最小系统和 供电系统实在没啥好画的。

 

程序:
#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

sbit RELAY=P1^3;    //定义继电器端口
unsigned int i=0;

/*------------------------------------------------
                    定时器初始化子程序
------------------------------------------------*/
void Init_Timer1(void)
{
 TMOD |= 0x10;   //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
 TH1=0x00;       //给定初值,这里使用定时器最大值从0开始计数一直到65535溢出
 TL1=0x00;
 EA=1;            //总中断打开
 ET1=1;           //定时器中断打开
 TR1=1;           //定时器开关打开
}
/*------------------------------------------------
                    主程序
------------------------------------------------*/
main()
{
 Init_Timer1();
 while(1);
}

 /* 定时器中断子程序*/

void Timer1_isr(void) interrupt 3 using 1
{
 
  TH1=0x00;   //重新赋值
  TL1=0x00;
   
  i++;
  if(i == 60)
  {
   RELAY=~RELAY;       //继电器反转
  }
  if(i == 61)
  {
  i=0;
  }  
 
}

     特别简单的一个东西,如果有朋友做类似的东西,我们可以一块儿交流一下,其实这个东西我们可以做得好一点,当时只是要的特别急而且给的薪酬也不是太多,就做的相对简单了点,比如我们可以自己做一个开关电源实现单片机系统和电机的统一供电等等。

 

你可能感兴趣的:(单片机)