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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4354|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32數(shù)字示波器設(shè)計(jì) 含PCB電路 上位機(jī)C#源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)現(xiàn)論壇里好多都是基于51單片機(jī)設(shè)計(jì)的,分享一下手里關(guān)于STM32的設(shè)計(jì)資料,同時(shí)樓主也在學(xué)習(xí)相關(guān)知識(shí)

基于STM32F103ZET6數(shù)字示波器

設(shè)計(jì)指標(biāo):
主控:                    STM32F103ZET6
液晶屏:                  4.3寸TFT480×272  65K彩色LCD顯示屏  FSMC
AD:                      12位1MHz采樣速率
最高實(shí)時(shí)取樣率:        1Msps  8Bits
取樣緩沖器深度:        5K  
垂直靈敏度:            5V,1V,500mV,200mV,100mV,50mV,20mV,10mV;  
水平時(shí)基范圍:2S,1S,500mS,200mS,100mS,50mS,20mS,10mS,5mS,2mS,1mS,500uS,200uS,100uS,50uS,20uS,10uS,5uS,2uS,1uS
輸入阻抗:                ≥1MΩ
最高輸入電壓:            30Vpp
耦合方式:                AC/DC
觸發(fā)功能:                實(shí)現(xiàn)自動(dòng)、常規(guī)、單次觸發(fā)方式 ,上升或下降邊沿觸發(fā)  
參數(shù)計(jì)算:                頻率、周期、占空比、交流峰-峰值、平均值
觸發(fā)電平:                觸發(fā)電平高低位置可調(diào),觸發(fā)時(shí)基位置可調(diào)
實(shí)現(xiàn)RUN/STOP功能

功能預(yù)留:
1、波形發(fā)生器:使用STM32一路DA實(shí)現(xiàn)正弦,三角波,方波輸出。 任意一種波形幅值在
               0-3.3V任意可調(diào)、頻率在一定范圍任意可調(diào)、方波占空比可調(diào)。調(diào)節(jié)選項(xiàng)
               可以通過觸摸屏完成設(shè)置。
2、SD卡存儲(chǔ): SD卡波形存儲(chǔ)輸出,能夠?qū)Ξ?dāng)前屏幕截屏,以JPG格式存儲(chǔ)在SD卡上。能夠存儲(chǔ)1S內(nèi)的波形數(shù)據(jù),可以隨時(shí)調(diào)用查看。
3、數(shù)據(jù)傳輸:  用C#編寫上位機(jī),通過串口完成對(duì)下位機(jī)的控制。初步功能為:(1)實(shí)現(xiàn)STOP/RUN功能(2)輸出波形電壓、時(shí)間參數(shù)(3)控制截屏(4)控制波形發(fā)生器(5)其他
4、圖形接口:  完成UCGUI的移植和使用工作。
5、遠(yuǎn)期計(jì)劃:  添加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、被測(cè)信號(hào)的各種參數(shù)屏幕顯示,包括頻率、電壓峰峰值等。

硬件電路
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)




增益計(jì)算表


