欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 19835|回復: 27
收起左側

STM32數字示波器制作資料 含源碼 電路原理圖等

  [復制鏈接]
ID:295960 發表于 2018-3-23 16:08 | 顯示全部樓層 |閱讀模式
外觀實物圖:
0.jpg
0.png 0.png

電路板

電路板

顯示屏

顯示屏


電路原理圖:

電路圖

電路圖


前言:
       最近一直在玩STM32和LCD屏,從字符到TFT,從1.8到3.5寸,挨個都摸了個摸,公司產品出來了,可一直想用這些東東來作點什么。示波器上班用公司的,雖說也是便攜的,但也不好帶回家去用呵,看看市場上動轍千元以上,唉,還是自己動手來DIY方便自己,也造福網友。
性能目標:
     電源使用二節2500mA鋰電,正常工作5小時以上。
數字示波器參數:
·        主控:STM32F103ZET6
·        液晶屏: 3.2"TFT320×24065K彩色LCD顯示屏 STM32 FSMC總線驅動
·        AD: ADS831 IDT7205
·        最高實時取樣率60Msps 8Bits,
·        取樣緩沖器深度:5K
·        垂直靈敏度:5V,1V,500mV,200mV,100mV,50mV,20mV,10mV;
·        基準電壓使用STM32 DA輸出,實現按鍵調節波形基準。并有位置指示
·        水平時基范圍:2S,1S,500mS,200mS,100mS,50mS,20mS,10mS,5mS,2mS,1mS,500uS,200uS,100uS,50uS,20uS,10uS,5uS,2uS,1uS,500nS,
·        水平位置可調并有指示
·        輸入阻抗:≥1MΩ
·        最高輸入電壓:50Vpp
·        耦合方式:AC/DC
·        實現自動、常規、單次觸發方式 ,上升或下降邊沿觸發
·        實現計算測量輸入信號的頻率、周期、占空比、交流峰-峰值、平均值
·        觸發電平高低位置可調,并電壓指示
·        觸發時基位置可調,并帶指示
·        實現RUN/STOP功能
·        使用16個按鍵,真正作到單鍵操作以免去組合按鍵麻煩。

