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

📄 phasemeasurexcx.c

📁 本代码为一个相位控制器的源程序
💻 C
字号:
#include <reg52.h>
#include <source7279.h>

#define uchar unsigned char
#define uint unsigned int

void dis_phase();


uint Afre;
uint phase_dif;

uchar count_time1;

bit lag_flag;
bit horl_flag;
bit result_flag;

sbit lag=P1^2;



void Time1_initial()
{
	
	TR1=0;
	TF1=0;
	TH1=0x3c;
	TL1=0xb0;
	TCON=0x50;
}


main()
{
	ET1=1;
	EX0=1;
	EA=0;
	Time1_initial();
	while(1)
	{
		if(Afre)
		{
			P0=Afre;
		}	
		if(result_flag)
		{
			dis_phase();
		}
	}
}


void dis_phase()
{

	uchar digit0,digit1,digit2,digit3;
	uint digit;
	digit=phase_dif;
	digit0=digit%10;
	digit=digit/10;
	digit1=digit%10|0x80;
	digit=digit/10;
	digit2=digit%10;
	digit3=digit/10;
	write7279(DECODE1,digit0);
	write7279(DECODE1+1,digit1);
	write7279(DECODE1+2,digit2);
	write7279(DECODE1+3,digit3);
	if(lag)
		write7279(UNDECODE+7,1);
}


void Time1() interrupt 3 using 0
{
	Time1_initial();
	count_time1++;
	if(count_time1==20)
	{
		TR0=0;	
		Afre=T0;
		T0=0;
	}
	if(count_time1==50)
	{
		count_time1=0;
	}
	
}

void Int0_ser() interrupt 0 using 0
{
	if(!horl_flag)
	{
		phase_dif=P1;
		horl_flag=1;
	}
	else
	{
		result_flag=1;
		phase_dif=phase_dif<<8|P1;
		horl_flag=0;
	}
	
}

⌨️ 快捷键说明

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