欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
怎么用51單片機輸出一個1kHz的正弦波
[打印本頁]
作者:
jimmyduan
時間:
2019-8-8 20:40
標題:
怎么用51單片機輸出一個1kHz的正弦波
如題
作者:
pyh78
時間:
2019-8-9 08:14
要么單片機帶DA輸出,要么用一個DA芯片
作者:
boutd
時間:
2019-8-9 22:09
STC單片機有自帶DAC的哈
作者:
angmall
時間:
2019-8-12 14:25
SPWM信號經低通濾波后可變換為正弦波,窄帶范圍內的方波經低通濾波后可變換為相應頻率的正弦波
如果不是你想要的頻率,那就 自己改一下數據 記得同時要替換數組里面的值
單片機SPWM波 產生正弦波的源程序及工具
http://m.raoushi.com/bbs/dpj-55510-1.html
#include<reg52.h>
#define uInt unsigned int
#define uchar unsigned char
uchar t_max = 10; //一個周期
static uchar t = 0,i = 0; //PWM計數
/*
uchar code SinParam[40]={
0,3,6,9,13,16,19,22,25,28,31,34,37,40,43,45,
48,51,54,56,59,61,64,66,68,71,73,75,77,79,81,83,
84,86,88,89,90,92,93,94,95,96,97,98,98,99,99,100,
100,100,100,100,100,100,99,99,98,98,97,96,95,94,93,92,
90,89,88,86,84,83,81,79,77,75,73,71,68,66,64,61,
59,56,54,51,48,45,43,40,37,34,31,28,25,22,19,16,
13,9,6,3
};
*/
uchar code SinParam[20]={
5,5,6,7,7,8,9,9,9,9,10,9,9,9,9,8,
7,7,6,5
};
// 200點正弦波樣本值
void main(void)
{
TMOD = 0x02; //定時器0,工作模式2,8位定時模式
TH0 = 146; //寫入預置初值(取值1-255,數越大PWM頻率越高)
TL0 = 146; //寫入預置值(取值1-255,數越大PWM頻率越高)
TR0 = 1; //啟動定時器
ET0 = 1; //允許定時器0中斷
EA = 1; //允許總中斷
P2 = 0xff; //初始化P1
while(1)
{
;
}
}
timer0()interrupt 1 using 2
{
t++; //每次定時器溢出加1
if(t < t_max && t >= SinParam[i]) //PWM周期 5
{
P2 = 0x00; //使LED燈亮
}
else if( t >= t_max)
{
t = 0; //使t=0,開始新的PWM周期
i++;
P2 = 0xff;
}
if(i >= 20) i = 0;
}
復制代碼
作者:
很多的小地方
時間:
2019-8-12 17:24
用定時器輸出PWM
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1