Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уч. пос. МПТ (2.04.12).pdf
Скачиваний:
403
Добавлен:
22.03.2015
Размер:
10.95 Mб
Скачать

Алфавитный указатель управляющих регистров

ADGSR .....................................................

66

ADxCR......................................................

64

ADxGDR ............................................

66, 67

ADxINTEN...............................................

67

ADxSTAT .................................................

67

ALDOM....................................................

90

ALDOW....................................................

90

ALDOY.....................................................

90

ALHOUR..................................................

90

ALMIN .....................................................

90

ALMONTH ..............................................

90

ALSEC......................................................

90

ALYEAR ..................................................

90

AMR..........................................................

93

APBDIV....................................................

29

CCR ..........................................................

92

CIIR ..........................................................

92

CPSR.........................................................

10

CTCR........................................................

92

CTIME0–CTIME2 ..................................

90

DACR........................................................

71

DOM .........................................................

90

DOW .........................................................

90

DOY ..........................................................

90

EXTINT....................................................

48

EXTMODE ..............................................

49

EXTPOLAR .............................................

49

FIOxCLR..................................................

41

FIOxDIR...................................................

41

FIOxMASK ..............................................

41

FIOxPIN ...................................................

41

FIOxPIN0–3 .............................................

41

FIOxPINL ................................................

41

FIOxPINU ................................................

41

FIOxSET ..................................................

41

HOUR .......................................................

90

I2CxCONCLR .........................................

77

I2CxCONSET ..........................................

77

I2CxDAT ..................................................

78

I2CxSCLH..........................................

78, 79

I2CxSCLL ..........................................

78, 79

I2CxSTAT ................................................

78

ILR ............................................................

92

INTWAKE ...............................................

48

IOxCLR ....................................................

40

IOxDIR .....................................................

39

IOxPIN......................................................

39

IOxSET .....................................................

40

MIN ...........................................................

90

MONTH....................................................

90

PCON ........................................................

94

PCONP .....................................................

95

PINSEL0...................................................

34

PINSEL1...................................................

34

PINSEL2...................................................

34

PLL0CON.................................................

28

PLL1CON.................................................

28

PREFRAC ................................................

93

PREINT ....................................................

93

PWMIR.....................................................

60

PWMLER.................................................

60

PWMMCR ...............................................

59

PWMPC....................................................

59

PWMPCR.................................................

59

PWMPR....................................................

59

PWMTC ...................................................

59

PWMTCR.................................................

59

R0–R12 .....................................................

10

R13 (SP) ....................................................

10

R13_xxx ....................................................

10

R14 (LR) ...................................................

10

R14_xxx ....................................................

10

R15 (PC) ...................................................

10

RSIR..........................................................

95

S0SPCCR..................................................

74

S0SPCR.....................................................

72

S0SPDR.....................................................

74

S0SPINT ...................................................

74

S0SPSR .....................................................

74

SCS............................................................

40

SEC ...........................................................

90

SPSR_xxx .................................................

10

TxCCR......................................................

53

TxCRx.......................................................

53

TxCTCR ...................................................

51

TxEMR .....................................................

53

TxIR ..........................................................

51

TxMCR .....................................................

52

TxMRx......................................................

52

TxPR .........................................................

52

251

TxPС .........................................................

52

 

 

TxTC .........................................................

52

VICDefVectAddr .....................................

45

TxTCR ......................................................

51

VICFIQStatus ..........................................

43

 

 

VICIntEnable...........................................

43

U0ACR......................................................

85

VICIntEnClear ........................................

44

U0DLL ......................................................

82

VICIntSelect.............................................

44

U0DLM .....................................................

82

VICIRQStatus..........................................

43

U0FCR ......................................................

83

VICProtection ..........................................

45

U0FDR ......................................................

82

VICRAWStatus .......................................

43

U0IER .......................................................

86

VICSoftInt................................................

44

U0IIR ........................................................

86

VICSoftIntClear ......................................

44

U0LCR......................................................

84

VICVectAddr ...........................................

45

U0LSR ......................................................

84

VICVectAddr0–15 ...................................

45

U0RBR......................................................

81

VICVectCntl0–15.....................................

44

U0TER ......................................................

85

 

 

U0THR......................................................

