Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Зачем команда movx? Вот смотри. У тебя есть 8051 и внутренняя память. Если ты напишешь mov r0,#20H; mov a, @r0; то из адреса внутренней памяти 20Н величина загрузится в аккумулятор. >>
Отправлено
VasilyS (80.92.96.25) 20 августа 2010, г. 01:01
В ответ на:
Я не понимаю какая внешняя память??? Никаких внешних ОЗУ не применяю отправлено
Контроллер8051 19 августа 2010, г. 23:34
Если ты даш команды mov r0,#20H; movx a, @r0; то МК попытается обратиться к адресу 20Н внешней памяти (неважно, прицепил ты ее или нет, если нет - то в акумулятор загрузится ерунда, с внешней шины). При обращении к внешней шине будут задействованы сигналы ALE и RD'. Теперь далее. Со временем научились в МК засовывать немножко больше памяти, которая, тем не менее, все равно для ядра считается Внешней, XDATA. Ну, пускай килобайта 4. Так вот, обращение командой movx к Внешней памяти внутри этого предела не будет вызывать цикл внешней шины и не будет занимать порты P0 и P3. А если обратишься командой movx a, @DPTR выше этого предела - то цикл шины будет.
Составить ответ | Вернуться на конференцию
Ответы
- вася, пионеры НЕ ПОНИМАЮТ что "внутренняя" память может стоять на внешней шине и соответственно не поймут почему к ней надо обращаться через movx, прекращай бесполезный ликбез - колян безпарольный (20.08.2010, 12:18:5 193.200.150.82, пустое)
- А если у меня 256 Б DATA и 4 КБ XDATA - то результат будет одинаковый или нет (внутри) - Контроллер8051 (20.08.2010, 09:06:49 78.40.231.89, 265 байт)
- Разный. Ибо пространства DATA(доступ через mov) и XDATA(доступ через movx) живут паралельно. - VasilyS (20.08.2010, 15:46:46 80.92.96.25, пустое)
- молодой человек, если вы не способны понять такого элементарного расклада то в эмбидерстве вам нечего делать, займитесь веб программированием. - колян безпарольный (20.08.2010, 12:25:57 193.200.150.82, пустое)
- Разный. Результат movx a, @r0 зависит от содержимого регистра EMI0CN, (+) - ВВ (20.08.2010, 10:00:57 95.26.25.42, 122 байт)
- еще один гений. Результат выполнения комманд mov и movx разный не по тому что есть регистр страниц EMI0CN а по тому что mov обращается к памяти на внутренней шине а movx на внешней, никак между собой не пересекаются, хоть ты в EMI0CN запиши решение гипотезы пуанкаре. - колян безпарольный (20.08.2010, 12:23:50 193.200.150.82, пустое)
- Совершенно верно. Как верно и то, что я сказал. - ВВ (20.08.2010, 12:29:9 95.26.25.42, пустое)
- я изучаю исходник, никакой внешней микросхемы ОЗУ нет, тем не менее movx в коде испльзуется - Контроллер8051 (20.08.2010, 12:45:11 78.40.231.89, пустое)
- Ну и что? У меня, например, так юзался T6963C. Может у тебя регистры какие на плате так заюзаны... - Гудвин (20.08.2010, 12:54:40 78.138.170.164, пустое)
- или индикатор - колян безпарольный (20.08.2010, 13:02:59 193.200.150.82, пустое)
- ты реально уже достал, открой книжку прежде чем изучать чужой исходник. "Внешняя" память не обязательно находится снаружи в отдельной микросхеме, она может быть и внутри самого процессора но изза особенностей архитектуры 51вого семейства обращение к ней возможно только как к внешней, через movx. - колян безпарольный (20.08.2010, 12:51:26 193.200.150.82, пустое)
- дык в аврине тоже три памяти - флэш, озу и епром, все с нуля и все внутри ))) архитектуру смотрел, теоретик? назови хотя-бы для начала № даташита, который куришь ))) - werewolf (20.08.2010, 12:50:59 192.168.128.79,81.90.226.4, пустое)
- Какой контроллер? - ВВ (20.08.2010, 12:49:2 95.26.25.42, пустое)
- Р2, а не Р3 конечно. - VasilyS (20.08.2010, 01:02:43 80.92.96.25, пустое)