- •4. Однокристальные микроконтроллеры фирмы intel
- •4.1 Микроконтроллеры семейства mcs-51
- •4.1.1 Общая характеристика семейства mcs-51
- •4.1.2 Организация памяти
- •4.1.3. Параллельные порты ввода/вывода.
- •4.1.4. Таймеры/счетчики
- •4.1.5. Организация системы прерываний
- •4.1.6. Последовательный порт
- •4.1.7. Система команд
- •4.8. Применение мк для управления шаговым двигателем
- •2 Да Да Да Нет Нет Нет2
- •4.2 Однокристальные микроконтроллеры семейства mcs-251
- •4.2.1 Общая характеристика семейства mcs-251
- •4.2.2 Структура микроконтроллера
- •4.2.3 Организация памяти микроконтроллера
- •4.2.4 Система команд
4. Однокристальные микроконтроллеры фирмы intel
4.1 Микроконтроллеры семейства mcs-51
4.1.1 Общая характеристика семейства mcs-51
Семейство MCS-51 однокристальных 8-разрядных микроконтроллеров фирмы Intel является одним из наиболее развитых в данном классе устройств. Основные характеристики некоторых представителей семейства приведены в табл.4.1.
Табл. 4.1
Характеристики МК семейства MCS-51
МК |
Память программ (байт) |
Память данных (байт) |
Таймеры / счетчики |
Аналоговые входы |
Тактовая частота
|
8751BH 8752BH 87C51 87C52 87C54 87C51FA 87C51FB 87C51FC 87C51GB |
4K 8K 4K 8K 16K 8K 16K 32K 8K |
128 256 128 256 256 256 256 256 256 |
2 3 2 3 3 3 3 3 3 |
0 0 0 0 0 0 0 0 8 |
12 12 12,16,20,24 12,16,20,24 12,16,20,24 12,16,20,24 12,16,20,24 12,16,20,24 12,16 |
Базовое ядро МК семейства MCS-51 включат следующие устройства:
центральное процессорное устройство (ЦПУ);
память данных и память программ;
4 параллельных порта ввода/вывода;
2 таймера/счетчика;
блок прерываний;
последовательный порт.
На рис. 4.1. представлена обобщенная структурная схема базового МК. Старшие модели контроллеров содержат три таймера, шесть параллельных портов, АЦП с 8 входными каналами, массив программируемых счетчиков.
4.1.2 Организация памяти
МК семейства MCS-51 выпускаются в следующих вариантах:
без встроенного ПЗУ программ (маркировка 80xxx);
со встроенным масочным ПЗУ (маркировка 83xxx);
со встроенным ПЗУ, программируемым пользователем (маркировка 87xxx).
Память программ и память данных физически и логически разделены, имеют различные механизмы адресации и работают под управлением различных сигналов.
Резидентная память программ (РПП) имеет емкость от 4K до 32K и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных данных и т.п. РПП имеет 16-разрядную шину адреса, который формируется в счетчике команд (PC) или в регистре-указателе (DPTR). Последний выполняет функции базового регистра при косвенных переходах в программе и используется в командах, оперирующих с таблицами. Память данных (ОЗУ) предназначена для хранения переменных в процессе выполнения программы и имеет емкость 128 или 256 байт. К адресному пространству резидентной памяти данных примыкают адреса регистров специального назначения. Как память программ, так и память данных могут быть расширены до 64K байт путем подключения внешних БИС.
Слово состояния программы (PSW) хранит признаки, вырабатываемые АЛУ при выполнении различных команд, а также биты управления выбором регистрового банка.
ACC B PSW SP DPTR PC Память данных (1288,
2568) Память программ (4K8,
32K8) ЦПУ
Параллельные порты
ввода/вывода P1 P2 P3 Схема приоритетных прерываний IP IE P0 THO TL0 TH1 TL1 TMOD TCON Блок таймеров/
счетчиков Последовательный
порт SBUF PCON SCON
Рис. 4.1. Структура базового МК семейства MCS-51.
4.1.3. Параллельные порты ввода/вывода.
Параллельные порты P0-P3 предназначены для побайтного ввода или вывода информации. Каждый порт содержит управляемые регистр-защелку, входной буфер и выходной драйвер. Порт 0 является двунаправленным, а порты 1, 2 и 3 – квазидвунаправленными. Каждая линия портов может быть использована независимо для ввода или вывода информации. Чтобы некоторая линия порта использовалась для ввода, в D-триггер регистра-защелки порта должна быть записана 1, которая закрывает МОП-транзистор выходной цепи. По сигналу сброса в регистры-защелки всех портов записываются единицы, настраивающие их тем самым на режим ввода.
Порты P0 и P2 используются при обращении к внешней памяти. При этом через P0 в режиме временного мультиплексирования сначала выводится младший байт адреса, а затем выдается или принимается байт данных. Через порт P2 выводится старший байт адреса в тех случаях, когда разрядность адреса равна 16 бит. Таким образом при наличии внешней памяти порты P0 и P2 не могут использоваться для ввода/вывода данных от внешних устройств.
Выводы порта P3, как правило, используются для реализации альтернативных функций: выдачи сигналов чтения (RD) и записи (WR) при обращении к внешней памяти данных, приема входных сигналов таймеров/счетчиков (T0, T1) и сигналов внешних прерываний (INT0, INT1), а также приема и выдачи данных последовательного порта (RxD, TxD). Альтернативные функции могут быть задействованы путем записи 1 в соответствующие разряды регистра защелки порта P3.
Линия порта P0 может быть нагружена на два ТТЛ-входа, а выходные линии портов P1-P3 могут работать на одну ТТЛ-схему.