81

YEAR........................................................

90

252

Список литературы

1.Редькин П. П. Микроконтроллеры ARM7 семейства LPC2000; руководство пользователя. М.: Издательский дом «Додэка-XXI», 2007. 560 с.

2.Мартин Т. Микроконтроллеры ARM7. Семейство LPC2000 компании Philips. Вводный курс / Пер с англ. М.: Издательский дом «Додэка-XXI», 2006. 240 с.

3.Подбельский В. В., Фомин С. С. Программирование на языке Си: учеб. пособие. 2-е доп. изд. М.: Финансы и статистика, 2007. 600 с.

4.Климова Л. М. С++. Практическое программирование. Решение типовых задач. М.: Кудиц-Образ, 2001. 592 с.

5.Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов.

М.: Мир, 1978. 848 c.

253

Содержание

 

Перечень сокращений....................................................................................................................

3

Предисловие ...................................................................................................................................

4

Введение..........................................................................................................................................

6

Часть 1. Архитектура и аппаратные средства микроконтроллера LPC214x......................

8

1.1 Общие сведения о микроконтроллерах LPC214x.............................................................

8

1.2 Программистская модель процессорного ядра ARM7TDMI ..........................................

9

1.2.1 Режимы работы ядра ARM7...................................................................................................................

9

1.2.2 Система регистров ................................................................................................................................

10

1.2.3 Слово состояния программы .................................................................................................................

10

1.2.4 Организация памяти ..............................................................................................................................

13

1.3 Система команд .................................................................................................................

14

1.3.1 Команды арифметической и логической обработки ..........................................................................

15

1.3.2 Команды умножения ..............................................................................................................................

15

1.3.3 Команды регистровой пересылки .........................................................................................................

15

1.3.4 Команды загрузки и сохранения регистров..........................................................................................

19

1.3.5 Команды пакетного обмена с памятью...............................................................................................

19

1.3.6 Команды передачи управления ..............................................................................................................

20

1.3.7 Команды обращения к слову состояния программы ...........................................................................

20

1.4 Методы адресации.............................................................................................................

20

1.4.1 Непосредственная адресация ................................................................................................................

21

1.4.2 Регистровая адресация ..........................................................................................................................

21

1.4.3 Косвенная адресация ..............................................................................................................................

22

1.4.4 Индексная адресация ..............................................................................................................................

22

1.5 Процедура начальной загрузки и режимы отображения памяти..................................

24

1.6 Обработка исключительных ситуаций ............................................................................

25

1.7 Система тактирования.......................................................................................................

27

1.7.1 Выбор тактовой частоты микроконтроллера...................................................................................

27

1.7.2 Настройка тактирования периферийных устройств........................................................................

28

1.8 Модуль ускорения памяти ................................................................................................

29

1.9 Внешние выводы микроконтроллера ..............................................................................

30

1.9.1 Служебные контакты ...........................................................................................................................

30

1.9.2 Программно-управляемые линии ввода-вывода ...................................................................................

30

1.9.3 Альтернативные функции линий ввода вывода ...................................................................................

31

1.10 Цифровые порты ввода-вывода .....................................................................................

37

1.10.1 Управление портом через низкоскоростную шину............................................................................

38

1.10.2 Управление портом через высокоскоростную шину .........................................................................

40

1.11 Система прерываний .......................................................................................................

41

1.11.1 Назначение системы прерываний .......................................................................................................

41

1.11.2 Процесс обработки прерываний IRQ ..................................................................................................

42

1.11.3 Процесс обработки быстрых прерываний FIQ .................................................................................

43

1.11.4 Регистры управления системой прерываний .....................................................................................

43

1.11.5 Порядок настройки прерывания IRQ ..................................................................................................

45

1.11.6 Порядок настройки быстрого прерывания FIQ ................................................................................

46

1.11.7 Процедура обработки прерывания .....................................................................................................

46

1.11.8 Задержка обработки прерывания.......................................................................................................

46

1.12 Внешние прерывания ......................................................................................................

48

1.12.1 Регистры управления блоком внешних прерываний ..........................................................................

48

1.12.2 Порядок настройки блока внешних прерываний................................................................................

49

1.13 Таймеры-счетчики ...........................................................................................................

