这个简单,把两个方波进行异或,用430单片机的定时器A测量异或后的方波的脉冲宽度,在对测量数据进行简单的计算就可得到相位差。。。具体程序如下:
P1SEL
|=
BIT2;
//设置P12端口为功能模块使用
TACTL
|=TACLR;
TACTL
=
TASSEL_2+TAIE+MC1;
//定时器A时钟信号选择SMCLK
8M,清计数寄存器,使能中断,同时设置定时器A计数模式为连续增计模式
CCTL1
=CM0+SCS+CAP+CCIE;
//输入上升沿捕获,同步,capture模式
CCI0A为捕获信号源,中断使能
//TACCTL1
&=~CCIFG;
//清CCR2
的标志位
//中断允许
_EINT();
LPM0;
}
#pragma
vector=TIMERA1_VECTOR
//定时器A中断处理
__interrupt
void
timer_a(void)
{
switch(TAIV)
//向量查询
{
case
2:
//捕获中断
if(CCTL1&CM0)
//上升沿
{
CCTL1=(CCTL1&(~CM0))|CM1;
//更变设置为下降沿触发
start=TACCR1;
//记录初始时间
overflow=0;
//溢出计数变量复位
}
else
if(CCTL1&CM1)
//下降沿
{
CCTL1=(CCTL1&(~CM1))|CM0;
//更变设置为上升沿触发
end=TACCR1;
//用start,end,overflow计算脉冲宽度
TACTL
&=~TAIE;
//不使能中断
CCTL1
&=~CCIE;
P1SEL
&=~BIT2;
_DINT();
LPM0_EXIT;
}
break;
case
10:
//定时器溢出中断
overflow++;
break;
//溢出计数加1
default:break;
}
}
然后再对得到的start,end,overflow处理计算即可。。。
Sub MergeSort(Array() As Integer, First As Integer, Last As Integer)
Dim mid As Integer = 0
If first<last Then
mid = (first+last)\ 2
MergeSort(Array, first, mid);
MergeSort(Array, mid+1, last);
Merge(Array, first, mid, last);
End If
End Sub
/
以下示例代码实现了归并 *** 作。array[]是元素序列,其中从索引p开始到q位置,按照升序排列,同时,从(q+1)到r也已经按照升序排列,merge()函数将把这两个已经排序好的子序列合并成一个排序序列。结果放到array中。
/
/
0 <= p <= q < r, subarray array[pq] and array[q+1r] are already sorted
the merge() function merges the two sub-arrays into one sorted array
/
void Merge(int array[], int p, int q, int r)
{
int i,k;
int begin1,end1,begin2,end2;
int temp = (int)malloc((r-p+1)sizeof(int));
begin1 = p;
end1 = q;
begin2 = q+1;
end2 = r;
k = 0;
while((begin1 <= end1)&&( begin2 <= end2))
{
if(array[begin1] <= array[begin2]){
temp[k] = array[begin1];
begin1++;
}
else
{
temp[k] = array[begin2];
begin2++;
}
k++;
}
while(begin1<=end1 || begin2<=end2)
{
if(begin1<=end1)
{
temp[k++] = array[begin1++];
}
if(begin2<=end2)
{
temp[k++] = array[begin2++];
}
}
for (i = 0; i < =(r - p); i++)
array[p+i] = temp[i];
free(temp);
}
以上就是关于msp430单片机用定时器A测量方波相位差的程序如何编写真的很急!拜托了!全部的内容,包括:msp430单片机用定时器A测量方波相位差的程序如何编写真的很急!拜托了!、pca测量2个信号相位差的程序框图、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)