Difference between revisions of "Front Panel For 8 Bit Computers"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
Line 60: | Line 60: | ||
== Drivers == | == Drivers == | ||
+ | |||
+ | === VHDL Driver === | ||
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/FrontPanel01B VHDL code to control Front Panel autonomously] - Great for FPGA Retro-computers | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/FrontPanel01B VHDL code to control Front Panel autonomously] - Great for FPGA Retro-computers | ||
** Example: [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/M6800_MIKBUG_FrontPanel01 6800 running MIKBUG using the Front Panel] - Run/Halt the CPU, Read SRAM, ROM, etc, Write to SRAM | ** Example: [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/M6800_MIKBUG_FrontPanel01 6800 running MIKBUG using the Front Panel] - Run/Halt the CPU, Read SRAM, ROM, etc, Write to SRAM | ||
+ | |||
+ | === Arduino Driver === | ||
+ | |||
* I2C parts are standard MCP23017 drivers which are supported in Arduino and most microprocessors | * I2C parts are standard MCP23017 drivers which are supported in Arduino and most microprocessors | ||
** [https://www.arduino.cc/reference/en/libraries/mcp23017/ Arduino MCP23017 library] | ** [https://www.arduino.cc/reference/en/libraries/mcp23017/ Arduino MCP23017 library] | ||
+ | |||
+ | === Micro-Python === | ||
+ | |||
* [https://github.com/land-boards/lb-Python-Code/blob/master/MicroPython/PyBoard%20Clone/libraries/mcp23017/mcp23017.py Micro-Python driver for MCP23017] | * [https://github.com/land-boards/lb-Python-Code/blob/master/MicroPython/PyBoard%20Clone/libraries/mcp23017/mcp23017.py Micro-Python driver for MCP23017] | ||
+ | |||
+ | === C Code === | ||
+ | |||
* C code driver - [https://github.com/douggilliland/Retro-Computers/tree/master/Z80/PSOC/PSOC_Design_Files/Z80-PSoC-3-Chips_002/Z80_3Chip.cydsn PSoC driver GitHub Repo] | * C code driver - [https://github.com/douggilliland/Retro-Computers/tree/master/Z80/PSOC/PSOC_Design_Files/Z80-PSoC-3-Chips_002/Z80_3Chip.cydsn PSoC driver GitHub Repo] | ||
** [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/PSOC/PSOC_Design_Files/Z80-PSoC-3-Chips_002/Z80_3Chip.cydsn/FrontPanel.c FrontPanel.c] | ** [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/PSOC/PSOC_Design_Files/Z80-PSoC-3-Chips_002/Z80_3Chip.cydsn/FrontPanel.c FrontPanel.c] |
Revision as of 16:03, 20 June 2021
Contents
Front Panel for 8-Bit Microprocessors
Top row controls
Typical controls.
Features
It has these features. They may not fit your generic design. Especially since this card has to have an I2C interface.
- 32 Pushbutton Switches
- 32 LEDs
- I2C interface (Two Wire interface - plus power and ground)
- Jumper selectable base address
- Occupies I2C addresses either 0x20-0x23 or 0x24-0x27
- Jumper Selectable I2C terminators
- I2C daisy-chain connector
- Interrupt line
- Can be configured to interrupt on button presses
- MCP23017 need to be set to Open-Drain output - card has pull-up to Vcc
- Interrupt line
- 4 MCP23017 16-bit I2C Port Expanders
- These are fine pitch surface mount parts
- 3.3V or 5V operation
- Compatible form factor with RETRO-EP4CE15 and other cards
- 95x95mm
- 6-32 mounting holes
Connector
J2 - I2C Connector
- Two row header on bottom of card
- 5 pin in
- 4 pin out (daisy-chain)
- GND
- VCC
- SDA
- SCL
- INT*
And
- GND
- VCC
- SDA
- SCL
Schematic
Drivers
VHDL Driver
- VHDL code to control Front Panel autonomously - Great for FPGA Retro-computers
- Example: 6800 running MIKBUG using the Front Panel - Run/Halt the CPU, Read SRAM, ROM, etc, Write to SRAM
Arduino Driver
- I2C parts are standard MCP23017 drivers which are supported in Arduino and most microprocessors
Micro-Python
C Code
- C code driver - PSoC driver GitHub Repo