| NedoPC Project
| NedoPC Forum
| NedoPC Group
|
NedoPC-85-A
On June 22, 2004 I finished assembling and debugging of test board
NedoPC-85-A based on P8085AH (old Intel 8085 clone) microprocessor that running 2 MHz clock.
Board consists of electrically erased programmed read only memory (EEPROM)
KM2865A-25 (8Kx8), static random access memory (SRAM) HM6264P-12 (8Kx8)
and 3 logic ICs: 74ALS573, 74LS138, 74LS08. Cost of components is $27.
Current of board is less then 200 mA.
Assembled board:
Board without large ICs:
View of soldering side:
Scheme (click mouse to magnify):
How we can see address space devided to 8 parts of 8 kylobytes each:
| Range | CS |
| #0000...#1FFF | ROM |
| #2000...#3FFF | RAM |
| #4000...#5FFF | - |
| #6000...#7FFF | - |
| #8000...#9FFF | - |
| #A000...#BFFF | _CS |
| #C000...#DFFF | RAM |
| #E000...#FFFF | ROM |
_CS is output signal in 15-pins connector:
| Pin | Name | Description |
| 1 | GND | Ground signal |
| 2 | _CS | Select external device (act.0) |
| 3 | ALE | Data is low byte of address (act.1) |
| 4 | M_IO | Using memory (1) or I/O-port (0) |
| 5 | _RD | Read access(act.0) |
| 6 | _WR | Write access (act.0) |
| 7 | D0 | Bit 0 of data (or address) |
| 8 | D1 | Bit 1 of data (or address) |
| 9 | D2 | Bit 2 of data (or address) |
| 10 | D3 | Bit 3 of data (or address) |
| 11 | D4 | Bit 4 of data (or address) |
| 12 | D5 | Bit 5 of data (or address) |
| 13 | D6 | Bit 6 of data (or address) |
| 14 | D7 | Bit 7 of data (or address) |
| 15 | VCC | Power signal (+5V) |
We may call it "Nedo Interface 15" (because 15 pins) or NI-15 as a short name
(in the near future we implement a number of circuits for working
with NedoPC-85-A board using this interface). The interface NI-15 may do:
- read 1 byte from 256 bytes of external memory (address range
#A000...#A0FF and far with step 256 bytes since #BF00...#BFFF)
- write 1 byte to 256 bytes of external memory (address range
#A000...#A0FF and far with step 256 bytes since #BF00...#BFFF)
- read 1 byte from 32 input ports (range of port numbers is
#A0...#BF)
- write 1 byte to 32 input ports (range of port numbers is
#A0...#BF)
Without additional circuit for demultiplexing of data and low byte address
by ALE signal, this device may address only 1 byte in any address in range
#A000...#BFFF or only 1 port in range #A0...#BF.
Using NI-15 connector the board is connected to any standard breadboard
and with simple stuff may do something like LEDs control:
Scheme of LED-device (click mouse to magnify):
Sample program for LEDs control:
ORG 0
START:
JMP #E003
_E003:
MVI B,1
LOOP1:
LXI H,0
LOOP2:
DCX H
MOV A,H
ORA L
JNZ LOOP2
MOV A,B
OUT #A0
RLC
MOV B,A
JMP LOOP1
|
Listing of the compiled program:
| Adr1 | Adr2 | Code | Command | Comment |
| #0000 | #E000 | #C3 | JMP #E003 | Jump to last window |
| #0001 | #E001 | #03 | | |
| #0002 | #E002 | #E0 | | |
| #0003 | #E003 | #06 | MVI B,1 | Starting state |
| #0004 | #E004 | #01 | | |
| #0005 | #E005 | #21 | LXI H, #0000 | Clear counter |
| #0006 | #E006 | #00 | | |
| #0007 | #E007 | #00 | | |
| #0008 | #E008 | #2B | DCX H | Decrement counter |
| #0009 | #E009 | #7C | MOV A,H | Test 16-bits 0 |
| #000A | #E00A | #B5 | ORA L | |
| #000B | #E00B | #C2 | JNZ #E008 | Repeat if not 0 |
| #000C | #E00C | #08 | | |
| #000D | #E00D | #E0 | | |
| #000E | #E00E | #78 | MOV A,B | Copy state to A |
| #000F | #E00F | #D3 | OUT #A0 | Send to port #A0 |
| #0010 | #E010 | #A0 | | |
| #0011 | #E011 | #07 | RLC | Shift left |
| #0012 | #E012 | #47 | MOV B,A | Save state |
| #0013 | #E013 | #C3 | JMP #E005 | Go to begin of cycle |
| #0014 | #E014 | #05 | | |
| #0015 | #E015 | #E0 | | |
Programming of EEPROM may be done by NedoProg-1.
If we have 2 MHz processor clock (4 MHz crystal) full cycle of 8 LEDs is done
during 6.3 sec.
Discuss it
^ Go Up
|