找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2511|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32可以DAC輸出愛心函數(shù)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
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í)函數(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)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:681045 發(fā)表于 2020-6-4 18:34 | 只看該作者
您好 想問下有這個(gè)的電路的原理圖不?
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表