Сделай Сам Свою Работу на 5

Структурная схема микроконтроллера ATmega8535





Практическое занятия №1

Название работы: Исследование принципов разработки алгоритмов для МП.

Цель работы: Научиться разрабатывать алгоритм и структуру программ для микропроцессоров.

1 Сведения из теории:

Алгоритм

Алгоритм – это четко определенная последовательность действий для решения задачи.

 

Алгоритм должен учитывать выбранную модель данных. Алгоритм может быть представлен как в виде текста, так и в виде блок-схемы.

 

Для создания алгоритма (программы) необходимо знать:

- полный набор исходных данных задачи (начальное состояние объекта);

- цель создания алгоритма (конечное состояние объекта);

- систему команд исполнителя (то есть набор команд, которые исполнитель понимает и может выполнить).

 

Полученный алгоритм (программа) должен обладать следующим набором свойств:

- дискретность (алгоритм разбит на отдельные шаги - команды);

- однозначность (каждая команда определяет единственно возможное действие исполнителя);

- понятность (все команды алгоритма входят в систему команд исполнителя);

- результативность (исполнитель должен решить задачу за конечное число шагов).



Большая часть алгоритмов обладает также свойством массовости (с помощью одного и того же алгоритма можно решать множество однотипных задач).

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

Выше отмечалось, что один и тот же алгоритм может быть записан по-разному. Можно записывать алгоритм естественным языком. В таком виде мы используем рецепты, инструкции и т.п. Для записи алгоритмов, предназначенных формальным исполнителям, разработаны специальные языки программирования. Любой алгоритм можно описать графически в виде блок-схемы. Для этого разработана специальная система обозначений

см Приложение 1

 

 

Линейная структура (следование).

 
 

Наиболее простой алгоритмической структурой является линейная. В ней все операции выполняются один раз в том порядке, в котором они записаны.

 

Ветвление.

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



 
 

 
 

Вторая ветвь может быть пустой. Такая структура называется неполным ветвлением или обходом.

 

 
 

Из нескольких ветвлений можно сконструировать структуру «выбор» (множественное ветвление), которая будет выбирать не из двух, а из большего количества вариантов действий исполнителя, зависящих от нескольких условий. Существенно, что выполняется только одна ветвь - в такой структуре важное значение приобретает порядок следования условий: если выполняются несколько условий, то сработает только одно из них - первое сверху.

Цикл (повторение).

Циклпозволяет организовать многократное повторение одной и той же последовательности команд - она называется телом цикла. В различных видах циклических алгоритмов количество повторений может зависеть от значения логического выражения (условия) или может быть жестко задано в самой структуре. Различают циклы : «до», «пока», циклы со счётчиком.В циклах «до» и «пока» логическое выражение (условие) может предшествовать телу цикла (цикл с предусловием) или завершать цикл (цикл с послеусловием).

 
 

Циклы«до» - повторение тела цикла до выполнения условия:

       
   
 

Циклы «пока» - повторение тела цикла пока условие выполняется (истинно):

 

 
 

Циклы со счётчиком (с параметром) – повторение тела цикла заданное число раз:

Вспомогательный алгоритм (подпрограмма, процедура).

Вспомогательный алгоритм представляет собой модуль, к которому можно многократно обращаться из основного алгоритма. Использование вспомогательных алгоритмов может существенно уменьшить размер алгоритма и упростить его разработку.



 
 

Язык программирования – набор правил записи алгоритмических структур и данных.

Разработка программы

 

Программа – это алгоритм, записанный на языке программирования. Часто программой

называют также любой набор инструкций для компьютера.

 

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

 

Отладка – это поиск и исправление ошибок в программе.

 

 

Для отладки программ используются специальные программы, которые называются

отладчиками. Они позволяют:

- выполнять программу в пошаговом режиме (останавливаясь после каждой выполненной команды);

- устанавливать точки прерывания, так что программа останавливается каждый раз, когда переходит на заданную строчку;

- просматривать и изменять значения переменных в памяти, а также регистры процессора.

 

Тестирование программы

 

Тестирование – это проверка программы специально обученными людьми тестерами.

 

Цель тестирования – найти как можно больше ошибок, которые не смог найти разработчик.

 

Различают две ступени тестирования профессиональных программ:

- альфа-тестирование – это тестирование сотрудниками той же фирмы, в которой работает команда разработчиков;

- бета-тестирование – тестирование предварительной версии в других фирмах и организациях;

 

Часто бета-версии программ для тестирования свободно распространяются через Интернет.

 

Программу условно можно считать правильной, если её запуск для выбранной системы

тестовых исходных данных во всех случаях дает правильные результаты.

Ход работы

Задание №1

(Выполняется с преподавателем)

Вывести на экран надпись – «Добро пожаловать» только после того, как нажата кнопка SB1.

Разработать алгоритм по заданным условиям

Задание №2

Разработать алгоритм совместной работы транспортного и пешеходного светофоров. Работа светофора начинается с красного света, после него загорается жёлтый и последним – зелёный. При этом при зелёном свете транспортного светофора загорается красный для пешеходов. А вместе с красным светом транспортного светофора загорается зелёный свет светофора пешеходного.

 

Задание №3

 

Разработать алгоритм опроса датчика системы пожарной безопасности. Датчик опрашивается каждые полторы секунды. Датчик реагирует на задымлённость помещения. Если датчик среагирует на задымлённость, загорается сигнальная лампа.

Оформление отчёта

3.1Зарисовать в тетрадь с пояснениями основные структуры алгоритмов;

3.2 Зарисовать таблицу языков программирования;

3.3 В тетради оформить задание 2 и 3

3.4 Составить вывод о проделанной работе

 

 

Практическое занятие №2

Название работы: Знакомство с системой программирования микроконтроллеров в программной среде Atmel Studio.

Цель работы: Познакомиться с системой программирования микроконтроллеров фирмы Atmel – "Atmel Studio"

1 Сведения из теории:

Atmel Studio – это интегрированная платформа разработки, предназначенная для проектирования и отладки приложений для микроконтроллеров Atmel на базе процессоров ARM Cortex™-M, а также микроконтроллеров AVR . Она представляет собой единую, простую в использовании среду разработки, компоновки и отладки приложений, написанных на языке C/C++ либо ассемблере.

Микроконтроллеры AVR – Семейство восьмибитных микроконтроллеров фирмы Atmel.

 

Важными элементами микро­контроллера являются регистры. Основные из них - регистры ввода/вывода.

В микро­контроллере ATmega8535 выделяются 4 основных регистра ввода/вывода:

 

PortA, PortB, PortC, PortD.

 

На каждый из них отводится 1 байт памяти – 8 бит (0…7), а каждому биту отдельного регистра соответствует 1 вывод микросхемы.

 

Регистры PortA, PortB, PortC, PortD – регистры ввода данных.

 

К каждому из основных регистров любого микроконтроллера добавляются еще два типа вспомогательных регистра (также содержащие по 1 байту памяти). Для ATmega8535 это:

- DDRA, DDRB, DDRC, DDRD – регистры направления передачи данных (0 – вход, 1 – выход);

- PinA, PinB, PinC, PinD – регистры физического наличия сигнала (характеризующие наличие напряжения на соответствующих выводах микросхемы).

 

Значения регистров DDRX (где X: A, B, C или D) задаются при инициализации программы (до начала работы микроконтроллера).

Значения же регистров PortX и PinX могут меняться в процессе работы программы (микроконтроллера).

При этом PortX определяет общую адресацию регистра X и по этим адресам осуществляется передача данных.

В свою очередь регистр PinX используется, когда необходимо знать физическое прохождение сигналов через регистры ввода/вывода.

Все 3 типа регистров побитно взаимосвязаны. Например, биту 2 порта B (т.е. PortB,2) соответствуют биты DDRB,2 и PinB,2.

С учетом специфики работы микроконтроллеров во многих случаях нельзя напрямую обращаться к регистрам ввода/вывода. Это можно делать только через так называемые рабочие регистры (r0…r31). С этой целью в приведенной выше программе идентифицируется один из рабочих регистров (r16) с именем temp (временный).

 

Ход работы

1 Запустить систему Atmel Studio и выполнить New Project.

2 Указать шаблон программирования (язык Assembler), а также задать Общее имя файлов проекта (Name), Путь к проекту (Location) и Общее наименование проекта и его папки (Solution Name);

3Выбрать устройство – программируемый микроконтроллер (ATmega8535).

После этого будет создан новый проект с начальными строками комментария в файле XXX.asm.

4 Рассмотреть рабочее окно программы. Свойства проекта и его настройки.

Оформление отчёта

1Кратко изложенные и проработанные сведения из теории

2Основные пункты запуска программы

3Вывод

3 Контрольные вопросы.

1Основные порты микроконтроллера

2Рабочее окно и основные функции программы Atmel Studiо

Практическая работа №3

 

Название работы: Изучение архитектуры микроконтроллера ATmega8535.

Цель работы:Изучить архитектуру, назначение входов/ выходов и ядро микроконтроллера ATmega8535.

