PICsimlab:可编程 IC 仿真实验室

推荐一个有意思的开源项目:PICsimlab 可编程仿真平台。支持 Arduino、ESP、PIC等多个开发板的仿真。

PICsimlab 概览

PICSimLab 是一款集成了 MPLABX/avr-gdb 调试器的开发板实时仿真器。PICSimLab 支持来自 picsim、simavr、uCsim、qemu-stm32、qemu-esp32 和 gpsim 的微控制器。PICSimLab 与 MPLABX/Arduino IDE 集成,用于对微控制器板进行编程。由于 PICSimLab 的目的是模拟真实硬件,因此不支持任何源代码编辑。要编辑和调试代码,PICSimLab 应使用与真实电路板相同的工具,如 MPLABX、Arduino IDE 或带有 PlatformIO 的 VSCode。
PICSimLab 支持多种可连接到电路板上进行仿真的设备(spare parts)。例如用于简单输出和输入的 LED 和按钮,以及一些更复杂的设备,如用于互联网连接的 w5500 或带触摸屏的彩色图形显示器 ili9340。PICsimlab:可编程 IC 仿真实验室

PICsimlab:可编程 IC 仿真实验室

PICsimlab 仓库地址:

https://github.com/lcgamboa/picsimlab

支持的微处理器

  • picsim - PIC simulator

    • https://github.com/lcgamboa/picsim

  • simavr - AVR simulator

    • 原版: https://github.com/buserror/simavr

    • PICSimLab 修改版: https://github.com/lcgamboa/simavr

  • ucsim - 8051, STM8 and Z80 simulator

    • 原版: http://mazsola.iit.uni-miskolc.hu/~drdani/embedded/ucsim/

    • PICSimLab 修改版: https://github.com/lcgamboa/uCsim_picsimlab

  • qemu-stm32 - STM32 simulator

    • 原版: https://github.com/beckus/qemu_stm32/

    • PICSimLab 修改版: https://github.com/lcgamboa/qemu/tree/picsimlab-stm32

  • qemu-esp32 - ESP32 simulator

    • 原版: https://github.com/a159x36/qemu

    • PICSimLab 修改版: https://github.com/lcgamboa/qemu/tree/picsimlab-esp32

  • gpsim - PIC simulator

    • http://gpsim.sourceforge.net/

PICsimlab:可编程 IC 仿真实验室

支持的开发板

  • Arduino Mega

    它模拟 Arduino Mega 开发板,该开发板使用 simavr 后端模拟器的一个 ATMEGA2560 微控制器。

PICsimlab:可编程 IC 仿真实验室

  • Arduino Nano

    它模拟 Arduino Nano 开发板,该开发板使用 simavr 后端模拟器的一个 ATMEGA328P 微控制器。

PICsimlab:可编程 IC 仿真实验室

  • Arduino Uno

    它模拟 Arduino Uno 开发板,该开发板使用 simavr 后端模拟器的一个 ATMEGA328P 微控制器。

PICsimlab:可编程 IC 仿真实验室

  • Blue Pill

    它是一块通用电路板,只有复位、串行和晶振电路,支持 qemu-stm32 后端模拟器的 stm32f103c8t6 微控制器。

PICsimlab:可编程 IC 仿真实验室

  • Breadboard

    它是一块通用电路板,只有复位、串行和晶体电路,支持 PICSim 和 simavr 后端模拟器的多个微控制器。

PICsimlab:可编程 IC 仿真实验室

  • Curiosity

    这是一个使用 PICSim 后端模拟器的简单 PIC 微控制器开发板。

PICsimlab:可编程 IC 仿真实验室

  • Curiosity HPC

    这是一个使用 PICSim 后端模拟器的简单 PIC 微控制器开发板。

PICsimlab:可编程 IC 仿真实验室

  • ESP32-C3-DevKitC-02

    它是一块简单的电路板,只有复位、串行和晶振电路,支持 qemu-esp32 后端模拟器的 ESP32-C3 微控制器。

PICsimlab:可编程 IC 仿真实验室

  • ESP32-DevKitC

    这是一块简单的电路板,只有复位、串行和晶振电路,支持 qemu-esp32 后端模拟器的 ESP32 微控制器。

