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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5050|回復: 4
收起左側

怎么用51單片機輸出一個1kHz的正弦波

[復制鏈接]
ID:596741 發表于 2019-8-8 20:40 | 顯示全部樓層 |閱讀模式
如題
回復

使用道具 舉報

ID:399417 發表于 2019-8-9 08:14 | 顯示全部樓層
要么單片機帶DA輸出,要么用一個DA芯片
回復

使用道具 舉報

ID:477152 發表于 2019-8-9 22:09 | 顯示全部樓層
STC單片機有自帶DAC的哈
回復

使用道具 舉報

ID:155507 發表于 2019-8-12 14:25 | 顯示全部樓層
SPWM信號經低通濾波后可變換為正弦波,窄帶范圍內的方波經低通濾波后可變換為相應頻率的正弦波

如果不是你想要的頻率,那就 自己改一下數據 記得同時要替換數組里面的值

單片機SPWM波 產生正弦波的源程序及工具
http://www.zg4o1577.cn/bbs/dpj-55510-1.html

  1. #include<reg52.h>
  2. #define uInt unsigned int
  3. #define uchar unsigned char
  4. uchar t_max = 10;                       //一個周期
  5. static uchar t = 0,i = 0;        //PWM計數
  6. /*
  7. uchar code SinParam[40]={  
  8. 0,3,6,9,13,16,19,22,25,28,31,34,37,40,43,45,
  9. 48,51,54,56,59,61,64,66,68,71,73,75,77,79,81,83,
  10. 84,86,88,89,90,92,93,94,95,96,97,98,98,99,99,100,
  11. 100,100,100,100,100,100,99,99,98,98,97,96,95,94,93,92,
  12. 90,89,88,86,84,83,81,79,77,75,73,71,68,66,64,61,
  13. 59,56,54,51,48,45,43,40,37,34,31,28,25,22,19,16,
  14. 13,9,6,3
  15. };
  16. */
  17. uchar code SinParam[20]={  
  18.   5,5,6,7,7,8,9,9,9,9,10,9,9,9,9,8,
  19. 7,7,6,5
  20. };


  21. // 200點正弦波樣本值

  22. void main(void)
  23. {
  24.         TMOD = 0x02;                                //定時器0,工作模式2,8位定時模式
  25.         TH0 = 146;                                //寫入預置初值(取值1-255,數越大PWM頻率越高)
  26.         TL0 = 146;                                //寫入預置值(取值1-255,數越大PWM頻率越高)
  27.         TR0 = 1;                                        //啟動定時器
  28.         ET0 = 1;                                        //允許定時器0中斷
  29.         EA = 1;                                        //允許總中斷

  30.         P2 = 0xff;                                //初始化P1

  31.         while(1)
  32.         {
  33.                 ;
  34.         }
  35. }


  36. timer0()interrupt 1 using 2
  37. {
  38.         t++;                                //每次定時器溢出加1

  39.         if(t < t_max && t >= SinParam[i])        //PWM周期                                          5
  40.                 {                                
  41.                         P2 = 0x00;                        //使LED燈亮
  42.                 }
  43.                 else if( t >= t_max)
  44.                 {
  45.                         t = 0;        //使t=0,開始新的PWM周期
  46.                         i++;                        
  47.                         P2 = 0xff;        
  48.                 }               
  49.    if(i >= 20) i = 0;
  50. }
復制代碼
回復

使用道具 舉報

ID:579053 發表于 2019-8-12 17:24 | 顯示全部樓層
用定時器輸出PWM
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人免费淫片aa视频免费 | 黄色毛片免费 | 一区二区在线 | 无人区国产成人久久三区 | 岛国av一区二区三区 | 国产视频在线观看一区二区三区 | 亚洲欧美精品国产一级在线 | 99视频在线免费观看 | 国产精品1区 | 男人的天堂在线视频 | 国产精品视频一二三区 | 中文字幕爱爱视频 | 日韩精品网站 | 久久91| 可以看黄的视频 | av毛片| 99精品视频一区二区三区 | 久久伦理电影 | 日日摸天天添天天添破 | 成人三级视频在线观看 | 一区二区三区四区在线视频 | 国产精品视频在线免费观看 | 久久精品视频亚洲 | 青青久久 | 国产一区二区自拍 | 999观看免费高清www | 成人影视网址 | 99精品国产一区二区三区 | 久久精品中文 | 久久y | 欧美黄 片免费观看 | 日韩在线观看中文字幕 | 国产精品人人做人人爽 | 国产一级一级毛片 | 免费精品视频一区 | 国产极品车模吞精高潮呻吟 | 91视频在线观看 | 天天拍天天操 | 91精品国产色综合久久 | 91亚洲国产 | 午夜在线小视频 |