找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2046|回复: 1
收起左侧

STM32可以DAC输出爱心函数

[复制链接]
ID:739473 发表于 2020-4-27 17:17 | 显示全部楼层 |阅读模式
DAC输出爱心函数,示波器上可以显示爱心函数
Screenshot_2020-04-27-17-15-58-895_com.tencent.mm.png
单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "usart.h"                  
  7. #include "dac.h"
  8. #include "adc.h"
  9. #include "usmart.h"
  10. #include "math.h"
  11. double Fx1,Fx2,Fx3,Fx4,x;

  12. int main(void)
  13. {         
  14.         
  15.          u16 t=0;         
  16.         delay_init();                     //延时函数初始化         
  17.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  18.         uart_init(115200);                 //串口初始化为115200
  19.         KEY_Init();                          //初始化按键程序
  20.          LED_Init();                             //LED端口初始化
  21.         LCD_Init();                                  //LCD初始化
  22.         usmart_dev.init(72);        //初始化USMART        
  23.          Adc_Init();                                  //ADC初始化
  24.         Dac1_Init();                                //DAC初始化

  25.         POINT_COLOR=RED;//设置字体为红色
  26.         LCD_ShowString(60,50,200,16,16,"WarShip STM32");        
  27.         LCD_ShowString(60,70,200,16,16,"DAC TEST");        
  28.         LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
  29.         LCD_ShowString(60,110,200,16,16,"2015/1/15");        
  30.         LCD_ShowString(60,130,200,16,16,"WK_UP:+  KEY1:-");        
  31.         //显示提示信息                                                                                             
  32.         POINT_COLOR=BLUE;//设置字体为蓝色
  33.         LCD_ShowString(60,150,200,16,16,"DAC VAL:");              
  34.         LCD_ShowString(60,170,200,16,16,"DAC VOL:0.000V");              
  35.         LCD_ShowString(60,190,200,16,16,"ADC VOL:0.000V");
  36.         
  37.          DAC_SetChannel1Data(DAC_Align_12b_R, 0);//初始值为0
  38.    x=1.8165;        
  39.               delay_ms(10000);
  40.                           delay_ms(10000);
  41.                           delay_ms(10000);
  42.                           delay_ms(10000);
  43.                           delay_ms(10000);
  44.                           delay_ms(10000);
  45.                           delay_ms(10000);
  46.         while(1)
  47.         {
  48.         
  49.                         Fx1=pow(x,0.6666);
  50.                         Fx2=sqrt(3.3-pow(x,2));
  51.                         Fx3=sin(31.41592*x);
  52.                         Fx4=(Fx1+0.9*Fx2*Fx3)*900;
  53.                         Dac1_Set_Vol(Fx4+1100);
  54.                         if(t==0)
  55.                         {
  56.                                 x=x-0.001;
  57.                         }
  58.                         else
  59.                         {
  60.                                 x=x+0.001;
  61.                         }
  62.                         if(x<=0)t=1;
  63.                         if(x==1.8165)
  64.      {
  65.                     t=0;
  66.                     delay_ms(10000);                          
  67.                  }
  68.                         
  69.         }
  70. }
复制代码

所有资料51hei提供下载:
爱心函数.7z (251.03 KB, 下载次数: 33)
回复

使用道具 举报

ID:681045 发表于 2020-6-4 18:34 | 显示全部楼层
您好 想问下有这个的电路的原理图不?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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