PICsimlab:可编程 IC 仿真实验室

  • Franzininho DIY

    Franzininho DIY 电路板是一个开放硬件项目,更多信息请访问 https://franzininho.com.br/。其开发目的是与 simavr 后端模拟器的微控制器 ATtiny85 配合使用。

PICsimlab:可编程 IC 仿真实验室

  • K16F

    仿真了使用 PICSim 后端仿真器的 PIC16F84、PIC16F628 或 PIC16F648 开发的教学板。

PICsimlab:可编程 IC 仿真实验室

PICsimlab:可编程 IC 仿真实验室

  • McLab1

    仿真了使用 PICSim 后端仿真器的 PIC16F84、PIC16F628 或 PIC16F648 的 Labtools 开发板 McLab1。

PICsimlab:可编程 IC 仿真实验室

PICsimlab:可编程 IC 仿真实验室

  • McLab2

    仿真了使用 PICSim 后端仿真器的 PIC16F777、PIC16F877A、PIC18F452、PIC18F4520、PIC18F4550 或 PIC18F4620 的 Labtools 开发板 McLab2。

PICsimlab:可编程 IC 仿真实验室

PICsimlab:可编程 IC 仿真实验室

  • PICGenios

    仿真使用 PICSim 后端仿真器的 PIC16F777、PIC16F877A、PIC18F452、PIC18F4520、PIC18F4550 或 PIC18F4620 的 Microgenius 开发板 PICGenios PIC18F e PIC16F。

PICsimlab:可编程 IC 仿真实验室

PICsimlab:可编程 IC 仿真实验室

  • PQDB

    PQDB 板是一个开源/开放硬件项目,更多信息请访问 https://github.com/projetopqdb/。它是为与 arduino/freedom 电路板一起使用而开发的,但经调整后可使用 PICSImLab 上 PICSim 后端模拟器的微控制器 PIC18F4520。

PICsimlab:可编程 IC 仿真实验室

  • Remote TCP

    通过一个 TCP 连接控制的虚拟电路板。目前仅支持 Risc-V 模拟器 Ripes,并使用远程后台模拟器。

PICsimlab:可编程 IC 仿真实验室

  • STM32 H103

    它是一块通用电路板,只有复位、一个按钮、串行和晶体电路,支持 qemu-stm32 后端模拟器的 stm32f103rbt6 微控制器。

PICsimlab:可编程 IC 仿真实验室

  • X

    这是一个通用电路板,在创建新电路板教程中用作示例。该电路板使用 PICSim 后端模拟器的 PIC16F877A、PIC18F4550 或 PIC18F4620。

PICsimlab:可编程 IC 仿真实验室

  • Xpress

    这是一个使用 PICSim 后端模拟器的简单 PIC 微控制器开发板。

PICsimlab:可编程 IC 仿真实验室

  • gpboard

    一块通用电路板,只有复位、串行和晶振电路,支持 gpsim 后端模拟器的多个微控制器。

PICsimlab:可编程 IC 仿真实验室

  • uCboard

    它是一块通用电路板,只有复位、串行和晶振电路,支持多种微控制器(最初是 C51、Z80 和 STM8S103)的 ucsim 后端模拟器。

PICsimlab:可编程 IC 仿真实验室

支持的备件(外设)

PICSimLab 有一个窗口允许将备件连接到微控制器,可通过菜单 "模块->备件 "进入。

