On Feb 8, 3:12=A0pm, Sambo <sa...@voidstar.com> wrote:
> Allen Bong wrote:
> > On Feb 2, 10:25 am, Allen Bong <allenbsf6...@gmail.com> wrote:
>
> >>I have wired a simple SBC based on the basic 8085 chip. =A0Using 74LS373=
> >>as a latch clocked by
> >>ALE, 2716 for program storage, 2x 74LS138 for decoding the /CE for
> >>2716 and the /IOR, /IOW,
> >>/MR and /MW signals. =A0I need only 1 bit input and 1 bit output so I
> >>used 74LS373 for input
> >>and 74LS244 for output. =A0The input is connected to a switch and output=
> >>conmected to a LED.
> >>When the switch is making, the LED will flash at about 1Hz. =A0When the
> >>switch is off, the LED
> >>goes off. =A0There was no RAM as my program doesnt use subroutines.
> >>Actually the program is
> >>less than 256 bytes so I tie A8-A10 of the 2716 to ground.
> >>Below is the connection of the 2 decoders and the I/O.
>
> >> =A0 =A0 =A0 =A074LS138 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 74LS138
> >> =A0 =A0 =A0 .------. =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0.------=
...
> >> =A0 =A0 1 | =A0 =A0Y0o----- /ROM CS =A0 =A0 =A0 1 | =A0 =A0Y1|-----/MR
> >>A13----|A =A0 =A0 | =A0 =A0 =A0 =A0 =A0 =A0 =A0 /WR----|A =A0 =A0 |
> >>A14--2-|B =A0 Y1o----- =A0 =A0 =A0 =A0 =A0/RD----|B =A0 Y2|-----/MW
> >>A15--3-|C =A0 =A0 | =A0 =A0 =A0 =A0 =A0 =A0 =A0IO/M----|C =A0 =A0 |
> >> =A0 =A0 =A0 | =A0 =A0Y2o----- =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0 =A0=
Y5|-----/IOR
> >>VCC--6-| =A0 =A0 =A0| =A0 =A0 =A0 =A0 =A0 =A0 =A0 VCC---6| =A0 =A0 =A0|
> >> =A0+--4-o =A0 =A0 =A0| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 +---4| =A0 =A0Y6=
|-----/IOW
> >> =A0+--5-o =A0 =A0 =A0| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 +---5| =A0 =A0 =
=A0|
> >> =A0| =A0 =A0| =A0 =A0 =A0| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0 =A0| =
=A0 =A0 =A0|
> >> =A0| =A0 =A0'------' =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0 =A0'------'
> >> =A0| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
> >> =3D=3D=3D =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =3D=3D=3D=
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 VCC
> >> GND =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 GND =A0 =A0 =A0=
=A0 =A0 =A0 =A0 =A0 =A0 =A0|
> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 .-.
> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 | |
> >> =A0 =A0 =A0 =A0 =A0 OUTPUT =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 INPUT =A0 =A0 =A0| |10K
> >> =A0 =A0 =A0 =A0 =A0 74LS373 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
74LS244 =A0 =A0 '-'
> >> =A0 =A0 =A0 =A0 =A0.------. =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
..------. =A0 =A0 =A0|
> >> =A0D0-----3|D0 =A0Q0|2----+ =A0 =A0 =A0 =A0 D0--18-|Y0 =A0A0|-2---++
> >> =A0 =A0 =A0 =A0 =A0| =A0 =A0 =A0| =A0 =A0 | =A0 =A0 =A0 =A0 =A0 =A0 =A0=
=A0| =A0 =A0 =A0| =A0 =A0 |
> >> =A0 =A0 =A0 =A0 =A0| =A0 =A0 =A0| =A0 =A0.-. =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 | =A0 =A0 =A0| =A0 =A0 o |
> >> /IOW--+ =A0| =A0 =A0 =A0| =A0 =A0| | =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0 =
=A0 =A0| =A0 =A0 =A0 |=3D|
> >> =A0 =A0 =A0 | =A0| =A0 =A0 =A0| =A0 =A0| |470 =A0 =A0 =A0 =A0 =A0 =A0| =
=A0 =A0 =A0| =A0 =A0 o |
> >>+------+ =A0| =A0 =A0 =A0| =A0 =A0'-' =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0 =
=A0 =A0| =A0 =A0 |
> >>| |\ =A0 =A0 =A0| =A0 =A0 =A0| =A0 =A0 | =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
| =A0 =A0 =A0| =A0 =A0 |
> >>+-| >O--11|LE =A0 =A0| =A0 =A0 | =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 =
=A0 =A0| =A0 =A0=3D=3D=3D
> >> =A0|/ =A0 =A0 =A0| =A0 =A0 =A0| LED - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =
=A0 =A0 =A0| =A0 =A0GND
> >> =A0 =A0-----1|/OE =A0 | =A0 =A0 ^ -> =A0 =A0/IOR---1-|/OE =A0 |
> >> =A0 =A0| =A0 =A0 '------' =A0 =A0 | =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0'---=
---'
> >> =A0 =3D=3D=3D =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0VCC
> >> =A0 GND
>
> >>(created by AACircuit v1.28.6 beta 04/19/05www.tech-chat.de)
>
> >>And the program I wrote to test the circuit.
>
> >> =A0 =A0 =A0 =A0.equ =A0 =A0sensor, h'00
> >> =A0 =A0 =A0 =A0.equ =A0 =A0led, =A0 =A0h'00
>
> >> =A0 =A0 =A0 =A0.org =A0 =A0h'0000
>
> >>start: =A0mvi =A0 =A0 a,h'ff =A0 =A0 =A0 =A0 =A0;turn off led at start
> >> =A0 =A0 =A0 =A0out =A0 =A0 led
> >>mloop: =A0in =A0 =A0 =A0sensor =A0 =A0 =A0 =A0 =A0;check sensor
> >> =A0 =A0 =A0 =A0rar
> >> =A0 =A0 =A0 =A0jnc =A0 =A0 led_on
> >> =A0 =A0 =A0 =A0jmp =A0 =A0 mloop
> >>led_on: mvi =A0 =A0 a,h'00 =A0 =A0 =A0 =A0 =A0;turn on led
> >> =A0 =A0 =A0 =A0out =A0 =A0 led
> >>delay1: lxi =A0 =A0 d,h'ffff
> >>dloop1: nop
> >> =A0 =A0 =A0 =A0dcx =A0 =A0 d
> >> =A0 =A0 =A0 =A0jnz =A0 =A0 dloop1
> >> =A0 =A0 =A0 =A0mvi =A0 =A0 a,h'ff =A0 =A0 =A0 =A0 =A0;turn off led
> >> =A0 =A0 =A0 =A0out =A0 =A0 led
> >>delay2: lxi =A0 =A0 d,h'ffff
> >>dloop2: nop
> >> =A0 =A0 =A0 =A0dcx =A0 =A0 d
> >> =A0 =A0 =A0 =A0jnz =A0 =A0 dloop2
> >> =A0 =A0 =A0 =A0jmp =A0 =A0 mloop
> >> =A0 =A0 =A0 =A0.code
> >> =A0 =A0 =A0 =A0.end
>
> >>I was wondering if I didnt fully understand the instructions correctly
> >>or the hardware was
> >>in problem. =A0On the 74LS138 I used for memory decoding, I was getting
> >>pulses on all the
> >>output instead of just Y0 output. =A0The IO/M pin was a permanent lo and=
> >>the /WR signal from
> >>8085 was always high.
> >>Do I need extra signals on the enables for the decoders to decode
> >>correctly?
> >>Any feedback is much appreciated. =A0Thank you.
>
> >>Allen
>
> > I have just spotted a software mistake. =A0The DCX D dosent affect the
> > zero flag when decrements through zero, so my program must have
> > stucked in a loop. =A0SOme correction was made after the DCX D.
>
> > dloop1: nop
> > =A0 =A0 =A0 =A0 dcx d
> > =A0 =A0 =A0 =A0 mov a,d
> > =A0 =A0 =A0 =A0 ora e
> > =A0 =A0 =A0 =A0 jnz dloop1
> > [snip]
> > dloop2: nop
> > =A0 =A0 =A0 =A0 dcx d
> > =A0 =A0 =A0 =A0 mov a,d
> > =A0 =A0 =A0 =A0 ora e
> > =A0 =A0 =A0 =A0 jnz dloop2
> > =A0 =A0 =A0 =A0 jmp mloop
>
> > I have also included a link if you want to take a look at the
> > schematic.
>
> >http://www.flickr.com/photos/11236051@N08/2236545530/
>
> > Allen
>
> This chip is similar to 8086? So the reset vector (well not really a vecto=
r on intels )
> is in high memory? Where is that specified in the code?
> Hmmm how do you even program 2716, LOL I may have 1 or 2 around
> here to but mostly 8K and up.
I think so, Most Intel micro-processors reset to address h'0000. The
8051 that I used a few times also reset to zero. I have plenty of
2716 pulled out of sockets from OKI teletypes when these machines
became out of date 10 years ago. Each teletype (we called teleprinter
here) has 2x 8085, 2x 8755 and 4-5 8155 on board plus some other 82xx
chips.
>
> Well had to look up the reset on this chip, at 0? hmm .
>
> As to the hardware .. quick look at the address decode..
> it will work in this situation but really it divides the address space int=
o
> 8 chunks not 16 AND YOU ARE NOT USING the /MR in decoding the /ROM CS, thi=
s will
> affect any output (writes) out of the CPU.
> I'd connect /MR out of second 138 to one or both /G2 enables ( pin 4 and 5=
)
> of first 138.
> To get this particular, 1 rom configuration going you could even do away w=
ith the
> first 138 and use the /WR to control the /OE or /CE of the ROM keeping the=
other
> grounded.
Well, the /MR was connected to the /OE of the 2716 and the address
decoder /ROM CS is connected to the /CE. I used address decoder in
case I want to add static RAM later if the I want to expand the
circuit. The other decoder idea was stolen from Steve Walz's 7442 and
I though it was not a bad idea so I adapted it.
The complete circuit is at
http://www.flickr.com/photos/11236051@N ... -72157601=398953933/
In the schematic I used 2764 instead of 2716 as my circuit CAD doesn't
support 2716 at all. The minimum eprom is 2764 as you've expected.
>
> Oh, when will I have time to have similar fun with my 80C196.
Was the 80C196 similar to 80C186 which was designed as a controller?
It was used in our telephone automatic line testers in the exchange.
Looks quite complicated!
Guess you would be playing with it when yor're retired. LOL.
Thanks for your response, I'll modifiy my circuit as you suggested and
see if it works. BTW the address latch from the 8085 was a 74F373.
Will that have any efftect on my circuit?
>
> Cheers.- Hide quoted text -
>
> - Show quoted text -