Аппаратные и программные средства встраиваемых систем


  Микроконтроллер ADuC812



Pdf көрінісі
бет187/268
Дата07.01.2022
өлшемі3,23 Mb.
#18255
1   ...   183   184   185   186   187   188   189   190   ...   268
4.5  Микроконтроллер ADuC812 
Микроконтроллер  ADuC812  является  клоном Intel 8051 (8052) со 
встроенной  периферией,  а  значит,  является  представителем  Гарвардской 
архитектуры. 
 
Рисунок 77. Структурная схема микроконтроллера ADuC812 
4.5.1  Система команд микроконтроллера ADuC812 
Микроконтроллер ADuC812 (как и все представители семейства MCS-51) 
является  типичным  микропроцессорным  устройством  с CISC-архитектурой. 
Система  команд  включает 111 команд.  В  машинном  коде  команда  занимает 
один,  два  или  три  байта  в  зависимости  от  типа  адресации.  Команды 
выполняются за один, два или четыре (умножение и деление) машинных цикла. 
Система  команд  микроконтроллера  предоставляет  большие  возможности 
обработки  данных,  обеспечивает  реализацию  логических,  арифметических 
операций, а также управление в режиме реального времени. 
В  этой  системе  команд  реализована  побитная,  потетрадная (4 бита), 
побайтовая (8 бит)  и 16-разрядная  обработка  данных.  Микросхемы  семейства 
MCS-51 – это 8-разрядные  микропроцессоры,  а  это  означает,  что  ПЗУ,  ОЗУ, 
регистры  специального  назначения,  АЛУ  и  внешние  шины  имеют  байтовую 
организацию.  Двухбайтовые  данные  используются  только  регистром-
указателем (DPTR) и счетчиком команд (PC). 
 
Способы адресации операндов 
При  определении  способа  адресации  операндов  в  команде  необходимо 
учитывать, что адресация для каждого операнда команды своя. В общем случае 
адресация источника и приемника могут не совпадать [51]. 


 
195 
Неявная адресация. При неявной адресации регистр источник или регистр 
приёмник подразумевается в самом коде операции. Например: 
03 RR A ;Сдвинуть содержимое аккумулятора вправо 
D4 DA A ;Произвести десятичную коррекцию результата суммирования 
E8 MOV A, R0 ;В первом операнде использована неявная адресация, а во втором 
– регистровая 
 
Регистровая  адресация  используется  для  обращения  к  восьми  рабочим 
регистрам  выбранного  банка  рабочих  регистров,  а  также  для  обращения  к 
регистрам А, В, АВ (сдвоенному регистру), DPTR, и к флагу переноса С. Номер 
регистра записывается в трех младших битах команды. Например: 
F8 MOV R5, A ;в первом операнде использована регистровая адресация, а во 
втором – неявная 
 
Прямая  байтовая  адресация  используется  для  обращения  к  ячейкам 
внутренней  памяти  (ОЗУ)  данных  (адреса 0:127) и  к  регистрам  специального 
назначения (адреса 128:256). Адрес ячейки памяти помещается во второй байт 
команды. Например: 
E520 MOV A, 20h ;во втором операнде использована прямая байтовая адресация, 
а в первом – неявная 
8D15 MOV 15h,R6 ;в первом операнде использована прямая байтовая адресация, 
а во втором – регистровая 
 
Прямая  битовая  адресация  используется  для  обращения  к  отдельно 
адресуемым 128 битам,  расположенным  в  ячейках  с  адресами 20Н-2FH,  и  к 
отдельно адресуемым битам регистров специального назначения. Например: 
D220 SETB 20h ;использована прямая битовая адресация 
C215 CLR 15h ;использована прямая битовая адресация 
 
Косвенно-регистровая  адресация  используется  для  обращения  к  ячейкам 
внутреннего  ОЗУ  данных.  В  качестве  регистров-указателей  адреса 
используются регистры R0, R1 выбранного банка регистров. Например: 
E6 MOV A,@R0 ;В первом операнде использована неявная адресация, а во втором 
- косвенно-регистровая 
F7 MOV @R1,A ;В первом операнде использована косвенно-регистровая 
адресация, а во втором – неявная 
 
Косвенно-регистровая  адресация  используется  также  для  обращения  к 
внешней памяти данных. В этом случае с помощью регистров-указателей R0 и 
R1 (рабочего  банка  рабочих  регистров)  выбирается  ячейка  из  блока 256 байт 
внешней  памяти  данных.  Номер  блока  предварительно  задается  содержимым 
порта Р2. Например: 
E2 MOVX A,@R0 ;В первом операнде использована неявная адресация, а во 
втором - косвенно-регистровая 
F3 MOVX @R1,A ;В первом операнде использована косвенно-регистровая 
адресация, а во втором – неявная 
 
Если  в  качестве  регистра-указателя  используется 16-разрядный  указатель 
данных (DPTR), то  можно  выбрать  любую  ячейку  внешней  памяти  данных 
объемом  до 64 Кбайт. (В  некоторых  моделях  микроконтроллеров  семейства 


 
196 
MSC-51  таким  образом  можно  обращаться  к  внутренней  памяти  данных 
объемом более 256 байт). 
E0 MOVX A,DPTR;В первом операнде использована неявная адресация, а во 
втором - косвенно-регистровая 
F0 MOVX DPTR,A;В первом операнде использована косвенно-регистровая 
адресация, а во втором – неявная 
 
Косвенно-регистровая адресация по сумме базового и индексного регистра 
(содержимое  аккумулятора  А)  упрощает  просмотр  таблиц,  записанных  в 
памяти  программ.  Любой  байт  из  таблицы  может  быть  выбран  по  адресу, 
определяемому  суммой  содержимого DPTR или  РС  и  содержимого  А, 
например: 
83 MOV A, @A+PC ;В первом операнде использована неявная адресация, а во 
втором - косвенно-регистровая 
93 MOV A, @A+DPTR ;В первом операнде использована неявная адресация, а во 
втором - косвенно-регистровая. 
 
Непосредственная 
адресация 
позволяет 
выбрать 
из 
адресного 
пространства  памяти  программ  константы,  явно  указанные  в  команде, 
например: 
7414 MOV A, #14h ;В первом операнде использована неявная адресация, а во 
втором - непосредственная 
902048 MOV DPTR, #2048h ;В первом операнде использована неявная адресация, 
а во втором - непосредственная 


Достарыңызбен бөлісу:
1   ...   183   184   185   186   187   188   189   190   ...   268




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет