| 本帖最后由 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;
 }
 }
 
 最后我弱弱的问一句:发帖子时  那个帖子的分数  这个是什么意思?
 |