📄 phasemeasurexcx.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 + -