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

📄 dealmoney.c

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

extern BYTE workState;	//工作状态
extern bit timerHap;	//定时器到时
//输出数组
extern uchar ACK_BUF[LENMAX];                //Command in length=3 数据(命令) 接收 缓冲区
extern uchar CMDIN[LENMAX];                //Command in length=3 数据(命令) 接收 缓冲区

extern BYTE bdata sensor;
extern BYTE bdata lock;

BYTE bdata ctrl;
sbit ctrlInCoin    = ctrl^0;      //
sbit ctrlMainLamp  = ctrl^1;    //
sbit ctrlCardLamp  = ctrl^2;     //
sbit ctrlfan1      = ctrl^3;    //
sbit ctrlfan2      = ctrl^4;     //

void REPORT()//80
{
   off5Cell();
   ACK_BUF[0]=0x80;
		   ACK_BUF[1]=0x00;
		   ACK_BUF[2]=CE_OK;
		  // ACK_BUF[3]=0x00;ACK_BUF[4]=0x00;ACK_BUF[5]=0x00;ACK_BUF[6]=0x00;
           //ACK_BUF[7]=0x00;ACK_BUF[8]=0x00;
		   readState();
           ACK_BUF[9]=sensor;
           //ACK_BUF[10]=0x00;/////
           ACK_BUF[11]=0x00;
           sendtext(ACK_BUF,12);
		   workState = HALT_STATUS;  
}

void ReadeBox()//21
{ 
  //动作      
  ACK_BUF[0]=0x21;
		   ACK_BUF[1]=0x00;
		   ACK_BUF[2]=CE_OK;
		  // ACK_BUF[3]=0x00;ACK_BUF[4]=0x00;ACK_BUF[5]=0x00;ACK_BUF[6]=0x00;
           //ACK_BUF[7]=0x00;ACK_BUF[8]=0x00;
		   readState();
           ACK_BUF[9]=sensor;
           ACK_BUF[10]=lock;//////
           ACK_BUF[11]=0x00;
           sendtext(ACK_BUF,12);
		   workState = HALT_STATUS; 
}

void DETECT()//22
{
 ACK_BUF[0]=0x22;
		   ACK_BUF[1]=0x00;
		   ACK_BUF[2]=CE_OK;
		   readState();
		   ACK_BUF[3]=sensor;//动作
		   ACK_BUF[4]=lock; /////
		   ACK_BUF[5]=0x00;
           sendtext(ACK_BUF,6);
		   workState = HALT_STATUS; 
}   

void ONOFF24V()//23  //好比初始化
{
 //动作
if(CMDIN[4]==0xAA) control24V(OPEN);
else control24V(CLOSE); //if(CMDIN[]==0x55) control24V(CLOSE);
 
ACK_BUF[0]=0x23;
		   ACK_BUF[1]=0x00;
		   ACK_BUF[2]=CE_OK;
		   readState();
		   ACK_BUF[3]=sensor;
		   ACK_BUF[4]=lock; /////
		   ACK_BUF[5]=0x00;
           sendtext(ACK_BUF,6);
		   workState = HALT_STATUS; 
}   

void CONTROL()//24
{
 uint delaytime;
 ctrl=CMDIN[5];
 if(CMDIN[4]>=0x80)
   {
    if(ctrlInCoin) { InCoinDoor(OPEN); }/////////////////////////
	else { InCoinDoor(CLOSE); }//////////////////////////////////
    if(ctrlCardLamp) { runCardLamp(OPEN); }
	else { runCardLamp(CLOSE); }
	if(ctrlMainLamp) { runMainLamp(OPEN); }
	else { runMainLamp(CLOSE); }
    if(ctrlfan1) { runFan1(OPEN); }
	else { runFan1(CLOSE); }
    if(ctrlfan2) { runFan2(OPEN); }
	else { runFan2(CLOSE); }
	}
 else//目前只对出票口 灯有效
    {
	 runCardLamp(OPEN);
     delaytime=CMDIN[4];
     delaytime=delaytime*100;
     setTimer(delaytime);
     while(!timerHap); ///////////////////////
	 runCardLamp(CLOSE);
	}

 ACK_BUF[0]=0x23;
		   ACK_BUF[1]=0x00;
		   ACK_BUF[2]=CE_OK;
		   readState();   //动作  
		   ACK_BUF[3]=sensor;
		   ACK_BUF[4]=lock; /////
		   ACK_BUF[5]=0x00;
           sendtext(ACK_BUF,6);
		   workState = HALT_STATUS; 
}

/*void SeteBox()//30
{

}*/


void readState()
{
isInCoinDoor();
isCoinBox();
isRmbOut();
isCoiner();      
isRmbIn();
isProvider();
isDoor();
isAAA();

isLock0_4();   //function in testfun.c
isCoinBoxCtl();
isBigBoxDoor();//大钱箱门
isDoorLock();
}

⌨️ 快捷键说明

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