找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12597|回复: 19
打印 上一主题 下一主题
收起左侧

用STM32做的示波器/信号源/电压表

  [复制链接]
跳转到指定楼层
楼主
ID:140725 发表于 2016-10-18 14:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上一个开箱视频

板子简介
这么多年走过来,我深知一个优秀的电子工程师从“器件”级到“系统”级升级的难度,所以最近做了一个综合型的学系统,包含了STM32 / FPGA / CPLD / 51 / TFT / 电压表 / 信号源 / 示波器等,这个东西对于高手来说可能不算什么,所以请高手们手下留情啊。



资料共享

原理图,请猛击下载。
iboard.reva.pdf (431.55 KB, 下载次数: 179)


数据表,请猛击下载。
iBoard_datasheet_V0.pdf (793.68 KB, 下载次数: 118)


DEMO 代码,包含了信号源、示波器、电压表等代码,上万行的源代码。
iBoard_demo.zip (244.33 KB, 下载次数: 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 电子学堂》 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.                 { " 信号源 ", " 示波器 ", " 电压表 ", " 时 钟 " },
  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. }
复制代码



评分

参与人数 3黑币 +15 收起 理由
周超然 + 5 很给力!
开发组 + 5 很给力!
ssfc + 5 很给力!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏15 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:147215 发表于 2016-12-14 11:01 | 只看该作者
谢谢分享!,,,,
回复

使用道具 举报

板凳
ID:147215 发表于 2016-12-27 08:57 | 只看该作者
谢谢分享!,,,,
回复

使用道具 举报

地板
ID:158248 发表于 2016-12-28 08:53 | 只看该作者
好资源,看一下,这个试着做一个
回复

使用道具 举报

5#
ID:79034 发表于 2017-1-3 12:43 | 只看该作者
顶,好帖就得让大家都看到,顶上去
回复

使用道具 举报

6#
ID:104838 发表于 2017-1-4 01:40 | 只看该作者
好资源,看一下,
回复

使用道具 举报

7#
ID:160154 发表于 2017-1-5 16:07 | 只看该作者
可以嘛楼主
回复

使用道具 举报

8#
ID:200118 发表于 2017-5-12 22:18 | 只看该作者
谢谢分享
回复

使用道具 举报

9#
ID:199188 发表于 2017-5-13 22:59 | 只看该作者
不错啊!学习啦1
回复

使用道具 举报

10#
ID:239005 发表于 2017-10-12 21:25 | 只看该作者
楼主这个电压表可以测多少v的电压?
回复

使用道具 举报

11#
ID:205644 发表于 2017-11-26 11:55 | 只看该作者
不错啊!学习啦
回复

使用道具 举报

12#
ID:250631 发表于 2017-12-12 14:22 | 只看该作者
上万行的源码,需要好好学习一下,感谢楼主无私分享。
回复

使用道具 举报

13#
无效楼层,该帖已经被删除
14#
ID:453286 发表于 2018-12-24 11:43 | 只看该作者
谢谢楼主,学习学习
回复

使用道具 举报

15#
ID:399179 发表于 2018-12-25 20:31 来自触屏版 | 只看该作者
感谢楼主分享!
回复

使用道具 举报

16#
ID:450548 发表于 2018-12-26 08:36 | 只看该作者

感谢楼主分享!
回复

使用道具 举报

17#
ID:279667 发表于 2018-12-26 10:24 | 只看该作者
楼主厉害,感谢楼主把代码放出来
回复

使用道具 举报

18#
无效楼层,该帖已经被删除
19#
ID:189285 发表于 2019-5-11 11:20 | 只看该作者
好厉害的样子,参考一下
回复

使用道具 举报

20#
ID:91533 发表于 2019-5-11 23:50 | 只看该作者
这个套件在网上买要多少钱?
回复

使用道具 举报

21#
ID:399179 发表于 2019-5-14 20:24 来自触屏版 | 只看该作者
感谢楼主分享!
回复

使用道具 举报

22#
无效楼层,该帖已经被删除
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表