Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Начало работы с микроконтроллерами STM8

Покупка
Основная коллекция
Артикул: 643191.04.99
Эта книга предназначена для разработчиков электронной аппаратуры, планирующих начать работать с микроконтроллерами серии STM8 и любителей, увлекающихся созданием устройств на микроконтроллерах. Книга содержит описание микроконтроллера серии STM8: описание работы периферийных модулей и их регистров, описание видов памяти, битов конфигурации, систем прерываний, энергосбережения, тактирования и других.
Матюшов, Н. В. Начало работы с микроконтроллерами STM8 : практическое пособие / Н. В. Матюшов. - Москва : СОЛОН-ПРЕСС, 2024. - 208 с. - ISBN 978-5-91359-172-2. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2185093 (дата обращения: 21.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Матюшов Н. В.
Начало работы 
с микроконтроллерами STM8
СОЛОН-Пресс
Москва
202


УДК 681.5
ББК 32.96
     М 35
Матюшов Н. В.
Начало работы с микроконтроллерами STM8. — М.: СОЛОН-Пресс, 
20. — 208 с.: илл.
Эта книга предназначена для разработчиков электронной аппаратуры, 
планирующих начать работать с микроконтроллерами серии STM8S и любителей, увлекающихся созданием устройств на микроконтроллерах.
Книга содержит описание микроконтроллера серии STM8S: описание 
работы периферийных модулей и их регистров, описание видов памяти, битов конфигурации, систем прерываний, энергосбережения, тактирования и 
других.
Сайт журнала «Ремонт & Сервис»: www.remserv.ru 
Сайт издательства «СОЛОН-Пресс»: www.solon-press.ru
КНИГА — ПОЧТОЙ
Книги издательства «СОЛОН-Пресс» можно заказать и оплатить в издательстве с пересылкой Почтой РФ. Заказ можно оформить одним из перечисленных способов:
1.  Оформить заказ на сайте www.solon-press.ru в разделе «Книга — почтой».
2.  Заказать книгу по тел. (495) 617-39-64, (495) 617-39-65.
3.  Отправив заявку на e-mail: kniga@solon-press.ru (указать наименование издания, обратный адрес и ФИО получателя).
4.  Послать открытку или письмо по адресу: 123001, Москва, а/я 82.
При оформлении заказа следует правильно и полностью указать адрес, по которому 
должны быть высланы книги, а также фамилию, имя и отчество получателя. Желательно 
указать дополнительно свой телефон и адрес электронной почты.
Через Интернет вы можете в любое время получить свежий каталог издательства 
«СОЛОН-Пресс», считав его с адреса http://www.solon-press.ru/katalog.
Интернет-магазин размещен на сайте www.solon-press.ru
По вопросам приобретения обращаться:
ООО «СОЛОН-Пресс»
Тел: (495) 617-39-64, (495) 617-39-65
E-mail: kniga@solon-press.ru, www.solon-press.ru
ISBN 978-5-91359-172-2 
© Матюшев Н. В., 20
 
© «СОЛОН-Пресс», 20


Оглавление
Глава 1. Общая информация о микроконтроллерах STM8. . . . . . . . . . . . . . . . . . .5
Обозначение микроконтроллеров. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
Документация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Отладочная плата STM8S-Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Характеристики микроконтроллера STM8S105C6T6. . . . . . . . . . . . . . . . . . .12
Глава 2. Порты ввода — вывода STM8S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Основные возможности портов ввода-вывода:. . . . . . . . . . . . . . . . . . . . . . . .15
Структурная схема линии порта ввода — вывода . . . . . . . . . . . . . . . . . . . . . .15
Особенности работы портов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Работа линии порта с аналоговыми сигналами. . . . . . . . . . . . . . . . . . . . . . . .18
Регистры портов ввода — вывода. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Глава 3. Контроллер прерываний. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Таблица векторов прерываний. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Обработка прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
Программный и аппаратный приоритет прерываний . . . . . . . . . . . . . . . . . .23
Последовательность обработки прерываний. . . . . . . . . . . . . . . . . . . . . . . . . .24
Режимы управления прерываниями . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
Внешние прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Регистры контроллера прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
Глава 4. Система энергосбережения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
Режим энергосбережения WAIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Режим энергосбережения HALT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Режим энергосбережения Active HALT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Глава 5. Система тактирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
Источники тактовой частоты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Переключение основного источника тактового сигнала . . . . . . . . . . . . . . .36
Управление тактированием периферийных модулей. . . . . . . . . . . . . . . . . . .39
Система защиты тактирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Вывод тактового сигнала. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
Регистры модуля тактирования: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
Глава 6 Независимый сторожевой таймер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
Регистры IWDG:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
Глава 7 Оконный сторожевой таймер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
Регистры модуля WWDG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Глава 8. Система сброса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
Регистры модуля сброса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59


Оглавление
Глава 9. Модуль автоматического пробуждения (AWU) . . . . . . . . . . . . . . . . . . . .61
Регистры модуля AWU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
Глава 10. Таймеры. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
Обзор таймеров STM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
Основные возможности таймера 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
Функциональная схема таймера 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
Формирователь временных интервалов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
Режимы счета . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Счетчик повторений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
Взаимодействие между таймерами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
Каналы захвата/сравнения таймера 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
Режимы работы таймера 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
Регистры таймера 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
Глава 11. Таймер 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
Регистры таймера 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
Глава 12. Таймер 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
Глава 13. Модуль SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Описание регистров модуля SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
Глава 14. Модуль UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
Структурная схема модуля UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145
Регистры модуля UART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
Глава 15. Интерфейс IIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
Регистры интерфейса IIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
Глава 16. Аналого-цифровой преобразователь stm8 . . . . . . . . . . . . . . . . . . . . . .172
Структурная схема модуля АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
Описание работы АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
Тактирование АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
Выбор каналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
Режимы преобразования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
Прерывания АЦП. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
Аналоговый компаратор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184
Глава 17. Модуль звукового излучателя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
Глава 18. Электрические характеристики stm8 . . . . . . . . . . . . . . . . . . . . . . . . . .194
Глава 19. Память . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
Глава 20. Список использованных источников . . . . . . . . . . . . . . . . . . . . . . . . . .208


Глава 1.  
Общая информация 
о микроконтроллерах STM8
Компания STMicroelectronics является одним из лидеров в области создания электронных компонентов — усилителей, аудио, микроконтроллеров, 
АЦП и ЦАП, микросхем интерфейсов, фильтров, переключателей, мультиплексоров и многих других. Одной из основных направлений продукции компании — восьмиразрядные микроконтроллеры с архитектурой STM8. На основе архитектуры STM8 основаны четыре серии микроконтроллеров:
— STM8S — микроконтроллеры для общего применения;
— STM8L — микроконтроллеры для устройств с низким потреблением и 
батарейным питанием;
— STM8AF — микроконтроллеры для автомобильной электроники;
— STM8AL — микроконтроллеры для автомобильной электроники в энергосберегающих приложениях.
Серия STM8S является основной, так как она «перекрывает» большинство 
применений восьмиразрядных микроконтроллеров. Микроконтроллеры серии STM8S основаны на архитектуре STM8, построены по технологии 130 нм, 
что позволяет им работать на частотах до 24 МГц. Наличие встроенной памяти EEPROM, внутренних источников тактового сигнала и большого набора 
периферийных модулей позволяют использовать эти микроконтроллеры во 
многих встраиваемых приложениях.
Серия STM8S состоит из четырех линеек:
— STM8S003/005/007 — линейка «Value line» — микроконтроллеры «начального» уровня с базовым набором функций — имеют малое допустимое количество перезаписи памяти программ;
— STM8S103/105 — линейка « Access line» — имеют больше функций, памяти, большее количество циклов перезаписи памяти;
— STM8S207/208 — линейка «Performance line» — имеют полный набор 
функций;
— STM8S903 — линейка микроконтроллеров специального назначения.
Линейки обладают различными функциями, но, тем не менее, между ними 
сохранена совместимость «Корпус в корпус», что позволяет при необходимости переходить на более производительные микроконтроллеры простой заменой.


Глава 1. Общая информация о микроконтроллерах STM8 
Обозначение микроконтроллеров
Микроконтроллеры STM обозначаются буквенно-цифровым индексом, в 
котором содержится обозначение архитектуры, тип корпуса, назначение, 
объем памяти и т.д.
Таблица 1.1. Обозначение микроконтроллеров STM8
Позиция в обозначении
1
2
3
4
5
6
7
Пример
STM8
S
105
C
6
T
6
Таблица 1.2. Расшифровка обозначений микроконтроллеров STM8
Позиция в 
обозначении
Значение
Варианты
1
Семейство 
микроконтроллеров
STM32 — 32-битовые ARM-микроконтроллеры
STM8 — восьмибитные микроконтроллеры на 
архитектуре STM8
2
Тип продукта
F — основной;
L — для низкопотребляющих применений;
P — предварительно запрограммированный;
S — стандарный;
T — для сенсорных клавиш;
W — для беспроводной передачи данных;
3
Линейка
003/005/007 — Value line
103/105 — Access line
207/208 — Performance line
4
Количество выводов
Y-16
F — 20
E — 24
G — 28
K — 32
T — 36
D — 38
H — 40
J — 42
S — 44
C — 48
N — 56


Глава 1. Общая информация о микроконтроллерах STM8 
Позиция в 
обозначении
Значение
Варианты
5
Объем FLASH памяти
0 — 1 Кбайт
1 — 2 Кбайт
2 — 4 Кбайт
3 — 8 Кбайт
4 — 16 Кбайт
5 — 24 Кбайт
6 — 32 Кбайт
7 — 48 Кбайт
8 — 64 Кбайт
9 — 72 Кбайт
6
Тип корпуса
B — Plastic DIP
D — Ceramic DIP
G — Ceramic QFP
H — UFBGA / TFBGA
I — UFBGA
M — Plastic SO
P — TSSOP
Q — Plastic QFP
T — Plastic TQFP
U — UQFN
Y — CSP
7
Диапазон температур
3 — (-40…+125)°с
6 — (-40…+85)°с
7 — (-40…+105)°с
Документация
Документация от производителя STM8 имеет оригинальную структуру. 
Разработчику дается руководство пользователя (User Manual — UM) на одно 
семейство микроконтроллеров. В нем описаны организация; периферийные 
узлы. На конкретный микроконтроллер есть «Datasheet». В нем перечислено, 
что из периферийных узлов есть в каждой конкретной модели МК, диапазон 
адресов, таблицы векторов прерываний.
Таблица 1.3. Перечень документации на микроконтроллеры STM8S
Основное руководство
CD00190271 (RM0016 STM8S and STM8A microcontroller families).pdf
— содержит описание периферийных модулей микроконтроллеров STM8S и STM8A


Глава 1. Общая информация о микроконтроллерах STM8 
Руководство по программированию
CD00161709 (PM0044 STM8 CPU programming manual).pdf
— описание архитектуры, регистров процессора, видов памяти, адресации, работы 
конвейера, ассемблерных команд
CD00191343 (PM0051 STM8S and STM8A Flash program and data EEPROM).pdf
Документация на линейки микроконтроллеров
CD00197787 (STM8S207xx STM8S208xx).pdf
— содержит описание микроконтроллера, структурную схему, описание и назначение 
выводов в различных корпусах, карты памяти, таблицу векторов прерываний, 
электрические характеристики, кратко — работу центрального процессора, его 
программирование, тактирование, энергосбережение и т.д.
CD00200092 (STM8S105xx).pdf
CD00226640 (STM8S103K3 STM8S103F3 STM8S103F2).pdf
CD00231332 (STM8S903K3 STM8S903F3).pdf
DM00024550 (STM8S003K3 STM8S003F3).pdf
DM00037613 (STM8S005K6 STM8S005C6).pdf
Руководства по применению
CD00174392 (AN2645 Migration and compatibility for STM8S MCU).pdf
— описывает особенности каждой линейки микроконтроллеров, полностью 
совместимые периферийные модули, рекомендации (по каждому периферийному 
модулю) по переходу с одной линейки на другую
CD00174533 (AN2646 Smartcard interface with the STM8S microcontroller).pdf
— описывает реализацию интерфейса «Smartcard» и настройку модуля UART для 
работы в качестве этого интерфейса
CD00176594 (AN2658 Using the analog to digital converter of the STM8S microcontroller).pdf
— описывает работу модуля АЦП, характеристики (программные и аппаратные), 
методы повышения точности, запуск от таймера 1
CD00181299 (AN2687 STM8S20x LCD software driver).pdf
— программная реализация контроллера управления LCD-дисплеем, содержит 
описание и пример кода для управления LCD-дисплеем
CD00190266 (AN2737 Basic IAP example using the STM8 I2C and SPI peripherals).pdf
— содержит описание внутрисхемного программирования по интерфейсам I2C и 
SPI — аппаратную реализацию и протокол
CD00194637 (AN2752 Getting started with the STM8S and STM8A).pdf
— описывает микроконтроллеры STM8S, STM8A, их характеристики, типовые схемы 
включения, описание программных и аппаратных средств для работы с ними
CD00208721 (AN2822 STM8S and STM8A high speed internal oscillator calibration).pdf
— измерение поправок к частоте генератора HSI и их учет, временные характеристики 
подстройки частоты, примеры кода для проведения этой процедуры
CD00219011 (AN2857 STM8S and STM8A family power management).pdf
— содержит полную информацию об энергопотреблении — режимы 
энергосбережения, тактирование, описание внутренних узлов питания, 
рекомендации по снижению энергопотребления


Глава 1. Общая информация о микроконтроллерах STM8 
Руководства по применению
CD00219924 (AN2860 EMC guidelines for STM8 microcontrollers).pdf
— содержит информацию об электромагнитной совместимости STM8 и ее 
повышении — рекомендации по подключению источников питания, 
проектированию печатной платы, программированию
CD00221665 (AN2867 Oscillator design guide for STM8S STM8A microcontrollers).pdf
— рекомендации по подключению внешнего кварцевого генератора (общее 
описание, выбор и расчет параметров элементов)
Также стоит отметить, что производитель микроконтроллеров предоставляет не только документацию по микроконтроллерам, но и среду разработки, 
бесплатный компилятор (правда, только для ассемблера) и библиотеки (на 
языке Си) для работы с периферийными модулями (Standart Peripheral 
Library — SPL — содержат заголовки, исходные коды функций и примеры работы для всех периферийных узлов микроконтроллера).
Отладочная плата STM8S-Discovery
В данной книге описывается начало работы с восьмиразрядными микроконтроллерами семейства STM8S на примере демонстрационной платы 
STM8S-Discovery. Плата представляет комплексное устройство, состоящее 
из двух частей — программатор-отладчик и отладочная (демонстрационная) 
часть. В программаторе-отладчике находится интерфейс для связи с компьютером, стабилизаторы питания, разъем SWIM (однопроходный отладочный интерфейс). На оставшейся части расположен микроконтроллер 
STM8S105C6T6. Все его выводы распаяны на разъемы. Также на плате расположены:
— сенсорная кнопка TS1 и пользовательский светодиод LD1;
— разъемы расширения, в которые выведены все доступные линии ввода/
вывода МК;
— монтажное поле для макетирования пользовательских схем;
— встроенный внутрисхемный программатор/отладчик ST-LINK (предусмотрена отладка и программирование только МК семейства STM8S);
— микроконтроллер STM8S105C6T6.
Между этими модулями на плате расположен конструктивный пропил (см. 
Рисунок 1.1), надломив который, возможно разделить эти модули и использовать их отдельно. Таким образом у пользователя появляется программатор, 
которым можно программировать любые микроконтроллеры семейства 
STM8, и микроконтроллерный модуль с выведенными на разъемы выводами, 
который может быть непосредственно встроен в какое-либо устройство. 


Глава 1. Общая информация о микроконтроллерах STM8 
Рисунок 1.1. Плата STM8S-Discovery
Таблица 1.4. Обозначение выводов разъема CN1 платы STM8S-Discovery
Номер вывода 
(разъем Cn1)
Номер 
вывода (МК)
Название 
вывода
Тип
Функция
Альтернативная 
функция
1
1
NRST
IO
Reset
2
2
OSCIN/PA1
IO
Port A1
3
3
OSCOUT/PA2
IO
Port A2
4
4
Vssio_1
s
I/O ground
5
5
Vss
s
Digital ground
6
6
VCAP
s
1.8V regulator capacitor
7
7
Vdd
s
Digital power supply
8
8
Vddio_1
s
I/O power supply
9
9
РАЗ
IO
Port A3
10
10
PA4
IO
Port A4
11
11
PA5
IO
Port A5
12
12
PA6
IO
Port A6