Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Информатика, программирование->Курсовая работа
Program pr5;Var m: integer;Var a, z, r: :real;Function step(n:integer;x:real):real;Var i: integer;p:real;Beginp:=1;For i:=1 to n dop:=p*x;step:=p;end;...полностью>>
Информатика, программирование->Шпаргалка
ИНФОРМАТИЗАЦИЯ — широкое использование информационных технологий во всех сферах жизни общества и человека. И. (компьютеризация) образования — внедрени...полностью>>
Информатика, программирование->Тесты
БД какой модели в настоящее время наиболее распространены? a) Иерархической и сетевой b) Тезаурусной и дескрипторной c) Реляционной и объектно-ориенти...полностью>>
Информатика, программирование->Лабораторная работа
mode); } // Возвращаем указатель на файл returnfp; } /* Считывание числа из файла filename и возврат массива битов */ int* ReadNumberFromFile(char* fi...полностью>>

Главная > Книга >Информатика, программирование

Сохрани ссылку в одной из сетей:

Программирование

микроконтроллеров MCS-51

Приведены технические характеристики и функциональные возможности популярных микроконтроллеров семейства MCS-51, выпускаемых ведущими компаниями мира. Рассмотрены особенности программной модели микроконтроллера 8051, являющегося ядром MCS-51, и соответствующего машинно-ориентированного языка АСМ51. Описаны содержание основных этапов разработки прикладного программного обеспечения микроконтроллера 8051, а также технология применения специальных программных кросс-средств (кросс-ассемблера X8051 и кросс-редактора связей Link). Даны варианты типовых микроконтроллерных программ. Изложение сопровождается большим числом практических примеров.

ПРЕДИСЛОВИЕ

Эффективная автоматизация машин, приборов и технологического оборудования, которая является обязательным условием ускорения научно-технического прогресса, основана на широком применении средств микропроцессорной техники (МТ). Автоматизация с использованием микропроцессоров (МП) и микроконтроллеров (МК) быстро распространяется в самых разнообразных отраслях народного хозяйства, охватывает новые сферы.

Характерно, что создание микропроцессорных устройств и систем все в большей степени становится функцией специалистов в конкретной предметной области, а не профессиональных программистов и специалистов по вычислительной технике. Это вызывает большую потребность в инженерных кадрах, которые, кроме своей предметной области, дополнительно разбираются в микропроцессорной технике.

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

Известны многочисленные книги, справочники, учебники и учебные пособия отдельно по программированию МП или МК и по средствам его автоматизации, причем вся эта литература издана, в основном, на рубеже 90-х годов. Отсюда следует необходимость создания литературы, в которой совместно, с единых методологических позиций рассматриваются особенности программирования современных микропроцессоров или микроконтроллеров и средства автоматизации их программирования.

Указанным требованиям в полной мере соответствует предлагаемое учебное пособие, основное внимание в котором уделено одним из наиболее популярных и перспективных микропроцессорных БИС - однокристальным микроконтроллерам семейства MCS-51.

Учебное пособие написано на основе курса лекций, читаемых автором в Ульяновском государственном техническом университете, а также на основе личного практического опыта, полученного при разработке и отладке ряда микропроцессорных устройств и систем.

Глава 1.

СОСТАВ СЕМЕЙСТВА MCS-51

Несмотря на появление 16- и 32-разрядных микроконтроллеров и микропроцессоров, наибольшая доля мирового микропроцессорного рынка остается за 8-разрядными МК. Согласно данным компании Semico Research Corp., в 1996 году общий мировой объем продаж микроконтроллеров всех типов составил 11,4 миллиарда долларов, при этом 5,56 миллиарда долларов (или 48,8%) пришлось на долю 8-разрядных кристаллов, что примерно в 2,5 раза больше объема продаж ближайшего конкурента - 16-разрядных микроконтроллеров (2,1 млрд. долл.). Прогнозы аналитических компаний на период до 2001 года показывают, что лидирующее положение 8-разрядных МК на мировом рынке сохранится.

Среди всех 8-разрядных микроконтроллеров семейство MCS-51 является несомненным чемпионом по количеству компаний, выпускающих его модификации. Важную роль в достижении такой высокой популярности сыграла открытая политика фирмы Intel, родоначальницы этого семейства, направленная на широкое распространение лицензий на ядро MCS-51 среди большого количества ведущих полупроводниковых компаний мира.

