| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Asm51. Рабочий банк регистров. |
| Автор: bagira 29.1.2004, 18:58 |
| Уважаемые программисты! Вопрос по Ассемблеру для 51-го микропроцессора. В разрабатываемой программе (для прошивки Atmel 89C51) обнаружилась катастрофическая нехватка регистров R0...R7 для моих целей! Вот я и хочу узнать, возможно ли в одной программе использовать регистры из нескольких банков? : 1). Можно ли одновременно? Тогда как отличить регистры одного банка от другого? 2). Или последовательно? Можно ли, поработав с одним банком, перейти на другой, задав номер его в PSW.3, PSW.4? Если так, то не пропадут ли при этом предыдущие значения (мне ведь потом нужно будет к ним вернуться!) ? |
| Автор: PILOT 30.1.2004, 01:11 |
| Банки это условность, у тебя память внутренняя содержит их, к ним можно обращаться как к ячейкам памяти (от 00h до 1Fh) это все ваши регистры... переключайте на здоровье, с ними ничего не случится. Более того, можно, например, в прерывании пользоваться одним банком а в программе другим и т.д. При этом содержимое не пропадет при переключении... СУВ. ЗЫ. у тебя есть 128 байт внутренней памяти, и тебе их не хватает? ;) |
| Автор: PILOT 30.1.2004, 12:20 |
| Да, и еще... нехватка регистров на начальном этапе - первый признак не корректного анализа задачи... Иными словами: что творишь? Может там и не нужно столько регистров... СУВ. |
| Автор: oleg1973 30.1.2004, 21:41 |
| дайте инфу про этот проц уж больно он мне чтото напоминает |
| Автор: shedon 30.1.2004, 22:31 | ||
Стандартный 51ый контроллер уже давольно устаревший. Вот на него Data Sheet http://www.keil.com/dd/docs/datashts/atmel/at89c51_ds.pdf |
| Автор: PILOT 31.1.2004, 23:10 |
| хм, дело в том что изначально он был 80С31 (т.е. его Интел придумала в 80-ых годах тогда он был свнешней памятью программ и жутко прожорливый) на сайте Интел можно покопаться. А вообще есть русское описание (грамотное, могу выслать тому кто заинтересуется). Но Напоминать может любой другой контроллер (например 8-ми разрядную Моторолу или АВР или ПИК), потому что все они 8-ми разрядные и очень схожи. Если научился работать с одним, значит другой тоже не сложно осилить. СУВ. |
| Автор: shedon 31.1.2004, 23:15 | ||
Есть и наш нормальный аналог 1830ВЕ31, тоже без внутреннего ПЗУ. |
| Автор: bagira 1.2.2004, 00:25 |
| <у тебя есть 128 байт внутренней памяти, и тебе их не хватает? ;) > Да, памяти хватает, но просто с регистрами более удобно работать. Но теперь все в порядке, я уже перестроила программу так, чтобы не зависеть от количества регистров. Спасибо всем, кто отвечал! |
| Автор: PILOT 18.2.2004, 09:56 | ||
Только он не обжат А вообще с пятой приемкой (например) наш 51-ый контроллер стоит бешенные деньги. Ну а самоу неприятное в нем нет WDT. Ни а какой надежности речь не идет, рпиходится одновибраторы ставить... а что делать... МОП перечень... СУВ. |