
给电磁铁加电,电磁铁就工作,不加电,电磁铁的磁自然就没有了。电磁铁工作必须提供脉冲信号,所以明昌祥可以用定时器来做。
#include<reg51.h>sbit dct=P1^0
void delay(int a)
{
char i
while(a--)for(i=0i<110i++)
}
void t0isr() interrupt 1
{
dct=~dct
}
main()
{
TMOD=0x02
TH0=216
TL0=216
ET0=1
EA=1
dct=1
while(1)
{
TR0=1
delay(1000)//电磁铁工作迅猜1秒
激搏 TR0=0
dct=1
delay(10000)//停止工作10秒
}
}
你里面的 Printf()应该是小写, 结果是:
619.625000,-29.970915,8.623259,1.909263,1.625109,-3.936337,0.893177,1.515589,
23.226128,-7.184149,-4.326581,-0.438076,7.346054,0.010426,-2.266374,-3.185535,
11.797965,-0.277895,5.197155,-4.772082,-3.571826,4.160440,-0.261487,-3.506890,
2.299236,-10.742056,5.494944,0.791424,-1.028810,7.602942,3.791149,2.819872,
6.375104,2.510630,-1.549135,-1.074077,-3.625004,-0.796887,0.506375,8.723280,
0.739237,2.612109,0.717067,2.529723,-0.925830,3.206421,-2.944573,-2.792308,
-9.080985,-1.660178,-4.511485,1.742748,2.155988,1.549133,-1.697147,2.055332,
-3.625893,2.241254,5.354902,-1.960188,0.898635,-1.370055,1.828232,-3.313714,
代码:
#include"唯如STDIO.H"
#include"MATH.H"
#define M 8
#define N 8
#define P 3.141593
void Print(float a[M][N])
{ int i,j
for(i=0i<Mi++)
{for(j=0j<Nj++)
printf("%f,",a[i][j])
printf("\n")
}}
void Fast(float a[N][M], 指毁启float b[M][N])
{int i,j
for(i=0i<Mi++)
for(j=0j<Nj++)
a[j][i]=b[i][j]
}
void Mult(float a[M][N],float b[M][N] , float c[M][N])
{int i,j,k
float sum
for(i=0i<Mi++)
for(j=0j<Nj++)
{sum=0
for(k=0k<Nk++)
sum=sum+a[i][k]*b[k][j]
c[i][j]=sum
}}
main()
{float DCT[M][N],TDCT[N][M]
float 余姿temp[M][N],F[M][N]
float Ck
int i,j
float f[M][N]={79,75,79,82,82,86,94,94,76,78,76,82,83,86,85,94,72,75,67,78,80,78,74,82,74,76,75,75,86,80,81,79,73,70,75,67,78,78,79,85,69,63,68,69,75,78,82,80,76,76,71,71,67,79,80,83,72,77,78,69,75,75,78,78}
for(i=0i<Mi++)
{if(i==0) Ck=1.000000/sqrt(2)
else Ck=1
for(j=0j<Nj++)
DCT[i][j]=sqrt(2.000000/N)*Ck*cos((2*j+1)*i*P/(2*N))
}
Fast(TDCT,DCT)
Mult(DCT,f,temp)
Mult(temp,TDCT,F)
printf ("\n")
Print(F)
printf ("\n")
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)