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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3248|回復: 1
收起左側

STM32示波器上位機+下位機硬件與程序設計

[復制鏈接]
ID:639790 發表于 2020-1-2 15:32 | 顯示全部樓層 |閱讀模式
設計指標:
主控:                    STM32F103ZET6
液晶屏:                  4.3寸TFT480×272  65K彩色LCD顯示屏  FSMC
AD:                      12位1MHz采樣速率
最高實時取樣率:        1Msps  8Bits
取樣緩沖器深度:        5K  
垂直靈敏度:            5V,1V,500mV,200mV,100mV,50mV,20mV,10mV;  
水平時基范圍:2S,1S,500mS,200mS,100mS,50mS,20mS,10mS,5mS,2mS,1mS,500uS,200uS,100uS,50uS,20uS,10uS,5uS,2uS,1uS
輸入阻抗:                ≥1MΩ
最高輸入電壓:            30Vpp
耦合方式:                AC/DC
觸發功能:                實現自動、常規、單次觸發方式 ,上升或下降邊沿觸發  
參數計算:                頻率、周期、占空比、交流峰-峰值、平均值
觸發電平: 觸發電平高低位置可調,觸發時基位置可調
實現RUN/STOP功能

功能預留:
1、波形發生器:使用STM32一路DA實現正弦,三角波,方波輸出。 任意一種波形幅值在
               0-3.3V任意可調、頻率在一定范圍任意可調、方波占空比可調。調節選項
               可以通過觸摸屏完成設置。
2、SD卡存儲: SD卡波形存儲輸出,能夠對當前屏幕截屏,以JPG格式存儲在SD卡上。能夠存儲1S內的波形數據,可以隨時調用查看。
3、數據傳輸:  用C#編寫上位機,通過串口完成對下位機的控制。初步功能為:(1)實現STOP/RUN功能(2)輸出波形電壓、時間參數(3)控制截屏(4)控制波形發生器(5)其他
4、圖形接口:  完成UCGUI的移植和使用工作。
5、遠期計劃:  添加FFT等等
1、采樣速率:600Sa/s,6kSa/s ,60kSa/s,600kSa/s ,3MSa/s,,6MSa/s,30MSa/s ,60MSa/s
2、水平掃速:250 ns*、500ns、1μs、5 μs、10μs、50μs、500 μs、5ms 、50ms
3、垂直電壓靈敏度:10mV/div, 20mV/div, 50mV/div, 0.1V/div, 0,2V/div, 0.5V/div, 1V/div,
2V/div, 5V/div
4、被測信號的各種參數屏幕顯示,包括頻率、電壓峰峰值等。

51hei.png 51hei.png 51hei.png 51hei.png

