找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8003|回复: 3
收起左侧

51单片机正弦波产生程序C语言源码

[复制链接]
ID:317317 发表于 2018-4-26 20:21 | 显示全部楼层 |阅读模式
正弦波产生程序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)
回复

使用道具 举报

ID:242549 发表于 2018-4-28 18:59 | 显示全部楼层
是正弦的还是锯齿波啊?
回复

使用道具 举报

ID:423349 发表于 2019-8-9 09:48 | 显示全部楼层
太棒了!频率差不多是1kHz 感谢大佬!
回复

使用道具 举报

ID:423349 发表于 2019-8-9 11:59 | 显示全部楼层
18980957856 发表于 2018-4-28 18:59
是正弦的还是锯齿波啊?

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表