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

標(biāo)題: 基于stm32mini開發(fā)板簡易示波器電路+源程序 [打印本頁]

作者: woaixuexikeyi    時間: 2019-5-5 19:23
標(biāo)題: 基于stm32mini開發(fā)板簡易示波器電路+源程序
此作品實現(xiàn)了一個簡易示波器的功能。基于MiNiSTM32開發(fā)板的硬件資源制作。通過片內(nèi)高速A/D轉(zhuǎn)換器對模擬信號快速采樣,存儲其數(shù)字化信號。并對所存儲的數(shù)據(jù)進行實時快速處理,得到信號的原始波形及其參數(shù)。在彩屏上顯示波形和波形的一些參數(shù),可根據(jù)顯示要求,對波形進行縮放。模擬輸入電壓值范圍為0V~3.3V。可通過按鍵調(diào)節(jié)顯示的單位,即每一小格對應(yīng)的時間和電壓值。

電路原理圖如下:


單片機源程序如下:
  1. #include"stm32f10x.h"
  2. #include"systick.h"
  3. #include "lcd.h"
  4. #include"adc.h"
  5. #include "stm32f10x_it.h"
  6. #include"timer.h"


  7. u16 j = 0;
  8. float temp;
  9. float temp1;

  10. void nvic_init(void);
  11. void rcc_init(void);
  12. void gpio_init(void);

  13. void clear_point(u16 hang)
  14. {
  15.         u8 index_clear_lie = 0;
  16.         POINT_COLOR = DARKBLUE;
  17.         for(index_clear_lie = 0;index_clear_lie <201;index_clear_lie++)
  18.         {               
  19.                 lcd_huadian(hang,index_clear_lie);
  20.         }       
  21.         POINT_COLOR=RED;       
  22. }

  23. int main(void)
  24. {                                    
  25.         SystemInit();                    //系統(tǒng)時鐘初始化
  26.         nvic_init();                   // 中斷優(yōu)先級配置
  27.         rcc_init();                           //外設(shè)時鐘配置
  28.         gpio_init();                           //外設(shè)io口配置
  29.         set_io0();
  30.        
  31.         key_init();
  32.         systick_init();                   //滴答配置,
  33.         adc_init();                                //adc配置
  34.         LCD_Init();                                 //tft液晶初始化
  35.         set_background();                  //初始化背景
  36.                  
  37.         time_init();                        //定時器配置,測頻率用的二個定時器
  38.         time_enable();                        //同步開始計數(shù)
  39.         get_value();
  40.         vpp = get_vpp();

  41.         while(1)
  42.         {       

  43.                         for(j=index;j<index+250;j=j+1)
  44.                         {
  45.                 temp = a[j] * 3300 / 4096  *  25 /vcc_div;
  46.                                 temp1 = a[j + 1] * 3300 / 4096 * 25 / vcc_div;
  47.                                 clear_point(j-index);       
  48.                                 if(temp>200)
  49.                                 {
  50.                                         temp=200;       
  51.                                 }
  52.                                 if(temp<0)
  53.                                 {
  54.                                         temp=0;       
  55.                                 }
  56.                                 if(temp1>200)
  57.                                 {
  58.                                         temp1=200;       
  59.                                 }
  60.                                 if(temp1<0)
  61.                                 {
  62.                                         temp1=0;       
  63.                                 }
  64.                                 lcd_huadian(j-index,temp);                               
  65.                                 lcd_huaxian(j-index,temp,j-index+1,temp1);               
  66.                                 hua_wang();                 
  67.                         }
  68.                                        
  69.                         LCD_Show2Num(144,224,vpp,5,16,0);               
  70.                         get_value();
  71.                         vpp = get_vpp();       
  72.         }                                                   
  73. }

  74. void nvic_init(void)
  75. {
  76.         NVIC_InitTypeDef    NVIC_InitTypeStruct;

  77.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

  78.         NVIC_InitTypeStruct.NVIC_IRQChannel = EXTI0_IRQn;
  79.         NVIC_InitTypeStruct.NVIC_IRQChannelPreemptionPriority =        2;
  80.         NVIC_InitTypeStruct.NVIC_IRQChannelSubPriority = 0;
  81.         NVIC_Init(&NVIC_InitTypeStruct);                                 

  82.         NVIC_InitTypeStruct.NVIC_IRQChannel = EXTI15_10_IRQn;
  83.         NVIC_InitTypeStruct.NVIC_IRQChannelPreemptionPriority =        2;
  84.         NVIC_InitTypeStruct.NVIC_IRQChannelSubPriority = 1;
  85.         NVIC_Init(&NVIC_InitTypeStruct);

  86.         NVIC_InitTypeStruct.NVIC_IRQChannel = TIM2_IRQn;                     //配置中斷優(yōu)先級
  87.         NVIC_InitTypeStruct.NVIC_IRQChannelPreemptionPriority =        0;
  88.         NVIC_InitTypeStruct.NVIC_IRQChannelSubPriority = 2;
  89.         NVIC_InitTypeStruct.NVIC_IRQChannelCmd = ENABLE;
  90.         NVIC_Init(&NVIC_InitTypeStruct);

  91.         NVIC_InitTypeStruct.NVIC_IRQChannel = TIM3_IRQn;
  92.         NVIC_InitTypeStruct.NVIC_IRQChannelPreemptionPriority =        0;
  93.         NVIC_InitTypeStruct.NVIC_IRQChannelSubPriority = 3;
  94.         NVIC_Init(&NVIC_InitTypeStruct);
  95. }

  96. void rcc_init(void)
  97. {
  98.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
  99.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
  100.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
  101.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);

  102.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  103.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
  104.         RCC_ADCCLKConfig(RCC_PCLK2_Div6);
  105.         RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);
  106. }

  107. void gpio_init(void)
  108. {
  109.         GPIO_InitTypeDef GPIO_InitTypeStruct;

  110.         GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_2;
  111.         GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz;                                 //外部時鐘的,用來測頻率的,
  112.         GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  113.         GPIO_Init(GPIOD, &GPIO_InitTypeStruct);

  114.         GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_1;
  115.         GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz;                                  //adc輸入引腳
  116.         GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_AIN;
  117.         GPIO_Init(GPIOA, &GPIO_InitTypeStruct);

  118.         GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_15;
  119.         GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz;                                  //外部中斷的io配置
  120.         GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_IPU;
  121.         GPIO_Init(GPIOA, &GPIO_InitTypeStruct);

  122.         GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_0;
  123.         GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz;                                 //外部中斷的io配置
  124.         GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_IPD;
  125.         GPIO_Init(GPIOA, &GPIO_InitTypeStruct);

  126.         GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_8;                                         //定時器1觸發(fā)ad轉(zhuǎn)換的輸出的那個口
  127.         GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz;
  128.         GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_AF_PP;
  129.         GPIO_Init(GPIOA, &GPIO_InitTypeStruct);

  130.         GPIO_InitTypeStruct.GPIO_Pin = GPIO_Pin_3;
  131.         GPIO_InitTypeStruct.GPIO_Speed = GPIO_Speed_50MHz;                                 // S3
  132.         GPIO_InitTypeStruct.GPIO_Mode = GPIO_Mode_Out_PP;
  133.         GPIO_Init(GPIOA, &GPIO_InitTypeStruct);

  134. ……………………

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

所有資料51hei提供下載:
原理圖.zip (575.43 KB, 下載次數(shù): 107)
OSC.7z (162.54 KB, 下載次數(shù): 150)



作者: yfpc2006    時間: 2019-5-6 03:28
樓主吉祥!
正想要學(xué)習(xí)呢!
不錯,不錯,占個沙發(fā)!

工程是uV4的。
作者: 確認(rèn)    時間: 2019-5-30 11:54
您好,想咨詢一下您,有些地方比太懂,您方面嗎?這是我q:1132515914,或者您能把您的聯(lián)系方式告訴我嘛?
作者: AKA123    時間: 2020-6-16 22:32
希望可以附上實際開發(fā)的效果圖

作者: mvwtest    時間: 2020-6-17 00:03
thank you
作者: Teslatony    時間: 2020-8-17 10:52
有沒有做出來的 我顯示了 但是沒找到怎么調(diào)時基




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久精品久久久 | 欧美亚洲一区二区三区 | 成人在线不卡 | 亚洲国产成人精品久久 | 男人的天堂久久 | 免费黄色的网站 | 日韩成人在线一区 | 欧美日韩成人在线 | 久久精品小视频 | 成人免费视频网站在线看 | 一区二区精品在线 | 91精品久久久久久久久中文字幕 | 国产电影一区二区在线观看 | 黄一区二区三区 | 国产精品久久久久久久久图文区 | 国产一级电影在线观看 | 美女久久久久久久 | 欧美乱大交xxxxx另类电影 | 国产成人在线一区 | 欧美一级黄色片 | 色屁屁在线观看 | 91视频一区二区三区 | 久久人操| 色在线免费 | 久久久久久高潮国产精品视 | 中文字幕在线看 | 精品国产青草久久久久96 | 国产精品99久久免费观看 | 亚洲日韩欧美一区二区在线 | 欧美日韩精品一区二区天天拍 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 精品国产乱码久久久久久蜜柚 | 九九热在线视频观看这里只有精品 | 老头搡老女人毛片视频在线看 | 黄色免费三级 | 日韩一区二区三区四区五区 | 在线观看免费观看在线91 | 91麻豆精品一区二区三区 | 中文字幕av中文字幕 | 狠狠操电影 | 又黄又爽的网站 |