I've breadboarded the 74hc165.asm project in pickin up the pace and
it assembles fine with mplab. I've stepped through the code (F7) and
have run (F9) the program. Everything works fine and at 4mhz it is
blazingly fast in it's execution of reading those 8 bits of data coming
from the shift register. On the computer it's perfect.
However, when I program the chip (16f84 as required), there is a great
deal of "delay" in how the circuit functions. In other words, when I
simply apply a closure (going high) to any of the 165's 8 inputs, it
takes almost an entire second for it to show up at the 16f84's port b.
In addition, there is another 1 second delay after I release the closure
for the port b led to extinguish. !? Naturally, at 4mhz the circuit
should be (seemingly) instantaneous.
I know everthing is breadboarded fine...plenty of power supply
filtering, the right connections, 4mhz xtal, all the 165 inputs are
normally 10k'ed low, etc. (I've even subbed other 165's)
Any help on this please?
Thanks a million.
Mike (Novice picker)
Your right that it should seem instantaneous.
Try removing the '165 from the circuit and putting a pullup on RA0.
This will 'clock' in a series of highs, and should put highs on
the PortB lines immediately.
If it does, the problem is with the '165 wiring, if not the PIC/PIC
Wiring is the problem.
Notice that the program doesn't continuously scan the '165, just reads
it once, and waits in a tight loop.
At 11:34 AM 10/24/98, Mike Ringenberger wrote:
>.... On the computer it's perfect.
>However, when I program the chip (16f84 as required), there is a great
>deal of "delay" in how the circuit functions....
> Naturally, at 4mhz the circuit should be (seemingly) instantaneous.
>I know everthing is breadboarded fine...plenty of power supply
>filtering, the right connections, 4mhz xtal, all the 165 inputs are
>normally 10k'ed low, etc. (I've even subbed other 165's)
>Any help on this please?
>Thanks a million.
> Mike (Novice picker)
Peter L. Peres
Your problem sounds conspiciously like your PIC isn't running off 4MHz,
but 100 or 50Hz stray mains instead. This happens if there is a break on
the Osci or Oscout pin connections. Make sure that you have 4MHz using a
scope on the Xout pin. It can also happen if you have a bad crystal
(interrupted). Change it for another one to check.
hope this helps ;)
Heinz Czychun wrote:
Heinz, James, Les.....Thanks for your feedback.
As it turns out, I played with it this morning and changing the program
so it would continuously scan the '165, did the trick. I simply
changed... goto circle....goto start
Now it moves like 4mhz should!
I had another question for the group concerning this 74hc165.asm code,
(in Pic n up the pace).
I understand every line in it except for (and excuse my ignorance?),the
2 lines which refer to switching the memory banks at the beginning.
bsf status,rp0 ;switch to bank 1
bcf status,rp0 ;switch back to bank 0 HUH????
I know what they do, but WHY are they there? I'm completely lost on that
Mike (Still a novice)
More... (looser matching)
- Last day of these posts
- In 1998
, 1999 only
- New search...