Сведения из теории

Архитектура микроконтроллера ATmega8535 включает в себя:

 

- 130 команд процессора (большинство команд – однотактные);

- 32 8-разрядных регистра общего назначения;

- максимальная производительность 16 Mips (миллионов операций в секунду)

(максимальная тактовая частота 16 МГц);

- встроенный 2-тактный перемножитель;

- 8 кбайт встроенной электрически перепрограммируемой FLASH памяти (с

возможностью самопрограммирования), число циклов стирания-записи

памяти не менее 10000;

- 512 байт энергонезависимой памяти EEPROM;

- 512 байт внутреннего ОЗУ (SRAM);

- возможность защиты от чтения и модификации памяти программ и данных;

- возможность программирования непосредственно в системе через

последовательный интерфейс SPI.

 

Периферия:

- 2 8-разрядных независимых таймера-счетчика;

- 1 16-битный таймер-счетчик;

- счетчик реального времени с отдельным тактовым генератором;

- 4 канала ШИМ;

- 8 каналов 10-битного АЦП;

- 2-проводный последовательный интерфейс;

- интерфейс USART;

- последовательный интерфейс SPI;

- встроенный сторожевой таймер;

- встроенный аналоговый компаратор;

- 4 порта ввода-вывода, включающих 32 линии;

 

Технические характеристики:

- 40(44)- выводный корпус;

- напряжение питания 4,5…5,5 В;

- тактовая частота 0…16 МГц.

 

Архитектура ядра микроконтроллера ATmega8535

 

Ядро микроконтроллеров AVR семейства Mega выполнено по усовершенствованной RISC-архитектуре (enhanced RISC) (рис. 1), в которой используется ряд решений, направленных на повышение быстродействия микроконтроллеров.

Арифметико-логическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32 рабочим регистрам, объединенным в регистровый файл. Благодаря этому, АЛУ может выполнять одну операцию (чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за такт. Кроме того, практически каждая из команд (за исключением команд, у которых одним из операндов является 16-битный адрес), занимает одну ячейку памяти программ.

 

Рисунок 1. Упрощенная архитектура ядра микроконтроллера ATmega

 

 

В микроконтроллерах AVR реализована Гарвардская архитектура, характеризующаяся раздельной памятью программ и данных, каждая из которых имеет собственные шины доступа. Такая организация позволяет одновременно работать как с памятью программ, так и с памятью данных. Разделение информационных шин позволяет использовать для каждого типа памяти шины различной разрядности, причем способы адресации и доступа к каждому типу

памяти также различаются. В сочетании с двухуровневым конвейером команд такая архитектура позволяет достичь производительности в 1 Mips на каждый 1 МГц тактовой частоты.

Арифметико-логическое устройство (АЛУ) поддерживает арифметические и логические операции с операндами в виде двух регистров, либо регистра и константы. Большинство команд процессора выполняются за 1 такт, равный 1 периоду изменения тактового сигнала.

Указатель исполняемой команды хранится в программном счетчике и автоматически изменяет свое значение при переходе на следующую команду.

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

 

Цоколевка микроконтроллера ATmega8535

 

Микроконтроллеры ATmega8535 выпускаются в 44-выводных корпусах типа TQFP, М LF, PLCC, а также в 40-выводных корпусах типа DIP с числом контактов ввода-вывода, равным 32.

Цоколевка микросхемы ATmega8535 приведена на рис. 2, назначения выводов – в табл. 1, где использованы следующие обозначения:

I — вход; О — выход; I/O — вход-выход; Р — вывод питания.

Если микросхема имеет неподключенные выводы (NC), подключать их к какому-либо уровню напряжения не рекомендуется.



Таблица 1

 
 

Структурная схема микроконтроллера ATmega8535

 
 

2 Содержание отчёта:

1Краткие выписки из теории;

2Схема упрощённой архитектуры микроконтроллера ATmega8535;

3Таблица назначения входов/выходов микроконтроллера;

4Структурная схема микроконтроллераATmega8535;

5Вывод.

Практическая работа №4

Название работы:Исследовать принцип централизации управления МПС

Цель работы:Научиться определять объём адресного пространства МПС и направление передачи данных.

Сведения из теории

 

Ход работы

Ответить на вопросы 1-20. Оформить в тетрадь ответы.

1 В чем суть принципа централизации управления МПС?

2 Как принцип централизации повлиял на структуру МПС?

3 Назовите основные шины МПС.

4 В чем заключается принцип адресного обращения?

5 Как определяется объем адресного пространства МПС?

6 В каком направлении передаются данные в режиме записи в память?

7 В каком направлении передаются данные в режиме чтения из памяти?

8 Преимущества шинной связи.

9 Недостатки шинной связи.

10 Какая шина магистрали является основной? Почему?

11 Как архитектура шин влияет на быстродействие системы?

12 В чем сущность синхронного и асинхронного обмена?

13 Как работают адресные дешифраторы?

14 В чем заключается децентрализация управления, как децентрализация влияет на быстродействие системы?

15 Определите объем адресного пространства МПС, имеющей в ША:

а)16 линий, б) 20 линий, в) 36 линий.