單片機(jī)源程序如下:
  1. /*------------------------------------------------------------------------------------
  2.                                                                    STM32示波器
  3. 硬件平臺(tái):
  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.                         繼電器:信號(hào)繼電器
  18.                     電源:   DC +12V

  19. 軟件平臺(tái):
  20.                          開發(fā)環(huán)境: RealView MDK-ARM uVision4.10
  21.                         C編譯器 : ARMCC
  22.                         ASM編譯器:ARMASM
  23.                         連接器:   ARMLINK
  24.                         實(shí)時(shí)內(nèi)核: uC/OS-II 2.90實(shí)時(shí)操作系統(tǒng)
  25.                         GUI內(nèi)核 : uC/GUI   3.90圖形用戶接口
  26.                         底層驅(qū)動(dòng): 各個(gè)外設(shè)驅(qū)動(dòng)程序
  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.      BoX編寫于大二上學(xué)期

  32.                                 
  33. -------------------------------------------------------------------------------------*/   
  34. #include "stm32f10x.h"
  35. #include "ucos_ii.h"
  36. #include "app.h"
  37. #include "GUI.h"

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

  50. #include "task_rtc.h"
  51. #include "task_gui.h"
  52. #include "task_sd.h"


  53. /*-----------------------------------------
  54.                                 聲明起始任務(wù)棧
  55. ------------------------------------------*/
  56. OS_STK  Task_Start_Stk[TASK_START_STK_SIZE];

  57. /*-----------------------------------------
  58. 因?yàn)樯婕暗綄?duì)共享資源的訪問,創(chuàng)建互斥信號(hào)量
  59. ------------------------------------------*/
  60. OS_EVENT *LCD_Buffer_MUTEX;
  61. OS_EVENT *USART_Buffer_MUTEX;
  62. OS_EVENT *SDtoRAM_Buffer_MUTEX;
  63. /*-----------------------------------------
  64.                                 主 函 數(shù)
  65. ------------------------------------------*/   
  66. int main(void)   
  67. {   
  68.          INT8U err;
  69.      SystemInit();                 //初始化RCC時(shí)鐘
  70.          OSInit();
  71.                            
  72.          LCD_Buffer_MUTEX     = OSMutexCreate(4,&err);        //創(chuàng)建3個(gè)共享資源互斥信號(hào)量
  73.          USART_Buffer_MUTEX   = OSMutexCreate(4,&err);
  74.          SDtoRAM_Buffer_MUTEX = OSMutexCreate(4,&err);
  75.             
  76.      OSTaskCreate(Task_Start,(void *)0,&Task_Start_Stk[TASK_START_STK_SIZE-1],TASK_START_PRIO); //起始任務(wù)   
  77.          
  78.          OSStart();      
  79. }
  80. /*-------------------------------------------------------------------------------
  81. 函數(shù)功能:初始化各種外設(shè)
  82. 說    明:因?yàn)榕懿僮飨到y(tǒng),所以外設(shè)的初始化應(yīng)該放在操作系統(tǒng)的初始任務(wù)中完成,不能
  83.           在while(1)循環(huán)外部完成外設(shè)的初始化工作,否則操作系統(tǒng)可能無法啟動(dòng).
  84.                   本函數(shù)在app.c中被調(diào)用
  85. -------------------------------------------------------------------------------*/
  86. void BSP_Init(void)
  87. {
  88.         OS_CPU_SR  cpu_sr = 0u;
  89.         OS_ENTER_CRITICAL();
  90.         DelayInit();                 //初始化延時(shí)
  91.         PinCfg();                         //外部器件控制配置
  92.         FSMC_LCD_Init();         //FSMC總線配置                  
  93.         GUI_Init();                         //初始化UCGUI界面
  94.         TSC2046_Config();         //初始化觸摸控制器
  95.         USART1_Config();         //初始化串口
  96.         DAC_Config();                 //初始化DAC1
  97.         ADC1_Init();                 //初始化ADC1
  98.         EXTI_Config();                 //初始化外部中斷
  99.         Key_EXTI_Config();         //初始化按鍵中斷
  100.         TIM5_Config(1999,71);  //TIM5以1MHz頻率計(jì)數(shù),每2ms溢出中斷
  101. //        TIM4_Config(59999,71); //TIM4以1MHz頻率計(jì)數(shù),每60ms溢出中斷
  102.         RTC_Init();                            //初始化RTC
  103. //        SD_Init();
  104.         JDQ_ACDC = 1;                  //交流耦合
  105.         ManualGainScan(3);    //調(diào)試用
  106.         IWDG_Init(4,625);     //喂狗時(shí)間為1000ms
  107.         OS_EXIT_CRITICAL();         
  108. }
復(fù)制代碼

所有資料51hei提供下載:
STM32示波器.7z (8.2 MB, 下載次數(shù): 95)


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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久亚洲综合 | 免费观看毛片 | 国产乱肥老妇国产一区二 | 成人在线视频一区 | 精品一区国产 | 日韩中文字幕在线观看 | 精品国产乱码久久久久久丨区2区 | 欧美激情网站 | 欧美精品国产一区二区 | 亚洲精品一区二区三区蜜桃久 | 91电影在线 | 欧美一区二区三区久久精品视 | 久久出精品 | 久久久精品| 久久99精品久久久久久 | 成年人免费网站 | 久久久精彩视频 | 国产精品99久久久久久久vr | www.av在线| 精品日韩一区二区三区 | 午夜激情免费 | 久久精品国产99国产 | 亚洲电影免费 | 黄视频免费观看 | 国产高清在线精品一区二区三区 | 在线色网| 不卡一区二区三区四区 | 午夜国产 | 精品乱码一区二区三四区 | 男人天堂999| 国产精品观看 | 日本午夜一区二区三区 | 久久免费视频1 | 久久丝袜| 亚洲国产精品一区二区三区 | 日韩在线不卡视频 | 亚洲国产精品一区 | 欧美成人h版在线观看 | 黄色大片免费播放 | 国产欧美视频一区 | 国产在线精品一区二区 |