欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 請問一下這個代碼產生的正弦波的頻率是怎么算出來的 [打印本頁]

作者: seanhhp    時間: 2021-9-26 09:44
標題: 請問一下這個代碼產生的正弦波的頻率是怎么算出來的
#include <STC8.H>
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
uchar code sintab[160]={
0xFF,0X17,0XFF,
0X17,0XFF,0X3B,0XFE,0XF3,0XFF,0X5F,
0XFE,0XCF,0XFF,0X80,0XFE,0XAE,0XFF,
0X9F,0XFE,0X8F,0XFF,0XBB,0XFE,0X73,
0XFF,0XD3,0XFE,0X5B,0XFF,0XE6,0XFE,
0X48,0XFF,0XF4,0XFE,0X3A,0XFF,0XFC,
0XFE,0X32,0XFF,0XFF,0XFE,0X2F,0XFF,
0XFC,0XFE,0X32,0XFF,0XF4,0XFE,0X3A,
0XFF,0XE6,0XFE,0X48,0XFF,0XD3,0XFE,
0X5B,0XFF,0XBB,0XFE,0X73,0XFF,0X9F,
0XFE,0X8F,0XFF,0X80,0XFE,0XAE,0XFF,
0X5F,0XFE,0XCF,0XFF,0X3B,0XFE,0XF3,
0XFF,0X17,0XFF,0X17,0XFE,0XF3,0XFF,
0X3B,0XFE,0XCF,0XFF,0X5F,0XFE,0XAE,
0XFF,0X80,0XFE,0X8F,0XFF,0X9F,0XFE,
0X73,0XFF,0XBB,0XFE,0X5B,0XFF,0XD3,
0XFE,0X48,0XFF,0XE6,0XFE,0X3A,0XFF,
0XF4,0XFE,0X32,0XFF,0XFC,0XFE,0X2F,
0XFF,0XFF,0XFE,0X32,0XFF,0XFC,0XFE,
0X3A,0XFF,0XF4,0XFE,0X48,0XFF,0XE6,
0XFE,0X5B,0XFF,0XD3,0XFE,0X73,0XFF,
0XBB,0XFE,0X8F,0XFF,0X9F,0XFE,0XAE,
0XFF,0X80,0XFE,0XCF,0XFF,0X5F,0XFE,
0XF3,0XFF,0X3B


}  ;


main()
{
P1M0=0x00;
P1M1=0x00;
TMOD=0X11;
AUXR &=0X7F;
ET1=1;
ET0=1;
TR0=1;
TR1=0;
EA=1;
while(1);

}

Timer0() interrupt 1
{
TR0=0;
P16=1;
TR1=1;
}
Timer1() interrupt 3
{
uchar aa,bb;
P16=0;
aa=bb*4;
TR1=0;
TH0=sintab[aa];
TL0=sintab[aa+1];
TH1=sintab[aa+2];
TL1=sintab[aa+3];
bb++;
if(bb>39)bb=0;
TR0=1;
}



作者: xuyaqi    時間: 2021-9-26 14:51
y=A*sin(2*π*f*t)
y:縱坐標數值
A:波幅
f:頻率
t:采樣時刻
(2*π*f*t)算出來的單位是 弧度 (RAD)
作者: glinfei    時間: 2021-9-26 16:17
1.這個程序相當于把sin函數用pwm輸出,所以time0+time1是一個采樣周期,大約1D0~1D1。time0是高電位,time1是低。要算每個取值周期,time0和time1的比值,再乘以剛才的周期取整,就是你sintab[]的值。
2.time0和time1的比值,就是每個取樣周期,函數的定積分跟取樣周期面積剩余的比值。
3.所以可以很明顯看出你的數組前21組(4個一組),相當于余弦函數0~180度;后19組相當于正弦函數0~180度。后一個函數比前一個大,頻率也快。
作者: seanhhp    時間: 2021-9-26 17:20
xuyaqi 發表于 2021-9-26 14:51
y=A*sin(2*π*f*t)
y:縱坐標數值
A:波幅

這個我知道啊我想說的是程序里面是怎樣體現的

作者: seanhhp    時間: 2021-9-26 17:21
glinfei 發表于 2021-9-26 16:17
1.這個程序相當于把sin函數用pwm輸出,所以time0+time1是一個采樣周期,大約1D0~1D1。time0是高電位,time1 ...

那我想要把頻率改為1k怎么改大佬
作者: glinfei    時間: 2021-9-27 08:55
seanhhp 發表于 2021-9-26 17:21
那我想要把頻率改為1k怎么改大佬

可能我上面寫的不夠清楚,不過我是文科生啊。你目前AUXR設置成12T了,假如是12Mhz,你的兩個終端計數合計1D1,采樣輸出頻率都2K了,你的數組一共40組,大約以50Hz的頻率輸出。你說的頻率改為1k,是指采樣/輸出頻率還是函數的頻率,還是1s輸出函數1k個呢?如果只動采樣輸出頻率,不用算積分,只要按比例調整數組,注意是用0xFFFF-(一對數組)的值;函數變了你重算,不過這種定積分,用excel拉表算就行了。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1