Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект мпсу.doc
Скачиваний:
106
Добавлен:
22.09.2019
Размер:
6.71 Mб
Скачать

Урок №37

Тема 2.12 Программирование микроконтроллеров

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

Чтобы записать программу в память МК, необходим специальный прибор – программатор. В лабораторных стендах «Программирование МК ATmega8535» и «Микроконтроллеры и автоматизация» используются встроенные программаторы, которые связаны с МК через интерфейс SPI.

Автономные универсальные программаторы Phyton подключается к порту LPT ПК. Программатор обеспечивает параллельное программирование микроконтроллеров PIC, MCS-51, MCS-96, AVR, большую номенклатуру микросхем памяти EPROM, EEPROM, FLASH. Программное обеспечение - программа Chip Prog поставляется вместе с программатором.

     Взаимодействие программатора с программируемой микросхемой построено по схеме:

Файл .hex ↔ Буфер ↔ Микросхема

Виртуальный буфер отображает содержимое отдельных ячеек программной памяти на экране. С буфером возможны следующие операции:

  • загрузить файл с расширением .hex в буфер;

  • сохранить содержимое буфера в файле;

  • прочитать содержимое микросхемы в буфер;

  • сравнить содержимое буфера и микросхемы;

  • редактирование кодов

Последовательность записи программы в память МК:

  1. Убедитесь, что микросхема вынута из колодки программатора

  2. Запустите программу Chip Prog, откроется основное окно программы

  3. Выберите тип микросхемы

  4. Загрузите в буфер файл программы с расширением .hex

  5. Установите микросхему в колодку, зажмите рычаг

  6. Выполните программирование. Типичный набор операций: стереть, проверить на чистоту, запрограммировать, сравнить содержимое буфера и микросхемы

  7. Выньте микросхему из колодки и установите в схему

Контрольные вопросы и задания

1 Изложите последовательность программирования МК

Урок № 38 Подготовка к лабораторным работам № 8, 9

Задание 1 По состоянию Fuse – ключей (рисунок 1) и таблице 1 определите источник тактового сигнала МК.

Рисунок 1

Таблица 1- Выбор источника тактового сигнала

CKSEL3

CKSEL2

CKSEL1

CKSEL0

Внешний тактовый сигнал

Внутренний генератор 4 МГц

+

Внутренний генератор 8 МГц

+

Генератор сторожевого таймера 128 Кгц

+

+

Внешний кварцевый резонатор

0,4-0,9 МГц

+

+

Внешний кварцевый резонатор

0,9-3 МГц

+

+

+

Внешний кварцевый резонатор

3-8 МГц

+

+

+

Внешний кварцевый резонатор

8 - МГц

+

+

+

+

Задание 2 Определите, как следует установить Fuse – ключи, чтобы в качестве задающего генератора выбрать внутренний тактовый генератор

Задание 3 Составьте комментарии к программе opros_2.asm

Постановка задачи: В схеме, изображенной на рисунке 2 контакты SB1, SB2 подключены к порту В с использованием внутреннего подтягивающего резистора. Светодиод включается при замыкании контакта SB1, выключается при замыкании контакта SB2.

Рисунок 2

;============== opros_2.asm==============

ldi r16,0

out ddrb,r16

ldi r16,$ff

out portb,r16

sbi ddrd,0

opros_1:

sbic pinb,0

rjmp opros_1

sbi portd,0

opros_2:

sbic pinb,1 rjmp opros_2 сbi portd,0

Задание 4 Выполните анализ фрагмента программы, написанной для схемы, изображенной на рисунке 4 и определите ее действия

Рисунок 4

ldi r16,0

out ddrс,r16

ldi r16,$ff

out portс,r16

out ddrb,r16

out ddra,r16

ldi r16,$3f

out porta,r16

opros:

sbic pinc,2

rjmp opros_1

sbi portb,0