找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

用STM32做的示波器/信號(hào)源/電壓表

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:140725 發(fā)表于 2016-10-18 14:39 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
上一個(gè)開箱視頻

板子簡介
這么多年走過來,我深知一個(gè)優(yōu)秀的電子工程師從“器件”級(jí)到“系統(tǒng)”級(jí)升級(jí)的難度,所以最近做了一個(gè)綜合型的學(xué)系統(tǒng),包含了STM32 / FPGA / CPLD / 51 / TFT / 電壓表 / 信號(hào)源 / 示波器等,這個(gè)東西對(duì)于高手來說可能不算什么,所以請(qǐng)高手們手下留情啊。



資料共享

原理圖,請(qǐng)猛擊下載。
iboard.reva.pdf (431.55 KB, 下載次數(shù): 179)


數(shù)據(jù)表,請(qǐng)猛擊下載。
iBoard_datasheet_V0.pdf (793.68 KB, 下載次數(shù): 118)


DEMO 代碼,包含了信號(hào)源、示波器、電壓表等代碼,上萬行的源代碼。
iBoard_demo.zip (244.33 KB, 下載次數(shù): 173)

主程序:
  1. /*------------------------------------------------------
  2.    FILE NAME   : main.c
  3.    DESCRIPTION :
  4.    VERSION     : 0.0.0 (C)XiaomaGee
  5.    AUTHOR      : XiaomaGee
  6.    CREATE DATE : 2012-1-10
  7.    MODIFY DATE :
  8.    LOGS        :-\

  9.   《iBoard 電子學(xué)堂》 DEMO代碼
  10.   博客:XiaomaGee.cnblogs.com
  11.   論壇:www.oshcn.com
  12.   店鋪:i-Board.taobao.com
  13.   QQ群:204255896        165201798        215053598        215054675        215055211

  14.    --------------------------------------------------------*/

  15. //-----------------Include files-------------------------//
  16. #include "..\include\nvic.h"
  17. #include "..\include\rcc.h"
  18. #include "..\include\dac.h"
  19. #include "..\include\usart.h"
  20. #include "..\include\adc.h"
  21. #include "..\include\hardware.h"
  22. #include "..\include\systick.h"
  23. #include "..\include\evtft.h"
  24. #include "..\include\pwm.h"
  25. #include "..\include\fpga.h"
  26. #include "..\include\gui_core.h"
  27. #include "..\include\font.h"
  28. #include "..\include\spi.h"
  29. #include "..\include\flash.h"
  30. #include "..\usb_include\usb.h"
  31. #include "..\usb_include\usb_command.h"
  32. #include "..\include\event.h"
  33. #include "..\include\arb.h"
  34. #include "..\include\main.h"
  35. #include "..\include\dso.h"
  36. #include "..\include\meter.h"
  37. #include "..\include\power_on.h"


  38. #include <string.h>
  39. #include <stdlib.h>
  40. #include <math.h>


  41. SYS_T sys = {
  42.         .color = COLOR_ORANGE,
  43.         .language = 0,
  44.         .brightness = 100
  45. };



  46. const char rev[] = {
  47. #include "..\rev.dat"
  48. };

  49. int first_run = 1;

  50. //-----------------Function------------------------------//
  51. extern int clock_main(void);
  52. /*-------------------------------------------------------
  53.    NAME       : --
  54.    ENTRY  TYPE: void
  55.    RETURN TYPE: void
  56.    PURPOSE    : ---
  57.    VERSION    : 0.0.0
  58.    DESCRIPTION:
  59.    CREATE DATE: ---
  60.    LOGS       :
  61.    ---------------------------------------------------------*/
  62. __asm void system_reset(void)
  63. {
  64.         MOV R0, # 1
  65.         MSR FAULTMASK, R0
  66.         LDR R0, = 0xE000ED0C
  67.         LDR R1, = 0x05FA0004
  68.         STR R1, [R0]

  69. deadloop
  70.         B deadloop
  71. }

  72. /*-------------------------------------------------------
  73.    NAME       : --
  74.    ENTRY  TYPE: void
  75.    RETURN TYPE: void
  76.    PURPOSE    : ---
  77.    VERSION    : 0.0.0
  78.    DESCRIPTION:
  79.    CREATE DATE: ---
  80.    LOGS       :
  81.    ---------------------------------------------------------*/
  82. int main(void)
  83. {
  84.         STRING_T s;
  85.         int i, j;
  86.         char * main_str[2][4] = {
  87.                 { " 信號(hào)源 ", " 示波器 ", " 電壓表 ", " 時(shí) 鐘 " },
  88.                 { "   ARB  ", "   DSO  ", "Voltmeter ", " Clock " }
  89.         };
  90.         int main_fun = 0;
  91.         int flag = 1;
  92.         int(*fun[4]) (void) = {
  93.                 arb.main,
  94.                 dso.main,
  95.                 meter.main,
  96.                 clock_main
  97.         };

  98.         power_on();

  99.         while (1) {
  100.                 usb_command.capture_handle();

  101.                 if (event == KEY_LEFT || event == KEY_UP) {
  102.                         main_fun--;
  103.                         if (main_fun < 0) main_fun = 0;
  104.                         flag = 1;
  105.                 }
  106.                 if (event == KEY_RIGHT || event == KEY_DOWN) {
  107.                         main_fun++;
  108.                         if (main_fun > 3) main_fun = 3;
  109.                         flag = 1;
  110.                 }

  111.                 if (event == KEY_ENTER) {
  112.                         for (i = 0; i <= 100; i++) {
  113.                                 pwm.initialize(100 - i);
  114.                                 for (j = 0; j < 20000; j++) ;
  115.                         }

  116.                         fun[main_fun]();
  117.                         first_run = 1;
  118.                         event = 0;
  119.                         flag = 1;
  120.                         show_logo();
  121.                 }

  122.                 if (flag) {
  123.                         event = 0;
  124.                         flag = 0;
  125.                         font._default.single_byte = &fixedsys;
  126.                         font._default.double_byte = &simsun16;
  127.                         for (i = 0; i < 4; i++) {
  128.                                 s.x = 170 + i * 77;
  129.                                 s.y = 235;
  130.                                 s.color = COLOR_BLACK;
  131.                                 s.background_color = main_fun == i ? COLOR_ORANGE : COLOR_WHITE;

  132.                                 s.space.line = 0;
  133.                                 s.space.word = 0;
  134.                                 s.inverse = NULL;

  135.                                 font.printf(&s, "%s", main_str[sys.language][i]);
  136.                         }
  137.                 }
  138.         }
  139. }
