• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

如何利用单片机控制开关来检测电网电压过零点的简单程序

程序如下:

#include

sbit sc=P1^0;    //检测电网电平
sbit kg=P1^7;    //开关检测
sbit sd=P0^7;    //输出


void delayms(unsigned char  i)
{
 unsigned char  j;

 while(i--)
 {
  for(j=0;j<116;j++)
  {
       ;
  }
 }
}
 
void GET_Z()
{
  while(sc==0)
 ; 
    while(sc==1)
 ;
}
void GET_K()
{
 bit k=1;
 while(k==1)
    {
      while(kg==0); 
     
   delayms(20);
   if(kg==1)
  k=0 ; 
     
    }
 k=1;
 while(k==1)
    {
      while(kg==1); 
     
   delayms(20);
   if(kg==0)
  k=0 ; 
     
    }
}  

void main()
{
 bit  R_P0;
      sd=0;
      R_P0=0;
   P1=0xFF;
   while(1)
   {
     GET_K();
   GET_Z();
   R_P0=~R_P0;
   sd=R_P0;
   delayms(100);
  
    }
}

全部回复(0)
正序查看
倒序查看
现在还没有回复呢,说说你的想法