Микропроцессорная система на основе микропроцессорного контроллера
Микропроцессор как функционально законченное изделие, состоящее из нескольких устройств, центральная часть любой микропроцессорной системы. Общая характеристика микроконтроллеров AVR, знакомство с историей появления. Особенности микроконтроллера ATmega 8.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.02.2019 |
Размер файла | 3,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Микропроцессорная система на основе микропроцессорного контроллера
Введение
В настоящее время жизнь любого человека невозможно представить без электронных устройств. Так как используются они во всех сферах деятельности. При этом наблюдаем тенденция встраивания в техническое устройство компьютерных систем, функционирование которых основано, прежде всего, на микропроцессорах, однокристальных микроконтроллерах и т.п.
Микропроцессорная система - совокупность микропроцессоров и выполняемых ими программ, использующих для обработки данных определённые методы, процедуры, алгоритмы и информационные технологии.
Микропроцессор ? функционально законченное изделие, состоящее из нескольких устройств.
Отличие микроконтроллера состоит в том, что он кроме центрального процессора содержит еще и память, и последовательные и параллельные каналы передачи информации, аналого-цифровые преобразователи, таймеры реального времени и т.д.
Чаще всего их используют в качестве специализированных вычислителей, управляющих какими-либо процессами. Структурная организация, набор команд и аппаратурно-программные средства ввода/вывода информации микроконтроллеров лучше всего приспособлены для решения задач управления и регулирования в приборах, устройствах и системах автоматики, поэтому их встраивают в такие устройства, как телефоны, фотоаппараты, телевизоры и прочее.
Что касается достоинств систем с микроконтроллерами, то они позволяют не только значительно повысить качество работы технического устройства, но и снизить затраты в производстве, а также повысить производительность.
В данной курсовой рассмотрим подробно Atmega 8, микропроцессор фирмы Atmel, разработаем программное обеспечение для подключения матричной клавиатуры к МПС.
1. Общая структура МПС
Микропроцессор - центральная часть любой микропроцессорной системы (МПС) - включает в себя АЛУ и ЦУУ, реализующее командный цикл. МП может функционировать только в составе МПС, включающей в себя микропроцессор, память, устройства ввода/вывода, тактовый генератор, контроллеры прерываний и ПДП, шинные формирователи, регистры-защелки и др.
Имеются следующие основные части (подсистемы): процессорный модуль; память; внешние устройства; подсистему прерываний; подсистему прямого доступа в память.
Связь между процессором и другими устройствами МПС может осуществляться по принципам радиальных связей, общей шины или комбинированным способом.
Рисунок 1. МПС структура с интерфейсом «Общая шина»
Все сигналы интерфейса делятся на группы данных, адреса и управления. Обмен информацией по интерфейсу производится между двумя устройствами, одно из которых является активным, а другое - пассивным. Первые формируют адреса пассивных устройств и управляющие сигналы. Активным устройством выступает, как правило, процессор, а пассивным - всегда память и некоторые ВУ.
Такая структура предполагает, что обращения ко всем устройствам МПС производится в едином адресном пространстве, но иногда адресное пространство все же разделяется.
Процессор является основным вычислительным блоком компьютера, в наибольшей степени определяющим его мощь; выполняет последовательность команд.
Чтобы понять, как все функционирует, вспомним IBM PC, реализующий собой архитектуру фон Неймана. Данная машина состоит из АЛУ, памяти, устройств ввода и вывода, блока управления. Программа и данные хранятся в одном месте (если разделить память на две части, получим Гарвардскую архитектуру).
Действия, которые выполняем, определяются блоком управления и АЛУ (вместе основа процессора). Центральный процессор исполняет команды из памяти последовательно, адрес команды находится в блоке управления. Данные, с которыми работает программа, могут включать переменные. Подобная схема функционирования является не единственно возможной, однако большинство современных компьютеров основано именно на этих принципах, несмотря на полувековую историю.
Особенности современных архитектур по сравнению с архитектурой фон Неймана: работа прерывания такова, что при поступлении сигнала прерывания процессор обязан прекратить выполнение текущей программы и немедленно начать обработку процедуры прерывания; наличие прямого доступа к памяти сокращает расходы на пересылку единицы информации.
1.1 Цифровое кодирование
МПС функционирует с последовательностью цифровых кодов, иначе с информацией в цифровом виде.
Неотъемлемая часть любой МПС - микропроцессор воспринимает лишь двоичные числа.
К единицам измерения относят: бит, имеющий значения нуль и единица, ими кодируются логические «да», «нет», «вкл», «выкл» и т.д.; байт - восемь бит; все остальные единицы формируются также в зависимости от количества бит или байт (Кбайт, Мбайт и т.п.)
При этом бит является наименьшей единицей представления информации; байт ? наименьшей единицей обработки информации.
Так как основная часть информации является аналоговой, то перед тем, как информация попадает в процессор, она преобразуется в АЦП.
Кодировку чаще всего осуществляем с помощью ASCII, двоичной, шестнадцатеричной системы. Однако это не значит, что других систем нет.
Таблица 1.1.1 - Системы счисления
2 |
10 |
16 |
|
0 |
0 |
0 |
|
1 |
1 |
1 |
|
10 |
2 |
2 |
|
11 |
3 |
3 |
|
100 |
4 |
4 |
|
101 |
5 |
5 |
|
110 |
6 |
6 |
|
111 |
7 |
7 |
|
1000 |
8 |
8 |
|
1001 |
9 |
9 |
|
1010 |
10 |
A |
|
1011 |
11 |
B |
|
1100 |
12 |
C |
|
1101 |
13 |
D |
|
1110 |
14 |
E |
|
1111 |
15 |
F |
Для определения значения числа в конце добавляют латинскую букву, обозначающую систему счисления: для двоичных чисел букву b, для шестнадцатеричных ? h, для десятичных - d. Число без дополнительного обозначения считается десятичным.
1.2 Алгоритм работы микропроцессорной системы
Как известно, процессор по сути занимается управлением всей микропроцессорной системы. Для того, чтобы он выполнил некую последовательность команд, коды этих команд записывают в ОЗУ микропроцессорного устройства. Последовательность таких кодов в памяти и есть программа. У каждого процессора определена область памяти, куда нужно записывать программу. Коды следующей команды записываются сразу после последнего кода предыдущей.
Процессор устроен так, что сразу после сброса он считывает программу байт за байтом и выполняет, закодированные таким образом, команды. Программа предварительно загружена программистом. При этом в микропроцессорных устройствах та часть памяти, которая используется для хранения программ, выполняется обычно в виде ПЗУ. Благодаря этому, записанная в него программа при выключении питания не теряется.
Для хранения программ используется только часть памяти. Остальная память выполняется обычно в виде ОЗУ и служит для того, чтобы процессор мог хранить в ней промежуточные результаты работы и другие вспомогательные данные.
Работа микропроцессорного устройства начинается с начального сброса. Для этого сразу после включения питания специальная схема подает импульс сброса на вход RESET процессора. По этому сигналу сбрасываются все внутренние регистры процессора, счетчик адреса команд. Последний предназначен для хранения адреса выполняемой в данный момент команды. Так как при сбросе регистр команд обнуляется, то после окончания действия сигнала сброса процессор начинает выполнение программы с нулевого адреса. Именно нулевой адрес чаще всего используется в качестве начала программной области памяти. Команда, записанная по такому адресу, выполняется. Затем процессор увеличивает значение внутреннего счетчика адреса, и читает код следующей команды, выполняет ее и т. д.
Все команды любого микропроцессора можно разделить на три большие группы:
Первая группа - это команды перемещения данных. По этим командам процессор переписывает данные из одной ячейки памяти в другую. Причем это могут быть как ячейки внешнего ОЗУ, так и внутренние регистры временного хранения информации.
Ко второй группе относятся команды преобразования данных. Это команды сложения, вычитания, логические операции, сдвига разрядов и другие.
К третьей группе относятся команды передачи управления. Для выполнения команды передачи управления процессор просто записывает в регистр - счетчик команд адрес, куда передается управление.
Команды передачи управления при выполнении, какого - либо условия, называются командами условного перехода. Кроме команд условного перехода к командам передачи управления относится так же команда безусловного перехода. По этой команде происходит безусловный переход на указанный адрес. К данной группе относятся также команды циклической обработки и команды перехода к подпрограмме.
Подпрограмма - это часть программы, которую можно вызвать из разных мест основной программы (в том числе и из других подпрограмм). После выполнения подпрограммы управление передается к той части программы, откуда была вызвана подпрограмма.
Для работы с подпрограммами в каждом языке программирования есть как минимум две специальные команды. Это команда перехода к подпрограмме, и команда возврата из подпрограммы. Когда процессор встречает команду перехода к подпрограмме, он запоминает текущее значение счетчика адреса и передает управление на адрес начала подпрограммы. Далее выполняются команды представляющие собой собственно подпрограмму. Подпрограмма должна заканчиваться командой выхода из подпрограммы. Встретив такую команду, микропроцессор извлекает из памяти тот адрес, от куда произошел переход к подпрограмме, добавляет к нему единичку и переходит к выполнению следующей команде, после команды вызова подпрограммы и исполняет все остальные необходимые программы.
2. AVR микроконтроллеры
Семейство микроконтроллеров AVR было создано в 1996 г. корпорацией Atmel, а разработчиками архитектуры микроконтроллеров являются Альф Боген (Alf-Egil Bogen) и Вегард Воллен (Vegard Wollan). Отсюда и происходит название семейства - от первых букв имен разработчиков - A и V, и первой буквы аббревиатуры RISC - типа архитектуры, на которой базируется архитектура микроконтроллера. Также эту аббревиатуру часто расшифровывают как Advanced Virtual RISC (модернизированный эффективный RISC).
Первым микроконтроллером в серии был AT90S8515, однако первым микроконтроллером, выпущенным на рынок в 1997, стал AT90S1200.
На сегодняшний день доступны три линейки микроконтроллеров: TinyAVR, характеризующийся небольшим объемом памяти и возможностей; MegaAVR - наиболее распространенная линейка, имеющая большой объем встроенной памяти, множество дополнительных устройств и предназначенная для задач средней и высокой сложности; XmegaAVR - используется в сложных коммерческих задачах, требующих большого объема памяти и высокой скорости.
Особенности: микроконтроллеры этой серии являются быстрыми. Большинство инструкций процессор микроконтроллера выполняет за один цикл. Микроконтроллеры AVR примерно в 4 раза быстрее, чем PIC. Кроме того, они потребляют немного энергии и могут работать в 4 режимах экономии энергии.
Большинство контроллеров AVR являются 8-разрядными, хотя сейчас существует и 32-разрядная разновидность контроллеров AVR32.
Архитектура его основана на регистрах. То есть процессор контроллера берет данные из двух входных регистров, помещает их в арифметико-логическое устройство (АЛУ), которое производит операцию над данными и передает в произвольный регистр. АЛУ может выполнять как арифметические, так и логические действия над операндами. Также АЛУ может выполнять и действия с одним операндом (регистром). При этом контроллер не имеет регистра-аккумулятора, так как для операций могут использоваться любые регистры, и результат операции также может быть помещен в любой регистр.
Контроллер соответствует Гарвардской вычислительной архитектуре, согласно которой компьютер имеет отдельную память для программ и данных. Поэтому в то время, пока выполняется одна инструкция, происходит предварительное извлечение из памяти следующей инструкции.
Помимо флэш-памяти и процессора контроллер имеет такие устройства, как порты ввода и вывода АЦП, таймеры, коммуникационные интерфейсы - I2C, SPI и последовательный порт UART. Все эти устройства могут контролироваться программно. Программа микроконтроллера может храниться во встроенной памяти контроллера и представляет собой серию команд, которые выбирают данные и осуществляют с ними операции. В большинстве случаев это считывание входящих данных, проверка их состояния и вывода соответствующих выходных данных. Иногда может потребоваться изменение данных и совершение с ними некоторых операций, а также передача данных какому-либо внешнему устройству или последовательному порту. Для таких задач используются наборы двоичных команд, каждая из которых имеет аналог на более доступном человеческому восприятию языке ассемблера. Поэтому наиболее распространенным способом написания программ для контроллера является написание их на языке ассемблера.
Однако программирование на языках высокого уровня также возможно. В этом случае задачу по контролю структуры программы и управлению памятью берет на себя компилятор. Кроме того, часто используемые функции могут быть при этом помещены в библиотеки и извлекаться из них по мере надобности.
2.1 Особенности микроконтроллера ATmega 8. Архитектура
АTmega8 - маломощный восьми разрядный КМОП микроконтроллер, основанный на расширенной AVR RISC - архитектуре.
Рисунок 2.1.1 - Внешний вид микроконтроллера
Особенности: прогрессивная RISC архитектура на сто тридцать высокопроизводительных команд; тридцать два восьмиразрядных рабочих регистра общего назначения; двух цикловой перемножитель; энергонезависимая память программ и данных восемь Кбайт внутри системно программируемой флэш - памяти; обеспечивает тысячу циклов стирания и записи; имеется дополнительный сектор загрузочных кодов с независимыми битами блокировки; обеспечен режим одновременного чтения и записи; программируемая блокировка, обеспечивающая защиту программных средств пользователя; встроенная периферия; два восьмиразрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения; один шестнадцатиразрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения; счетчик реального времени с отдельным генератором; восьмиканальный аналого-цифровой преобразователь (в корпусах TQFP и MLF); шесть каналов с десятиразрядной точностью; два канала с восьмиразрядной точностью; шестиканальный аналого-цифровой преобразователь; четыре канала с десятиразрядной точностью; два канала с восьмиразрядной точностью; байт-ориентированный двухпроводный последовательный интерфейс; программируемый последовательный USART; последовательный интерфейс SPI (ведущий/ведомый); программируемый сторожевой таймер с отдельным встроенным генератором; встроенный аналоговый компаратор; сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания; встроенный калиброванный RC-генератор; внутренние и внешние источники прерываний; пять режимов пониженного потребления и снижения шумов ADC; выводы I/O и корпуса; двадцать три программируемых линии ввода/вывода; двадцати восьми выводной корпус PDIP; тридцати двух выводной корпус TQFP и тридцати двух выводной корпус MLF; рабочие напряжения 4,5 - 5,5 В; рабочая частота 0 - 16 МГц.
Архитектура: ядро ATmega 8, как упоминалось ранее, выполнено по усовершенствованной RISC-архитектуре. Арифметико-логическое устройство (АЛУ), которое выполняет вычисления, подключено к рабочим регистрам, которые объединяют в регистровый файл, именно благодаря этому операция и выполняется за один цикл. Таким образом каждая из команд занимает одну ячейку памяти программ.
Шесть из тридцати двух регистров общего назначения могут быть использованы как три шестнадцатиразрядных регистра указателя косвенной адресации адресного пространства данных, обеспечивающие эффективное вычисление адресов. Один из этих указателей адреса используется, также, как указатель адреса для функции непрерывного просмотра таблиц (доп. регистры X-регистр, Y-регистр и Z-регистр).
В дополнение к операциям с регистрами, регистровый файл может использоваться и для обычной адресации памяти.
В процессе обработки прерываний и вызовов подпрограмм адрес возврата счетчика команд (PC) сохраняется в стеке. Стек размещается в SRAM данных. Все пользовательские программы в подпрограммах возврата инициализируют указатель стека (SP).
Гибкий модуль обработки прерываний имеет в пространстве I/O свой управляющий регистр с дополнительным битом разрешения глобального прерывания в регистре статуса. Все прерывания имеют свои векторы прерывания в таблице векторов прерывания, располагаемой в начале памяти программ. Прерывание с наименьшим адресом вектора имеет наивысший приоритет.
Использование технологии конвейеризации, как и Гарвардская архитектура приводит к повышению быстродействия. Суть конвейеризации состоит в том, что во время исполнения текущей команды производится выборка из памяти и дешифрация кода следующей команды. Причем длительность машинного цикла микроконтроллеров AVR составляет всего один период тактового генератора.
Рисунок 2.1.2 - Структурная схема МК ATmega8
2.2 Назначение выводов микроконтроллера
Рисунок 2.2.1 Расположение выводов
Таблица 2.2.1 Назначение выводов
Название |
Назначение |
|
VCC |
Напряжение питания цифровых элементов |
|
GND |
Общий |
|
Port B (PB7..PB0) XTAL1/XTAL2/TOSC1/TOSC2 |
Порт B - 8-разр.порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами Выходные буферы имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии действуют как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта B находятся в третьем состоянии при выполнении условия сброса, даже если синхронизация не запущена. В зависимости от настроек фьюзов генератора PB6 может быть как инверсный вход генератора и введен к внутренним часам через операционный усилитель. Если Внутренний Калиброванный генератор RC используется как тактовый источник микросхемы, PB7.. 6 используется в качестве TOSC2.. 1 ввод для асинхронного Timer/Counter2, если бит AS2 в ASSR установлен. Альтернативные функции порта представлены в таблице 2.2.2 |
|
Port C (PC5..PC0) |
Порт C - 7-разр. порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами. Выходные буферы порта C имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта C будут действовать как источник тока, если внешне действовать низкий уровень и включены подтягивающие резисторы. Выводы порта C находятся в третьем состоянии при выполнении условия сброса, даже если синхронизация не запущена. |
|
PC6/RESET |
Если фьюз RSTDISBL запрограммирован, PC6 используется в качестве контакта ввода-вывода. Отметим, что электрические характеристики PC6 отличаются от таковых из других контактов Порта C. Если фьюз RSTDISBL не программируется, PC6 используется в качестве ввода Сброса. Низкий уровень на этом контакте дольше чем минимальная длина импульса генерирует Сброс, даже если генератор не будет работать. Более короткие импульсы, не гарантируют, генерацию сброса. Альтернативные функции порта представлены в таблице 2.2.3 |
|
Port D (PD7..PD0) |
Порт D - 8-разр. порт двунаправленного ввода-вывода с внутренними к подтягивающими к плюсу резисторами Выходные буферы порта D имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта D будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта D находятся в третьем состоянии при выполнении условия сброса, даже если синхронизация не запущена. |
|
RESET |
Вход сброса. Если на этот вход приложить низкий уровень длительностью более минимально необходимой будет генерирован сброс независимо от работы синхронизации. |
|
AVCC |
Вход питания аналогово-цифрового преобразователя Порт C (3.. 0), и ADC (7.. 6).. Он должен быть внешне связан с VCC, даже если АЦП не используется. При использовании АЦП этот вывод связан с VCC через фильтр низких частот. Отметим, что Порт C (5.. 4) может быть выходом цифрового напряжения VCC. |
|
AREF |
Вход подключения источника опорного напряжения АЦП |
|
ADC7..6 (TQFPand QFN/MLF PackageOnly) |
В TQFP и корпусе QFN/MLF, ADC7.. 6 служат аналоговыми входами к конвертеру PackageOnly) A/D. Эти аналоговые контакты и служат 10-битовыми каналами ADC. |
Таблица 2.2.2. Альтернативные функции порта B
Вывод порта |
Альтернативная функция |
|
PB7 |
XTAL2 (выход для подключения резонатора контакт 2) TOSC2 (контакт резонатора таймера 2) |
|
PB6 |
XTAL1 (выход для подключения резонатора контакт 1) TOSC1(контакт резонатора таймера 1) |
|
PB5 |
SCK (синхронизация послед. связи шины SPI) |
|
PB4 |
MISO (ввод для ведущей/вывод для подчиненной шины SPI) |
|
PB3 |
MOSI (вывод для ведущей/ввод для подчиненной шины SPI) |
|
PB2 |
SS (вход выбора подчиненного режима интерфейса SPI) OC1B (выход В компаратора и ШИМ таймера-счетчика 1) |
|
PB1 |
OC1A (выход A компаратора и ШИМ таймера-счетчика 1) |
|
PB0 |
ICP1(вход триггера захвата фронта таймера-счетчика 1) |
Таблица 2.2.3 - Альтернативные функции порта С
Вывод порта |
Альтернативная функция |
|
PC6 |
RESET (контакт сброса) |
|
PC5 |
ADC5 (входной Канал ADC 5) SCL (линия синхронизации двухпроводной последовательной шины) |
|
PC4 |
ADC4 (входной Канал ADC 4) SDA (ввод / вывод данных двухпроводной последовательной шины |
|
PC3 |
ADC3 (входной канал ADC 3) |
|
PC2 |
ADC2 (входной канал ADC 2) |
|
PC1 |
ADC1 (входной канал ADC 1) |
|
PC0 |
ADC0 (входной канал ADC 0) |
3. Среда разработки микропроцессорной системы
Для AVR существует различное множество сред разработки Integrated Development Environment, сокращенно IDE.
IDE - это система программных средств, в ее состав входят текстовый редактор, компилятор, интерпретатор, средства сборки, отладчик.
Примерами IDE являются AVR Studio, Atmel Studio, Eclipse, NetBeans и многие другие.
В данной курсовой работе воспользуемся AVR Studio 4.
3.1 AVR Studio 4
микропроцессорный функциональный устройство
Программная среда «AVR Studio» ? это мощный современный программный продукт, позволяющий производить все этапы разработки программ для любых микроконтроллеров серии AVR. Пакет включает в себя специализированный текстовый редактор для написания программ, мощный программный отладчик.
AVR Studio 4 обеспечивает полный набор функций, включая поддержку запуска отладчика в том числе контроль источника и на уровне инструкций активизации и точек останова; регистров, памяти и I / O мнения и целевой настройки и управления, а также полную поддержку в области программирования автономный программистов.
При программировании в среде AVR Studio необходимо выполнить стандартную последовательность действий: создание проекта; написание программы; компиляция; симуляция.
При запуске AVR Studio предлагает либо создать новый проект (New Project) или открыть уже существующий (Open).
Рисунок 3.1.1 - Запуск AVR Studio 4
Создаем новый проект. Выбираем тип проекта в Project Type, заполняем поля имя проекта (Project Name) и заглавный файл (Initial File). Нажимаем далее (Next).
Рисунок 3.1.2 - Создание проекта
В окне платформа отладки (Debug Platform) выбираем симулятор, а в окне устройство (Device) - подходящий микроконтроллер. Нажимаем завершить (Finish), попадаем в главное окно программы.
Рисунок 3.1.3 - Выбор подходящего микроконтроллера
Общий вид окна программы Окно разделено на 4 части. В верхней части расположены строка меню и «плавающие» панели с кнопками. Чуть ниже слева располагается вкладки Диспетчер проекта (Project), Просмотр ввода/вывода (I/O View), Информация (Info), справа - Текст программы. Снизу расположены следующие вкладки: Конструкция (Build), Сообщения (Message), Поиск в файлах (Find in Files), Контрольные точки (Breakpoints and Tracepoints). Написание программы осуществляется во вкладке «Текст программы».
Рисунок 3.1.4 - Общий вид главного окна программы
После написания программы выполняем компиляцию - процесс перевода текста программы, написанной на языке программирования, в исполняемый модуль, содержащий машинные команды конкретного процессора. Применительно к микроконтроллерам процесс компиляции называется ассемблирование.
Ассемблирование -- трансляция с языка ассемблера в команды машинного языка. После удачного ассемблирования можно переходить к фазе симуляции.
Симуляция - моделирование процесса выполнения программы микроконтроллером на персональном компьютере, то есть отладка - этап компьютерного решения задачи, при котором происходит устранение явных ошибок в программе.
После того как проект прошел отладку данную программу можно использовать для функционирования в микроконтроллере. Для решения данной задачи используем Proteus.
3.2 Proteus
Программа Proteus представляет собой мощную систему схемотехнического моделирования, сделанной на основе виртуальных моделей электронных элементов. Специфической чертой данного программного пакета (Proteus) является возможность моделирования различной работы программируемых устройств: микропроцессоров, контроллеров, DSP и т.д.
Кроме этого в пакет Proteus заложена специальная система проектирования и моделирования печатных плат. Программа Proteus умеет симулировать работу таких контроллеров: ARM7, 8051, PIC, AVR, Motorola, Basic Stamp. Внутренняя библиотека компонентов имеет различные справочные данные. Она поддерживает микроконтроллеры: 8051, PIC, HC11, AVR, и другие широко распространенные процессоры. Вдобавок к этому в программе содержатся более шести тысяч цифровых и аналоговых моделей всевозможных устройств. Программа Proteus прекрасно работает с большинством компиляторов и ассемблерами.
Состоит из двух основных модулей: ISIS ? это графический редактор принципиальных электронных схем, который служит для ввода проектов с дальнейшей имитацией и передачей на разработку различных печатных плат в ARES. После общей отладки устройства можно развести имеющуюся печатную плату в ARES; ARES ?это графический редактор печатных плат со встроенным автотрассировщиком ELECTRA, автоматической расстановкой компонентов на печатной плате и отличным менеджером библиотек.
Proteus позволяет подключиться виртуальному устройству к реальному COM-порту, USB порту.
Рисунок 3.2.1 - Окно, появляющееся при открытии программы
4. Симуляция вывода чисел на индикатор
В курсовой работе необходимо подключить к микропроцессорной системе клавиатуру, нажатие клавиши которой приводит к выводу цифры на индикатор. Для решения данной задачи используем микроконтроллер ATmega 8, индикатор 7SEG-MPX1-CC, клавиатуру Key-pad Phone, в ней «#» и «*» не задействуем.
Реализуем следующие этапы: в AVR Studio 4 создаем проект и пишем программу на С; создаем проект и схему моделирования в Proteus; указываем hex-файл прошивки в модели ATMega8.
Рисунок 4.1. Создание проекта в AVR Studio 4 и написание программы на С
Рисунок 4.2 Схема моделирования в Proteus
Рисунок 4.3 Выбираем файл прошивки
Рисунок 4.4 Процесс симуляции
Заключение
В данной курсовой работе была рассмотрена структура микропроцессорных систем, их предназначение и архитектура. Изучены среды разработки AVR Studio 4, Proteus Design Suite 8.5, микроконтроллер ATmega 8 фирмы Atmel посредством разработки программы взаимодействия указанного микроконтроллера с клавиатурой и индикатором.
Библиографический список
1.Гребнев, В.В. Микроконтроллеры семейства AVR фирмы Atmel. / В.В. Гребнев. - М.: ИП РадиоСофт, 2002 - 176 с.
2.ATmega 8 и ATmega 8L. Техническая документация / Atmel - 303 c.
3.СТП ОмГУПС-1.2-2005. Работы студенческие учебные и выпускные квалификационные: общие требования и правила оформления текстовых документов/ ОмГУПС, Омск, 2005
4.AVR Studio. [Электронный ресурс] / Вебсайт «AVR Studio. Сайт о микроконтроллерах» - Режим доступа: http://avr.ru/tools/studio
5.AVR микроконтроллер. И его применение в компьютере. [Электронный ресурс] / Вебсайт «Ваш гид по настройкам BIOS» - Режим доступа: http://biosgid.ru/osnovy-ustrojstva-pk/mikrokontroller-avr.html
6. [Электронный ресурс] / Вебсайт «Мир микроконтроллеров» - Режим доступа: book.mirmk.ru
Приложение А
микропроцессорный функциональный устройство
//Курсовая_Романова_23и
#include <avr/io.h>
#include <util/delay.h>
// Cоздаем массив значений для порта вывода
unsigned char key_tab[4] = {0b11111110,
0b11111101,
0b11111011,
0b11110111};
// Теперь создаем функцию опроса клавиатуры
unsigned char scan_key(void)
{
unsigned char key_value = 0;
unsigned char i;
for(i = 0;i < 4;i++)
{
PORTB = key_tab[i]; // Вывод 0 в порт вывода
_delay_us(10);
switch (PINB & 0xF0)
{
case 0b11100000:
key_value = 1 + i * 3;
return (key_value);
case 0b11010000:
key_value = 2 + i * 3;
return (key_value);
case 0b10110000:
key_value = 3 + i * 3;
return (key_value);
default:
break;
}
}
return (key_value);
}
int main(void)
{
// Цифры индикатора
unsigned char num[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
DDRB |= (1 << PB3)|(1 << PB2)|(1 << PB1)|(1 << PB0); // Порт вывода
DDRB &= ~(1 << PB7)|(1 << PB6)|(1 << PB5)|(1 << PB4); // Порт ввода
PORTB = 0xF0; // Установка 1 в порт ввода
DDRD = 0xFF; // На индикатор выходим
PORTD = 0x00;
_delay_ms(10);
while(1)
{
if(scan_key()==1) // Здесь и далее значение нажатой кнопки(вывод)
PORTD = num[1];
if(scan_key()==2)
PORTD = num[2];
if(scan_key()==3)
PORTD = num[3];
if(scan_key()==4)
PORTD = num[4];
if(scan_key()==5)
PORTD = num[5];
if(scan_key()==6)
PORTD = num[6];
if(scan_key()==7)
PORTD = num[7];
if(scan_key()==8)
PORTD = num[8];
if(scan_key()==9)
PORTD = num[9];
if(scan_key()==11)
PORTD = num[0];
}
}
Приложение Б
Принципиальная схема
Размещено на Allbest.ru
...Подобные документы
Аппаратные принципы построения устройств микропроцессорной техники и приобретение практических навыков по разработке микропроцессорных систем. Техническая характеристика микропроцессора ATmega и анализ микросхемы памяти. Схема микропроцессорной системы.
курсовая работа [1,6 M], добавлен 19.11.2011Разработка микропроцессорной системы на основе микроконтроллера, основные этапы и особенности данного процесса. Принципы работы шагового двигателя. Аппаратные средства микроконтроллеров серии AT90S2313. Расчет стоимости сборки и отладки устройства.
дипломная работа [1,4 M], добавлен 11.07.2010Порядок описания и разработки структурной и функциональной схемы микропроцессорной системы на основе микроконтроллера К1816ВЕ31. Обоснование выбора элементов, разработка принципиальной схемы данной системы, программы инициализации основных компонентов.
курсовая работа [260,4 K], добавлен 16.12.2010Разработка микропроцессорной системы на основе однокристального 8-разрядного микропроцессора КР580ВМ80А. Основные характеристики системы. Формирование сигнала выбора модуля. Структура памяти, организация ввода и вывода. Программное обеспечение системы.
курсовая работа [422,5 K], добавлен 10.03.2015Понятие и виды микроконтроллеров. Особенности программирования микропроцессорных систем, построение систем управления химико-технологическим процессом. Изучение архитектуры микроконтроллера ATmega132 фирмы AVR и построение на его основе платформы Arduino.
курсовая работа [1,9 M], добавлен 13.01.2011Разработка микропроцессорной системы управления технологическим объектом. Выбор и расчет элементов системы, разработка ее программного обеспечения. Составление структурных, функциональных и принципиальных схем микроконтроллеров семейства MCS-51.
курсовая работа [579,0 K], добавлен 20.09.2012Описание алгоритма работы и разработка структурной схемы микропроцессорной системы управления. Разработка принципиальной схемы. Подключение микроконтроллера, ввод цифровых и аналоговых сигналов. Разработка блок-схемы алгоритма главной программы.
курсовая работа [3,3 M], добавлен 26.06.2016Этапы разработки микропроцессорной системы на основе микроконтроллера. Общая характеристика солнечных часов. Разработка схемы, программного обеспечения и алгоритма управления солнечных часов. Технико-экономическое обоснование разработки и охрана труда.
дипломная работа [5,9 M], добавлен 16.07.2010Особенности проектирования микропроцессорного устройства "Цифровой осциллограф". Выбор микроконтроллера, описание периферийных устройств. Разработка принципиальной схемы устройства и программы для микроконтроллера, осуществляющей все функции устройства.
курсовая работа [923,5 K], добавлен 24.12.2012Описание объекта и функциональная спецификация. Описание ресурсов МК: расположение выводов; исполнение микроконтроллера; особенности микроконтроллеров. Разработка алгоритмов устройства. Описание функциональных узлов МПС и алгоритма их взаимодействия.
курсовая работа [5,2 M], добавлен 27.12.2009Микропроцессорная система (МПС) сбора и обработки информации от объекта, характеризуемого непрерывными (аналоговыми) сигналами. Исходные данные для разработки МПС. Функциональная схема системы, характеристика ее основных элементов, листинг программы.
курсовая работа [961,2 K], добавлен 21.10.2012Принципы построения систем микропроцессорной централизации, требования к ним и перспективы развития. Эксплуатационная характеристика станции Масловка. Расчет экономической эффективности варианта модернизации устройств электрической централизации.
дипломная работа [3,0 M], добавлен 04.03.2011Проектирование аппаратной и программной части микропроцессорной системы. Аппаратная основа - МП Z80 фирмы Zilog. Функции системы: измерение диаметра бревен, проходящих по конвейеру, отбраковка, подача на распилку, подсчет объема распиленной древесины.
курсовая работа [1,1 M], добавлен 29.07.2009Разработка микроконтроллера для контроля ритма дыхания больного в реанимационной палате. Структурная и принципиальная схемы микропроцессорного контроллера. Модули процессора, памяти, ввода и вывода, режимы индикации. Описание работы, принципиальная схема.
курсовая работа [197,6 K], добавлен 06.12.2013Процесс производства стали, способы детектирования шлака. Обзор периферийных устройств контроллера, определение режимов их работы. Разработка программного обеспечения для модуля, позволяющего применять данную плату для любой системы детектирования шлака.
дипломная работа [3,3 M], добавлен 07.07.2012Структурная схема устройства. Общая характеристика микропроцессора Z80, его особенности. Описание выводов. Схемотехника и принцип работы блоков. Схема микропроцессорного блока и памяти. Программное обеспечение микроконтроллера. Расчёт блока питания.
контрольная работа [355,3 K], добавлен 07.01.2013Система цифровой обработки информации среднего быстродействия. Назначение, состав, принцип работы отдельных блоков и устройств. Расчет потребляемой мощности микропроцессорной системы. Способы адресации данных. Процесс инициализации внешних устройств.
курсовая работа [1,1 M], добавлен 27.05.2013Рассмотрение аппаратных принципов построения устройств микропроцессорной техники и их программного обеспечения. Структурная схема микропроцессора К1821ВМ85А. Карта распределения адресного пространства памяти. Расчет потребляемой устройством мощности.
курсовая работа [2,4 M], добавлен 26.11.2012Создание микропроцессорной системы на базе микроконтроллера, предназначенного для функциональной диагностики цифровых и интегральных микросхем. Разработка и расчёт блоков микроконтроллера, сопряжения, управления, питания, цифровой и диодной индикации.
курсовая работа [1,5 M], добавлен 28.01.2016Алгоритм работы схемы микропроцессорного устройства и протокол обмена информацией между ним и объектом управления. Составление карты памяти для микропроцессора. Разработка программы на языке Ассемблера для выбранного микропроцессора и микроконтроллера.
контрольная работа [207,8 K], добавлен 29.06.2015