 |
Search Sci.Electronics.Basics |
|
 |
 |
|
|
|
 |
|
|
Sci.Electronics.Basics -> 8085 SBC needs help
There are 10 messages in this thread.
You are currently looking at messages 1 to 10.
|
Author: Allen BongDate: 21:25 01-02-08
|
|
I have wired a simple SBC based on the basic 8085 chip. Using 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. I need only 1 bit input and 1 bit output so I
used 74LS373 for input
and 74LS244 for output. The input is connected to a switch and output
conmected to a LED.
When the switch is making, the LED will flash at about 1Hz. When the
switch is off, the LED
goes off. There 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.
74LS138 74LS138
.------. .------.
1 | Y0o----- /ROM CS 1 | Y1|-----/MR
A13----|A | /WR----|A |
A14--2-|B Y1o----- /RD----|B Y2|-----/MW
A15--3-|C | IO/M----|C |
| Y2o----- | Y5|-----/IOR
VCC--6-| | VCC---6| |
+--4-o | +---4| Y6|-----/IOW
+--5-o | +---5| |
| | | | | |
| '------' | '------'
| |
=== === VCC
GND GND |
.-.
| |
OUTPUT INPUT | |10K
74LS373 74LS244 '-'
.------. .------. |
D0-----3|D0 Q0|2----+ D0--18-|Y0 A0|-2---++
| | | | | |
| | .-. | | o |
/IOW--+ | | | | | | |=|
| | | | |470 | | o |
+------+ | | '-' | | |
| |\ | | | | | |
+-| >O--11|LE | | | | ===
|/ | | LED - | | GND
-----1|/OE | ^ -> /IOR---1-|/OE |
| '------' | '------'
=== VCC
GND
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
And the program I wrote to test the circuit.
.equ sensor, h'00
.equ led, h'00
.org h'0000
start: mvi a,h'ff ;turn off led at start
out led
mloop: in sensor ;check sensor
rar
jnc led_on
jmp mloop
led_on: mvi a,h'00 ;turn on led
out led
delay1: lxi d,h'ffff
dloop1: nop
dcx d
jnz dloop1
mvi a,h'ff ;turn off led
out led
delay2: lxi d,h'ffff
dloop2: nop
dcx d
jnz dloop2
jmp mloop
.code
.end
I was wondering if I didnt fully understand the instructions correctly
or the hardware was
in problem. On the 74LS138 I used for memory decoding, I was getting
pulses on all the
output instead of just Y0 output. The 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. Thank you.
Allen
|
|
|
|
Author: Allen BongDate: 04:56 02-02-08
|
|
On Feb 2, 10:25=A0am, 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 =A0 74LS138 =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 =A0 =A01 | =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| =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 |
> =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
> =A0GND =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 =A0 =A0 =A0OUTPUT =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 INPUT =A0 =A0 =A0| |10K
> =A0 =A0 =A0 =A0 =A0 =A074LS373 =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|
> =A0 D0-----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 |
> =A0/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 =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 =A0=3D=3D=3D =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0VCC
> =A0 =A0GND
>
> (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 =A0 out =A0 =A0 led
> mloop: =A0in =A0 =A0 =A0sensor =A0 =A0 =A0 =A0 =A0;check sensor
> =A0 =A0 =A0 =A0 rar
> =A0 =A0 =A0 =A0 jnc =A0 =A0 led_on
> =A0 =A0 =A0 =A0 jmp =A0 =A0 mloop
> led_on: mvi =A0 =A0 a,h'00 =A0 =A0 =A0 =A0 =A0;turn on led
> =A0 =A0 =A0 =A0 out =A0 =A0 led
> delay1: lxi =A0 =A0 d,h'ffff
> dloop1: nop
> =A0 =A0 =A0 =A0 dcx =A0 =A0 d
> =A0 =A0 =A0 =A0 jnz =A0 =A0 dloop1
> =A0 =A0 =A0 =A0 mvi =A0 =A0 a,h'ff =A0 =A0 =A0 =A0 =A0;turn off led
> =A0 =A0 =A0 =A0 out =A0 =A0 led
> delay2: lxi =A0 =A0 d,h'ffff
> dloop2: nop
> =A0 =A0 =A0 =A0 dcx =A0 =A0 d
> =A0 =A0 =A0 =A0 jnz =A0 =A0 dloop2
> =A0 =A0 =A0 =A0 jmp =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. The DCX D dosent affect the
zero flag when decrements through zero, so my program must have
stucked in a loop. SOme correction was made after the DCX D.
dloop1: nop
dcx d
mov a,d
ora e
jnz dloop1
[snip]
dloop2: nop
dcx d
mov a,d
ora e
jnz dloop2
jmp mloop
I have also included a link if you want to take a look at the
schematic.
11236051@N08/2236545530/" target=_blank>http://www.flickr.com/photos/11236051@N08/2236545530/>
Allen
|
|
|
|
Author: MarraDate: 22:15 02-02-08
|
|
I was using the 8085 in 1984 !!!
You need to find a microcontroller that is up to date.
You wont need all these extra chips then !
A PIC or AVR should do the job easily.
|
|
|
|
|
|
On Feb 2, 7:15=A0pm, Marra <cresswellave...@talktalk.net> wrote:
> I was using the 8085 in 1984 !!!
>
> You need to find a microcontroller that is up to date.
> You wont need all these extra chips then !
> A PIC or AVR should do the job easily.
Learning is good and he's making headway with what he has. Don't go
raining on his parade. Personally I think what he's doing is better in
that he's understanding the interactions to the outside world which is
never a bad thing.
Keep at it Allen
GG
|
|
|
|
Author: Allen BongDate: 01:58 03-02-08
|
|
On Feb 3, 1:23=A0pm, stratu...@yahoo.com wrote:
> =A0On Feb 2, 7:15=A0pm, Marra <cresswellave...@talktalk.net> wrote:
> =A0> I was using the 8085 in 1984 !!!
> =A0>
> =A0> You need to find a microcontroller that is up to date.
> =A0> You wont need all these extra chips then !
> =A0> A PIC or AVR should do the job easily.
>
> Learning is good and he's making headway with what he has. Don't go
> raining on his parade. Personally I think what he's doing is better in
> that he's understanding the interactions to the outside world which is
> never a bad thing.
>
> Keep at it Allen
>
> GG
Thanks GG, for the vote of confidence. I know I am not that far to
making the circuit work. I just need a little push so I can get my
engine started. It is weekend now and I guess everyone is having his
good time so help should arrive when everyone is back.
Cheers,
Allen
|
|
|
|
Author: SamboDate: 02:12 08-02-08
|
|
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. Using 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. I need only 1 bit input and 1 bit output so I
>>used 74LS373 for input
>>and 74LS244 for output. The input is connected to a switch and output
>>conmected to a LED.
>>When the switch is making, the LED will flash at about 1Hz. When the
>>switch is off, the LED
>>goes off. There 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.
>>
>> 74LS138 74LS138
>> .------. .------..
>> 1 | Y0o----- /ROM CS 1 | Y1|-----/MR
>>A13----|A | /WR----|A |
>>A14--2-|B Y1o----- /RD----|B Y2|-----/MW
>>A15--3-|C | IO/M----|C |
>> | Y2o----- | Y5|-----/IOR
>>VCC--6-| | VCC---6| |
>> +--4-o | +---4| Y6|-----/IOW
>> +--5-o | +---5| |
>> | | | | | |
>> | '------' | '------'
>> | |
>> === === VCC
>> GND GND |
>> .-.
>> | |
>> OUTPUT INPUT | |10K
>> 74LS373 74LS244 '-'
>> .------. .------. |
>> D0-----3|D0 Q0|2----+ D0--18-|Y0 A0|-2---++
>> | | | | | |
>> | | .-. | | o |
>> /IOW--+ | | | | | | |=|
>> | | | | |470 | | o |
>>+------+ | | '-' | | |
>>| |\ | | | | | |
>>+-| >O--11|LE | | | | ===
>> |/ | | LED - | | GND
>> -----1|/OE | ^ -> /IOR---1-|/OE |
>> | '------' | '------'
>> === VCC
>> GND
>>
>>(created by AACircuit v1.28.6 beta 04/19/05www.tech-chat.de)
>>
>>And the program I wrote to test the circuit.
>>
>> .equ sensor, h'00
>> .equ led, h'00
>>
>> .org h'0000
>>
>>start: mvi a,h'ff ;turn off led at start
>> out led
>>mloop: in sensor ;check sensor
>> rar
>> jnc led_on
>> jmp mloop
>>led_on: mvi a,h'00 ;turn on led
>> out led
>>delay1: lxi d,h'ffff
>>dloop1: nop
>> dcx d
>> jnz dloop1
>> mvi a,h'ff ;turn off led
>> out led
>>delay2: lxi d,h'ffff
>>dloop2: nop
>> dcx d
>> jnz dloop2
>> jmp mloop
>> .code
>> .end
>>
>>I was wondering if I didnt fully understand the instructions correctly
>>or the hardware was
>>in problem. On the 74LS138 I used for memory decoding, I was getting
>>pulses on all the
>>output instead of just Y0 output. The 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. Thank you.
>>
>>Allen
>
>
> I have just spotted a software mistake. The DCX D dosent affect the
> zero flag when decrements through zero, so my program must have
> stucked in a loop. SOme correction was made after the DCX D.
>
> dloop1: nop
> dcx d
> mov a,d
> ora e
> jnz dloop1
> [snip]
> dloop2: nop
> dcx d
> mov a,d
> ora e
> jnz dloop2
> jmp mloop
>
> I have also included a link if you want to take a look at the
> schematic.
>
> 11236051@N08/2236545530/" target=_blank>http://www.flickr.com/photos/11236051@N08/2236545530/>
>
> Allen
This chip is similar to 8086? So the reset vector (well not really a vector 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.
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 into
8 chunks not 16 AND YOU ARE NOT USING the /MR in decoding the /ROM CS, this 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 with the
first 138 and use the /WR to control the /OE or /CE of the ROM keeping the other
grounded.
Oh, when will I have time to have similar fun with my 80C196.
Cheers.
|
|
|
|
Author: Allen BongDate: 16:46 08-02-08
|
|
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.
>
> >11236051@N08/2236545530/" target=_blank>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
11236051@N08/2235791543/sizes/o/in/set-72157601" target=_blank>http://www.flickr.com/photos/11236051@N08/2235791543/sizes/o/in/set-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 -
|
|
|
|
Author: SamboDate: 22:55 08-02-08
|
|
Allen Bong wrote:
>
>>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 into
>>8 chunks not 16 AND YOU ARE NOT USING the /MR in decoding the /ROM CS, this 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 with 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.
>
Oh yes I thought of that later, after I sent it.
> The complete circuit is at
>
> 11236051@N08/2235791543/sizes/o/in/set-72157601398953933/" target=_blank>http://www.flickr.com/photos/11236051@N08/2235791543/sizes/o/in/set-72157601398953933/
>
> 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!
>
It's not all that close and I don't like it's banking crap
but when I rescued it from some hard drives 5-8 years ago it's
64K address space with ADC looked great.
> 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?
>
>
Well it sounds like you have it right. Maybe you could try first just
blinking the led, or replace the led with small cap.
I didn't find any good page describing the chip, so besides finding out
it resets to 0 and has other vectors at the bottom I didn't find out much
else. I'd try to make sure all possible interrupts are disabled and besides
the initial JMP start_prog put the rest of the program little higher, above
the 'vectors'.
Saying all that, it is still possible it's the timing but I don't think
I can give it a good look tonight.
Cheers,
Sam.
|
|
|
|
Author: SamboDate: 23:34 08-02-08
|
|
>
>>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 into
>>8 chunks not 16 AND YOU ARE NOT USING the /MR in decoding the /ROM CS, this 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 with 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
Oh yes I thought of that later, after I sent it.
>
> 11236051@N08/2235791543/sizes/o/in/set-72157601398953933/" target=_blank>http://www.flickr.com/photos/11236051@N08/2235791543/sizes/o/in/set-72157601398953933/
>
> 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!
>
It's not all that close, it needs to be KC version and I don't like it's
banking crap but when I rescued it from some hard drives 5-8 years ago it's
64K address space with ADC looked great. Microchip has something comparable
by now, but the price per transistor compared to to the current CPUs with
hundrets of millions of transistors...not to mention the banking because they
are trying to save on few extra bus paths, sheesh.
> 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?
>
Well it sounds like you have it right. Maybe you could try first just blinking the led, or replace the led with small cap.
I didn't find any good page describing the chip, so besides finding out it resets to 0 and has other vectors at the bottom I didn't find out much else. I'd try to make sure all possible interrupts are disabled and besides the initial JMP start_prog put the rest of the program little higher, above the 'vectors'. Saying all that, it is still possible it's the timing but I don't think I can give it a good look tonight.
Another thing, are you sure that particular chip does not have some aditional features,
it used to be nightmare trying to pick a 6800 micro, and trying to reuse unknown one....
Cheers, Sam.
|
|
|
|
Author: SamboDate: 23:40 08-02-08
|
|
>
> 11236051@N08/2235791543/sizes/o/in/set-72157601398953933/" target=_blank>http://www.flickr.com/photos/11236051@N08/2235791543/sizes/o/in/set-72157601398953933/
>
> 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 now I can see it and read it.
|
|
|
|
1 | |
|
|
|
Contact | Electronic Portal
|
|
|