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

📄 scan.c

📁 湖北水文信息系统水位雨量采集器的C51源代码
💻 C
字号:
#include "scan.h"
#include "ioport.h"
#include "string.h"
#include <SM89516A.H>
#include "common.h"
#include "process.h"
#include "recframe.h"

unsigned char water[2];

uint  xdata Scan_WaterLevel[5];
ulong xdata WaterLevel;
ulong xdata Basic_WaterLevel=0;

ulong xdata RainFall;
uchar xdata Mult_Rainfall=0;
uint  xdata Scan_RainFall=0;

uchar io_status;                      
uchar bak_status; 

void Scan_Level(void)
{
	water1=0xff;
	water2=0x0f;
	water[1]=water1;
	water[0]=water2&0x0f;	
}

void Scan_Rain(void)
{
	if((rain&0x80)==0x00)  
	{
			io_status=1;
			bak_status=1;			
	}
	else  
		  io_status=0;
} 

void count(void)
{
                                        //去掉了RainFall++;  by xupeng		
    Scan_RainFall++;
}

void Rain_Process(void)
{
	if((io_status==0)&&(bak_status==1))
	{
			bak_status=0;	
			count();  
	} 
}  

unsigned int gray_to_bin(unsigned int tmp)
{
	unsigned int x=tmp;
	
	while(x>>=1)
	{
			tmp^=x;
	}
	
	return tmp;	
}  

void Level_Process(void)
{
	static unsigned char i=0;	
	unsigned int in_waterlevel=0;
	unsigned int out_waterlevel=0;
	
	in_waterlevel=((water[0]&0x0f)<<8)|water[1];
	
	out_waterlevel=gray_to_bin(in_waterlevel);

	Scan_WaterLevel[i]=out_waterlevel;	
	
	i++;
	if(i>=5) i=0;
}



⌨️ 快捷键说明

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