Darrel
It seems my efforts to keep the information as brief as possible while containing the relevant parts has lead to some confusion. The three lines of code that cause the problem are in fact part of a subroutine that is called whenever the user presses a button (monitored elsewhere in the prog). It is not just a single pass, sorry.
At the start of the program code I use the statement TRISC=%11110000 that I hope is setting the ports I am using for the DS1267's to outputs.
The devilish pulse occurs at EVERY pass of the subroutine.
Hope this clarifies.
Muttley