I can't send data from a P89C51RC2BN to a 74374 using the memory mapped I/O tecnique. I have connected P0 to the input of the latch, and the _wr pin of the MCU to the LE of the '374.The output of the '374 is connected to a LED array to see the output. To test the hardware i loaded the mcu with a non memory mapped version of a program that counts forever and sends the output to P0 see below: #include <sfr51.inc> org 0 mov a,#0 setb P3.5 setb P3.6 Loop: inc a cpl P3.5 ; just to see a led blinking acall Delay mov P0,a clr P3.6 ; _wr pin used this way to latch up 74374 nop ; give it a uS setb P3.6 ; restore high level ajmp Loop This program works fine controlling _wr directly with setb, clr . This proves to me that the hardware is OK On the other hand this other version of the program doesn't work see below: #include <sfr51.inc> org 0 mov a,#0 setb P3.5 ; same reason as above and this led blinks even in this prog. mov dpl,#0 ; address not needed since the 74374 mov dph,#0 ; is simply connected to _wr ( no address resolution needed ) Loop: inc a cpl P3.5 acall Delay movx @dptr,a ; a memory mapped write to the 74374 ajmp Loop The address of dpth doesn't need to be specified since there is no logic network to enable the '374. I simply connected the _wr (MCU) to the le ('374). About the other pins of the MCU I connected the EA (31) to +5v and i left ale (30) and _psen (29) not connected. Could you find where's the bug ? Thank you Francesco Fontana
The address of dpth doesn't need to be specified most likely it does. If you do not have an address that is past the internal XRAM, you are probably addressing the XRAM. Erik
Thank you Erik, you should be payed for this service. I would like to send you at least a bottle of red italian wine if you send me your address to this email: francesco.fontana2@tele2.it Thank you again
Thank you Erik, you should be payed for this service. I would like to send you at least a bottle of red italian wine You are welcome, no charge Erik