聲明,此不是本人原創
單片機源程序如下:
  1. /***********************************************
  2. ****   STM32示波器測試平臺    ***
  3. ****  EDIT by EdmondChao  ***
  4. 芯片型號 : STM32F103ZET6
  5. 采用: 8.0000Mhz
  6. ***********************************************/
  7. #include "main.h"
  8.                                                 


  9. static volatile ErrorStatus HSEStartUpStatus = SUCCESS;
  10. static vu32 TimingDelay = 0;
  11. static vu32 SELStatus = 0;

  12. volatile u8 Timingms=0,Timing200ms=0;                     

  13. /*******************************************************************************
  14. * Function Name  : main
  15. * Description    : Main program.
  16. * Input          : None
  17. * Output         : None
  18. * Return         : None
  19. *******************************************************************************/
  20. int main(void)
  21. {
  22.    //  u8 a=0;

  23. #ifdef DEBUG
  24.   debug();
  25. #endif



  26.          
  27.   SysTick_Config();


  28.   
  29.    //Delay(100);
  30.   /* Intialize the STM32 LCD Demo */
  31.   STM32_LCD_Demo();

  32.   BB_LED_Init();
  33.   Key_Init();

  34.   TIM_pwm_init();

  35.   LCD_Clear(0X8430);
  36.    Lcd_WriteString(0,0,0,Red,"ver 1.0");

  37.   Delay(50);
  38.   LCD_Clear(0x4188);


  39.         
  40.     LCD_Clear(0x4188);

  41.                 BB(1);        
  42.         
  43.         




  44.           count_clock_LineConfig();

  45.           FIFO_init();
  46.           Clock_CtrlLineConfig();
  47.           Relay_CtrlLineConfig();
  48.           DAC_config();


  49.          
  50.     while(1)
  51.     {
  52.          
  53.                  menu_osc();            
  54.          
  55.                
  56.           }
  57. }

  58. void STM32_LCD_Demo(void)
  59. {
  60.   /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/   
  61.   /* RCC system reset(for debug purpose) */
  62.   RCC_DeInit();

  63.   /* Enable HSE */
  64.   RCC_HSEConfig(RCC_HSE_ON);

  65.   /* Wait till HSE is ready */
  66.   HSEStartUpStatus = RCC_WaitForHSEStartUp();

  67.   if(HSEStartUpStatus == SUCCESS)
  68.   {
  69.     /* Enable Prefetch Buffer */
  70.     FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

  71.     /* Flash 2 wait state */
  72.     FLASH_SetLatency(FLASH_Latency_2);
  73.    
  74.     /* HCLK = SYSCLK */
  75.     RCC_HCLKConfig(RCC_SYSCLK_Div1);
  76.   
  77.     /* PCLK2 = HCLK */
  78.     RCC_PCLK2Config(RCC_HCLK_Div1);

  79.     /* PCLK1 = HCLK/2 */
  80.     RCC_PCLK1Config(RCC_HCLK_Div2);

  81.     /* PLLCLK = 8MHz * 9 = 72 MHz */
  82.     RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

  83.     /* Enable PLL */
  84.     RCC_PLLCmd(ENABLE);

  85.     /* Wait till PLL is ready */
  86.     while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
  87.     {
  88.     }

  89.     /* Select PLL as system clock source */
  90.     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

  91.     /* Wait till PLL is used as system clock source */
  92.     while(RCC_GetSYSCLKSource() != 0x08)
  93.     {
  94.     }
  95.   }

  96.   
  97.                  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO , ENABLE);

  98. /*------------------- Drivers Initialization -------------------------------*/
  99.   /* Initialize the LCD */
  100.   STM3210E_LCD_Init();

  101.   /* Clear the LCD */
  102.   LCD_Clear(Black);


  103.   
  104. }



  105. /*******************************************************************************
  106. * Function Name  : SysTick_Config
  107. * Description    : Configure a SysTick Base time to 10 ms.
  108. * Input          : None
  109. * Output         : None
  110. * Return         : None
  111. *******************************************************************************/
  112. void SysTick_Config(void)
  113. {
  114.   /* Configure HCLK clock as SysTick clock source */
  115.   SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);

  116.   /* SysTick interrupt each 100 Hz with HCLK equal to 72MHz */
  117.   SysTick_SetReload(720000);

  118.   /* Enable the SysTick Interrupt */
  119.   SysTick_ITConfig(ENABLE);
  120. }



  121. /*******************************************************************************
  122. * Function Name  : Delay
  123. * Description    : Inserts a delay time.
  124. * Input          : nCount: specifies the delay time length (time base 10 ms).
  125. * Output         : None
  126. * Return         : None
  127. *******************************************************************************/
  128. void Delay(u32 nCount)
  129. {
  130.   TimingDelay = nCount;

  131.   /* Enable the SysTick Counter */
  132.   SysTick_CounterCmd(SysTick_Counter_Enable);
  133.   
  134.   while(TimingDelay != 0)
  135.   {
  136.   }

  137.   /* Disable the SysTick Counter */
  138.   //SysTick_CounterCmd(SysTick_Counter_Disable);

  139.   /* Clear the SysTick Counter */
  140.   SysTick_CounterCmd(SysTick_Counter_Clear);
  141. }



  142. /*******************************************************************************
  143. * Function Name  : Decrement_TimingDelay
  144. * Description    : Decrements the TimingDelay variable.
  145. * Input          : None
  146. * Output         : TimingDelay
  147. * Return         : None
  148. *******************************************************************************/
  149. void Decrement_TimingDelay(void)
  150. {
  151.   if (TimingDelay != 0x00)
  152.   {
  153.     TimingDelay--;
  154.   }
  155. }




  156. /*******************************************************************************
  157. * Function Name  : Set_SELStatus
  158. * Description    : Sets the SELStatus variable.
  159. * Input          : None
  160. * Output         : SELStatus
  161. * Return         : None
  162. *******************************************************************************/
  163. void Set_SELStatus(void)
  164. ……………………

  165. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
程序源碼.rar (506.68 KB, 下載次數: 518)
原理圖.pdf (95.04 KB, 下載次數: 407)
整機使用說明.pdf (238.66 KB, 下載次數: 305)



回復

使用道具 舉報

ID:441421 發表于 2019-3-22 16:16 | 顯示全部樓層
浪費我5積分,代碼沒有具體東西。
回復