50

1.13.1 Режим таймера и схема совпадения ..................................................................................................

50

1.13.2 Режим счетчика ...................................................................................................................................

51

1.13.3 Схема захвата.......................................................................................................................................

51

1.13.4 Управляющие регистры .......................................................................................................................

51

1.13.5 Формирование интервалов времени через систему прерываний .....................................................

53

1.13.6 Измерение периода и длительности импульса с помощью устройства захвата ..........................

54

1.13.7 Подсчет числа импульсов в единицу времени.....................................................................................

55

1.14 Широтно-импульсный модулятор .................................................................................

55

254

1.14.1 Основы функционирования...................................................................................................................

56

1.14.2 Дополнительные возможности...........................................................................................................

58

1.14.3 Регистры управления ШИМ ................................................................................................................

59

1.14.4 Порядок настройки ШИМ ...................................................................................................................

61

1.15 Аналого-цифровые преобразователи.............................................................................

61

1.15.1 Краткие сведения о встроенных АЦП ................................................................................................

61

1.15.2 Общие рекомендации по использованию АЦП....................................................................................

62

1.15.3 Управляющие регистры .......................................................................................................................

64

1.15.4 Порядок настройки АЦП .....................................................................................................................

67

1.15.5 Программный запуск аналого-цифрового преобразователя.............................................................

68

1.15.6 Запуск аналого-цифрового преобразователя по таймеру.................................................................

68

1.15.7 Программный опрос готовности АЦП...............................................................................................

68

1.15.8 Опрос готовности АЦП по прерыванию ............................................................................................

69

1.15.9 Считывание и масштабирование результата АЦП .........................................................................

69

1.16 Цифро-аналоговый преобразователь.............................................................................

70

1.16.1 Регистр управления ЦАП .....................................................................................................................

71

1.16.2 Рекомендации по применению ЦАП ....................................................................................................

71

1.17 Последовательный синхронный приемо-передатчик SPI ...........................................

72

1.17.1 Назначение и основы функционирования интерфейса SPI ...............................................................

72

1.17.2 Управляющие регистры .......................................................................................................................

72

1.17.3 Передача и прием данных в режиме ведущего...................................................................................

74

1.17.4 Передача и прием данных в режиме ведомого...................................................................................

75

1.18 Последовательный синхронный приемо-передатчик I2С ............................................

75

1.18.1 Назначение и основы функционирования интерфейса I2С................................................................

75

1.18.2 Управляющие регистры .......................................................................................................................

77

1.18.3 Настройка модуля I2C ..........................................................................................................................

79

1.18.4 Типовые циклы обмена данными по шине I2C ....................................................................................

79

1.19 Последовательный асинхронный приемопередатчик UART ......................................

80

1.19.1 Назначение и основы функционирования порта UART .....................................................................

80

1.19.2 Управляющие регистры .......................................................................................................................

81

1.19.3 Настройка порта UART ......................................................................................................................

87

1.19.4 Прием байта с опросом флага ............................................................................................................

87

1.19.5 Передача байта с опросом флага .......................................................................................................

88

1.19.6 Прием и передача данных с использованием прерываний .................................................................

88

1.19.7 Прием и передача пакетов данных .....................................................................................................

89

1.19.8 Диагностика ошибок ............................................................................................................................

89

1.19.9 Автоматическая настройка скорости ..............................................................................................

89

1.20 Часы реального времени .................................................................................................

90

1.20.1 Основные возможности часов реального времени ............................................................................

90

1.20.2 Управляющие регистры .......................................................................................................................

90

1.20.3 Рекомендации по применению .............................................................................................................

93

1.21 Управление питанием и идентификация источников сброса .....................................

93

1.21.1 Краткие сведения о мониторе питания.............................................................................................

93

1.21.2 Управляющие регистры .......................................................................................................................

94

Часть 2. Разработка и отладка программ с помощью современных инструментальных

средств .........................................................................................................................................

96

2.1 Форматы представления чисел.........................................................................................

96

2.1.1 Основные коды представления целых чисел.........................................................................................

96

2.1.2 Форматы представление целых чисел, приятные в языке Си............................................................

98

2.1.3 Форматы чисел c плавающей точкой стандарта IEEE754...............................................................

