8051 (at89s8253) проблема с записью во внешнюю память через dptr

Тема в разделе "WASM.ELECTRONICS", создана пользователем doctor_Ice, 11 мар 2009.

  1. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    вот так работает
    mov r1, #91h
    mov a, #9h
    movx @r1, a

    а вот так нет
    mov WMCON, #1Ah
    mov dptr, #91h
    mov a, #9h
    movx @dptr, a

    writewait:
    movx a, @dptr
    cjne a, #9h, writewait

    mov WMCON, #2h

    из цикла writewait выходит но во внешней памяти 9 не появляется =(

    подскажите пожалуйста в чем может быть проблема.
     
  2. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Регистрация:
    27 авг 2004
    Сообщения:
    561
    Адрес:
    Ukraine
    Вопрос: А каким тогда образом происходит выход и цикла???
    Ответ:Всё ОК! В память птишется и читается.

    ??? По какому внешнему признаку видно, что во внешней памяти 9h не появляется??? Вы экстрасенс???

    Тут возможны подводные камни.
    Полный адрес получается @P2:R1, если в P2 что-то есть отличное от нуля, то два куска кода адресуют совершенно разные ячейки памяти.
     
  3. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    внешний признак символ на экране
     
  4. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    про р2 спасибо буду смотреть.
     
  5. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    получилось =)
    сделал так
    mov a, p2
    mov dp0h, a
    mov dp0l, 91h
    ....
     
  6. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    а еще такой вопрос пользовал ли кто pice-51 или pice-52? хотелось бы знать насколько он удобен и прост в обращении.
     
  7. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Может он и удобный но по твоим ответам можно судить, что ты только начал заниматся МК. Вобщем он те ненужен. Его возможности ты не сможеш использовать.

    Лучше купи паяльник, текстолит и с 10-ок микроконтроллеров( НЕ СПЕЦИАЛИЗИРОВАННЫХ). Также не забудь дешовенький программатор.
     
  8. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    моя задача отследить некоторые моменты в работе уже существующей прошивки...а точнее посмотреть что за данные она принимает/отправляет подойдет ли для этого pice? вопросы разработки интересуют мало. дешевизна не волнует.
     
  9. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    а можно ли какнибудь адресовать более 64кб? ну типа.. @P2:lol: PTR... или мож там страницы какиенибудь включаются...
     
  10. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Определить действия прошивки это темное дело. На это способны только китайцы.
    Для таких дел нужен многоканальный осциллограф.

    ЗЫ: В большенстве случаев прошивку можно взять у разработчика. Некоторые дают даже исходники. Если так достать нельзя то можно попытатся считать прошивку с МК.

    ЗЗЫ: Адресовать можно. Для этого нужно использовать дополнительный порт. Но смысла в этом нет. Проще использовать микросхемы памяти с интерфейсами I2C или 1-Wire.
     
  11. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    тааак... Адресовать можно. Для этого нужно использовать дополнительный порт. можно подробнее?!
    прошивка у меня есть. мне нужно отловить некоторые моменты в уже имеющемся оборудовании. напаивать каких то микросхем мне совсем ненужно. есть просто оборудование и все прошивки. срезать слои с кристалла нужды нет. но нужно как то адресовать более 64кб. подскажите как буду благодарен. если вы считаете что эта информация чегото стоит я оплачу.
     
  12. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Эта информация общедоступна.
    Как работает механизм записи ты и сам ответил!
    Это P2:lol: PTR.

    mov Pn,A ;старшая часть адреса
    mov DPTR,#Var
    mov A,#(данные)
    movx @DPTR,A
     
  13. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    что то тут не так...

    Код (Text):
    1. я делаю так
    2. mov r1, #91h
    3. mov a, #9h
    4. movx @r1, a
    5. и вижу девятку на мониторе =)
    6.  
    7. ;---
    8.  
    9. делаю так
    10. mov WMCON, #1Ah
    11. mov dptr, #91h
    12. mov a, #9h
    13. movx @dptr, a
    14.  
    15. writewait:
    16. movx a, @dptr
    17. cjne a, #9h, writewait
    18.  
    19. mov WMCON, #2h
    20.  
    21. и невижу девятку на мониторе
    22.  
    23. ;---
    24.  
    25.  
    26. потом делаю так
    27.  
    28. mov WMCON, #1Ah
    29.  
    30. mov a, p2
    31. mov dp0h, a
    32. mov dp0l, 91h
    33.  
    34. mov a, #9h
    35. movx @dptr, a
    36.  
    37. writewait:
    38. movx a, @dptr
    39. cjne a, #9h, writewait
    40.  
    41. mov WMCON, #2h
    42.  
    43. и снова вижу девятку на мониторе
    из чего делаю вывод что при обращении movx @r1, a адрес формируется так movx @P2:r1, a.
    а к dptr p2 не добавляется иначе как бы я получил девятку в последнем случае.
     
  14. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    DPTR это и есть P2:R1 (при стандартной схеме подключения памяти)

    если
    mov A,#0
    mov DPH,A
    mov A,#91h
    mov DPL,A

    mov A,#9h
    movx @DPTR,A

    movx A,@DPTR
    будет работать верно то и

    mov DPTR,#91h тоже верно. Т.к. это одно и тоже.
     
  15. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    а можете набросать код который считает и запишет байт выше 64к? а то я совсем теряюсь.

    практика показывает что не одно и тоже =( ...мож там еще какойнить р3 надо инитить.
     
  16. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    может вы просто напишете мне небольшой алг а я вам его оплачу?
    мне нужен код который будет искать во всей доступной памяти (более 64к) определнный дворд и при нахождении поменяет на другой дворд.
     
  17. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Наугад код набросает только экстрасенс. Я не видел этой схемы и незнаю как там что подключено.
    Да и откуда такая увереность что там больше 64кб памяти?
     
  18. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    ну представьте что к обычному компу подключена платка на которой at89s8253 и комп с ним общается. представьте что комп работает в реал моде. и эта платка передает компу данные таким вот незатейлевым способом
    mov r1, #91h
    mov a, #9h
    movx @r1, a
    и они появляются в памяти компа...
    я из at89s8253 хочу читать писать память компа.
     
  19. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Это как так командой "movx @r1, a" можно отсылать данные на комп?
     
  20. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    я незнаю как но именно так я вижу девятку на экране компа =) она появляется в памяти комапа когда я ее отправляю movx @r1, a.