输入
  • ADXL345(加速度计)--添加一个 I2C/SPI 加速度计(只有原始值)

  • BMP180(压力 I2C)--添加一个 I2C 压力和温度传感器

  • BMP280(压力 I2C)--添加 I2C/SPI 压力和温度传感器

  • DHT11(温度、湿度)- 添加湿度和温度传感器

  • DHT22(温度、湿度)- 添加湿度和温度传感器

  • DS1621(温度 I2C)- 添加 I2C 温度传感器

  • DS18B20(温度)- 添加单线温度传感器

  • 编码器 - 添加带按钮的旋转式正交编码器

  • FM50(温度)- 添加一个模拟温度传感器

  • 固定电压 - 添加一个模拟固定电压基准

  • 游戏手柄 - 添加游戏手柄

  • 游戏手柄(模拟)- 添加一个模拟输出的游戏手柄

  • HX711(称重传感器放大器)- 添加带 HX711 放大器的称重传感器

  • 键盘 - 添加一个矩阵键盘

  • LDR - 添加一个光敏电阻器

  • LM35(温度)- 添加一个模拟温度传感器

  • MPU6050 - 添加加速计和陀螺仪(仅原始值)

  • 电位计 - 添加 4 个电位计

  • 电位计(旋转)--添加 4 个旋转电位计

  • 按钮 - 添加 8 个按钮

  • 按钮(模拟) - 添加 8 个模拟输出按钮

  • SHT3X - 添加一个模拟温度和湿度传感器

  • 开关 - 添加 8 个开关

  • 超声波 HC-SR04 - 添加一个超声波量程传感器

输出
  • 7 段显示屏 - 添加四个多路复用(或单路)7 段显示屏

  • 7 段显示器(带解码器)- 添加四个带解码器的多路 7 段显示器

  • 蜂鸣器 - 添加一个主动/被动蜂鸣器

  • 直流电机 - 添加带 H 桥和正交编码器的直流电机

  • LCD hd44780 - 添加文本显示器 hd44780

  • LCD hd44780 I2C - 添加一个连接到 PCF8574 I2C 转换器的文本显示器 hd44780

  • LCD ili9340 - 添加带触摸屏的彩色图形显示器 ili9340

  • LCD pcd8544 - 添加单色图形显示器 pcd8544(诺基亚 5110)

  • LCD pcf8833 - 添加彩色图形显示屏 pcf8833

  • LCD ssd1306 - 添加单色图形显示屏 ssd1306

  • LED 矩阵 - 添加带 MAX72xx 控制器的 8x8 LED 矩阵

  • LED - 添加 8 个红色 LED

  • RGB LED - 添加一个 RGB LED

  • RGB LED WS2812B - 添加一个或多个可寻址 RGB LED

  • 伺服电机 - 添加一个伺服电机

  • 步进电机 - 添加一个步进电机

其它
  • ETH w5500 - 添加以太网屏蔽 W5500

  • IO 74xx573 - 添加一个 74xx573 八进制锁存器

  • IO 74xx595 - 添加一个 74xx595 SIPO 8 位移位寄存器

  • IO MCP23S17 - 添加一个 MCP23S17 串行 SPI IO 扩展器

  • IO MM74C922 - 添加 MM74C922 键编码器

  • IO PCF8574 - 添加 PCF8574 串行 I2C IO 扩展器

  • IO UART - 添加 UART 串行端口

  • 跳线 - 添加十六根跳线

  • MEM 24CXXX - 添加 24CXXX 串行 I2C EEPROM 存储器

  • RTC ds1307 - 添加一个 ds1307 实时时钟

  • RTC pfc8563 - 添加 pfc8563 实时时钟

  • SD 卡 - 添加 SD 卡屏蔽

  • 温度系统 - 添加温度控制系统


PICsimlab:可编程 IC 仿真实验室

文档与下载

更多文档及示例请参见:
https://lcgamboa.github.io/picsimlab_docs/stable/
下载地址:
https://github.com/lcgamboa/picsimlab/releases
- 本文来自网络,如有侵权,请联系本站处理。

2023-12   阅读(424)   评论(0)
 标签: maker Arduino ESP32 仿真

涨知识
SPI

SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。

评论:
相关文章
盛思发布掌控板3.0

掌控板3.0升级了主控,还主打AI。带有双麦克风阵列,增加了音频解码芯片,板载了一个1W喇叭,还把之前的单色屏幕换成了1.47寸的彩色屏幕,有更多的可玩性。



ESP32 使用DAC模拟输出完成两路呼吸灯

ESP32的DAC函数可以实现真正的模拟输出。


在 ESP32 上使用 LEDC (PWM)

ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。


Micropython基于ESP32的多线程开发

本文学习如何使用ESP32开发板来进行多线程的开发。

搜索
小鹏STEM教研服务

专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。