⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testfun.c

📁 KEIL C编译 到位监控程序
💻 C
字号:
#include "AT89X51.h"
#include "main.h"
#include <intrins.h>
#include <absacc.h>

extern bit timerHap;	//定时器到时
extern bit fan1;	    //
extern bit fan2;	//
extern bit cardlamp;	//
extern bit mainlamp;	//

extern BYTE bdata lock;	//光电传感器状态保存, 用于去抖
extern bit CoinDoorCtl;            //硬币投币口  开关
extern bit MainLampCtl;            //维修照明灯 嵊州忠欧 0575-83218520 13967418522
extern bit CardLampCtl;            //出卡处照明灯
extern bit Fan1Ctl;                //排风扇1
extern bit Fan2Ctl;                //排风扇2

extern uchar ACK_BUF[LENMAX];                //Command in length=3 数据(命令) 接收 缓冲区

extern uchar CMDIN[LENMAX];                //Command in length=3 数据(命令) 接收 缓冲区


extern BYTE bdata outputByte2;   //XBYTE[0x1000];
extern bit OLT8;  //控制投币口   开 关
extern bit OLT9;  //控制维修灯   亮 灭 
extern bit OLTA;  //控制出卡处灯 亮 灭
extern bit OLTB;  //控制出卡处灯 亮 灭
/*
BOOL controlDoor_1(BOOL control)    //硬币投币入口门
{
if(control==OPEN)
  {
   if(isInCoinDoor())//前门的确关着           1
    { 
      InCoinDoor(OPEN);
      setTimer(1000);
      while(isInCoinDoor()) //门已经微开      0
       {
       if(_testbit_(timerHap))
	     {
          InCoinDoor(CLOSE);  //无法微开,直接停止
	      return FALSE;  
	     }
       }

      setTimer(1500);
	  while(!isInCoinDoor()) //门完全开       1
	   {
        if(_testbit_(timerHap))
	      {
          InCoinDoor(CLOSE);  //门无法完全开,直接停止
	      return FALSE;
	      }
       }
      return TRUE;
	}
   else
    {
	 InCoinDoor(CLOSE);  //门无法完全关,直接停止
	 return FALSE; //开始就没有完全关
    }
  }
else//(control==CLOSE)
 {
   if(isInCoinDoor())//前门的确关着           1
    { 
      InCoinDoor(CLOSE);
      setTimer(1000);
      while(isInCoinDoor()) //门已经微开      0
      {
       if(_testbit_(timerHap))
	     {
          InCoinDoor(CLOSE);  //无法微开,直接停止
	      return FALSE;  
	     }
      }

      setTimer(1500);
	  while(!isInCoinDoor()) //门完全关      1
	  {
       if(_testbit_(timerHap))
	      {
          InCoinDoor(CLOSE);  //门无法完全关,直接停止
	      return FALSE;
	      }
       }
      return TRUE;
	}
   else
    {
	 InCoinDoor(CLOSE);  //
	 return FALSE; //开始就没有完全开
    }
 }
} */



//
void runFan1(BOOL control)
{
if(control==OPEN) { fan1=1;}
else fan1=0;
}

void runFan2(BOOL control)
{
if(control==OPEN) { fan2=1;}
else fan2=0;
}

void runCardLamp(BOOL control) //////////
{
if(control==OPEN) { OLTA=0;OLTB=0;}
else { OLTA=1;OLTB=1;}
XBYTE[0x1000] = outputByte2;
}

void runMainLamp(BOOL control)////////////
{
if(control==OPEN) { OLT9=0;}
else OLT9=1;
XBYTE[0x1000] = outputByte2;
}


void isLock0_4(void)
{
//CoinDoorCtl=controlDoor_1(0);
CoinDoorCtl=isInCoinDoor();
MainLampCtl=mainlamp;
CardLampCtl=cardlamp;
Fan1Ctl=fan1;
Fan2Ctl=fan2;
}


void off5Cell()
{
InCoinDoor(CLOSE);
mainlamp=0;
cardlamp=0;
fan1=0;
fan2=0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -