Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/01/05 14:05
Read: times


 
#88775 - where?
Responding to: ???'s previous message
hi,

Ray Carey said:
Yes it does, or at least it does when trying to access the clock. And as I mentioned the display works perfectly. I tested that extensively before connecting up the clock.


Once again: that code you posted in the first message does not use MOVX instructions during LCD access. Even if you "tested that extensively before connecting up the clock" it does not mean that LCD will continue work right tomorrow.
Again: P0 is open drain port and if you use something like
DATA0 EQU P0

MOV DATA0,#0FFH 
MOV A,DATA0
then you must use exteral pull-up resistors and should not rely on "it tested and worked so I do not do it".

Next comments: I do know about 74C922 nothing but assume it produces high level interrupt. According your schematic, it is inverted and used as source for /INT1. But I do not see the interrupt settings. After reset, bit IT1 of TCON register is cleared and this mean that the external interrupt 1 is level (not edge!) sensitive. As result, if /INT1 is at low level for long time then you have a chance that the interrupt service routine will be executed some times again and again.

More.
MAIN: 
SETB EX1 
SETB EA 
MOV A, 8EH ; Needed to access off chip external ram 
ORL A, #3H 
MOV 8EH, A 
SETB ENABLE_LCD 
LCALL INIT_LCD 
CLR ENABLE_LCD
Enabling interrup which prints on LCD itself before LCD has been initialized is not good idea.

Yet another trouble (maybe general one). You have not indicated OSC frequency. In fact, DS12887 requires Muxed Address Valid Time to ALE Fall min. 30ns and Muxed Address Hold Time min. 10ns. AT89C51RD2 provides both Address Valid to ALE and Address Hold After ALE as T-20ns where T is system clock time. For example, for OSC=20MHz it is 50-20=30ns. Moreover, if you use x2 feature then both times are calculated as 0.5T-20ns so for 20MHz it is only 5ns. Such values are not enough to latch address into DS12887.

Regards,
Oleg




List of 13 messages in thread
TopicAuthorDate
Problem interfacing DS12887 to 8051            01/01/70 00:00      
   CS?            01/01/70 00:00      
      !CS            01/01/70 00:00      
      Re: !CS            01/01/70 00:00      
   P0 is open drain            01/01/70 00:00      
      Re: P0 is open drain            01/01/70 00:00      
         SeriAL PORT            01/01/70 00:00      
         where?            01/01/70 00:00      
            re: where?            01/01/70 00:00      
               Used a scope?            01/01/70 00:00      
   Common project!            01/01/70 00:00      
      re: Common Project            01/01/70 00:00      
         I am sure this is helpful!            01/01/70 00:00      

Back to Subject List