久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 18724|回復(fù): 27
收起左側(cè)

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

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

電路板

電路板

顯示屏

顯示屏


電路原理圖:

電路圖

電路圖


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

聲明,此不是本人原創(chuàng)
單片機(jī)源程序如下:
  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黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
程序源碼.rar (506.68 KB, 下載次數(shù): 518)
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

ID:289512 發(fā)表于 2018-3-31 11:58 | 顯示全部樓層
好好學(xué)習(xí),天天向上
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

ID:380389 發(fā)表于 2018-7-29 10:16 來自手機(jī) | 顯示全部樓層
哇!非常厲害啊!收藏
回復(fù)

使用道具 舉報

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

使用道具 舉報

ID:440585 發(fā)表于 2018-12-6 08:21 | 顯示全部樓層
很好的帖子  值得學(xué)習(xí)
回復(fù)

使用道具 舉報

ID:399179 發(fā)表于 2018-12-6 13:39 來自手機(jī) | 顯示全部樓層
哪里有套件賣?
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

ID:256577 發(fā)表于 2018-12-11 22:38 | 顯示全部樓層
下載 學(xué)習(xí) 謝謝樓主
回復(fù)

使用道具 舉報

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

使用道具 舉報

ID:53978 發(fā)表于 2018-12-14 22:02 | 顯示全部樓層
看著好 復(fù)雜  
回復(fù)

使用道具 舉報

ID:485407 發(fā)表于 2019-3-6 10:39 | 顯示全部樓層
想問下有原理圖文件嗎
回復(fù)

使用道具 舉報

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

使用道具 舉報

ID:124591 發(fā)表于 2019-4-4 10:37 | 顯示全部樓層
樓主厲害,拿來學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報

ID:370022 發(fā)表于 2019-4-16 15:50 | 顯示全部樓層
學(xué)習(xí)了,謝謝樓主分享資料
回復(fù)

使用道具 舉報

ID:603285 發(fā)表于 2019-9-19 12:57 | 顯示全部樓層
謝謝,學(xué)習(xí)中
回復(fù)

使用道具 舉報

ID:619840 發(fā)表于 2019-10-6 17:25 | 顯示全部樓層
贊一個,學(xué)習(xí)一下
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

ID:630760 發(fā)表于 2019-10-27 08:03 | 顯示全部樓層
好好學(xué)習(xí),天天向上
回復(fù)

使用道具 舉報

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

使用道具 舉報

ID:197385 發(fā)表于 2020-7-10 17:46 | 顯示全部樓層
厲害,可以試著做一個來玩玩。。
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产综合久久久 | 美女在线视频一区二区三区 | 亚洲福利在线观看 | 精品久久视频 | 操网站| 在线看片福利 | 久久成人18免费网站 | 亚洲 一区| 综合久久久 | 国产激情在线 | 亚洲午夜视频在线观看 | 国精产品一区二区三区 | 久久久久香蕉视频 | 国产精品久久久久久久岛一牛影视 | 国产精品视频不卡 | 国产精品99久久久久久动医院 | 亚洲免费人成在线视频观看 | 国产一区二区三区免费视频 | 久久久综合 | 国产亚洲精品精品国产亚洲综合 | 久色网 | 超碰成人免费 | 久草www| 亚洲成人精品视频 | 国产高清一区 | 国产日韩精品一区二区 | 欧美一区二区三区视频在线观看 | 亚洲欧洲日韩精品 中文字幕 | 国产精品久久久久久婷婷天堂 | 男女羞羞在线观看 | 中文字幕亚洲精品 | 亚洲国产成人精品女人久久久 | 日本精品视频一区二区 | 亚洲免费视频在线观看 | caoporn国产 | 欧美中文字幕在线观看 | 久久国产精品一区二区三区 | 亚洲一区二区三区在线 | 91av视频| 国产成人久久精品一区二区三区 | 国产精品久久久久久亚洲调教 |