標(biāo)題: STM32可以DAC輸出愛心函數(shù) [打印本頁]

作者: xzr1123    時間: 2020-4-27 17:17
標(biāo)題: STM32可以DAC輸出愛心函數(shù)
DAC輸出愛心函數(shù),示波器上可以顯示愛心函數(shù)

單片機(jī)源程序如下:
  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();                     //延時函數(shù)初始化         
  17.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級分組為組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
  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;//設(shè)置字體為紅色
  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;//設(shè)置字體為藍(lán)色
  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. }
復(fù)制代碼

所有資料51hei提供下載:
愛心函數(shù).7z (251.03 KB, 下載次數(shù): 33)


作者: 周宇得得    時間: 2020-6-4 18:34
您好 想問下有這個的電路的原理圖不?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1