99

2.2 Основы программирования на языке Си.......................................................................

101

2.2.1 Структура программы ........................................................................................................................

102

2.2.2 Числовые константы ...........................................................................................................................

102

2.2.3 Переменные и именованные константы ............................................................................................

103

2.2.4 Оператор присваивания, выражения и операции..............................................................................

104

2.2.5 Условный оператор ..............................................................................................................................

104

2.2.6 Приведение и преобразование типов ..................................................................................................

104

2.2.7 Массивы .................................................................................................................................................

107

2.2.8 Строки символов...................................................................................................................................

107

2.2.9 Структуры ............................................................................................................................................

108

2.2.10 Объединения ........................................................................................................................................

108

255

2.2.11 Указатели ............................................................................................................................................

109

2.2.12 Ветвление ............................................................................................................................................

109

2.2.13 Множественное ветвление................................................................................................................

110

2.2.14 Цикл со счетчиком..............................................................................................................................

111

2.2.15 Циклы с предусловием и постусловием.............................................................................................

111

2.2.16 Функции................................................................................................................................................

112

2.2.17 Некоторые директивы компилятора ...............................................................................................

113

2.2.18 Библиотека математических функций MATH.h .............................................................................

113

2.2.19 Функция создания форматированных строк SNPRINTF ................................................................

116

2.2.20 Ассемблер в Си-программах...............................................................................................................

118

2.3 Интегрированная среда разработки Keil µVision 4 ......................................................

119

2.3.1 Создание проекта .................................................................................................................................

119

2.3.2 Создание файла программы.................................................................................................................

119

2.3.3 Настройка проекта..............................................................................................................................

120

2.3.4 Набор текста программы ...................................................................................................................

122

2.3.5 Компиляция программы........................................................................................................................

123

2.3.6 Отладка программы.............................................................................................................................

124

2.3.7 Основные отладочные инструменты среды Keil µVision 4 .............................................................

127

2.3.8 Управление распределением памяти...................................................................................................

129

2.4 Методика отладки программ ..........................................................................................

131

2.4.1 Быстрый поиск ошибок........................................................................................................................

132

2.4.2 Ввод и вывод дискретных сигналов .....................................................................................................

137

2.4.3 Таймер-счетчик. Формирование интервалов времени ......................................................................

138

2.4.4 Таймер-счетчик. Формирование внешних сигналов совпадения.......................................................

139

2.4.5 Таймер-счетчик. Счетчик внешних событий ....................................................................................

139

2.4.6 Таймер-счетчик. Устройство захвата ..............................................................................................

140

2.4.7 Широтно-импульсный модулятор ......................................................................................................

140

2.4.8 Аналого-цифровой преобразователь ...................................................................................................

141

2.4.9 Цифро-аналоговый преобразователь..................................................................................................

142

2.4.10 Приемопередатчик SPI ......................................................................................................................

142

2.4.11 Приемопередатчик I2C .......................................................................................................................

143

2.4.12 Приемопередатчик UART ..................................................................................................................

144

2.4.13 Часы реального времени.....................................................................................................................

145

2.5 О программировании ARM7 на ассемблере .................................................................

146

2.5.1 Основные правила записи программ на ассемблере ..........................................................................

146

2.5.2 Псевдокоманды .....................................................................................................................................

147

2.5.3 Директивы ассемблера.........................................................................................................................

147

2.5.4 Макросы.................................................................................................................................................

149

2.5.5 Пример простой программы ...............................................................................................................

150

2.6 Распространенные средства разработки и отладки......................................................

153

2.6.1 Демонстрационные платы EA-EDU-001 и EA-EDU-011 ..................................................................

153

2.6.2 Внутрисхемный отладчик J-Link ........................................................................................................

156

2.6.3 Утилиты программирования ПЗУ LPC Flash Utility и FlashMagic .................................................

157

2.6.4 Программа-терминал 232Analyzer......................................................................................................

158

2.6.5 Низкоуровневый редактор диска DMDE ............................................................................................

159

Часть 3. Решение типовых задач локального управления ....................................................

160

3.1 Формирование временной задержки с помощью цикла..............................................

160

3.1.1 Задание...................................................................................................................................................

160

