We are working on a proyect with ds5000fp. We got to lo load our aplication with mon51.hex. We complied the mon51.hex making the changes that we read in this message: The DS5000 monitor is designed and tested with a DS5000. It has not been tested with a DS5000FP. There are several subtle differences between the DS5000 and DS5000FP, so it is no surprise that the DS5000 monitor may not work on the DS5000FP. The monitor for the DS5000 manipulates the MCON register so that it can write into CODE space. In the INSTALL.A51 file, the following changes are made near the top:
. . . EXTRN CODE (MON51) ; START OF MONITOR-51 EXTRN CODE (SER_ISR) ; SERIAL INTERRUPT SERVICE ROUTINE ;------------------------------------------------------------------------ ; Change these to match the starting address for the user program. ; Get the MCON values from the Dallas Soft Microcontrollers Databook. ; Since the monitor data area is located at 1F00h, set the partition at ; 1800h (MCON = 3X). ; ; Memory Map ;------------------------------- ; C:0000-17FF On-chip Monitor ; C:1800-1EFF On-chip Unused ; C:1F00-1FFF On-chip Monitor Data Area ; C:2000-6FFF On-chip User Program ; C:7000-FFFF Off-chip ; ; X:0000-6FFF Off-chip ; X:7000-7FFF On-chip User XDATA ; X:8000-FFFF Off-chip ;------------------------------------------------------------------------ USER_PGM_START EQU 2000H USER_PGM_MCON EQU 30H ; 1800h USER_XRAM_MCON EQU 0E0H ; 7000h sfr MCON = 0C6h; sfr TA = 0C7h; ;------------------------------------------------------------------------ ; !!! Don't change these. !!! ;------------------------------------------------------------------------ INT_ADR_OFF EQU USER_PGM_START ; INTERRUPT VECTOR OFFSET IF MONITOR ; IS INSTALLED AT ADDRESS 0000H DEF_PC_VAL EQU USER_PGM_START ; DEFAULT PC VALUE AFTER START UP ;------------------------------------------------------------------------ ;------------------------------------------------------------------------ . . .
InitSerial: PROMCHECK ; Check if PROM in System MOV TA,#0AAH MOV TA,#055H ORL MCON,#02h ; Set PAA MOV MCON,#USER_XRAM_MCON MOV TA,#0AAH MOV TA,#055H ANL MCON,#0FDh ; Clear PAA MOV TMOD,#00100000B ;C/T = 0, Mode = 2 MOV TH1,#0FDH SETB TR1 MOV SCON,#01011010B ; Init Serial Interface JMP Mon51
WR_CODE: SETB C JBC EA, C_SET CLR C C_SET: PUSH PSW ; Save Interrupts CLR EA ; Disable Interupts MOV TA,#0AAH MOV TA,#055H ORL MCON,#02h ; Set PAA MOV MCON,#USER_PGM_MCON MOVX @DPTR,A MOV MCON,#USER_XRAM_MCON MOV TA,#0AAH MOV TA,#055H ANL MCON,#0FDh ; Clear PAA POP PSW ; Restore Interrupts MOV EA,C RET