Ihads.ru

Все про недвижимость
12 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Программирование микроконтроллеров семейства PIC

Программирование микроконтроллеров семейства PIC

Программирование микроконтроллеров семейства PIC начинающим

Первые микроконтроллеры появились в 60-х годах. Автоматизированные системы до этого времени обычно строились на основе реле. Теперь программируемые логические контроллеры распространены повсеместно. Однако программирование микроконтроллеров — процесс нередко сложно воспринимаемый. Поэтому рассмотрим, как программировать контроллер на примере широко известной серии ПЛК (PLC — Peripheral Interface Controller) — продукта компании Microchip Technology Inc.

Микропроцессор

С микропроцессором (далее МП) дела обстоят немного иначе. Он содержит в себе арифметико-логическое устройство, блок синхронизации и управления, запоминающие устройство, регистры и шину. То есть МП содержит в себе только то, что непосредственно понадобится для выполнения арифметический и логических операций. Все остальные комплектующие (ОЗУ, ПЗУ, устройства ввода/вывода, интерфейсы) нужно подключать извне.

Структурная схема микропроцессорного устройства

Структурная схема микропроцессорного устройства

Первые микропроцессоры появились тоже в начале 70-х. Самым популярным на тот момент считался 4004. Это микропроцессор, разработанный компанией Intel и представленный 15 ноября 1971 года. Он имел внушающие на тот период характеристики:

  • 2300 транзисторов;
  • тактовая частота — 740 кГц;
  • разрядность регистров и шины — 4 бита;
  • техпроцесс — 10 мкм;
  • площадь кристалла: — 12 мм².

К слову, 4004 был выполнен в обычном DIP-16 корпусе. Этот МП является самой популярной микросхемой для коллекционирования. Некоторые экземпляры продаются по 400 $ за штуку. Менее раритетные стоят около 250 $.

Уже через пару лет 8-битные МП позволили создавать первые бытовые микрокомпьютеры.

Естественно, тут преимуществом является то, что к МП можно на выбор подключать разную периферию с разными характеристиками (что не во всех случаях можно на МК). Второе основное отличие микропроцессора от микроконтроллера в том, что МП имеют больше вычислительной мощности. Их не имеет смысла ставить в микроволновки и «умные» лампочки. Микропроцессоры применяют там, где вычислительная мощность МК уже не справляется — игровые приставки, сложные вычислительные устройства и приборы, гаджеты.

Читайте так же:
Простейший счетчик гейгера своими руками

Получается, чтобы обеспечить работоспособность микропроцессора, нужно подключить ему хотя бы минимальный набор периферии. Минусы:

  1. Размер — если в случае МК всё уже находится в одном корпусе, то минимальный набор элементов для работы МП занимает больше места.
  2. Цена — обычно, вся «сборка» комплектующих для МП выходит гораздо дороже «голых» микроконтроллеров.
  1. Производительность — микропроцессоры обладают большей производительностью, чем микроконтроллеры.
  2. Выбор — в случае МП у вас есть возможность подобрать комплектующие. Это позволит поставить более подходящую под ваши цели периферию.

Память данных

В регистровой памяти МК выделяются две группы регистров:
● специальные регистры,
к которым относятся:
• адресуемые
8–разряные регистры (рис.6.3.3, а): псевдорегистр (INDF), ре­гистр таймера/счетчика реального времени (TMR0), регистр счетчика ко­манд (А10, А9, А8, PCL), регистр состояния (STATUS), регистр косвенной адресации (FSR) и регистры ввода/вывода (PORTA, PORTA, PORTC);
• рабочий регистр W, регистр состояния OPTION, регистры управления пор­тами TRISA, TRISB, TRISC (рис.6.3.3, б), доступ к которым осуществляется с помощью специальных команд;
• регистр конфигурации CONFIG, не имеющий доступа.
Информация (вы­бранный тип генератора, разрешение/запрещение сторожевого таймера и включение/выключение бита защиты от считывания программного кода) в этот регистр заносится на этапе программирования микроконтроллера;
● регистры общего назначения,
которые используются программой для хране­ния переменных по усмотрению пользователя.
Эти 8–разрядные регистры, разделенные на 4 банка по 16 регистров в каждом, и составляют основной объем памяти данных (рис.6.2.2).

Адресное пространство памяти данных объединяет регистры специаль­ных функций и регистры общего назначения.
Специальные регистры и часть ре­гистров общего назначения с адресами 00h.

1Fh отнесены к банку 0.
Поэтому он содержит 32 8–разрядных регистра, в то время как остальных три банка — по 16 регистров.
Для обращения к регистрам в банках 1, 2, 3 выделены соответственно адреса ЗОh.ЗFh, 50h.5Fh, 70h.7Fh.

Читайте так же:
Как подключить счетчик не прямого сечения

Таким образом, адресное пространство па­мяти данных имеет «дыры».
Отметим, что каждый бит любого адресуемого реги­стра доступен 4 битным командам.

Способы адресации

Для обращения к памяти данных (специальным ре­гистрам и регистрам общего назначения) используется косвенная и прямая (от­носительная) адресация (рис.6.3.4).

рис.<br> 6.<br>3.<br>4

Косвенная адресация реализуется с помощью псевдорегистра INDF (физически не существующего, но имеющего адрес 00h) и регистра косвенной адресации FSR (рис.6.3.3, а).
Псевдорегистр INDF служит указателем регистра FSR, в кото­ром находится адрес запрашиваемого регистра данных: биты 6, 5 задают номер банка (00 — банк 0, 01 — банк 1,10 — банк 2, 11 — банк 3), биты 4.

0 использу­ются для адресации регистра данных внутри банка, при этом:
● бит 4 переключает адрес между 16–ю регистрами первой и второй групп;
● биты 3.

0 адресуют регистры в пределах каждой группы.
Так как в банках 1, 2 и 3 отсутствуют регистры по 16 младшим адресам, при обращении по этим адресам реализуется доступ только к группе регистров банка О с младшими адресами 00h.

Например, при обращении по адресам 23h, 43h, 63h обеспечивается доступ к регистру STATUS, имеющему адрес 03h.
В этих случаях бит 4 регистра FSR автоматически устанавливается в 0, а состояние би­тов 6 и 5 FSR игнорируется.
При обращении по старшим адресам 10h.

1Fh биты 6 и 5 FSR задают номер банка, а бит 4 устанавливается в единичное состояние (рис.6.3.4).
Прямая адресация обеспечивает доступ только к регистрам банка 0 с помощью младших разрядов кода команд (рис.6.3.4), поступающих по 5–битной шине из дешифратора команд (рис.6.2.1).
Поскольку биты 6 и 5 псевдорегистра FSR дей­ствуют постоянно, по сути дела при обращении к страницам 1, 2, 3 осуществляет­ся способ относительной адресации.

голоса
Рейтинг статьи
Читайте так же:
Штуцер приварной для счетчика
Ссылка на основную публикацию
Adblock
detector