Рефераты. Разработка программной и аппаратной поддержки к методическим указаниям Программирование микроконтроллеров p> В качестве третьего, достаточно сложного примера рассмотрим программу для измерителя частоты в диапазоне 20 Гц – 20 КГц, используя генератор звуковых колебаний и несколько разрядов ССИ.

Согласно схеме изображенной на рис. 3.15.2. преобразуем колебания от генератора в П-импульсы и подаем на вывод прерывания (INT0) МК. Диод D1 обеспечивает однополупериодное выпрямление исследуемой синусоиды. После делителя R1, R3 напряжение поступает на ограничитель R2, D2 с напряжением ограничения не больше 5 В.

Рис. 3.15.2 Схема подключения генератора колебаний к микроконтроллеру.

Таймер/счетчик Т1 ведет подсчет тактовых импульсов с коэффициентом деления частоты равным 64, а при переполнении останавливается и обнуляется.

Внешнее прерывание INT0 вызывает соответствующую подпрограмму обработки при нарастающем фронте сигнала на одноименном выводе INT0. Эта подпрограмма позволяет таймеру/счетчику Т1 определить число импульсов за один период внешнего сигнала. Далее основная программа преобразует этот значение в частоту и переведя в двоично-десятичный код выводит на семисегментные индикаторы, которые подключаются к МК согласно разделу
1.4.2. Программа прошивки МК для реализации устройства измерителя частоты на базе МК AT90S8515 приведена в ПРИЛОЖЕНИИ 3.

Последний рассмотренный пример представляет устройство «кодовый замок». Реализованное на основе МК AT90S1200, оно содержит матричную клавиатуру и два светодиода для индикации работы и правильности введенного кода. Программа прошивки МК для реализации этого устройства приведена в
ПРИЛОЖЕНИИ 4.

3.3. Описание макета программатора.

Макет программатора состоит из общей платы и вспомогательных плат реализующих необходимые функции заданий. Общая плата имеет разъем, соединяющая программатора с параллельным портом компьютера. На общей плате также расположены две контактных колодки (дип панели) для установки программируемых микроконтроллеров. Они позволяют использовать МК следующих типов: а) дип панель DIP2x20.2 для МК серий AT90S4414 и AT90S8515; б) дип панель DIP2x10.1 для МК серии AT90S1200 AT90S2313.

Вспомогательные платы позволяют макетировать проектируемое устройство, управляемое микроконтроллером, не подвергая нежелательным механическим воздействиям сам программатор и микросхему контроллера. Вспомогательные платы соединяются с общей платой через дополнительные разъемы, что позволяет более прагматично использовать имеющиеся порты (выводы) МК.

Питание программатора обеспечивается от внешнего блока стабилизированного питания МС9011.02 с выходным напряжением Vcc=+5В при максимальном токе нагрузки Iн=1.5А.

Рис. 3.16. Принципиальная схема макета программатора.

На рис 3.16. приведена принципиальная схема макета программатора для последовательного программирования МК серии AT90S1200 и AT90S8515 через параллельный (LPT) порт компьютера. Подсоединение к компьютеру осуществляется с помощью кабеля подключения изображенного на рис. 3.17.

Соединительный кабель для подключения макета программатора к параллельному (LPT) порту компьютера состоит из двух разъемов DB25F и
BH10.1 и двух шлейфов по 26 и 10 жил соединенных между собой согласно таблице 3.1. и таблице 3.2. Разъем DB25F (штырь) подсоединяется к параллельному (LPT) порту компьютера, а BH10.1 (гнездо) к разъему BH10.2
(штырь) на макете программатора (см. рис. 3.16).

Рис. 3.17. Кабель подключения макета к LPT порту компьютера.

Таблица № 3.1. Соответствие номера контакта разъема DB25F и порядкового номера 25 жильного шлейфа.
|5 |XTAL1 |4 |
|6 |RESET |5 |
|7 |MOSI |1 |
|8 |SCK |7 |
|10 |MISO |9 |
|19-25 |Gnd |10 |

На приведенной схеме макета программатора кроме соединительных разъемов и контактных колодок МК находятся внешние элементы необходимые для обеспечения работы тактового генератора. Это конденсаторы С2=С1=39 пФ,
С3=1000 пФ и кварц с частотой генерации колебаний 4 МГц. Кнопка В1 обеспечивает сброс МК в начальное состояние.

Подключение вспомогательных плат к макету программатора осуществляется через штыревые разъемы PLS.1, PLS.2 и PLS.3. Так как разъем PLS.1 соединен с дип панелью DIP2x10.1, в которую устанавливается МК серии AT90S2313 и
AT90S1200, а разъемы PLS.2 и PLS.3 соединены с дип панелью DIP2x20.2, в которую устанавливается МК серий AT90S4414 и AT90S8515, то нумерация выводов разъема PLS.1 соответствует нумерации ножек AT90S1200, а нумерация выводов разъемов PLS.2 и PLS.3 соответствует нумерации ножек AT90S4414 и
AT90S8515.

