Ⅰ 請問單片機C語言怎麼編程檢測正統波信號的最大值
應該是正玄波吧?
先用AD轉換晶元轉換成數字值。存放起來。既然是正玄波,那麼就要采樣至少一個周期(正負都要采樣)。可以這樣做:
1.開始采樣時,啟動定時器定時1/50s,當御薯定時器定時時間到時做最後一次采樣,因為是正玄裂拆旅波,理論上剛開始采樣的值和最後采樣的值應該一樣。
2.求肆凳出這組書中的最大值(應該有兩個,負的最大值和正的最大值)。
Ⅱ 編寫簡單的單片機c語言程序 1、指定數組找最大值 2、排序
就是一般的排序演算法,與查找演算法一樣,這個的都不會嗎
float
a[3],max=0;
for(i=0;i<=2;i++)
{
printf("冊畢Please
enter
the
mark:");
scanf("%f"敬姿納,&a[i]);
if(max<a[i])
{
max=a[i];maxnum=i+1;}
}
printf("the
number
of
the
highest
is
%d\n",maxnum);
for(i=0;i<=2;i++)
if(max==a[i])
if(i+1!=maxnum)
printf("the
number
of
the
highest
is
%d\n",i+1);
排序
#include<stdio.h>
int
sort(int
num[5]);
void
main()
{
int
numm[5],i,a;
for
(i=0;i<5;i++)
scanf("%d",&numm[i]);
sort(numm);
//亮沒調用排序
for
(i=0;i<5;i++)
printf("%d
",numm[i]);
}
int
sort(int
num[5])
{
int
m,n,t;
for
(m=0;m<4;m++)
for(n=m+1;n<5;n++)//冒泡排序
{
if
(num[m]<num[n])
{
t=num[n];
num[n]=num[m];
num[m]=t;
}
}
return
1;
}
Ⅲ 求單片機編程找最大數
程序如下:
MOV
R0,
#21H
;起始地址.
MOV
MAX,#00H
;先用0當做最大值.
MOV
R2,
#20H
;數據長度.
LOOP:
MOV
A,
@R0
;取來一個數據.
CLR
C
SUBB
A,
MAX
;減「最大值」.
JNC
rel1
;不夠減就算了.
MOV
A,
@R0
;夠減,就把這個數據.
MOV
MAX,A
;當做最大值.
rel1:
INC
R0
;轉向下一個.
DJNZ
R2,
LOOP
;循環.
SJMP
$
;結束.
END
Ⅳ 51單片機:用c語言對數組進行升序排序並且用數碼管顯示排序後的最大值
#include<reg51.h>
#define uchar unsigned char
uchar led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
void sort(uchar *a,uchar len)
{
int i=0,j,t;
for(i=0;i<len-1;i++)
{
for(j=0;j<len-i-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
main()
{
uchar a[]={1,12,2,14,4,6,15,3,9,0,13,7,5,8,11};
sort(a,16);
P0=a[15];
while(1);
}
Ⅳ 用C語言編寫一個計算最大值的程序
C程序代碼如下:
解析:
1、首先定義a,b,c,max四個整型變數,並輸入a,b,c三個數;
2、定義最大值為a,if循環體還是對b和c進行循環;
3、根據循環體判斷最大的值,最滑滲悉後輸出結果。
C語言的基本構成喊氏
數據類型
C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
常量與變數
常量其值不可改變,符號常量名通常用大寫。
變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。
數組
如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。
字元串
C語言的字元串其實就是以'