復(fù)制代碼



評(píng)分

參與人數(shù) 3黑幣 +15 收起 理由
周超然 + 5 很給力!
開發(fā)組 + 5 很給力!
ssfc + 5 很給力!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:147215 發(fā)表于 2016-12-14 11:01 | 只看該作者
謝謝分享!,,,,
回復(fù)

使用道具 舉報(bào)

板凳
ID:147215 發(fā)表于 2016-12-27 08:57 | 只看該作者
謝謝分享!,,,,
回復(fù)

使用道具 舉報(bào)

地板
ID:158248 發(fā)表于 2016-12-28 08:53 | 只看該作者
好資源,看一下,這個(gè)試著做一個(gè)
回復(fù)

使用道具 舉報(bào)

5#
ID:79034 發(fā)表于 2017-1-3 12:43 | 只看該作者
頂,好帖就得讓大家都看到,頂上去
回復(fù)

使用道具 舉報(bào)

6#
ID:104838 發(fā)表于 2017-1-4 01:40 | 只看該作者
好資源,看一下,
回復(fù)

使用道具 舉報(bào)

7#
ID:160154 發(fā)表于 2017-1-5 16:07 | 只看該作者
可以嘛樓主
回復(fù)

使用道具 舉報(bào)

8#
ID:200118 發(fā)表于 2017-5-12 22:18 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

9#
ID:199188 發(fā)表于 2017-5-13 22:59 | 只看該作者
不錯(cuò)啊!學(xué)習(xí)啦1
回復(fù)

使用道具 舉報(bào)

10#
ID:239005 發(fā)表于 2017-10-12 21:25 | 只看該作者
樓主這個(gè)電壓表可以測多少v的電壓?
回復(fù)

使用道具 舉報(bào)

11#
ID:205644 發(fā)表于 2017-11-26 11:55 | 只看該作者
不錯(cuò)!學(xué)習(xí)啦
回復(fù)

使用道具 舉報(bào)

12#
ID:250631 發(fā)表于 2017-12-12 14:22 | 只看該作者
上萬行的源碼,需要好好學(xué)習(xí)一下,感謝樓主無私分享。
回復(fù)

使用道具 舉報(bào)

13#
ID:453286 發(fā)表于 2018-12-24 11:43 | 只看該作者
謝謝樓主,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

14#
ID:399179 發(fā)表于 2018-12-25 20:31 來自手機(jī) | 只看該作者
感謝樓主分享!
回復(fù)

使用道具 舉報(bào)

15#
ID:450548 發(fā)表于 2018-12-26 08:36 | 只看該作者

感謝樓主分享!
回復(fù)

使用道具 舉報(bào)

16#
ID:279667 發(fā)表于 2018-12-26 10:24 | 只看該作者
樓主厲害,感謝樓主把代碼放出來
回復(fù)

使用道具 舉報(bào)

17#
ID:189285 發(fā)表于 2019-5-11 11:20 | 只看該作者
好厲害的樣子,參考一下
回復(fù)

使用道具 舉報(bào)

18#
ID:91533 發(fā)表于 2019-5-11 23:50 | 只看該作者
這個(gè)套件在網(wǎng)上買要多少錢?
回復(fù)

使用道具 舉報(bào)

19#
ID:399179 發(fā)表于 2019-5-14 20:24 來自手機(jī) | 只看該作者
感謝樓主分享!
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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