本帖最后由 fenggdfs 于 2011-10-4 15:49 编辑
我想要pwm波产生一个正弦波
pwm波的频率大概是2000hz
我一个正弦波应该是分成100个点~
为什么出来的正弦波是100hz(不应是20hz吗(2000hz的pwm波有100个)??
这是我的程序:
#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
#pragma data:code
const table1[]={
1000,1063,1125,1187,1249,1309,1368,1426,1482,1536,1588,1637,1685,1729,1771,1809,
1844,1876,1905,1930,1951,1969,1982,1992,1998,2000,1998,1992,1982,1969,1951,1930,
1905,1876,1844,1809,1771,1729,1685,1637,1588,1536,1482,1426,1368,1309,1249,1187,
1125,1063,1000,937 ,875 ,812 ,751 ,691 ,632 ,574 ,518 ,464 ,412 ,363 ,315 ,271 ,
229 ,190 ,156 ,124 ,95 ,70 ,49 ,31 ,18 ,8 ,2 ,0 ,2 ,8 ,18 ,31 ,
49 ,79 ,95 ,124 ,157 ,191 ,229 ,271 ,315 ,363 ,412 ,464 ,518 ,574 ,632 ,691 ,
751 ,813 ,875 ,937 ,
};
void main()
{uchar i=0;
while(1)
{ DDRD|=0X30;
TCCR1A=0X63;
TCCR1B=0X11;
OCR1A=2000;
//OCR1B=500;
OCR1B=table1;
i++;
if(i==101)
i=0;
}
}
最后我弱弱的问一句:发帖子时 那个帖子的分数 这个是什么意思? |