3.1.2 Общие рекомендации ............................................................................................................................

160

3.1.3 Алгоритм программы ...........................................................................................................................

160

3.1.4 Отладка .................................................................................................................................................

161

3.1.5 Дополнительные сведения о формировании временной задержки ..................................................

161

3.2 Формирование дискретного сигнала с помощью таймера ..........................................

163

3.2.1 Задание...................................................................................................................................................

163

3.2.2 Общие рекомендации ............................................................................................................................

163

3.2.3 Алгоритм программы ...........................................................................................................................

164

3.3 Опрос дискретного датчика или кнопки .......................................................................

165

3.3.1 Задание...................................................................................................................................................

165

3.3.2 Общие рекомендации ............................................................................................................................

165

3.3.3 Алгоритм программы ...........................................................................................................................

165

3.3.4 Отладка .................................................................................................................................................

166

256

3.4 Опрос состояния механических контактов с подавлением дребезга .........................

166

3.4.1 Задание...................................................................................................................................................

166

3.4.2 Общие рекомендации ............................................................................................................................

167

3.4.3 Алгоритм программы ...........................................................................................................................

169

3.4.4 Отладка .................................................................................................................................................

170

3.5 Опрос клавиатуры с автоповтором ................................................................................

170

3.5.1 Задание...................................................................................................................................................

170

3.5.2 Общие рекомендации ............................................................................................................................

171

3.5.3 Алгоритм программы ...........................................................................................................................

171

3.5.4 Отладка .................................................................................................................................................

173

3.6 Формирование импульсного управляющего сигнала с помощью модуля ШИМ .....

174

3.6.1 Задание...................................................................................................................................................

174

3.6.2 Общие сведения .....................................................................................................................................

174

3.6.3 Алгоритм программы ...........................................................................................................................

175

3.6.4 Отладка .................................................................................................................................................

176

3.6.5 Синхронизация внешним сигналом ......................................................................................................

176

3.7 Формирование сигналов специальной формы с помощью ЦАП................................

177

3.7.1 Задание...................................................................................................................................................

177

3.7.2 Основы ...................................................................................................................................................

177

3.7.3 Алгоритм программы ...........................................................................................................................

179

3.7.4 Повышение точности генерирования частоты................................................................................

180

3.7.5 Выбор числа дискрет............................................................................................................................

181

3.8 Управление двухфазным шаговым двигателем............................................................

182

3.8.1 Задание...................................................................................................................................................

182

3.8.2 Общие сведения .....................................................................................................................................

182

3.8.3 Алгоритм программы ...........................................................................................................................

183

3.9 Применение ШИМ для формирования низкочастотных аналоговых сигналов .......

185

3.9.1 Задание...................................................................................................................................................

185

3.9.2 Основные сведения................................................................................................................................

185

3.9.3 Алгоритм основной программы...........................................................................................................

187

3.9.4 Алгоритм процедуры обработки прерывания....................................................................................

188

3.10 Управление символьным жидкокристаллическим индикатором ...............................

189

3.10.1 Задание.................................................................................................................................................

189

3.10.2 Управление модулем жидкокристаллической индикации ...............................................................

189

3.10.3 Разработка функции управления ЖКИ с ожиданием готовности..................................................

191

3.10.4 Функция вывода строки символов.....................................................................................................

193

3.10.5 Разработка функции инициализации модуля ЖКИ .........................................................................

193

3.10.6 Разработка тестовой программы....................................................................................................

194

3.10.7 Управление ЖКИ с опросом флага готовности ..............................................................................

194

3.10.8 Программирование произвольных символов .....................................................................................

194

3.11 Управление матричным светодиодным индикатором ...............................................

196

3.11.1 Задание.................................................................................................................................................

196

3.11.2 Основные рекомендации .....................................................................................................................

196

3.11.3 Алгоритм основной программы.........................................................................................................

197

3.11.4 Алгоритм процедуры обработки прерывания..................................................................................

200

3.11.5 Реализация движения строки............................................................................................................

201

3.12 Управление матричным жидкокристаллическим дисплеем .....................................

203

3.12.1 Управление дисплеем на основе контроллера PCF8833 ..................................................................

203

3.12.2 Построение простейших геометрических фигур ............................................................................

206

