关于 legacy-circuit-mockups
用于为复古计算和电子项目制作面包板电路示意图的技能。它使用 HTML5 Canvas,并提供元件参考和布局流程,涵盖 W65C02S、NE555 与逻辑芯片等元件。
主要功能
- 01渲染交互式面包板布局
- 02放置支持的电子元件
- 03表示导线与连接
- 04参考元件引脚定义
- 05遵循示例电路流程
适用场景
- 01可视化单 LED 面包板电路
- 02绘制 555 定时器电路示意图
- 03规划 6502 面包板布局
- 04制作电子学教学图示
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill legacy-circuit-mockups安装后在 Claude Code 中输入/legacy-circuit-mockups确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/28256-eeprom.md555.md6502.md6522.md6C62256.md7400-series.mdassembly-compiler.mdassembly-language.mdbasic-electronic-components.mdbreadboard.mdcommon-breadboard-components.mdconnecting-electronic-components.mdemulator-28256-eeprom.mdemulator-6502.mdemulator-6522.mdemulator-6C62256.mdemulator-lcd.mdlcd.mdminipro.mdt48eeprom-programmer.md详细介绍
复古电路原型
一项用于为复古计算和电子项目创建面包板电路原型及可视化图表的技能。此技能利用 HTML5 Canvas 绘图机制来渲染交互式电路布局,特色是包含 6502 微处理器、555 定时器 IC、EEPROM 和 7400 系列逻辑门等复古元件。
何时使用此技能
- 用户要求“创建面包板布局”或“制作电路原型”
- 用户想要可视化元件在面包板上的放置位置
- 用户需要构建 6502 计算机的视觉参考
- 用户要求“绘制电路”或“绘制电子图表”
- 用户想要创建教育性电子可视化内容
- 用户提及 Ben Eater 教程或复古计算项目
- 用户要求制作 555 定时器电路或 LED 项目的原型
- 用户需要可视化元件之间的导线连接
前提条件
- 了解捆绑参考文件中的元件引脚排列
- 熟悉面包板布局惯例(行、列、电源轨)
支持的元件
微处理器与存储器
| 元件 | 引脚 | 描述 |
|---|---|---|
| W65C02S | 40 引脚 DIP | 带 16 位地址总线的 8 位微处理器 |
| 28C256 | 28 引脚 DIP | 32KB 并行 EEPROM |
| W65C22 | 40 引脚 DIP | 通用接口适配器 (VIA) |
| 62256 | 28 引脚 DIP | 32KB 静态 RAM |
逻辑与定时器 IC
| 元件 | 引脚 | 描述 |
|---|---|---|
| NE555 | 8 引脚 DIP | 用于定时和振荡的定时器 IC |
| 7400 | 14 引脚 DIP | 四路 2 输入与非门 |
| 7402 | 14 引脚 DIP | 四路 2 输入或非门 |
| 7404 | 14 引脚 DIP | 六路反相器(非门) |
| 7408 | 14 引脚 DIP | 四路 2 输入与门 |
| 7432 | 14 引脚 DIP | 四路 2 输入或门 |
无源与有源元件
| 元件 | 描述 |
|---|---|
| LED | 发光二极管(多种颜色) |
| 电阻 | 限流(可配置阻值) |
| 电容 | 滤波和定时(陶瓷/电解) |
| 晶体 | 时钟振荡器 |
| 开关 | 拨动开关(自锁) |
| 按钮 | 瞬时按压按钮 |
| 电位器 | 可变电阻 |
| 光敏电阻 | 光敏电阻器 |
网格系统
// Standard breadboard grid: 20px spacing
const gridSize = 20;
const cellX = Math.floor(x / gridSize) * gridSize;
const cellY = Math.floor(y / gridSize) * gridSize;
元件渲染模式
// All components follow this structure:
{
type: 'component-type',
x: gridX,
y: gridY,
width: componentWidth,
height: componentHeight,
rotation: 0, // 0, 90, 180, 270
properties: { /* component-specific data */ }
}
导线连接
// Wire connection format:
{
start: { x: startX, y: startY },
end: { x: endX, y: endY },
color: '#ff0000' // Wire color coding
}
分步工作流
创建基本 LED 电路原型
- 定义面包板尺寸和网格
- 放置电源轨连接(+5V 和 GND)
- 按阳极/阴极方向添加 LED 元件
- 放置限流电阻
- 绘制元件之间的导线连接
- 添加标签和注释
创建 555 定时器电路
- 将 NE555 IC 放置在面包板上(引脚 1-4 在左侧,5-8 在右侧)
- 将引脚 1(GND)连接到接地轨
- 将引脚 8(Vcc)连接到电源轨
- 添加定时电阻和电容
- 连接触发和阈值连接
- 将输出连接到 LED 或其他负载
创建 6502 微处理器布局
- 将 W65C02S 居中放置在面包板上
- 添加 28C256 EEPROM 用于存储程序
- 放置 W65C22 VIA 用于 I/O
- 添加 7400 系列逻辑用于地址解码
- 连接地址总线(A0-A15)
- 连接数据总线(D0-D7)
- 连接控制信号(R/W、PHI2、RESB)
- 添加复位按钮和时钟晶体
元件引脚排列快速参考
555 定时器(8 引脚 DIP)
| 引脚 | 名称 | 功能 |
|---|---|---|
| 1 | GND | 接地 (0V) |
| 2 | TRIG | 触发(< 1/3 Vcc 开始定时) |
| 3 | OUT | 输出(拉电流/灌电流 200mA) |
| 4 | RESET | 低电平有效复位 |
| 5 | CTRL | 控制电压(用 10nF 旁路) |
| 6 | THR | 阈值(> 2/3 Vcc 复位) |
| 7 | DIS | 放电(开集电极) |
| 8 | Vcc | 电源 (+4.5V 至 +16V) |
W65C02S(40 引脚 DIP)- 关键引脚
| 引脚 | 名称 | 功能 |
|---|---|---|
| 8 | VDD | 电源 |
| 21 | VSS | 接地 |
| 37 | PHI2 | 系统时钟输入 |
| 40 | RESB | 低电平有效复位 |
| 34 | RWB | 读/写信号 |
| 9-25 | A0-A15 | 地址总线 |
| 26-33 | D0-D7 | 数据总线 |
28C256 EEPROM(28 引脚 DIP)- 关键引脚
| 引脚 | 名称 | 功能 |
|---|---|---|
| 14 | GND | 接地 |
| 28 | VCC | 电源 |
| 20 | CE | 芯片使能(低电平有效) |
| 22 | OE | 输出使能(低电平有效) |
| 27 | WE | 写使能(低电平有效) |
| 1-10, 21-26 | A0-A14 | 地址输入 |
| 11-19 | I/O0-I/O7 | 数据总线 |
公式参考
电阻计算
- 欧姆定律: V = I × R
- LED 电流: R = (Vcc - Vled) / Iled
- 功率: P = V × I = I² × R
555 定时器公式
无稳态模式:
- 频率:f = 1.44 / ((R1 + 2×R2) × C)
- 高电平时间:t₁ = 0.693 × (R1 + R2) × C
- 低电平时间:t₂ = 0.693 × R2 × C
- 占空比:D = (R1 + R2) / (R1 + 2×R2) × 100%
单稳态模式:
- 脉冲宽度:T = 1.1 × R × C
电容计算
- 容抗:Xc = 1 / (2πfC)
- 储能:E = ½ × C × V²
颜色编码约定
导线颜色
| 颜色 | 用途 |
|---|---|
| 红色 | +5V / 电源 |
| 黑色 | 接地 |
| 黄色 | 时钟 / 时序 |
| 蓝色 | 地址总线 |
| 绿色 | 数据总线 |
| 橙色 | 控制信号 |
| 白色 | 通用 |
LED 颜色
| 颜色 | 正向电压 |
|---|---|
| 红色 | 1.8V - 2.2V |
| 绿色 | 2.0V - 2.2V |
| 黄色 | 2.0V - 2.2V |
| 蓝色 | 3.0V - 3.5V |
| 白色 | 3.0V - 3.5V |
搭建示例
搭建 1 — 单个 LED
元件: 红色 LED、220Ω 电阻、跳线、电源
步骤:
- 将黑色跳线从电源 GND 插入 A5 行
- 将红色跳线从电源 +5V 插入 J5 行
- 放置 LED,使阴极(短脚)位于与 GND 对齐的行
- 在电源与 LED 阳极之间放置 220Ω 电阻
搭建 2 — 555 无稳态闪烁器
元件: NE555、LED、电阻(10kΩ、100kΩ)、电容(10µF)
步骤:
- 将 555 IC 跨接在中央通道上
- 将引脚 1 连接到 GND,引脚 8 连接到 +5V
- 将引脚 4 连接到引脚 8(禁用复位)
- 在引脚 7 与 +5V 之间连接 10kΩ
- 在引脚 6 与 7 之间连接 100kΩ
- 在引脚 6 与 GND 之间连接 10µF
- 将引脚 3(输出)连接到 LED 电路
故障排查
| 问题 | 解决方案 |
|---|---|
| LED 不亮 | 检查极性(阳极接 +,阴极接 -) |
| 电路无法通电 | 检查电源轨连接 |
| IC 不工作 | 检查 VCC 和 GND 引脚连接 |
| 555 不振荡 | 检查阈值/触发电容接线 |
| 微处理器卡住 | 检查复位脉冲后 RESB 是否为高电平 |
参考资料
详细的组件规格可在随附的参考文件中找到:
- 555.md - 完整的 555 定时器 IC 规格
- 6502.md - MOS 6502 微处理器详情
- 6522.md - W65C22 VIA 接口适配器
- 28256-eeprom.md - AT28C256 EEPROM 规格
- 6C62256.md - 62256 SRAM 详情
- 7400-series.md - TTL 逻辑门引脚定义
- assembly-compiler.md - 汇编编译器规格
- assembly-language.md - 汇编语言规格
- basic-electronic-components.md - 电阻器、电容器、开关
- breadboard.md - 面包板规格
- common-breadboard-components.md - 全面的组件参考
- connecting-electronic-components.md - 分步构建指南
- emulator-28256-eeprom.md - 模拟 28256-eeprom 规格
- emulator-6502.md - 模拟 6502 规格
- emulator-6522.md - 模拟 6522 规格
- emulator-6C62256.md - 模拟 6C62256 规格
- emulator-lcd.md - 模拟 LCD 规格
- lcd.md - LCD 显示屏接口
- minipro.md - EEPROM 编程器使用方法
- t48eeprom-programmer.md - T48 编程器参考
评论
支持 Markdown