МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Разработка программной и аппаратной поддержки к методическим указаниям Программирование микроконтроллеров

    .def flashsize =r16 ;РОН хранящий размер таблицы

    .def temp =r16 ;РОН для промежуточных действий

    rjmp RESET ;вектор прерывания по включению питания,

    сбросу

    ;RESET или сбросу от сторожевого таймера

    ;**********************************************************************

    ;* Подпрограмма копирования таблицы данных из памяти программ в SRAM

    flash2ram:

    lpm ;загружаем из памяти программ в R0 байт адрес

    ;которого указан в Z

    st Y+,r0 ;сохраняем его в SRAM памяти с постинкрементом

    ;регистра Y

    adiw ZL,1 ;инкремент Z

    dec flashsize ;декремент flashsize

    brne flash2ram ;если предыдущая операция не равна 0 то перейти на

    ;метку

    ret ;возврат в основную программу

    ;***********************************************************************

    ;* Основная программа

    RESET:

    ldi temp, low(RAMEND) ; инициализируем указатель стека

    out SPL, temp ;

    ldi temp, high(RAMEND) ;

    out SPH, temp ;

    ldi ZH, high(F_TABLE*2) ;загружаем в регистр Z удвоенный адрес

    ldi ZL, low(F_TABLE*2) ; начала таблицы данных

    ldi YH, high(BLOCK1) ;загружаем в регистр Y адрес начала

    ldi YL, low(BLOCK1) ; таблицы данных в SRAM памяти

    ldi flashsize,20 ;определяем размер таблицы

    rcall flash2ram ;вызываем подпрограмму копирования таблицы данных

    ;из памяти программ в SRAM память

    forever:rjmp forever ;бесконечный цикл

    F_TABLE:

    .db 0,1 ;начало таблицы из 20 восьмибитных чисел

    .db 2,3

    .db 4,5

    .db 6,7

    .db 8,9

    .db 10,11

    .db 12,13

    .db 14,15

    .db 16,17

    .db 18,19

    ;**********************************************************************

    В качестве примера задачи по индикации рассмотрим второй пример:

    Используя два светодиода и кнопку разработать программу и устройство

    которое вызывает мигание одного светодиода, подключенного к выводу PB0, и с

    помощью кнопки, подключенной к выводу PD5, зажигает светодиод, подключенный

    к выводу PB4. Частоту мигания светодиода порядка 2-3 Гц задать с помощью

    обработчика прерывания от таймера Т0.

    Данное устройство можно реализовать на МК AT90S1200. Для обеспечения

    заданной частоты мигания светодиода коэффициент предварительного деления

    тактовой частоты (4Гц) для таймера Т0 будет равен 1024. Подпрограмма

    обработки прерывания по переполнению таймера Т0 инвертирует значение

    логического уровня (0 или 1) на 0 выводе порта В, обеспечивая тем самым

    мигание подключенного светодиода. Светодиоды подключаются согласно разделу

    «1.4.2 Световая индикация». Исходный текст программы цифрового частотомера:

    ;********************************************************************

    .include "1200def.inc"

    rjmp Start ;вектор прерывания по включению питания, сбросу

    ;RESET или сбросу от сторожевого таймера

    nop ;вектор внешнегго прерывания неиспользуется

    rjmp TmrInt ;вектор прерывания по переполнению таймера Т0

    ;**********************************************************************

    ;* Подпрограмма обработки прерывания по переполнению таймера Т0

    TmrInt:

    in R0, SREG ;сохранение регистра статуса SREG

    in R16, PORTB ;запомнить текущее значение PortB

    ldi R17, $1 ;

    eor R16, R17 ;инвертируем 0 бит порта В

    out PORTB, R16

    out SREG, R0

    reti ;выход из подпрограммы

    ;********************************************************************

    ;* Основная программа

    Start:

    ldi R18, $11 ;конфигурируем биты порта В

    out DDRB, R18 ; как выход

    clr R18

    out PORTB, R18

    clr R18 ;конфигурируем 5 бит порта D

    out DDRD, R18 ; как вход

    ldi R18, $20

    out PORTD, R18

    ldi R18, 5 ;устанавливаем коэффициент предварительного деления

    out TCCR0, R18 ; частоты на 1024

    ldi R18, 2 ;разрешаем прерывание по переполнению таймера Т0

    out TIMSK, R18

    SEI ;общее разрешение прерываний

    Loop: ; Loop Around Forever

    sbis PIND, 5 ;если PIND5=0 (кнопка нажата)

    rjmp PORTB0_Hi ; перейти на метку PORTB0_Hi

    cbi PORTB, 4 ;обнулить бит 4 порта В

    rjmp Loop

    PORTB0_Hi: ;

    sbi PORTB, 4 ;установить бит 4 порта В

    rjmp Loop

    ;**********************************************************************

    В качестве третьего, достаточно сложного примера рассмотрим программу

    для измерителя частоты в диапазоне 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 |

    | | |без знака | psw length

    brge kpr_exceed

    ;then goto kpr_exceed

    not_kpr_exceed: rjmp init_scan

    kpr_exceed: brts psw_true

    ;if T=1 then password is true

    ldi key_pr_count, psw_length

    ;else (T=0 password is false)

    rjmp init_scan

    psw_true: ldi temp, 3

    green_flash:

    cbi PORTD,GREEN ; rcall delay

    sbi PORTD,GREEN

    rcall delay

    dec temp

    brne green_flash

    exit: rjmp reset ;scan ;ret

    red_flash: sbi PORTD,RED

    rcall delay

    cbi PORTD,RED

    rcall delay

    dec temp

    brne red_flash

    rjmp init_scan

    ;****Time Delay Subroutine for ;****LED flash****

    delay: ldi coarse,3;8 ;triple nested FOR loop

    cagain: ldi medium,255 ;

    magain: ldi fine,255 ;

    fagain: dec fine

    brne fagain

    dec medium

    brne magain

    dec coarse

    brne cagain

    ret

    ;***Settling time delay for port ;***to stabilise****

    settle:

    cagain2: ldi medium,2 ;

    magain2: ldi fine,255 ;

    fagain2: dec fine

    brne fagain2

    dec medium

    brne magain2

    ret

    |AT90S |1200 |2313 |4414 |8515 |2323 |4433 |

    |Диапазон напряжений |2,7 - 6,0 |

    |питания, В | |

    |Тактовая частота, МГц *) |0 - 16 |0 - 20 |0 - 16 |0 - 20 |

    |Количество линий |15 |32 |5 |18 |

    |ввода/вывода (max) | | | | |

    |Количество инструкций |89 |120 |

    |Объем Flash ROM, байт |1K |2K |4K |8K |2K |4K |

    |Объем EEPROM, байт |64 |128 |256 |512 |128 |256 |

    |Объем внутренней SRAM, байт|- |128 |256 |512 |128 |128 |

    |Объем внешней SRAM, байт |- |- |64K |64K |- |- |

    |(max) | | | | | | |

    |Объем регистрового файла, |32 |

    |байт | |

    |Количество |1 |2 |2 |2 |1 |2 |

    |таймеров/счетчиков | | | | | | |

    |ШИМ: Число |- |1/8-10|2/8-10|2/8-10|- |2/8-10 |

    |каналов/разрядность | | | | | | |

    |Количество модулей |- |1 |2 |2 |- |2 |

    |захвата/сравнения | | | | | | |

    |Аналоговый компаратор |+ |+ |+ |+ |- |+ |

    |SPI (загрузка ROM и EEPROM)|+ |+ |+ |+ |+ |+ |

    |SPI интерфейс (Master/Slave|- |- |+ |+ |- |+ |

    |port) | | | | | | |

    |Сторожевой таймер |+ |+ |+ |+ |+ |+ |

    |Асинхронный |- |+ |+ |+ |- |+ |

    |последовательный порт | | | | | | |

    |Аналого - цифровой |- |- |- |- |- |+ |

    |преобразователь | | | | | | |

    |Количество битов защиты |2 |

    |Число источников |2/1 |8/2 |10/2 |10/2 |2/1 |11/2 |

    |прерывания: | | | | | | |

    |внутренних/внешних | | | | | | |

    |Тип корпуса |DIP20, |DIP40, PLCC44,|DIP8, |DIP28, |

    | |SOIC20, |TQFP44 |SOIC8 |PLCC28 |

    | |SSOP20 | | | |

    ПРИЛОЖЕНИЕ 5.

    Основные характеристики микроконтроллеров AVR

    -----------------------

    КC147

    D2

    120

    75

    Д105

    R2

    Vcc

    Кнопка ручного запуска RESET

    К микроконтроллеру

    R1 10К

    D1

    R3

    К микроконтроллеру

    R1

    Внешний генератор

    Внешние устройства

    Кнопка (ключ)

    R

    К МК

    V

    t

    “Звон” при замыкании ключа

    Макет программатора

    Симулятор

    ( ЭВМ )

    Программа

    Объект обучения

    Типовая задача

    220 Ом

    |Микроко|

    |нтролле|

    |р |

    Тактовые сигналы

    Командный цикл

    Один командный цикл

    [pic]

    | |SREG |

    |Символьное |I |T |H |S |V |N |Z |C |

    |обозначение | | | | | | | | |

    |Бит |7 |6 |5 |4 |3 |2 |1 |0 |

    |AVR |

    | | |

    | | |

    | |XTAL1 |

    | | |

    | | |

    | | |

    | |XTAL2 |

    |AVR |

    | | |

    | | |

    | |XTAL1 |

    | | |

    | | |

    | | |

    | |XTAL2 |

    |AVR |

    | | |

    | | |

    | |RESET |

    |15 |… | |0 |

    | |5 |4 | |

    | | |… | |

    |КОП |Rd |

    |РОН | |

    | |R0 |

    | |Rd |

    | |R31 |

    |15 |… |9 … |4 … |

    | | |5 |0 |

    |КОП |Rd |Rr |

    |РОН | |

    | |R0 |

    | |Rr |

    | | |

    | |Rd |

    | |R31 |

    |15 | | |5 |

    | | | | 0|

    |КОП |Rd/R|P |

    | |r | |

    | |Регистры | |

    | |ввода/выво| |

    | |да | |

    |0 | | $00|

    | | | |

    | | | |

    |63 | | $3f|

    |31 |20 |19 |16 |

    |КОП |Rd/Rr |

    |младшие 16 бит |

    | |Единое адресное| |

    | |пространство | |

    | | | $00|

    | | |00 |

    | | | |

    | | | |

    | | | $ff|

    | | |ff |

    [pic]

    [pic]

    Передача данных

    Адрес данных из индекса

    Выполнение: R0 ( (Z)

    PLS.2

    PLS.3

    PLS.1

    BH10.2

    Vcc

    +5 В

    Gnd

    RESET

    С3

    SCK

    С1

    С2

    XTAL1

    XTAL2

    7

    5

    9

    1

    4

    10

    XTAL1

    Gnd

    SCK

    RESET

    MISO

    MOSI

    Vcc

    1 - 40

    1 - 20

    20

    1

    21 - 40

    21

    4???????????????????????????????????????????????????????????????????????????

    ??0

    |RESET|

    |XTAL2|

    |XTAL1|

    |MOSI |

    |MISO |

    |SCK |

    |Gnd |

    |9 |40 |

    |18|DIP2|

    | |x20.|

    | |2 |

    |19| |

    |6 | |

    |7 | |

    |8 | |

    |20| |

    DB25F

    BH10.1

    1-25

    13

    1

    14

    25

    9

    20

    1

    |RESET|

    |XTAL2|

    |XTAL1|

    |MOSI |

    |MISO |

    |SCK |

    |Gnd |

    |1 |20 |

    |4 |DIP|

    | |2x1|

    | |0.1|

    |5 | |

    |17| |

    |18| |

    |19| |

    |10| |

    1 - 20

    1

    2

    10

    1-10

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


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.