??? 05/14/07 21:01 Read: times |
#139242 - that OKI part... Responding to: ???'s previous message |
... appears to be quite of the $0.25 vanilla flavour, but this PUSH, which makes it non-biblical marginally.
However, if I think into it, I would like to have it THIS way rather than the Intel way - e.g. when I push P2 (= the upper part of address when using movx @Ri) in an ISR to make space for an another movx @Ri, I'd like to push the content of the latch, rather than the port, for case the upper address driver is loading P2 heavily. On the other hand, I see little use of pushing a port because of its inputs. I was curious enough to write a q'n'd test and run it on P89V51RD2 and T89C51RD2 I happened to have at hand, and both do behave "biblically". I wonder whether there are other such "deviates" around... Could those of you who have a '51 system around please try? JW PS. The "test" (X=18.432MHz, baud = 9600, having buttons on some bits of P3 - it was not the best idea to try P3 as it returns also some garbage via serial when doing the djnz P3 thingy): mov SCON,#52h ;set serial mode 1 ORL PCON,#80h mov TMOD,#21h ;timer0 16-bit, timer1 autoreload mov TH1,#-10 ;9600 setb tr1 ;enable timer 1 Loop: jnb ri,$ ;wait until character received clr ri ; not to flood the terminal mov P3,#0FFh ;refresh P3 for all cases mov a,P3 ;direct load (should show inputs) call TxHexa mov a,#'-' call TxChar push P3 ;push - this would show latch in OKI pop acc call TxHexa mov a,#'-' call TxChar clr a l1: inc a ;Chris's djnz solution - it works! djnz P3,l1 mov P3,a call TxHexa mov a,#',' call TxChar sjmp Loop TxHexa: push acc swap a anl a,#0Fh add a,#TxHexaT-TxHexaX1 movc a,@a+pc TxHexaX1: call TxChar pop acc anl a,#0Fh add a,#TxHexaT-TxHexaX2 movc a,@a+pc TxHexaX2: ;fallover TxChar: jnb ti,$ clr ti mov sbuf,a ret TxHexaT: db '0123456789ABCDEF' end |
Topic | Author | Date |
as a curiousity | 01/01/70 00:00 | |
Initial reaction | 01/01/70 00:00 | |
I submit plenty of assembler and | 01/01/70 00:00 | |
miscomm? | 01/01/70 00:00 | |
Bob, clearly you need to read on port latches in t | 01/01/70 00:00 | |
Alternative | 01/01/70 00:00 | |
interesting, however | 01/01/70 00:00 | |
Did you mean courtesy? | 01/01/70 00:00 | |
I'm not corious | 01/01/70 00:00 | |
this is why the \"adult\" ICEs are for... | 01/01/70 00:00 | |
no ICE I know of can show the port LATCH | 01/01/70 00:00 | |
Optimise? | 01/01/70 00:00 | |
sure | 01/01/70 00:00 | |
Now, as discussion of optimization started | 01/01/70 00:00 | |
Addition to the 80C154 | 01/01/70 00:00 | |
I would never ASS U ME | 01/01/70 00:00 | |
that OKI part... | 01/01/70 00:00 | |
It is a true 51 derivative, but | 01/01/70 00:00 | |
are you sure? | 01/01/70 00:00 |