(一)非常感谢:89C51与ad0832 输出正弦波,三角波,矩形波,锯齿波

(二)在上面的情况下进行程序的修改,实现50HZ的输出

(三)电路图

(三)输出方波

(四)输出锯齿波

(五)输出三角波

(六)输出正玄波

(七)程序

#include <absacc.h>
#include <reg52.h>#define DA0832 P2
#define DATA 57          //定时器延时 #define uchar unsigned char
#define uint unsigned intsbit S1 = P1^0;
sbit S2 = P1^1;
//00锯齿波;01方波;10三角波;11正弦波uchar code sin_tab[] =        //正弦波输出表
{0x80,0x83,0x86,0x89,0x8D,0x90,0x93,0x96,0x99,0x9C,0x9F,0xA2,0xA5,0xA8,0xAB,0xAE,0xB1,0xB4,0xB7,0xBA,0xBC,0xBF,0xC2,0xC5,0xC7,0xCA,0xCC,0xCF,0xD1,0xD4,0xD6,0xD8,0xDA,0xDD,0xDF,0xE1,0xE3,0xE5,0xE7,0xE9,0xEA,0xEC,0xEE,0xEF,0xF1,0xF2,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFD,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFD,0xFD,0xFC,0xFB,0xFA,0xF9,0xF8,0xF7,0xF6,0xF5,0xF4,0xF2,0xF1,0xEF,0xEE,0xEC,0xEA,0xE9,0xE7,0xE5,0xE3,0xE1,0xDF,0xDD,0xDA,0xD8,0xD6,0xD4,0xD1,0xCF,0xCC,0xCA,0xC7,0xC5,0xC2,0xBF,0xBC,0xBA,0xB7,0xB4,0xB1,0xAE,0xAB,0xA8,0xA5,0xA2,0x9F,0x9C,0x99,0x96,0x93,0x90,0x8D,0x89,0x86,0x83,0x80,0x80,0x7C,0x79,0x76,0x72,0x6F,0x6C,0x69,0x66,0x63,0x60,0x5D,0x5A,0x57,0x55,0x51,0x4E,0x4C,0x48,0x45,0x43,0x40,0x3D,0x3A,0x38,0x35,0x33,0x30,0x2E,0x2B,0x29,0x27,0x25,0x22,0x20,0x1E,0x1C,0x1A,0x18,0x16,0x15,0x13,0x11,0x10,0x0E,0x0D,0x0B,0x0A,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0D,0x0E,0x10,0x11,0x13,0x15,0x16,0x18,0x1A,0x1C,0x1E,0x20,0x22,0x25,0x27,0x29,0x2B,0x2E,0x30,0x33,0x35,0x38,0x3A,0x3D,0x40,0x43,0x45,0x48,0x4C,0x4E,0x51,0x55,0x57,0x5A,0x5D,0x60,0x63,0x66,0x69,0x6C,0x6F,0x72,0x76,0x79,0x7C,0x7E
};void stair(void);//锯齿波
void square(void);//方波
void trian();//三角波
void sin();//正弦波
void scan();//扫描函数
void Timer0Init(void);        //75微秒@11.0592MHz
uchar flag = 0;void main()
{    P2 = 0xff;Timer0Init();while(1){//逐个测试 //stair();        /*锯齿波*///    square();  /*方波*/// trian();    /*三角波*///    sin();  /*正弦波*/scan();}
}void Timer0Init(void)        //75微秒@11.0592MHz
{TMOD = 0x01;        //设置定时器模式TH0  = (65536 - DATA) / 256;        //设置定时初值TL0  = (65536 - DATA) % 256;        //设置定时初值ET0  = 1;            //TF0标志TR0  = 1;            //定时器0开始计时EA   = 1;
}
void timer0_ISR(void) interrupt 1
{TH0  = (65536 - DATA) / 256;        //设置定时初值TL0  = (65536 - DATA) % 256;        //设置定时初值TR0  = 0;flag = 1;
}void scan()
{if((0 == S1) &&(0 == S2))stair();else if((1 == S1) && (0 == S2))square();else if((0 == S1) && (1 == S2))trian();elsesin();}void stair(void)
{uchar i;for(i = 0 ;i < 255; i++){DA0832 = i;TR0  = 1;while(flag == 0);flag = 0;}}void square(void)
{int i;DA0832 = 0xff;for(i = 0;i < 125;i++){TR0  = 1;while(flag == 0);flag = 0;        }DA0832 = 0x00;for(i = 0;i < 125;i++){TR0  = 1;while(flag == 0);flag = 0;        }
}void trian(void)
{uchar i;for(i = 0 ;i < 125; i++){DA0832 = i;TR0  = 1;while(flag == 0);flag = 0;}for(i=125 ;i > 0; i--){DA0832 = i;TR0  = 1;while(flag == 0);flag = 0;}
}void sin()
{uchar i;for(i = 0; i < 255; i++){DA0832 = sin_tab[i];TR0  = 1;while(flag == 0);flag = 0;        }
}

(八)工程源码下载

https://download.csdn.net/download/xiaoguoge11/10742925

002_89C52_Proteus_DAC0832_输出50HZ,正弦波,三角波,矩形波,锯齿波相关推荐

  1. 【51毕业设计案例】【006】波形发生器(正弦波、矩形波、三角波、锯齿波)-基于51单片机

    功能介绍: 1.输出 正弦波.矩形波.三角波.锯齿波 波形 2.设定波形输出频率 3.设定修改频率的步进值 整体功能简述: 通过按键可以修改输出的波形,一共可以输出四种波形,分别是:正弦波.矩形波.三 ...

  2. 函数信号发生器:本设计中要求输出方波、三角波、锯齿波、正弦波,电压0-10V可调,调节精度0.1V;输出信号的频率0-100Hz;占空比可调

    函数信号发生器:本设计中要求输出方波.三角波.锯齿波.正弦波,电压0-10V可调,调节精度0.1V:输出信号的频率0-100Hz:占空比可调. 本次课题设计将利用单片机控制来实现信号发生系统所要求的功 ...

  3. MATLAB输出四种常用波形(方波、正弦波、三角波、锯齿波)

    1.我们在处理数学以及信号的时候经常会用到MATLAB,因为它可以使我们直观地观察到我们需要的信号的模型.因此掌握基本的MATLAB还是有必要的.这里我们来讲解一下如何用MATLAB产生四种常用波形( ...

  4. Verilog 代码编写 DDS信号发生器(幅频相可调正弦波、方波、三角波、锯齿波)纯VIVADO编写仿真

    DDS(Direct Digital Synthesizer)即数字合成器,是一种新型的频率合成技术,具有相对带宽大,频率转换时间短.分辨率高和相位连续性好等优点.较容易实现频率.相位以及幅度的数控调 ...

  5. 基于stm32单片机的四种波形发生器正弦波、方波、三角波、锯齿波

    基于stm32单片机的四种波形发生器(源程序+仿真+设计报告)全套资料 资料编号:010 具体功能: (1) 可以实现四种波形:正弦波.方波.三角波.锯齿波: (2) 通过按键进行选择,频率可以调整: ...

  6. MATLAB绘制正弦波、方波、三角波、锯齿波的mif文件

    MATLAB绘制正弦波.方波.三角波.锯齿波的mif文件 % 对波形进行等间隔采样,以采样次数作为 ROM 存储 % 地址,将采集的波形幅值数据做为存储数据写入存储地址对应的存储空间 % 采样次数为 ...

  7. PWM呼吸灯之三角波、锯齿波、正弦函数波

    脉冲宽度调制(PWM),是英文"Pulse Width Modulation" 的缩写,简称脉宽调制,是利用 微处理器(MCU)的数字输出来对模拟电路进行控制的一种非常有效的技术. ...

  8. 【51单片机】DAC0832制作信号发生器(方波,三角波,锯齿波)

    [51单片机]DAC0832制作信号发生器(方波,三角波,锯齿波) 1 A/D与D/A 2 电路与元器件 3 源代码 3.1 程序开始 3.2 监视按钮操作 3.3 按钮控制显示波形 3.4 方波产生 ...

  9. matlab 实现三角波、倒锯齿波与锯齿波

    matlab生成锯齿波.倒锯齿波和三角波的函数都是 sawtooth 生成锯齿波 使用的函数 f=sawtooth(2*pi*f*t); 其中 f 为频率 锯齿波的频率控制和正弦波和三角波函数的控制是 ...

最新文章

  1. Python进阶-----类、对象的相关知识
  2. pyinstaller 打包成exe
  3. 直播分享|邓文彬:如何在GPU/CPU/移动端高效训练和推断CNN网络
  4. 竖直手风琴导航菜单栏
  5. rocketmq 消息 自定义_RocketMQ的消息发送及消费
  6. 即构科技张靖雨:以最优的用户体验为第一评估要素
  7. 丁卓雅计算机学院,幼儿园音乐教育教学研讨会暨许卓雅教授音乐专题讲座
  8. 程序员面试金典——18.12最大和子矩阵
  9. 万科集团:掌握采购主动权,实现采购流程精细化管理
  10. 抖音开放平台开发记录
  11. oracle 软件证书错误,IE上ORACLE OEM 证书错误 , 导航阻止,无法”继续浏览此网站”...
  12. Q-Q图和P-P图傻傻整不明白?
  13. java win7 管理员权限_Win7系统如何一键取得管理员权限
  14. android 远程代码,Android 远程连接数据库。。。。。(示例代码)
  15. TypeScript入门与区块链项目实战(TypeScript Quickly)阅读记录
  16. 阴阳师哪些服务器可以跨系统转移,阴阳师怎么跨系统角色转移_阴阳师跨系统角色转移流程攻略_玩游戏网...
  17. Datatable 插件出现DataTable is not a function 错误
  18. 手把手教你做一个自己的chrome扩展程序
  19. Linux 虚拟文件系统(VFS)介绍
  20. 手机控必备网站,让自己拥有更好的智能手机

热门文章

  1. halocn标定找旋转中心_王嘉琛:BDS接收机天线相位中心标定
  2. Java 字节数组和字符串的相互转化
  3. Surging学习笔记(一)
  4. 高精度定位GNSS螺旋天线介绍
  5. 干货丨金仓JDBC读写分离介绍和最佳实践
  6. 电竞玩家看过来:WVA2018启动,深圳E-GO CLUB开业
  7. 图像复原 --- Restormer
  8. Python编写学籍管理系统
  9. chrome浏览器 firefox浏览器指定出口网卡进行上网 双网卡上网怎么配置
  10. Pycharm 18.2.1激活 8-16号亲测可以!!!!