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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1699|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

請問一下這個(gè)代碼產(chǎn)生的正弦波的頻率是怎么算出來的

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:668455 發(fā)表于 2021-9-26 09:44 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
#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;
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

6#
ID:844772 發(fā)表于 2021-9-27 08:55 | 只看該作者
seanhhp 發(fā)表于 2021-9-26 17:21
那我想要把頻率改為1k怎么改大佬

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

使用道具 舉報(bào)

5#
ID:668455 發(fā)表于 2021-9-26 17:21 | 只看該作者
glinfei 發(fā)表于 2021-9-26 16:17
1.這個(gè)程序相當(dāng)于把sin函數(shù)用pwm輸出,所以time0+time1是一個(gè)采樣周期,大約1D0~1D1。time0是高電位,time1 ...

那我想要把頻率改為1k怎么改大佬
回復(fù)

使用道具 舉報(bào)

地板
ID:668455 發(fā)表于 2021-9-26 17:20 | 只看該作者
xuyaqi 發(fā)表于 2021-9-26 14:51
y=A*sin(2*π*f*t)
y:縱坐標(biāo)數(shù)值
A:波幅

這個(gè)我知道啊我想說的是程序里面是怎樣體現(xiàn)的
回復(fù)

使用道具 舉報(bào)

板凳
ID:844772 發(fā)表于 2021-9-26 16:17 | 只看該作者
1.這個(gè)程序相當(dāng)于把sin函數(shù)用pwm輸出,所以time0+time1是一個(gè)采樣周期,大約1D0~1D1。time0是高電位,time1是低。要算每個(gè)取值周期,time0和time1的比值,再乘以剛才的周期取整,就是你sintab[]的值。
2.time0和time1的比值,就是每個(gè)取樣周期,函數(shù)的定積分跟取樣周期面積剩余的比值。
3.所以可以很明顯看出你的數(shù)組前21組(4個(gè)一組),相當(dāng)于余弦函數(shù)0~180度;后19組相當(dāng)于正弦函數(shù)0~180度。后一個(gè)函數(shù)比前一個(gè)大,頻率也快。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:94031 發(fā)表于 2021-9-26 14:51 | 只看該作者
y=A*sin(2*π*f*t)
y:縱坐標(biāo)數(shù)值
A:波幅
f:頻率
t:采樣時(shí)刻
(2*π*f*t)算出來的單位是 弧度 (RAD)

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表