Srigopal007, Why are you writing each bit to the port individually? You can just write all bits in the byte in one operation by using:

Address_Latching:
ALE_SIGNAL = 1
PortD = Address
ALE_SIGNAL = 0
Pauseus 500
ALE_SIGNAL = 1

return

Send_Data:
WR_SIGNAL = 1
PortD = D_Data
WR_SIGNAL = 0
Pauseus 500
WR_SIGNAL = 1

return

Just figured you could save some lines of code.....

Dave Purola,
N8NTA