Память программ и память данных, размещенные на кристалле МК51, физически и логически разделены, имеют iQiit механизмы адресации, работают под управлением различных сигналов и выполняют разные функции.
Память программ (ПЗУ или СППЗУ) имеет емкость 4 Кбайта и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных переменных и т.п. РПП имеет 16-битную шину адреса, через которую обеспечивается доступ из счетчика команд или из регистра-указателя данных. Последний выполняет функции базового регистра при косвенных переходах по программе или используется в командах, оперирующих с таблицами.
Память данных (ОЗУ) предназначена для хранения переменных в процессе выполнения прикладной программы, адресуется одним байтом и имеет емкость 128 байт. Кроме того, к адресному пространству РПД примыкают адреса регистров специальных функций (РСФ), которые перечислены в табл. 3.1.
Память программ, так же как и память данных, может быть расширена до 64 Кбайт путем подключения внешних БИС.
3.Особенности обращения к ячейкам памяти программ, находящимся в ВПП. Привести схему подключения ВПП к микроконтроллеру.
4.Особенности выполнения команд обращения к ВПД. Привести схему подключения ВПД к микроконтроллеру.
5.Сколько типов команд поддерживается микроконтроллером? Чем они отличаются?
Группы команд:
- передачи данных
- арифметических операций
- логических операций
- операций с битами
- передачи управления
Система команд МК51 содержит 111 базовых команд, которые удобно разделить по функциональному признаку на пять групп: команды передачи данных, арифметических операций, логических операций, передачи управления и операций с битами. Система команд МК51 много мощнее и шире системы команд МК48, так как кроме всех команд МК48 в ее состав входят команды умножения, деления, вычитания, операций над битами, операций со стеком и расширенный набор команд передачи управления. Большинство команд (94) имеют формат один или два байта и выполняются за один или два машинных цикла. При тактовой частоте 12МГц длительность машинного цикла составляет 1 мкс. На рис. 3.19 показаны 13 типов команд МК51. Первый байт команды любых типа и формата всегда содержит код операции (КОП). Второй и третий байты содержат либо адреса операндов, либо непосредственные
Типы операндов. Состав операндов МК51 шире, чем МК48, и включает в себя операнды четырех типов: биты, 4-битные цифры, байты и битные слова.
В отличие от МК48, который имеет только три битовых флага, МК51 имеет 128 программно-управляемых флагов пользователя. Имеется также возможность адресации отдельных бит блока регистров специальных функции и портов. Для адресации бит используется прямой 8-битный адрес (bit). Косвенная адресация бит невозможна. Карты адресов отдельных бит представлены на рис. 3.20 и 3.21. Четырехбитные операнды используются только при операциях обмена (команды SWAP и XCHD). 8 битным операндом может быть ячейка памяти программ или данных (резидентной или внешней), константа (непосредственный операнд) , регистры специальных функций (РСФ), а также порты ввода/вывода. Порты и РСФ адресуются только прямым способом. Байты памяти могут адресоваться также и косвенным образом через адресные регистры (RO, Rl, DPTR и PC). Двухбайтные операнды - это константы и прямые адреса, для представления которых используются второй и третий байты команды.
Способы адресации данных. В МК51 используются такие же способы адресации данных, как и в МК48-: прямая, непосредственная, косвенная и неявная. Следует отметить, что при косвенном способе адресацией РПД в отличие от МК48 используются все восемь бит адресных регистров RО и R1.
Система команд МК51 по сравнению с МК48 допускает больше комбинаций способов адресации операндов в командах, что делает ее более гибкой и универсальной
6.Охарактеризовать ту или иную команду с точки зрения длины, необходимого для ее выполнения количества машинных циклов, местоположения операндов.
7.Используя карту адресуемых байт и бит в РПД и блоке регистров специальных функций, а также таблицу описания команд MCS-51, перевести в машинные коды ту или иную команду.
8.Назвать комбинацию двоичных цифр, соответствующую следующим обозначениям языка ассемблера: P1, R3, PSW1.0, P2.7, #0F.
0 коммент.:
Отправить комментарий