标题: 51单片机正弦波产生程序C语言源码 [打印本页]

作者: g362042766    时间: 2018-4-26 20:21
标题: 51单片机正弦波产生程序C语言源码
正弦波产生程序C语言
单片机源程序如下:
  1. #include "reg51.h"          
  2. #define  uchar  unsigned  char
  3. uchar code sine_table[]={0x80,0x8C,0x98,0xA5,0xB0,0xBC,0xC7,0xD1,           //正弦数据表
  4. 0xDA,0xE2,0xEA,0xF0,0xF6,0xFA,0xFD,0xFF,
  5. 0xFF,0xFF,0xFD,0xFA,0xF6,0xF0,0xEA,0xE3,
  6. 0xDA,0xD1,0xC7,0xBC,0xB1,0xA5,0x99,0x8C,
  7. 0x80,0x73,0x67,0x5B,0x4F,0x43,0x39,0x2E,
  8. 0x25,0x1D,0x15,0xF,0x9,0x5,0x2,0x0,0x0,
  9. 0x0,0x02,0x05,0x9,0xE,0x15,0x1C,0x25,0x2E,
  10. 0x38,0x43,0x4E,0x5A,0x66,0x73};

  11. sbit  K1=P2^7;                          //端口定义

  12. sbit  WR1=P2^5;
  13. /****************************/
  14.   void Delay(uchar m)          //延时程序
  15.   {
  16.      uchar  i;
  17.          while(--m)for(i=0;i<1;i++);
  18.   }
  19. /******************************************/
  20. void main()                  //主程序
  21. {
  22.         uchar k;
  23.     while(1)
  24.         {
  25.                 if(K1==0)
  26.                 {
  27.                         for(k=0;k<64;k++)
  28.                         {
  29.                                 WR1=1;
  30.                                 P0=sine_table[k];
  31.                                 WR1=0;
  32.                                 Delay(1);
  33.                         }
  34.                 }
  35.      else               //K1打开,输出锯齿波
  36.             {
  37.                 for(k=0;k<255;k=k+4)
  38.                         {
  39.                             WR1=1;
  40.                                 P0=k;
  41.                                 WR1=0;
  42.                                 Delay(1);
  43.                     }
  44.             }
  45.     }
  46. }

复制代码

所有资料51hei提供下载:
Sin.rar (19.52 KB, 下载次数: 96)



作者: 18980957856    时间: 2018-4-28 18:59
是正弦的还是锯齿波啊?
作者: Zyyzzz    时间: 2019-8-9 09:48
太棒了!频率差不多是1kHz 感谢大佬!
作者: Zyyzzz    时间: 2019-8-9 11:59
18980957856 发表于 2018-4-28 18:59
是正弦的还是锯齿波啊?

正弦 但是可能会稍微有点失真




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1