查看: 1336|回复: 0
打印 上一主题 下一主题

继电器吸合分断实验 程序

[复制链接]
跳转到指定楼层
沙发
发表于 2015-10-8 17:37:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/;*标题:  嘉乐电子JL51开发板演示程序--继电器吸合分断实验      
//;*文件:   relayCrl.c                     
//;*版本:   1.0
//;*作者:   嘉乐电子   

//;*****************************************************************************                                                                                                                                          
//;*:    描述:     
//;*:             按K1吸合,按K2停止,数码管显示0表示分断,显示1表示吸合。
//;*:                        
//;******************************************************************************
//;* 【版权】 Copyright(C)嘉乐电子  All Rights  Reserved   
//;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  
//;******************************************************************************
//继电器控制程序

#include <reg52.h>
#include <stdio.h>
#define uchar unsigned char
#define uint  unsigned int
sbit P20 =P2^0; /* 数码管位控制 */
sbit K1 =P3^2;  /* 启动键 */
sbit K2 =P3^3;  /* 停止键 */
sbit relay =P3^7;  /* 继电器控制引脚 */

bit flag; /* 继电器吸合分断标志 */

uchar code  seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};  /* 数码管显示段表*/

/* 延时函数 */
void Delay(uint m)//延时函数
  {  uchar i;
     for(;m>0;m--)
       {for(i=0;i<125;i++)
           {;}
      }
  }

/* 按键检测程序*/
key()   
{ if(K1==0)
     { Delay(10);
       if(K1==0)
         { while(!K1==1);
           flag=1;

         }
     }
   else if(K2==0)
    { Delay(10);
        if(K2==0)
           {  while(!K2==1);
              flag=0;

           }
    }
return(flag);
  }
/* 主程序 */
void main()
{   while(1)
      { key();
        if(flag==1)
          { relay=0;
            P20=0;
            P0=seg[1];
          }
       else
         { relay=1;
           P20=0;
           P0=seg[0];
         }
       }
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表