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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4928|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品在线看 | 色香蕉在线 | 久久9视频| www.国产91 | 免费的色网站 | 国产在线观 | 天天草天天干 | 精品成人av | 国产精品欧美一区二区 | 久久久久99 | 精品国产一区二区三区久久狼黑人 | 超碰在线免费 | 国产一区二区在线免费观看 | 天天干天天插 | 成人精品视频免费 | 国产精品99久久久久久www | 这里只有精品999 | 日韩欧美精品 | 久久噜噜噜精品国产亚洲综合 | 亚洲成在线观看 | 久久精彩视频 | 亚洲精品国产区 | 成人国产精品久久 | 日韩不卡一区二区 | 午夜精品影院 | gav成人免费播放视频 | 日韩色图在线观看 | 成人免费一区二区 | 久久y| av在线黄 | 免费成人在线网站 | 国产精品国产三级国产aⅴ无密码 | 精精精精xxxx免费视频 | 美女一级毛片 | 国产综合在线视频 | 国产夜恋视频在线观看 | 超碰美女在线 | 国产精品久久久久久久7电影 | 久草免费在线视频 | 91精品国产综合久久久久久首页 | 一区二区三区电影在线观看 |