Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: внешняя память у SiLabs C8051F064
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
Trurl
Здравствуйте,

Не мог бы кто из знатоков помочь с настройкой работы с внешней памятью у мк SiLabs C8051F064? help.gif

Есть такая программка:
Код
$include (c8051f060.inc)              ; Include register definition file.

;-----------------------------------------------------------------------------
; RESET and INTERRUPT VECTORS
;-----------------------------------------------------------------------------

              ; Reset Vector
               cseg AT 0
               ljmp Main              ; Locate a jump to the start of code
at
                                      ; the reset vector.

;-----------------------------------------------------------------------------
; CODE SEGMENT
;-----------------------------------------------------------------------------


Compare        segment  CODE

               rseg     Compare       ; Switch to this code segment.
               using    0             ; Specify register bank for the
following
                                      ; program code.

Main:         ; Disable the WDT. (IRQs not enabled at this point.)
              ; If interrupts were enabled, we would need to explicitly
disable
              ; them so that the 2nd move to WDTCN occurs no more than
four clock
              ; cycles after the first move to WDTCN.

               mov   WDTCN, #0DEh
               mov   WDTCN, #0ADh
              
;begin of RAM-setup -----------------------------------------------------
            mov SFRPAGE, #EMI0_PAGE
            
            mov EMI0CF,#0x38
                                                
            mov  SFRPAGE, #0x0F
            mov  P4MDOUT, #0xFF
            mov  P5MDOUT, #0xFF
            mov  P6MDOUT, #0xFF
            mov  P7MDOUT, #0xFF

            mov P4,#0xDF
            mov P5,#0ffh
            mov P6,#0ffh
            mov P7,#0ffh

;end of RAM-setup -----------------------------------------------------


;          read/write to on-chip RAM
           mov A,#0007h
           mov  DPTR,#0x0bb8
           movx @DPTR, A
           movx   A, @DPTR ; ACC = 0007h, верно

;          read/write off-chip RAM
           mov A,#0006h
           mov  DPTR,#0x1F40
           movx @DPTR, A
           movx   A, @DPTR ; ACC = 0xFF, НЕВЕРНО <------------------------------------------

END


Проблемма в том, что неправильно происходит работа с внешней памятью. Пытаюсь записать число 0006h. То, что выдаёт команда чтения по этому же адресу во внешней памяти - 0xFF.

J11 установлен. J14 установлен между контактами 1 и 2.

Подскажите в чём ошибка с настройкой работы с внешней памятью, или настройка не завершена?

С уважением.
редактор
Столкнулся с похожей проблемой.
Фишка в том, что пока не включить коммутатор ресурсов все порты оключены и находятся в режиме ввода, независимо от подключаемой перефирии и сигналов управления.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.