3.13 Измерение постоянного напряжения...........................................................................

206

3.13.1 Задание.................................................................................................................................................

206

3.13.2 Основные рекомендации .....................................................................................................................

206

3.13.3 Алгоритм основной программы.........................................................................................................

207

3.13.4 Алгоритм процедуры обработки прерывания от АЦП...................................................................

208

3.13.5 АЦП с циклическим опросом нескольких каналов ............................................................................

208

3.13.6 Автоматический выбор пределов измерения ...................................................................................

209

3.14 Измерение параметров уровня переменного напряжения.........................................

210

3.14.1 Задание.................................................................................................................................................

210

3.14.2 Основные рекомендации .....................................................................................................................

210

3.14.3 Алгоритм основной программы.........................................................................................................

211

3.14.4 Алгоритм процедуры обработки прерывания..................................................................................

213

257

3.15

Измерение ускорения с помощью трехосевого акселерометра ................................

213

3.16

Измерение интервалов времени с помощью таймера ................................................

214

3.16.1 Задание.................................................................................................................................................

214

3.16.2 Общие рекомендации ..........................................................................................................................

214

3.16.3 Алгоритм основной программы.........................................................................................................

214

3.16.4 Алгоритм процедуры обработки прерывания..................................................................................

216

3.16.5 Повышение разрешающей способности путем усреднения ...........................................................

216

3.16.6 Введение поправок ..............................................................................................................................

216

3.17

Измерение частоты с помощью счетчика ...................................................................

217

3.17.1 Задание.................................................................................................................................................

217

3.17.2 Основные рекомендации .....................................................................................................................

218

3.17.3 Алгоритм программы .........................................................................................................................

218

3.17.4 Повышение точности измерений......................................................................................................

220

3.18

Опрос цифрового датчика температуры. Интерфейс I2C ..........................................

220

3.18.1 Задание.................................................................................................................................................

220

3.18.2 Общие рекомендации ..........................................................................................................................

221

3.18.3 Алгоритм программы .........................................................................................................................

223

3.19

Управление внешним портом дискретного ввода-вывода ........................................

225

3.20

Обмен данными с электрически перепрограммируемым ПЗУ .................................

225

3.20.1 Задание.................................................................................................................................................

225

3.20.2 Общие сведения о микросхемах EEPROM ........................................................................................

225

3.20.3 Адресация в микросхемах EEPROM ..................................................................................................

226

3.20.4 Порядок чтения EEPROM..................................................................................................................

226

3.20.5 Порядок записи EEPROM...................................................................................................................

227

3.20.6 Разработка программы чтения EEPROM .......................................................................................

227

3.20.7 Разработка функции записи блока данных в EEPROM...................................................................

230

3.21

Интерфейс RS-232. Прием и передача простых команд............................................

232

3.21.1 Задание.................................................................................................................................................

232

3.21.2 Алгоритм программы .........................................................................................................................

232

3.21.3 Автоматическая настройка скорости ............................................................................................

234

3.22

Интерфейс RS-232. Передача пакета с использованием прерываний......................

234

3.22.1 Задание.................................................................................................................................................

234

3.22.2 Основные рекомендации .....................................................................................................................

234

3.22.3 Алгоритм программы .........................................................................................................................

234

3.23

Интерфейс RS-232. Прием пакета переменной длины ..............................................

236

3.23.1 Задание.................................................................................................................................................

236

3.23.2 Основы реализации .............................................................................................................................

236

3.23.3 Алгоритм программы .........................................................................................................................

237

3.24

Обмен данными с картой памяти Secure Digital.........................................................

239

3.24.1 Задание.................................................................................................................................................

239

3.24.2 Общие сведения о карах FLASH-памяти SD/MMC..........................................................................

239

3.24.3 Команды SD/MMC ..............................................................................................................................

240

3.24.4 Процедура инициализации карты......................................................................................................

240

3.24.5 Чтение и запись данных .....................................................................................................................

242

3.24.6 Обработка ошибок .............................................................................................................................

243

3.24.7 Комментарии к алгоритму и программе..........................................................................................

244

Алфавитный указатель управляющих регистров ..................................................................

251

Список литературы ..................................................................................................................

253

Содержание ...............................................................................................................................

254

258