16 К трехразрядной шине адреса ША(00-02) подключен дешифратор адреса, изображенный на рисунке 1. На выходе дешифратора формируется сигнал идентификации устройства СА (селекция адреса) низкого уровня при передаче некоторого адреса. Определите двоичный код этого адреса.

 

Рисунок 1- Адресный дешифратор

 

17 Определите состояние сигнал на выходе дешифратора адреса при передаче в шину адреса кода 111b. Как следует переставить перемычку, чтобы закрепить этот адрес за устройством, в котором находится данный адресный дешифратор?

 

18 Составьте таблицу расстановки перемычек в адресном дешифраторе (рисунок 1)

 

Адрес в двоичном коде Перемычки
Е8 Е7 Е6 Е5 Е4 Е3 Е2 Е1
- - - - - - - +
               
               
               
               
               
               
               

 

19 На рисунке 2 изображена схема подключения БИС ОЗУ и БИС ПЗУ к шинам МПС.

а) определите организацию и объем БИС ПЗУ;

б) определите организацию и объем БИС ОЗУ;

в) объясните назначение управляющих входов OE, CE, WE БИС;

г) найдите адресный дешифратор и объясните принцип его работы;

д) определите адреса ячеек БИС ПЗУ;

е) определите адреса ячеек БИС ОЗУ;

 

Рисунок 2 – Подключение БИС ОЗУ и БИС ПЗУ к шинам МПС

 

20 Выполните анализ схем, изображенных на рисунке 3, 4 по плану, предложенному в задании 19.

 

 

Рисунок 3

 

Оформление отчёта

 

1Название и цель работы

2Ответы на вопросы 1-20

3Вывод

Практическая работа №5

Название работы:Вычисление объёма адресного пространства.

Цель работы:Научиться вычислять объём адресного пространства. Распределять адреса между банками.

Сведения из теории

 

Количество линий в шине адреса определяет общее количество адресов, то есть объем адресного пространства МПС.

Количество адресов N, передаваемое по ША, определяется по формуле:

N=2n, (1)

где n – разрядность ША.

Как правило, устройства, подключенные к шине, имеют не один, а несколько или даже очень много адресов, например, память может состоять из сотен или тысяч ячеек, поэтому адресное пространство МП распределяется не между отдельными адресами, а между массивами, банками адресов. На рисунке 5 условно показано адресное пространство, разбитое на 8 банков по 4К=4096 адресов.

Рисунок 1 – Адресное пространство разбито на 8 банков

 

Совсем не обязательно банки должны иметь одинаковый размер. Размер банка определяется объемом памяти и некоторыми другими факторами. Не всегда в системе используются все банки адресов, некоторые могут оставаться свободными. Знать адреса банков необходимо для того, чтобы настроить селекторы адреса, корректно использовать адреса памяти в программах. Распределить шину адреса между банками и определить адресную установку каждого банка помогает формат адресного слова. Формат адресного слова показывает, как распределяются отдельные линии ША между всеми банками системы.

 

Пример 1.

В шине адреса МП 16 линий, следовательно, общий объем адресного пространства 216=65 536 =64К, где К=1024. Все адресное пространство разбито на 4 банка по 16К адресов каждый. Чтобы задать 16К адресов, достаточно 14 адресных линий (214=16К), оставшиеся 2 линии используются для выбора банка.

Формат адресного слова показывает распределение каждого бита адреса.

Рисунок 2 - Пример формата адресного слова для 16-разрядной шины

 

Распределение адресов шины по банкам:

0 банк: (000000000000000-0011111111111111)B= (0000-3FFF)H

1 банк: (0100000000000000-0111111111111111)B=(4000-7FFF)H

2 банк: (1000000000000000-1011111111111111)B= (8000-BFFF)H

3 банк: (1100000000000000-1111111111111111)B= (C000-FFFF)H

 

Каждый банк имеет свой дешифратор, настроенный таким образом, чтобы идентифицировать любой из 16К адресов банка.

Рисунок 3

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.