單片機源程序如下:
  1. /*------------------------------------------------------------------------------------
  2.                                                                    STM32示波器
  3. 硬件平臺:
  4.                          主控器: STM32F103ZET6 64K RAM 512K ROM
  5.                         屏幕器: SSD1963
  6.                         分辨率: 480x272 16位色
  7.                    觸摸屏: TSC2046
  8.                         模擬電路: OP  - TL084
  9.                                           OP  - u741
  10.                                           SW  - CD4051
  11.                                           CMP - LM311
  12.                                           PWR - LM7805
  13.                                               - LM7905
  14.                                                   - MC34063
  15.                                                   - AMS1117-3.3
  16.                                           DRI - ULN2003
  17.                         繼電器:信號繼電器
  18.                     電源:   DC +12V

  19. 軟件平臺:
  20.                          開發環境: RealView MDK-ARM uVision4.10
  21.                         C編譯器 : ARMCC
  22.                         ASM編譯器:ARMASM
  23.                         連接器:   ARMLINK
  24.                         實時內核: uC/OS-II 2.90實時操作系統
  25.                         GUI內核 : uC/GUI   3.90圖形用戶接口
  26.                         底層驅動: 各個外設驅動程序
  27.         
  28.         ROM Size = Code + RO-data +RW-data
  29.         RAM Size = RW-data + ZI-data
  30.         Program Size: Code=56024 RO-data=8272 RW-data=256 ZI-data=29912         

  31. 時間: 2013年11月9日       BoX編寫于大二上學期

  32. 版本: V1.0 - 2013/11/9
  33.        V1.1 - 2014/2/8
  34.            V3.0 - 2014/2/19                                
  35. -------------------------------------------------------------------------------------*/   
  36. #include "stm32f10x.h"
  37. #include "ucos_ii.h"
  38. #include "app.h"
  39. #include "GUI.h"

  40. #include "usart1.h"
  41. #include "pincfg.h"
  42. #include "delay.h"
  43. #include "tft_api.h"
  44. #include "dac.h"
  45. #include "adc.h"
  46. #include "iwdg.h"
  47. #include "timer.h"
  48. #include "EXTI.H"
  49. #include "oscilloscope.h"
  50. #include "indkey.h"
  51. #include "tsc2046.h"

  52. #include "task_rtc.h"
  53. #include "task_gui.h"
  54. #include "task_sd.h"


  55. /*-----------------------------------------
  56.                                 聲明起始任務棧
  57. ------------------------------------------*/
  58. OS_STK  Task_Start_Stk[TASK_START_STK_SIZE];

  59. /*-----------------------------------------
  60. 因為涉及到對共享資源的訪問,創建互斥信號量
  61. ------------------------------------------*/
  62. OS_EVENT *LCD_Buffer_MUTEX;
  63. OS_EVENT *USART_Buffer_MUTEX;
  64. OS_EVENT *SDtoRAM_Buffer_MUTEX;
  65. /*-----------------------------------------
  66.                                 主 函 數
  67. ------------------------------------------*/   
  68. int main(void)   
  69. {   
  70.          INT8U err;
  71.      SystemInit();                 //初始化RCC時鐘
  72.          OSInit();
  73.                            
  74.          LCD_Buffer_MUTEX     = OSMutexCreate(4,&err);        //創建3個共享資源互斥信號量
  75.          USART_Buffer_MUTEX   = OSMutexCreate(4,&err);
  76.          SDtoRAM_Buffer_MUTEX = OSMutexCreate(4,&err);
  77.             
  78.      OSTaskCreate(Task_Start,(void *)0,&Task_Start_Stk[TASK_START_STK_SIZE-1],TASK_START_PRIO); //起始任務   
  79.          
  80.          OSStart();      
  81. }
  82. /*-------------------------------------------------------------------------------
  83. 函數功能:初始化各種外設
  84. 說    明:因為跑操作系統,所以外設的初始化應該放在操作系統的初始任務中完成,不能
  85.           在while(1)循環外部完成外設的初始化工作,否則操作系統可能無法啟動.
  86.                   本函數在app.c中被調用
  87. -------------------------------------------------------------------------------*/
  88. void BSP_Init(void)
  89. {
  90.         OS_CPU_SR  cpu_sr = 0u;
  91.         OS_ENTER_CRITICAL();
  92.         DelayInit();                 //初始化延時
  93.         PinCfg();                         //外部器件控制配置
  94.         FSMC_LCD_Init();         //FSMC總線配置                  
  95.         GUI_Init();                         //初始化UCGUI界面
  96.         TSC2046_Config();         //初始化觸摸控制器
  97.         USART1_Config();         //初始化串口
  98.         DAC_Config();                 //初始化DAC1
  99.         ADC1_Init();                 //初始化ADC1
  100.         EXTI_Config();                 //初始化外部中斷
  101.         Key_EXTI_Config();         //初始化按鍵中斷
  102.         TIM5_Config(1999,71);  //TIM5以1MHz頻率計數,每2ms溢出中斷
  103. //        TIM4_Config(59999,71); //TIM4以1MHz頻率計數,每60ms溢出中斷
  104.         RTC_Init();                            //初始化RTC
  105. //        SD_Init();
  106.         JDQ_ACDC = 1;                  //交流耦合
  107.         ManualGainScan(3);    //調試用
  108.         IWDG_Init(4,625);     //喂狗時間為1000ms
  109.         OS_EXIT_CRITICAL();         
  110. }
復制代碼
51hei.png
所有資料51hei提供下載:
STM32示波器完整包.7z (8.2 MB, 下載次數: 49)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:128463 發表于 2020-3-19 10:38 | 顯示全部樓層
謝謝分享!!!!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区三区在线观看视频 | 毛片在线免费 | 成人高清视频在线观看 | 免费看淫片 | 精品视频www | 在线观看免费福利 | 欧美片网站免费 | 欧美精品在线视频 | 精品视频www| 91在线看| 亚洲精品一区二区三区丝袜 | 日韩av第一页 | 一区二区三区在线观看视频 | 成人片免费看 | 日韩在线视频一区二区三区 | 亚洲视频在线播放 | 免费观看av| 亚洲欧美日韩一区 | 青青草原精品99久久精品66 | av一区二区三区四区 | 色资源在线视频 | 激情在线视频网站 | 日韩成人一区二区 | 色综合99| aaa精品| 中文字幕亚洲一区二区三区 | 九九热在线免费视频 | 嫩草国产 | 国产精品久久久久久中文字 | 欧美国产日韩在线观看成人 | 亚洲欧美精品 | 一区二区三区四区av | 日韩精品1区2区3区 国产精品国产成人国产三级 | 人人干人人玩 | 在线观看日本高清二区 | 国产精品福利在线 | 国产精品自拍一区 | 日韩免费 | 成人欧美一区二区三区黑人孕妇 | 国产黄色在线观看 | 国产成人精品一区二区三区视频 |