使用道具 舉報

ID:314730 發表于 2020-5-11 11:20 | 顯示全部樓層
代碼缺文件我去
回復

使用道具 舉報

ID:289512 發表于 2018-3-31 11:58 | 顯示全部樓層
好好學習,天天向上
回復

使用道具 舉報

ID:276118 發表于 2018-4-1 17:02 | 顯示全部樓層
樓主,你這是一個通道的嗎?有套件嗎買套自己裝了用,或是印制板加工文件方便分享下?
回復

使用道具 舉報

ID:237938 發表于 2018-7-5 19:36 | 顯示全部樓層
不錯,非常棒!
回復

使用道具 舉報

ID:380389 發表于 2018-7-29 10:16 來自觸屏版 | 顯示全部樓層
哇!非常厲害啊!收藏
回復

使用道具 舉報

ID:377382 發表于 2018-8-25 14:42 | 顯示全部樓層
不錯,非常棒!
回復

使用道具 舉報

ID:440585 發表于 2018-12-6 08:21 | 顯示全部樓層
很好的帖子  值得學習
回復

使用道具 舉報

ID:399179 發表于 2018-12-6 13:39 來自觸屏版 | 顯示全部樓層
哪里有套件賣?
回復

使用道具 舉報

ID:443548 發表于 2018-12-10 19:33 | 顯示全部樓層
好帖,非常實用
回復

使用道具 舉報

ID:272625 發表于 2018-12-11 00:15 | 顯示全部樓層
太復雜了,個人玩不轉。自己做比買的價錢還貴!
回復

使用道具 舉報

ID:256577 發表于 2018-12-11 22:38 | 顯示全部樓層
下載 學習 謝謝樓主
回復

使用道具 舉報

ID:385010 發表于 2018-12-13 13:43 | 顯示全部樓層
厲害了
回復

使用道具 舉報

13#
無效樓層,該帖已經被刪除
ID:53978 發表于 2018-12-14 22:02 | 顯示全部樓層
看著好 復雜  
回復

使用道具 舉報

15#
無效樓層,該帖已經被刪除
16#
無效樓層,該帖已經被刪除
ID:485407 發表于 2019-3-6 10:39 | 顯示全部樓層
想問下有原理圖文件嗎
回復

使用道具 舉報

ID:196383 發表于 2019-3-17 22:37 | 顯示全部樓層
哪里有套件賣?我想搞一套
回復

使用道具 舉報

ID:124591 發表于 2019-4-4 10:37 | 顯示全部樓層
樓主厲害,拿來學習學習
回復

使用道具 舉報

ID:370022 發表于 2019-4-16 15:50 | 顯示全部樓層
學習了,謝謝樓主分享資料
回復

使用道具 舉報

22#
無效樓層,該帖已經被刪除
ID:603285 發表于 2019-9-19 12:57 | 顯示全部樓層
謝謝,學習中
回復

使用道具 舉報

ID:619840 發表于 2019-10-6 17:25 | 顯示全部樓層
贊一個,學習一下
回復

使用道具 舉報

ID:385562 發表于 2019-10-10 10:55 | 顯示全部樓層
好資料,謝謝分享。
回復

使用道具 舉報

ID:624484 發表于 2019-10-15 16:48 | 顯示全部樓層
好資料,謝謝樓主分享。
回復

使用道具 舉報

ID:626287 發表于 2019-10-18 20:09 | 顯示全部樓層
大神這個很實用的工具啊!!
回復

使用道具 舉報

ID:630760 發表于 2019-10-27 08:03 | 顯示全部樓層
好好學習,天天向上
回復

使用道具 舉報

ID:188945 發表于 2019-12-12 15:11 | 顯示全部樓層
多謝分享。樓主辛苦了
回復

使用道具 舉報

30#
無效樓層,該帖已經被刪除
32#
無效樓層,該帖已經被刪除
ID:197385 發表于 2020-7-10 17:46 | 顯示全部樓層
厲害,可以試著做一個來玩玩。。
回復

使用道具 舉報

ID:637831 發表于 2020-8-25 00:10 | 顯示全部樓層
不知該示波器實際的測試效果如何?我也想做一個外出工作調試方便。
回復

使用道具 舉報

35#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表