В результате на сегодняшний день существует более 200 модификаций микроконтроллеров семейства MCS-51, выпускаемых почти 20-ю компаниями. Эти модификации включают в себя кристаллы с широчайшим набором периферии: от простых 20-выводных МК с одним таймером и резидентной памятью программ (РПП) объемом 1 Кбайт до сложнейших 100-выводных кристаллов с 10-разрядными АЦП, массивами таймеров/счетчиков, аппаратными 16-разрядными умножителями и резидентной памятью программ до 64 Кбайт. Каждый год появляются все новые варианты представителей семейства MCS-51, основными направлениями развития которого являются: увеличение быстродействия (за счет повышения тактовой частоты и (или) переработки архитектуры), снижение напряжения питания и потребления, увеличение объема РПП и резидентной памяти данных (РПД), реализация РПП на основе FLASH технологии с возможностью внутрисхемного программирования, введение в состав периферии микроконтроллера сложных устройств: системы управления приводами, CAN и USB интерфейсов и т.п.

Основными производителями модификаций 51-го семейства в мире являются фирмы Philips, Siemens, Intel, Atmel, Dallas, Temic, Oki, AMD, MHS, Winbond, Silicon Systems и ряд других. В рамках данной главы невозможно рассказать о всех представителях семейства MCS-51 и всех компаниях-производителях микроконтроллеров указанного семейства. Все фирмы, о которых далее пойдет речь, имеют в России своих официальных дистрибьюторов, и, соответственно, микроконтроллеры этих фирм являются реальными кандидатами на применение в российских проектах.

1.1. Микроконтроллеры фирмы Intel

Фирма Intel является родоначальницей архитектуры семейства MCS-51, которое получило свое название от первого представителя этого семейства - микроконтроллера 8051, выпущенного в 1980 году на базе технологии n-МОП. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер 8051 являлся для своего времени очень сложным изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре 8086. Указанный микроконтроллер остается ядром семейства MCS-51 и по сей день.

Основными элементами базовой архитектуры семейства (архитектуры микроконтроллера 8051) являются:

- 8-разрядное АЛУ;

- 4 банка регистров, по 8 в каждом;

- внутренняя (резидентная) память программ 4 Кбайт, имеющая тип ROM или EPROM (8751);

- внутренняя (резидентная) память данных 128 байт;

- 21 регистр специальных функций;

- булевый процессор;

- два 16-разрядных таймера/счетчика;

- контроллер последовательного порта (UART);

- контроллер обработки прерываний с двумя уровнями приоритетов;

- четыре 8-разрядных порта ввода/вывода, два из которых используются в качестве шины адреса/данных для доступа к внешней памяти программ и данных;

- встроенный тактовый генератор.

Затем был выпущен микроконтроллер 8052, который отличался увеличенным объемом резидентной памяти программ и данных, введенным третьим таймером и соответственно расширенным контроллером прерываний.

Следующим принципиальным шагом в развитии MCS-51 стал перевод технологии изготовления на КМОП (модификация 8xC51). Это позволило реализовать режимы Idl (холостой ход) и Power Down (пониженное потребление), обеспечивающие резкое снижение энергопотребления кристалла и открывшие дорогу к применению микроконтроллера в энергозависимых приложениях, например, в автономных приборах с батарейным питанием.

И последним важным этапом развития МК 8051 фирмой Intel стал выпуск микроконтроллеров 8xC51FA/FB/FC и 8xC51RA/RB/RC, которые для краткости часто обозначаются как 8xC51Fx и 8xC51Rx. Главной отличительной особенностью этой группы кристаллов является наличие у них специализированного таймера/счетчика (РСА). Кроме того, микроконтроллеры 8xC51Rx дополнительно содержат сторожевой таймер (WDT). Рассмотрим архитектуру и функциональные возможности PCA более подробно.

В состав РСА входят:

- 16-разрядный таймер/счетчик;

- пять 16-разрядных модуля выборки и сравнения, каждый из которых связан со своей линией порта ввода/вывода микроконтроллера.

Таймер/счетчик обслуживает все пять модулей выборки и сравнения, которые могут быть запрограммированы на выполнение одной из следующих функций:

