measure_waterlevel.c

来自「用凌阳单片机编写用超声波水位测量程序」· C语言 代码 · 共 52 行

C
52
字号
#include "hardware.h"
#include "Try1.h"
#include "Init_System.h"

unsigned long g_UltraSonic_Count[8];
unsigned int g_UltraSonic_Count1;
int g_UltraSonic_Height_Act;

void Measure_WaterLevel()
{


	int i;
	unsigned long sum,avrg;

	g_UltraSonic_Count1 = 0;
	sum = 0;
	avrg = 0;

	for(i=0;i<8;i++)
	{
		g_UltraSonic_Count[i] = 0;
	}	
	STOP_UART_INT;
	for(i=0;i<8;i++)
	{
		*P_TimerA_Data = 0x0000;
		*P_INT_Ctrl=(C_IRQ3_EXT2|C_IRQ1_TMA);
		SET_IOB(4);
		Delay(7);
		CLEAR_IOB(4);
		*P_TimerA_Data = 0x0000;
		Delay(10000);
	}
	
	*P_INT_Ctrl=(C_IRQ5_4Hz);
	RUN_UART_INT;
	
	g_UltraSonic_Count1 = 0;

	*P_INT_Ctrl=(C_IRQ5_4Hz);
	
	for(i=0;i<8;i++)
	{
		sum += g_UltraSonic_Count[i];
	}
	avrg = sum>>3;
	g_UltraSonic_Height_Act = ((298-(avrg>>7))*1.11);
	
	DispValue(g_UltraSonic_Height_Act,ACT);
	CLEAR_WATCHDOG;
}

⌨️ 快捷键说明

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