找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

功能強(qiáng)大的51單片機(jī)STC32G12K128,分享一個用STC單片機(jī)制作的示波器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:961242 發(fā)表于 2023-6-14 21:47 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
480x320示波器波形水平400點,垂直250點,網(wǎng)格每5個點顯示一點,每25點一排點。
0~250(0x00~0xfa)為數(shù)據(jù)。
251(0xfb)為幀數(shù)據(jù)頭,后面是400個字節(jié)的Y軸數(shù)據(jù)。
252(0xfc)為點數(shù)據(jù)頭,之后是點X、Y的數(shù)據(jù)。
253(0xfd)為轉(zhuǎn)義符,如果收到這個字符,則之后的一個字節(jié)要加上0x80。
254(0xfe)為命令頭,表示后面是命令。
255(0xff)為數(shù)據(jù)結(jié)束標(biāo)志。

單片機(jī)上傳數(shù)據(jù)協(xié)議:
上傳一幀數(shù)據(jù):FB DAT0 DAT1 ..... DAT399 FF
    FB:幀數(shù)據(jù)
    DAT0 ... DAT399:400個Y軸數(shù)據(jù)(數(shù)值為0~250),字節(jié)序號0~399就是X軸。
    FF:幀數(shù)據(jù)結(jié)束

上傳一個點數(shù)據(jù):FC DAT0 DAT1 DAT2 FF
    FC:點數(shù)據(jù)
    DAT0 DAT1:X軸位置(0~399),DAT0為位置高字節(jié),DAT1為位置低字節(jié)。
    DAT2:Y軸數(shù)值(0~250)。
    FF:點數(shù)據(jù)結(jié)束

上傳一個命令:FE TYPE  DAT0 DAT1 ... DATn FF
    本命令用于上傳一些參數(shù)或操作,數(shù)值部分字節(jié)數(shù)依據(jù)命令不同而不同。
    FE:傳輸命令。
    TYPE:命令類型。
    DAT0 DAT1 ... DATn:數(shù)值。
    FF:命令結(jié)束

上傳時基參數(shù):FE 02 DATA0 DATA1 DATA2 FF
    02:上傳的是時基參數(shù)。
    DAT0 DAT1:時基值,高字節(jié)在前,低字節(jié)在后。
    DAT2:時基單位。0--ns,1--us,2--ms,3--s。
    例:FE 02 01F4 01 FF,01F4十進(jìn)制為500,01為us,則為500us/DIV。DIV是水平一個大格。

上傳垂直幅度參數(shù):FE 03 DATA0 DATA1 DATA2 FF
    03:上傳的是垂直幅度參數(shù)。
    DAT0 DAT1:垂直幅度值,高字節(jié)在前,低字節(jié)在后。
    DAT2:幅度單位。0--uV,1--mV,2--V。
    例:FE 03 01F4 01 FF,01F4十進(jìn)制為500,01為mV,則為500mV/DIV。DIV是垂直一個大格。

上傳運(yùn)行模式:FE 04 DATA0 FF
    04:上傳的是運(yùn)行模式。
    DAT0:運(yùn)行模式。0--停止,1--運(yùn)行。

上傳觸發(fā)模式:FE 05 DATA0 FF
    05:上傳的是觸發(fā)模式。
    DAT0:觸發(fā)模式。0--上升沿,1--下降沿。

上傳觸發(fā)方式:FE 06 DATA0 FF
    06:上傳的是觸發(fā)方式。
    DAT0:觸發(fā)方式。0--自動,1--普通(標(biāo)準(zhǔn)),2--單次。

上傳頻率參數(shù):FE 07 DATA0 DATA1 DATA2 DATA3 FF
    07:上傳的是頻率值。
    DAT0~DAT3:頻率值,高字節(jié)在前,低字節(jié)在后。
    例:FE 07 00002710 FF,00002710十進(jìn)制為10000,則頻率為10000Hz。

上傳波形左移時間:FE 08 DATA0 DATA1 DATA2 FF
    08:上傳的是波形左移時間。
    DAT0 DAT1:左移時間值,高字節(jié)在前,低字節(jié)在后。
    DAT2:時間單位。0--1ns,1--10ns, 2--100ns, 3--1us,4--10us, 5--100us, 6--1ms,
                    7--10ms, 8--100ms, 9--1s。
    例:FE 08 01F4 03 FF,01F4十進(jìn)制為500,03為1us,則波形左移了500us。

上傳清屏指令:FE 09 FF
    09:上傳的是清屏指令。PC收到后,清除波形顯示。連續(xù)逐點顯示時,改變時基會用到。


PC下傳鍵代碼:FE 01 DAT0 FF
    01:命令類型為鍵碼。
    DAT0:01--時基+,02--時基-,03--垂直幅度+,04--垂直幅度-,05--運(yùn)行/停止,
          06--觸發(fā)模式,07--觸發(fā)方式,08--波形左移,09--波形右移,
          0A--波形上移,0B--波形下移


紅外遙控器波形.png (129.98 KB, 下載次數(shù): 62)

捕捉紅外遙控器發(fā)出的波形

捕捉紅外遙控器發(fā)出的波形

方波.png (156.98 KB, 下載次數(shù): 71)

測量方波信號

測量方波信號

正弦波.png (198.73 KB, 下載次數(shù): 66)

測量正統(tǒng)波信號

測量正統(tǒng)波信號

STC32G12K128-虛擬示波器程序代碼.zip

170.42 KB, 下載次數(shù): 22, 下載積分: 黑幣 -5

示波器程序代碼

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:514317 發(fā)表于 2023-6-15 09:05 | 只看該作者
樓主有沒有詳細(xì)介紹啊   例如帶寬多少    采樣率多少   上位機(jī)什么的
回復(fù)

使用道具 舉報

板凳
ID:961242 發(fā)表于 2023-6-15 23:49 | 只看該作者
lzzasd 發(fā)表于 2023-6-15 09:05
樓主有沒有詳細(xì)介紹啊   例如帶寬多少    采樣率多少   上位機(jī)什么的

示波器參數(shù):
工作電壓: 5.0V。
MCU:      STC32G12K128。
主頻:     35MHz。
ADC:      最高采樣800KHz 12位,本示波器使用最高采樣率500KHz。
模擬帶寬: 100KHz.
顯示屏:   虛擬顯示480x320。
          水平16格,一格25點,一共400點,存儲深度4000點。
          垂直10格,每格25點,一共250點。
時基:     1-2-5步進(jìn),50us 100us 200us 500us 1ms 2ms 5ms 10ms 20ms 50ms
                     100ms 200ms 500ms 1s 2s 5s 10s 20s 50s
垂直幅度: 250mV  500mV   1V  2.5V/DIV。
觸發(fā)模式: 上升沿觸發(fā),下降沿觸發(fā)。
觸發(fā)方式: 自動、標(biāo)準(zhǔn)、單次。

可以選擇2個輸入信號:
1:  選擇P1.7輸入, 2.5V REF 通過3.9K+3.9K分壓送P1.7, P1.7串聯(lián)18K電阻接外部輸入電壓(最大+-12.5V), P1.7對地接一個470pF電容. 這是推薦的方式.
                  由于同步信號使用的是IO中斷, 所以輸入信號福度要大于+5V才會同步.
2:  選擇P1.4輸入, P1.0通過SPWM輸出一個400Hz的正弦波, 經(jīng)過兩級RC濾波后送P1.4. RC出廠為3.3K 10nF, 有條件的話電阻改為10K或電容并聯(lián)22nF.
    選擇P1.4輸入時, 顯示的電壓讀數(shù)要縮小為1/10.
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表