В макете программатора при программировании и последующей работе должен находиться только один (!) микроконтроллер, либо в панели DIP2x10.1
(AT90S1200 или AT90S2313), либо в панели DIP2x20.2 (AT90S4414 или
AT90S8515). К разъемам PLS.n (n=1,2,3) через соответствующую колодку можно подсоединять любые внешние устройства: светодиоды, ССИ, кнопки, матричную клавиатуру, подавать сигнал на какой либо порт (вывод) микроконтроллера или считывать его. При этом надо помнить, что на контакт 20 разъема PLS.1 и на контакт 40 разъема PLS.3 подается напряжение Vcc=+5В.

Макет программатора имеет два режима работы. Первый – непосредственное программирование микроконтроллера с помощью компьютера. Как с подключенными внешними устройствами, так и без них. Второй режим – автономный, когда происходит работа с внешними устройствами, выполненными на вспомогательных платах. При этом режиме макет программатора должен быть отсоединен от компьютера.

Сначала обучающийся должен, получив задание, подготовить (написать и отладить) программное обеспечение с помощью AVR Studio (см. раздел 3.1.), согласно пп. 1-6 раздела 3.2. (Принципы выполнения заданий). Результатом данного этапа является безошибочная трансляция разработанной программы.
Только после этого можно приступить к использованию макета программатора и построению внешнего устройства на вспомогательной плате, если это предусмотрено заданием.

ЗАКЛЮЧЕНИЕ

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

Проведен анализ архитектуры современных микроконтроллеров. Уделено внимание систематизации аппаратных средств и общим вопросом методам отладки разрабатываемых программ.

Особое внимание уделено серийным МК фирмы ATMEL семейства AVR.
Рассмотрены их особенности построения и функционирования. Анализ системы команд микроконтроллеров AVR и практические рекомендации работы в интегрированной среде разработки «AVR Studio» позволяет эффективно создавать и разрабатывать программы для AVR микроконтроллеров.

Представлен набор типовых примеров с наиболее распространенными задачами программирования МК. Предложены классификация и принципы выполнения заданий. Дано описание универсального макета программатора.

Изготовлен универсальный макет программатора, позволяющий проводить не только прошивку МК AVR четырех типов (AT90S1200, AT90S2313, AT90S4414,
AT90S8515), но и управление проектируемыми внешними устройствами.

Реализован ряд задач по работе с памятью, по перекодировке, сложению и делению чисел, по работе с динамической индикацией и матричной клавиатурой.
На основе этого смакетированы реальные устройства кодового замка на основе
AT90S1200 и измерителя частоты в звуковом диапазоне на основе AT90S8515.

Предлагаемая на этой основе методика обучения программирования и применения МК позволяет ввести интересующихся в эту перспективную область.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Предко М. Руководство по микроконтроллерам. Том 1. / Пер. с англ. под ред. И. И. Шагурина и С. Б. Лужанского – М.: Постмаркет, 2001. – 416 с.

2. Предко М. Руководство по микроконтроллерам. Том 2. / Пер. с англ. под ред. И. И. Шагурина и С. Б. Лужанского – М.: Постмаркет, 2001. – 488 с.

3. Cady, Fredrick M. Microcontrollers and microcomputers: principles of software

and hardware engineering. – New York – Oxford, Oxford University

Press,

1997. – 252 p.

4. Вуд А. Микропроцессоры в вопросах и ответах. / Пер. с англ. под ред.

Д. А. Поспелова. – М.: Энергоатомиздат. 1985. – 184 с.

5. Уильямс Г.Б. Отладка микропроцессорных систем: / Пер. с. англ. – М.:

Энергоатомиздат, 1988. – 253с.

6. Угрюмов Е.П. Цифровая схемотехника. – Спб.: БВХ – Санкт-Петербург,

2000. – 528 с.

7. Алексенко А.Г., Шагурин И.И. Микросхемотехника. – М.: Радио и связь,

1990. – 496 с.

8. Бродин Б.В., Шагурин И.И. Микроконтроллеры: Справочник. – М.: ЭКОМ,

1999. – 395 с.

9. Программируемые логические ИМС на КМОП-структурах и их применение. /

П.П. Мальцев, Н.И. Гарбузов, А.П. Шарапов, А.А. Кнышев. – М.:

Энергоатомиздат, 1998. – 158 с.
10. Соловьев В.В., Васильев А.Г. Программируемые логические интегральные схемы и их применение. – Мн.: Беларуская наука, 1998. – 270 с.
11. Bursky D. Embedded Logic and Memory Find a Home in FPGA. – Electronic

Design, 1999, №14, pp. 43-56.
12. Chang D., Mazek-Sadowska M. Dynamically Reconfigable FPGA. – JEEE

Transition on Computers, 1999, №6, pp. 565 – 578.
13. Bursky D. Advanced CPLD Architectures Challenge FPGA, Gas. –

Electronic Design, 1998, №22, pp. 78 – 86.
14. Takai Y. a.o. 250 Mbytes Synchronous DRAM Using a 3-Stage-Pipeline

