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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 19099|回復: 27
打印 上一主題 下一主題
收起左側

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

  [復制鏈接]
跳轉到指定樓層
樓主
ID:295960 發(fā)表于 2018-3-23 16:08 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
外觀實物圖:





電路原理圖:


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

聲明,此不是本人原創(chuàng)
單片機源程序如下:
  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, 下載次數(shù): 518)
原理圖.pdf (95.04 KB, 下載次數(shù): 407)
整機使用說明.pdf (238.66 KB, 下載次數(shù): 305)



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

使用道具 舉報

來自 2#
ID:441421 發(fā)表于 2019-3-22 16:16 | 只看該作者
浪費我5積分,代碼沒有具體東西。
回復

使用道具 舉報

來自 3#
ID:314730 發(fā)表于 2020-5-11 11:20 | 只看該作者
代碼缺文件我去
回復

使用道具 舉報

地板
ID:289512 發(fā)表于 2018-3-31 11:58 | 只看該作者
好好學習,天天向上
回復

使用道具 舉報

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

使用道具 舉報

6#
ID:237938 發(fā)表于 2018-7-5 19:36 | 只看該作者
不錯,非常棒!
回復

使用道具 舉報

7#
ID:380389 發(fā)表于 2018-7-29 10:16 來自觸屏版 | 只看該作者
哇!非常厲害!收藏
回復

使用道具 舉報

8#
ID:377382 發(fā)表于 2018-8-25 14:42 | 只看該作者
不錯,非常棒!
回復

使用道具 舉報

9#
ID:440585 發(fā)表于 2018-12-6 08:21 | 只看該作者
很好的帖子  值得學習
回復

使用道具 舉報

10#
ID:399179 發(fā)表于 2018-12-6 13:39 來自觸屏版 | 只看該作者
哪里有套件賣?
回復

使用道具 舉報

11#
ID:443548 發(fā)表于 2018-12-10 19:33 | 只看該作者
好帖,非常實用
回復

使用道具 舉報

12#
ID:272625 發(fā)表于 2018-12-11 00:15 | 只看該作者
太復雜了,個人玩不轉。自己做比買的價錢還貴!
回復

使用道具 舉報

13#
ID:256577 發(fā)表于 2018-12-11 22:38 | 只看該作者
下載 學習 謝謝樓主
回復

使用道具 舉報

14#
ID:385010 發(fā)表于 2018-12-13 13:43 | 只看該作者
厲害了
回復

使用道具 舉報

15#
ID:53978 發(fā)表于 2018-12-14 22:02 | 只看該作者
看著好 復雜  
回復

使用道具 舉報

16#
ID:485407 發(fā)表于 2019-3-6 10:39 | 只看該作者
想問下有原理圖文件嗎
回復

使用道具 舉報

17#
ID:196383 發(fā)表于 2019-3-17 22:37 | 只看該作者
哪里有套件賣?我想搞一套
回復

使用道具 舉報

18#
ID:124591 發(fā)表于 2019-4-4 10:37 | 只看該作者
樓主厲害,拿來學習學習
回復

使用道具 舉報

19#
ID:370022 發(fā)表于 2019-4-16 15:50 | 只看該作者
學習了,謝謝樓主分享資料
回復

使用道具 舉報

20#
ID:603285 發(fā)表于 2019-9-19 12:57 | 只看該作者
謝謝,學習中
回復

使用道具 舉報

21#
ID:619840 發(fā)表于 2019-10-6 17:25 | 只看該作者
贊一個,學習一下
回復

使用道具 舉報

22#
ID:385562 發(fā)表于 2019-10-10 10:55 | 只看該作者
好資料,謝謝分享。
回復

使用道具 舉報

23#
ID:624484 發(fā)表于 2019-10-15 16:48 | 只看該作者
好資料,謝謝樓主分享。
回復

使用道具 舉報

24#
ID:626287 發(fā)表于 2019-10-18 20:09 | 只看該作者
大神這個很實用的工具。!
回復

使用道具 舉報

25#
ID:630760 發(fā)表于 2019-10-27 08:03 | 只看該作者
好好學習,天天向上
回復

使用道具 舉報

26#
ID:188945 發(fā)表于 2019-12-12 15:11 | 只看該作者
多謝分享。樓主辛苦了
回復

使用道具 舉報

27#
ID:197385 發(fā)表于 2020-7-10 17:46 | 只看該作者
厲害,可以試著做一個來玩玩。。
回復

使用道具 舉報

28#
ID:637831 發(fā)表于 2020-8-25 00:10 | 只看該作者
不知該示波器實際的測試效果如何?我也想做一個外出工作調試方便。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产三级在线免费观看 | 欧美日韩中文字幕 | 香蕉在线观看视频 | 国产福利91精品一区二区三区 | 国产精品乱码一区二区三区 | 黄色三级在线 | 亚洲淫片| 国产欧美日韩 | 久久精品欧美 | 日本三级一区 | 国产传媒在线播放 | 99视频免费观看 | 成年人免费在线视频 | 国产中文字幕在线播放 | 美女一级片 | 日韩中文字幕在线观看 | 福利av在线 | 欧美黄色片在线观看 | 国产免费黄色 | 亚洲另类视频 | 国产成人精品在线观看 | 中文在线观看免费视频 | 在线日韩欧美 | www..com黄 | 亚洲欧美精品一区 | 成人在线免费观看视频 | 国产美女永久免费无遮挡 | 成人免费看片在线观看 | 免费视频毛片 | 亚洲精品资源 | 成人av一区二区三区在线观看 | 免费av不卡 | 荤话粗俗h高h重口 | 国产日韩综合 | 九色自拍 | 欧美一区二区视频在线观看 | 国产成人精品一区二区 | 夜夜肉她怀孕h周君彦 | 国产欧美精品 | 国产中文字幕在线 | 日韩精品中文字幕在线观看 |