找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

雙通道DAC(基于stm32f407)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:220867 發(fā)表于 2017-7-20 13:28 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本人做的,供大家參考

stm32f407單片機(jī)源程序如下:
  1. #include "SysTick.h"
  2. #include "key.h"
  3. #include "dac.h"
  4. #include "usart.h"
  5. #include "led.h"
  6. #include "timer.h"


  7. int main()
  8. {
  9.         u8 k;
  10.         //u8 i = 0;
  11.   sum = 0;
  12.         /*int dac_value=0;
  13.         u16 dacval;
  14.         float dac_vol;*/
  15.        
  16.         SysTick_Init(168);
  17.         led_init();
  18.         USART1_Init();
  19.         key_init();
  20.         dac_init();
  21.         TIM4_Init(50000-1,8400-1);
  22.         DAC_SetChannel2Data(DAC_Align_12b_R,0);
  23.         DAC_SetChannel1Data(DAC_Align_12b_R,4095);
  24.        
  25.         while(1)
  26.         {
  27.                 k=KEY_Scan(0);
  28.                 if(k == 1)
  29.                 {
  30.                 while(K_UP == 1)
  31.                 {
  32.                         i++;
  33.                         //K_UP = 0;
  34.                         break;
  35.                 }
  36.                 sum += i;
  37.                 i = 0;
  38.     //delay_ms(10000);
  39.                
  40.           }       
  41.                 /*if(sum != 0)
  42.                 {
  43.                 printf("%d\r\n",sum);
  44.                 sum = 0;
  45.                 }*/
  46.                         /*led1 = 0;
  47.                         dac_value+=400;
  48.                         if(dac_value>=4000)
  49.                         {
  50.                                 dac_value=4095;
  51.                         }
  52.                         DAC_SetChannel1Data(DAC_Align_12b_R,dac_value);
  53.                         delay_ms(200);
  54.                         led1 = 1;
  55.                         dacval=DAC_GetDataOutputValue(DAC_Channel_1);
  56.                   dac_vol=(float)dacval*(3.3/4096);
  57.                   printf("輸出DAC電壓值為:%.2fV\r\n",dac_vol);*/
  58.                 //}
  59.                 /*else if(K_DOWN == 0)
  60.                 {
  61.                         i--;
  62.                         printf("%d\r\n",i);
  63.                         led1 = 0;
  64.                         dac_value-=400;       
  65.                         if(dac_value<=0)
  66.                         {
  67.                                 dac_value=0;
  68.                         }
  69.                         DAC_SetChannel1Data(DAC_Align_12b_R,dac_value);
  70.       delay_ms(200);
  71.                         led1 = 1;
  72.                         dacval=DAC_GetDataOutputValue(DAC_Channel_1);
  73.                   dac_vol=(float)dacval*(3.3/4096);
  74.                   printf("輸出DAC電壓值為:%.2fV\r\n",dac_vol);
  75.                 }
  76.                 else if(K_LEFT == 0)
  77.                         {
  78.                           en = 0;
  79.                                 delay_ms(1000);
  80.                                 led2 = 1;
  81.                                 //en = 1;
  82. ……………………

  83. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
dac_test.rar (483.81 KB, 下載次數(shù): 76)


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

使用道具 舉報(bào)

沙發(fā)
ID:222970 發(fā)表于 2017-7-28 12:32 | 只看該作者
此帖僅作者可見

使用道具 舉報(bào)

板凳
ID:102008 發(fā)表于 2019-9-22 21:08 | 只看該作者
此帖僅作者可見

使用道具 舉報(bào)

地板
ID:616628 發(fā)表于 2020-3-9 16:26 | 只看該作者
此帖僅作者可見

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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