- 16-битовая выборка значения таймера по положительному фронту внешнего сигнала;

- 16-битовая выборка значения таймера по отрицательному фронту внешнего сигнала;

- 16-битовая выборка значения таймера по любому фронту внешнего сигнала;

- 16-битовый программируемый таймер;

- 16-битовое устройство скоростного вывода;

- 8-битовый ШИМ.

Выполнение всех перечисленных функций происходит в РСА на аппаратном уровне и не загружает центральный процессор. Указанное позволяет повысить общую пропускную способность, повысить точность измерений и обработки сигналов и снизить время реакции микроконтроллера на внешние события, что особенно важно для систем реального времени. Реализованный в 8xC51Fx (8xC51Rx) РСА оказался настолько

Обозначение

Макс. частота (МГц)

РПП

ROM/EPROM (байт)

РПД

(байт)

Таймеры/

счетчики

8051AH

12

ROM 4K

128

2

8751BH

12

EPROM 4K

128

2

8052AH

12

ROM 8K

256

3

8752BH

12

EPROM 8K

256

3

8xC51BH

24

4K

128

2

8xC52

24

8K

256

3

8xC54

33

16K

256

3

8xC58

33

32K

256

3

8xC5x-L

24

8…32K

256

3

8xC51FA

24

8K

256

3+PCA

8xC51FB

24

16K

256

3+PCA

8xC51FC

24

32K

256

3+PCA

8xL51Fx

16

8…32K

256

3+PCA

8xC51RA

24

8K

512

3+PCA+WDT

8xC51RB

24

16K

512

3+PCA+WDT

8xC51RC

24

32К

512

3+PCA+WDT

8xC251SA

16

8K

1K

3+PCA+WDT

8xC251SB

16

16K

1K

3+PCA+WDT

8xC251SP

16

8K

512

3+PCA+WDT

8xC251SQ

16

16K

512

3+PCA+WDT

TSC8xC251A1

16

24K

1K

2+WDT

8xC151SA

16

8K

256

3+PCA+WDT

8xC151SB

16

16K

256

3+PCA+WDT



Похожие страницы:

  1. Микроконтроллеры общего назначения для встраиваемых приложений производства ATMEL Corporation

    Реферат >> Информатика
    ... основан на классическом микроконтроллере Intel 8051. Продукция Atmel включает микроконтроллеры MCS-51, AT91SAM и AT91CAP ... данных соответствует интерфейсу V.24. Для программирования микроконтроллеров MARC4 разработано программное обеспечение для ...
  2. Система охранной сигнализации промышленного объекта на базе разнотипных датчиков

    Реферат >> Коммуникации и связь
    ... гибкой. В более сложных модификациях микроконтроллеров семейства MCS-51 количество периферийных устройств увеличено, что ... http://ru.wikipedia.org Андреев Д.В. Программирование микроконтроллеров MCS-51.: Учеб. Пособие – Ульяновск: УлГТУ, 2000 ...
  3. Разработка и отладка программного обеспечения виртуальной лаборатории Программирование микроконтроллерных

    Магистерская работа >> Информатика
    ... типы МК (AVR, PIC или MCS-51). 6. Лабораторный практикум должен разрешать выполнение ... лаборатория MICROVIEW-R Томского государственного университета "Программирование микроконтроллеров". Скороделов В.В., Шершнев А.А., Виртуальный генератор сигналов ...
  4. Микропроцессоры и цифровая обработка сигналов Знакомство с интегрированной средой программирования KEIL-C

    Лабораторная работа >> Информатика, программирование
    ... сигналов Знакомство с интегрированной средой программирования KEIL-C Цель работы 1. ... Изучить интегрированную среду программирования keil-C. 2. Получить навыки работы ... с текстовым редактором этой среды программирования. 3. Получить навыки работы с ...
  5. Разработка электронного кодового замка

    Курсовая работа >> Коммуникации и связь
    ... спектр микроконтроллеров, основанных на архитектуре MCS-51. Данная линейка микроконтроллеров включает ... изделия в корпусах стандартных типоразмеров с поддержкой функции внутрисистемного программирования ...

Хочу больше похожих работ...

Generated in 0.006803035736084