Architecture. – JEEE. Journal of Solid-Stage Circuits. – 1994, v.29,

№4,

pp. 426 – 429.
15. Лаптев В. Цифровой измеритель температуры на базе AVR микроконтроллера и RC-цепочки. – Электронные компоненты, 2001. №2, с.

46 – 49.
16. http://www.atmel.ru/ - описание AVR микроконтроллеров, русскоязычный сайт.
17. http://www.dontronics.com/atmel.html - программные проекты по AVR.
18. http://www.gaw.ru/, http://www.cec-mc.ru - информация о МК фирмы ATMEL
19. http://trush.da.ru/, http://avr.da.ru/ - описание МК AT90S1200 фирмы

Atmel
20. http://www.ln.com.ua/~real/avreal, http://www.chat.ru/~avreal: -

AVReAl: программа прошивки At90sXXXX через LPT порт
21. http://trush.pp.ru/avr/ - полезные ссылки по AVR.

ПРИЛОЖЕНИЕ 1

Инструкции процессоров AVR.

Ниже приведен набор команд процессоров AVR, более детальное описание их можно найти в AVR Data Book [16,19].

Таблица А.1. Арифметические и логические инструкции.
|Мнемони|Опера|Описание |Операция |Флаги |Цик|
|ка |нды | | | |лы |
|ADD |Rd,Rr|Суммирование без переноса|Rd = Rd + Rr |Z,C,N,V|1 |
| | | | |,H,S | |
|ADC |Rd,Rr|Суммирование с переносом |Rd = Rd + Rr + C |Z,C,N,V|1 |
| | | | |,H,S | |
|SUB |Rd,Rr|Вычитание без переноса |Rd = Rd - Rr |Z,C,N,V|1 |
| | | | |,H,S | |
|SUBI |Rd,K8|Вычитание константы |Rd = Rd - K8 |Z,C,N,V|1 |
| | | | |,H,S | |
|SBC |Rd,Rr|Вычитание с переносом |Rd = Rd - Rr - C |Z,C,N,V|1 |
| | | | |,H,S | |
|SBCI |Rd,K8|Вычитание константы с |Rd = Rd - K8 - C |Z,C,N,V|1 |
| | |переносом | |,H,S | |
|AND |Rd,Rr|Логическое И |Rd = Rd · Rr |Z,N,V,S|1 |
| | | | | | |
|ANDI |Rd,K8|Логическое И с константой|Rd = Rd · K8 |Z,N,V,S|1 |
|OR |Rd,Rr|Логическое ИЛИ |Rd = Rd V Rr |Z,N,V,S|1 |
|ORI |Rd,K8|Логическое ИЛИ с |Rd = Rd V K8 |Z,N,V,S|1 |
| | |константой | | | |
|EOR |Rd,Rr|Логическое исключающее |Rd = Rd EOR Rr |Z,N,V,S|1 |
| | |ИЛИ | | | |
|COM |Rd |Побитная Инверсия |Rd = $FF - Rd |Z,C,N,V|1 |
| | | | |,S | |
|NEG |Rd |Изменение знака (Доп. |Rd = $00 - Rd |Z,C,N,V|1 |
| | |код) | |,H,S | |
|SBR |Rd,K8|Установить бит (биты) в |Rd = Rd V K8 |Z,C,N,V|1 |
| | |регистре | |,S | |
|CBR |Rd,K8|Сбросить бит (биты) в |Rd = Rd · ($FF - |Z,C,N,V|1 |
| | |регистре |K8) |,S | |
|INC |Rd |Инкрементировать значение|Rd = Rd + 1 |Z,N,V,S|1 |
| | |регистра | | | |
|DEC |Rd |Декрементировать значение|Rd = Rd -1 |Z,N,V,S|1 |
| | |регистра | | | |
|TST |Rd |Проверка на ноль либо |Rd = Rd · Rd |Z,C,N,V|1 |
| | |отрицательность | |,S | |
|CLR |Rd |Очистить регистр |Rd = 0 |Z,C,N,V|1 |
| | | | |,S | |
|SER |Rd |Установить регистр |Rd = $FF |None |1 |
|ADIW |Rdl,K|Сложить константу и слово|Rdh:Rdl = Rdh:Rdl +|Z,C,N,V|2 |
| |6 | |K6 |,S | |
|SBIW |Rdl,K|Вычесть константу из |Rdh:Rdl = Rdh:Rdl -|Z,C,N,V|2 |
| |6 |слова |K6 |,S | |
|MUL |Rd,Rr|Умножение чисел без знака|R1:R0 = Rd * Rr |Z,C |2 |
|MULS |Rd,Rr|Умножение чисел со знаком|R1:R0 = Rd * Rr |Z,C |2 |
|MULSU |Rd,Rr|Умножение числа со знаком|R1:R0 = Rd * Rr |Z,C |2 |
| | |с числом без знака | | | |
|FMUL |Rd,Rr|Умножение дробных чисел |R1:R0 = (Rd * Rr) |Z,C |2 |
| | |без знака |


Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.