久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

關于頻率可調節的pwm,各位大師 不知道我描述的你們能看懂不

查看數: 2880 | 評論數: 8 | 收藏 2
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-9-2 11:25

正文摘要:

第二  這個波形是需要經過調制后需要 單片機最后輸出的波形    請問這個波形該怎么輸出     中間密集的那分怎么變換   占空比都是一樣的    ...

回復

ID:254747 發表于 2021-9-2 23:55
非常感謝大家的回復   我按照你們的思路在搞一下
ID:163285 發表于 2021-9-2 15:55
參考單片機電子琴發聲原理。高音叨是中音叨兩倍頻。
ID:161164 發表于 2021-9-2 15:04
由圖看出高頻是低頻的一倍
PCA不懂,如果頻率不高可以用定時器軟件模擬
  1. void timer1_int (void) interrupt 3
  2. {
  3.         static uchar i = 0;
  4.         TL1 = 0x18;                //設置定時初始值1ms@12.000MHz 12T
  5.         TH1 = 0xFC;                //設置定時初始值1ms@12.000MHz 12T
  6.         if(HLF_Sel)//0 = Low Feq, 1 = High Feq
  7.         {
  8.                 S_Out = i%2;//0=0,1=1,2=0,3=1
  9.         }
  10.         else
  11.         {
  12.                 S_Out = i>1;//0=0,1=0,2=1,3=1
  13.         }
  14.         if(++i==4)
  15.         {
  16.                 i=0;
  17.         }
  18. }
復制代碼
ID:624769 發表于 2021-9-2 14:49
思路是:定時器確定切換波頻率的周期,改寫PWM定時器,PWM只管輸出就完了。
其實頻占比都是50%的話,壓根不用PWM,直接用T0CLK_OUT就可以了。
ID:332444 發表于 2021-9-2 14:37
看圖疑似倍頻有2種方法1改變定時器初值2不變定時器初值修改計數值
ID:213173 發表于 2021-9-2 14:29
本帖最后由 wulin 于 2021-9-7 08:36 編輯

最簡單的方法是用定時器,按需要的脈沖寬度和變化周期做一個數組,定時器中斷函數按序從數組中取值作重載值即可。示例如下:是一個按正弦規律變化的PWM波形。
  1. #include <reg51.h>
  2. sbit PWM=P1^0;
  3. unsigned char code K_Sine[256]={
  4. 0x00,0x01,0x03,0x04,0x06,0x07,0x09,0x0a,0x0c,0x0d,0x0f,0x10,
  5. 0x12,0x13,0x15,0x16,0x18,0x19,0x1b,0x1c,0x1e,0x1f,0x21,0x22,
  6. 0x24,0x25,0x27,0x28,0x2a,0x2b,0x2d,0x2e,0x2f,0x31,0x32,0x34,
  7. 0x35,0x36,0x38,0x39,0x3b,0x3c,0x3d,0x3f,0x40,0x41,0x43,0x44,
  8. 0x45,0x47,0x48,0x49,0x4a,0x4c,0x4d,0x4e,0x4f,0x50,0x52,0x53,
  9. 0x54,0x55,0x56,0x57,0x58,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,
  10. 0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x67,0x68,0x69,0x6a,0x6b,
  11. 0x6c,0x6d,0x6d,0x6e,0x6f,0x70,0x70,0x71,0x72,0x72,0x73,0x74,
  12. 0x74,0x75,0x76,0x76,0x77,0x77,0x78,0x78,0x79,0x79,0x7a,0x7a,
  13. 0x7b,0x7b,0x7b,0x7c,0x7c,0x7d,0x7d,0x7d,0x7d,0x7e,0x7e,0x7e,
  14. 0x7e,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7d,0x7b,0x7a,
  15. 0x78,0x77,0x75,0x74,0x72,0x71,0x6f,0x6e,0x6c,0x6b,0x69,0x68,
  16. 0x66,0x65,0x63,0x62,0x60,0x5f,0x5d,0x5c,0x5a,0x59,0x57,0x56,
  17. 0x54,0x53,0x51,0x50,0x4f,0x4d,0x4c,0x4a,0x49,0x48,0x46,0x45,
  18. 0x43,0x42,0x41,0x3f,0x3e,0x3d,0x3b,0x3a,0x39,0x37,0x36,0x35,
  19. 0x34,0x32,0x31,0x30,0x2f,0x2e,0x2c,0x2b,0x2a,0x29,0x28,0x27,
  20. 0x26,0x24,0x23,0x22,0x21,0x20,0x1f,0x1e,0x1d,0x1c,0x1b,0x1a,
  21. 0x19,0x18,0x17,0x17,0x16,0x15,0x14,0x13,0x12,0x11,0x11,0x10,
  22. 0x0f,0x0e,0x0d,0x0c,0x0c,0x0b,0x0a,0x0a,0x09,0x09,0x08,0x08,
  23. 0x07,0x07,0x05,0x05,0x04,0x04,0x04,0x03,0x03,0x03,0x02,0x02,
  24. 0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,
  25. 0x00,0x00,0x00,0x00};    //kindred sine wave

  26. void InitTimer0(void)
  27. {
  28.     TMOD = 0x01;
  29.     TH0 = 0xff;
  30.     TL0 = 0x00;
  31.     EA = 1;
  32.     ET0 = 1;
  33.     TR0 = 1;
  34. }

  35. void main(void)
  36. {
  37.         InitTimer0();
  38.         while(1);
  39. }

  40. void Timer0Interrupt(void) interrupt 1
  41. {
  42.         static unsigned char i;
  43.         PWM=~PWM;
  44.         TH0 = 0xff;
  45.         TL0 = K_Sine[i];
  46.         i++;
  47. }
復制代碼
ID:514901 發表于 2021-9-2 13:56
是不是只有兩種頻率?我看占空比都是50%,沒必要用PWM了,搞個定時器就行
ID:94031 發表于 2021-9-2 13:52
用不同定時中斷輸出高低電平實現。

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩国产在线 | 黑人粗黑大躁护士 | 蜜桃视频在线观看www社区 | 免费av观看 | 日韩中文在线观看 | www.伊人.com | 欧美三级免费观看 | 亚洲在线一区二区 | 亚洲精品国产a久久久久久 午夜影院网站 | 天天看夜夜 | 日本欧美在线 | 成人无遮挡毛片免费看 | 欧美日韩国产在线观看 | 亚洲丝袜天堂 | 国产片侵犯亲女视频播放 | 亚洲精品一区二区三区在线 | 亚洲精品久久区二区三区蜜桃臀 | 在线成人 | 国产一级片免费看 | 日韩精品一区二区三区中文在线 | 日韩精品一区二区三区中文在线 | 一级久久久久久 | 久久国产视频一区 | av免费在线观看网站 | 青青草网 | 夜夜摸夜夜操 | 在线免费观看日本 | 毛片网站在线观看视频 | 中文字幕第一页在线 | www.中文字幕.com | 日韩精品在线免费观看视频 | 夜夜爽99久久国产综合精品女不卡 | 中文字幕一级毛片 | 午夜久久久 | 日韩av福利在线观看 | 日本中文字幕日韩精品免费 | www.毛片| 第四色播日韩第一页 | 亚洲 中文 欧美 日韩 在线观看 | 91成人免费看 | 日本高清不卡视频 |