找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2788|回复: 3
打印 上一主题 下一主题
收起左侧

简易信号发生器设计+单片机源代码+仿真

[复制链接]
跳转到指定楼层
楼主
实现三角波,方波,正弦,锯齿波的切换,这个切换通过拨码开关切换
1.正弦波


2.三角波



不说了    看仿真和源代码

  1. #include<reg52.h>
  2. #include<absacc.h>

  3. #define DAC0832 XBYTE[0x0fff]

  4. float code table2[]={
  5.        0x80,0x83,0x85,0x88,0x8A,0x8D,0x8F,0x92,
  6.        0x94,0x97,0x99,0x9B,0x9E,0xA0,0xA3,0xA5,
  7.        0xA7,0xAA,0xAC,0xAE,0xB1,0xB3,0xB5,0xB7,
  8.        0xB9,0xBB,0xBD,0xBF,0xC1,0xC3,0xC5,0xC7,
  9.        0xC9,0xCB,0xCC,0xCE,0xD0,0xD1,0xD3,0xD4,
  10.        0xD6,0xD7,0xD8,0xDA,0xDB,0xDC,0xDD,0xDE,
  11.        0xDF,0xE0,0xE1,0xE2,0xE3,0xE3,0xE4,0xE4,
  12.        0xE5,0xE5,0xE6,0xE6,0xE7,0xE7,0xE7,0xE7,
  13.        0xE7,0xE7,0xE7,0xE7,0xE6,0xE6,0xE5,0xE5,
  14.        0xE4,0xE4,0xE3,0xE3,0xE2,0xE1,0xE0,0xDF,
  15.        0xDE,0xDD,0xDC,0xDB,0xDA,0xD8,0xD7,0xD6,
  16.        0xD4,0xD3,0xD1,0xD0,0xCE,0xCC,0xCB,0xC9,
  17.        0xC7,0xC5,0xC3,0xC1,0xBF,0xBD,0xBB,0xB9,
  18.        0xB7,0xB5,0xB3,0xB1,0xAE,0xAC,0xAA,0xA7,
  19.        0xA5,0xA3,0xA0,0x9E,0x9B,0x99,0x97,0x94,
  20.        0x92,0x8F,0x8D,0x8A,0x88,0x85,0x83,0x80,
  21.        0x7D,0x7B,0x78,0x76,0x73,0x71,0x6E,0x6C,
  22.        0x69,0x67,0x65,0x62,0x60,0x5D,0x5B,0x59,
  23.        0x56,0x54,0x52,0x4F,0x4D,0x4B,0x49,0x47,
  24.        0x45,0x43,0x41,0x3F,0x3D,0x3B,0x39,0x37,
  25.        0x35,0x34,0x32,0x30,0x2F,0x2D,0x2C,0x2A,
  26.        0x29,0x28,0x26,0x25,0x24,0x23,0x22,0x21,
  27.        0x20,0x1F,0x1E,0x1D,0x1D,0x1C,0x1C,0x1B,
  28.        0x1B,0x1A,0x1A,0x1A,0x19,0x19,0x19,0x19,
  29.        0x19,0x19,0x19,0x19,0x1A,0x1A,0x1A,0x1B,
  30.        0x1B,0x1C,0x1C,0x1D,0x1D,0x1E,0x1F,0x20,
  31.        0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x29,
  32.        0x2A,0x2C,0x2D,0x2F,0x30,0x32,0x34,0x35,
  33.        0x37,0x39,0x3B,0x3D,0x3F,0x41,0x43,0x45,
  34.        0x47,0x49,0x4B,0x4D,0x4F,0x52,0x54,0x56,
  35.        0x59,0x5B,0x5D,0x60,0x62,0x65,0x67,0x69,
  36.        0x6C,0x6E,0x71,0x73,0x76,0x78,0x7B,0x7D};

  37. void delay(unsigned int i)//延时函数
  38. {
  39.         while(i--);
  40. }

  41. void fang()//方波
  42. {               
  43.                 DAC0832=0;
  44.                 delay(15);

  45.                 DAC0832=0xff;
  46.                 delay(15);
  47.                
  48. }

  49. void jvchi()//锯齿波
  50. {
  51.         unsigned char i;       
  52.                 for(i=0;i<255;i++)
  53.                                 {
  54.                                         DAC0832=i;
  55.                                 //        delay(10);
  56.                                 }
  57.                
  58. }

  59. void tran()//三角波
  60. {
  61.         unsigned char i;
  62.         for(i=0;i<255;i++)
  63.                 {
  64.                         DAC0832=i;
  65.         //                delay(10);
  66.                 }
  67.         for(i=255;i>0;i--)
  68.                 {
  69.                         DAC0832=i;
  70.                 //        delay(10);
  71.                 }
  72. }

  73. void sin()//正弦波
  74. {
  75.         unsigned int i;
  76.         for(i=0;i<256;i++)
  77.                 {
  78.                         DAC0832=table2[i];
  79.                 //        delay(10);
  80.                 }

  81. }

  82. void main(void)//主函数
  83. {       
  84.                 while(1)
  85.                 {
  86.                         if(P1==0xfe)fang();
  87.                         if(P1==0xfd)jvchi();
  88.                         if(P1==0xfb)tran();
  89.                         if(P1==0xf7)sin();
  90.                         if(P1==0xff)DAC0832=0;
  91.               }
  92.                
  93. }
复制代码

全部资料51hei下载地址:
简易函数信号发生器的设计.rar (25.73 KB, 下载次数: 57)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:282095 发表于 2019-8-1 10:35 | 只看该作者
类似于示波器的功能吧
回复

使用道具 举报

板凳
ID:593279 发表于 2019-8-1 13:59 | 只看该作者
鹏博士PBs 发表于 2019-8-1 10:35
类似于示波器的功能吧

这是信号发生器  是输入信号的   示波器是输出设备
回复

使用道具 举报

地板
ID:447644 发表于 2019-11-11 19:59 | 只看该作者
请问里面包含有显示器显示频率啥的么
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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