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/
Arduino Mega
它模拟 Arduino Mega 开发板,该开发板使用 simavr 后端模拟器的一个 ATMEGA2560 微控制器。
Arduino Nano
它模拟 Arduino Nano 开发板,该开发板使用 simavr 后端模拟器的一个 ATMEGA328P 微控制器。
Arduino Uno
它模拟 Arduino Uno 开发板,该开发板使用 simavr 后端模拟器的一个 ATMEGA328P 微控制器。
Blue Pill
它是一块通用电路板,只有复位、串行和晶振电路,支持 qemu-stm32 后端模拟器的 stm32f103c8t6 微控制器。
Breadboard
它是一块通用电路板,只有复位、串行和晶体电路,支持 PICSim 和 simavr 后端模拟器的多个微控制器。
Curiosity
这是一个使用 PICSim 后端模拟器的简单 PIC 微控制器开发板。
Curiosity HPC
这是一个使用 PICSim 后端模拟器的简单 PIC 微控制器开发板。
ESP32-C3-DevKitC-02
它是一块简单的电路板,只有复位、串行和晶振电路,支持 qemu-esp32 后端模拟器的 ESP32-C3 微控制器。
ESP32-DevKitC
这是一块简单的电路板,只有复位、串行和晶振电路,支持 qemu-esp32 后端模拟器的 ESP32 微控制器。
Franzininho DIY
Franzininho DIY 电路板是一个开放硬件项目,更多信息请访问 https://franzininho.com.br/。其开发目的是与 simavr 后端模拟器的微控制器 ATtiny85 配合使用。
K16F
仿真了使用 PICSim 后端仿真器的 PIC16F84、PIC16F628 或 PIC16F648 开发的教学板。
McLab1
仿真了使用 PICSim 后端仿真器的 PIC16F84、PIC16F628 或 PIC16F648 的 Labtools 开发板 McLab1。
McLab2
仿真了使用 PICSim 后端仿真器的 PIC16F777、PIC16F877A、PIC18F452、PIC18F4520、PIC18F4550 或 PIC18F4620 的 Labtools 开发板 McLab2。
PICGenios
仿真使用 PICSim 后端仿真器的 PIC16F777、PIC16F877A、PIC18F452、PIC18F4520、PIC18F4550 或 PIC18F4620 的 Microgenius 开发板 PICGenios PIC18F e PIC16F。
PQDB
PQDB 板是一个开源/开放硬件项目,更多信息请访问 https://github.com/projetopqdb/。它是为与 arduino/freedom 电路板一起使用而开发的,但经调整后可使用 PICSImLab 上 PICSim 后端模拟器的微控制器 PIC18F4520。
Remote TCP
通过一个 TCP 连接控制的虚拟电路板。目前仅支持 Risc-V 模拟器 Ripes,并使用远程后台模拟器。
STM32 H103
它是一块通用电路板,只有复位、一个按钮、串行和晶体电路,支持 qemu-stm32 后端模拟器的 stm32f103rbt6 微控制器。
X
这是一个通用电路板,在创建新电路板教程中用作示例。该电路板使用 PICSim 后端模拟器的 PIC16F877A、PIC18F4550 或 PIC18F4620。
Xpress
这是一个使用 PICSim 后端模拟器的简单 PIC 微控制器开发板。
gpboard
一块通用电路板,只有复位、串行和晶振电路,支持 gpsim 后端模拟器的多个微控制器。
uCboard
它是一块通用电路板,只有复位、串行和晶振电路,支持多种微控制器(最初是 C51、Z80 和 STM8S103)的 ucsim 后端模拟器。
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 卡屏蔽
温度系统 - 添加温度控制系统
SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。
掌控板3.0升级了主控,还主打AI。带有双麦克风阵列,增加了音频解码芯片,板载了一个1W喇叭,还把之前的单色屏幕换成了1.47寸的彩色屏幕,有更多的可玩性。
ESP32的DAC函数可以实现真正的模拟输出。
ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。
本文学习如何使用ESP32开发板来进行多线程的开发。