50189 (Разработка микропроцессорного устройства управления)

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка микропроцессорного устройства управления", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50189"

Текст из документа "50189"

Министерство образования и науки Российской Федерации

ГОУ ВПО Кубанский государственный технологический университет

(КубГТУ)

Кафедра Автоматизации Производственных Процессов

Факультет Компьютерные Технологии и Автоматизированные Системы

КУРСОВАЯ РАБОТА

по дисциплине Микропроцессорные Устройства в Системах Управления

на тему «Разработка микропроцессорного устройства управления»

2008г.

Содержание

1. Введение

2. Содержание задания (исходные данные)

3. Описание элементов системы

3.1 Описание объекта управления

3.2. Описание микроконтроллера ATmega128

4. Описание системы индикации

4.1 Светодиоды

4.2 Описание кнопок

5. Алгоритм управления

6. Формализация задачи и кодирование входных и выходных сигналов

7. Заключение

8. Используемая литература

Приложение А Программа управления

1. Введение

Степень интеграции элементов в микросхемах на сегодняшний день очень высока. В результате этого развития появились многофункциональные микросхемы, называемые микроконтроллерами. Они могут объединять себе микропроцессор, АЛУ, порты ввода/вывода, ПЗУ, ОЗУ и т. д. С помощью таких микросхем можно создавать сложные системы управления технологическими процессами. В качестве объектов управления могут быть практически любые устройства, в том числе и трехпозиционные термостаты.

Цель данной курсовой работы ознакомиться с устройством микроконтроллера ATmega 128 и получить навыки разработки управляющих устройств. А так же укрепить знания в области программной части микроконтроллера и его программирования.

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

2. Содержание задания

В данной курсовой работе было спроектировано устройство управления двигателем постоянного тока. Схема содержит:

  • Микроконтроллер Атmega128 (Atmel)

  • 4 отдельные кнопки

  • 7 светодиодов

Объектом управления является двигатель постоянного тока. Непосредственная передача сигнала осуществляется с помощью устройства сопряжения (УСО). Также написана программа управления системой на специализированном языке программирования Assembler.

3. Описание элементов системы

3.1 Описание объекта управления

Одним из объектов, управление которыми производит данная система, является двигатель постоянного тока. Требуется программно осуществить возможность остановки в 3 стадии.

3.2 Описание микроконтроллера Atmega 128

Микроконтроллер ATmega128 является старшей моделью семейства ATmega фирмы Atmel. Cемейство AVR (AT) удачно воплощает современные тенденции архитектуры RISC микроконтроллеров, что в сочетании с достижениями фирмы Atmel в области создания Flash-памяти, сделало его весьма популярным на мировом рынке 8-разрядных микроконтроллеров.

Семейство AVR включает около двух десятков типов 8-разрядных микроконтроллеров трех основных линий:

- Tiny AVR представляют собой низкостоимостные микроконтроллеры в 8-выводном корпусе.

- Classic AVR являются устаревшей линией семейства. Быстродействие некоторых моделей достигает 16 MIPS, Flash ROM программ 2-8 Кбайт, EEPROM данных 64-512 байт, ОЗУ данных 128-512 байт;

- Mega AVR представляет собой основную модель, ориентированную на высокопроизводительную работу со сложными задачами, требующими больших ресурсов памяти.

Flash ROM программ составляет 8-128 Кбайт, EEPROM данных 64-512 байт, ОЗУ данных 2-4 Кбайт. Имеются 10-разрядный АЦП и аналоговый компаратор.

Структура микроконтроллера ATmega128 включает следующие функциональные блоки:

- 8-разрядное арифметическо-логическое устройство ( АЛУ );

- внутреннюю flash-память программ объемом 128 Кбайт с возможностью внутрисистемного программирования через последовательный интерфейс;

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

- внутреннюю EEPROM память данных объемом 4 Кбайт;

- внутреннее ОЗУ данных объемом 4 Кбайт;

- 6 параллельных 8-разрядных портов;

- 4 программируемых таймера-счетчика;

- 10-разрядный 8-канальный АЦП и аналоговый компаратор;

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

  • блоки прерывания и управления (включая сторожевой таймер).

Архитектура ядра.

Ядро микроконтроллера выполнено по усовершенствованной RISC-архитектуре.

Арифметико-логическое устройство, выполняющее все вычисления, подключено непосредственно к 32 регистрам общего назначения.

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

Для повышения быстродействия в ядре используется технология конвейеризации.

Конвейеризация заключается в том, что во время исполнения текущей команды производится выборка из памяти и дешифрация кода следующей команды.

На рис.3.2 изображен корпус и приведено назначение выводов микроконтроллера ATmega128. В скобках указана альтернативная функция вывода, если она существует.


Рис.3.2 Вид корпуса и назначение выводов микроконтроллера Atmega128.

Port A (PA7..PA). 8-разрядный двунаправленный порт. К выводам порта могут быть подключены встроенные нагрузочные резисторы (отдельно к каждому разряду). Выходные буферы обеспечивают ток 20 мА и способность прямо управлять светодиодным индикатором. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт А при наличии внешней памяти данных используется для организации мультиплексируемой шины адреса/данных.

Port B (PB7..PB0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт В используется также при реализации специальных функций.

Port C (PC7..PC0). Порт С является 8-разрядным выходным портом. Выходные буферы обеспечивают ток 20 мА. Порт C при наличии внешней памяти данных используется для организации шины адреса.

Port D (PD7..PD0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт D используется также при реализации специальных функций.

Port Е (PЕ7..PЕ0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, вытекающий через них ток обеспечивается только при подключенных встроенных нагрузочных резисторах. Порт E используется также при реализации специальных функций.

Port F (PF7..PF0). 8-разрядный входной порт. Входы порта используются также как аналоговые входы аналого-цифрового преобразователя.

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

XTAL1, XTAL2. Вход и выход инвертирующего усилителя генератора тактовой частоты.

TOSC1, TOSC2. Вход и выход инвертирующего усилителя генератора таймера/счетчика.

WR, RD. Стробы записи и чтения внешней памяти данных.

ALE. Строб разрешения фиксации адреса внешней памяти. Строб ALE используется для фиксации младшего байта адреса с выводов AD0-AD7 в защелке адреса в течение первого цикла обращения. В течение второго цикла обращения выводы AD0-AD7 используются для передачи данных.

AVCC. Напряжение питания аналого-цифрового преобразователя. Вывод подсоединяется к VCC через низкочастотный фильтр.

AREF. Вход опорного напряжения для аналого-цифрового преобразователя. На этот вывод подается напряжение в диапазоне между AGND и AVCC.

AGND. Это вывод должен быть подсоединен к отдельной аналоговой земле, если она есть на плате. В ином случае вывод подсоединяется к общей земле.

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

VСС, GND. Напряжение питания и земля

Обобщенная карта памяти микроконтроллера приведена на рис. 3.3

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

Рис. 3.3 – Обобщенная карта памяти микроконтроллера.

Высокие характеристики семейства AVR обеспечиваются следующими особенностями архитектуры:

-В качестве памяти программ используется внутренняя flash-память. Она организована в виде матрицы 16-разрядных ячеек и может загружаться программатором, либо через порт SPI;

-Система команд включает 133 инструкций;

-16-разрядные память программ и шина команд вместе с одноуровневым конвейером позволяют выполнить большинство инструкций за один такт синхрогенератора (50 нс при частоте FOSC=20 МГц);

-Память данных имеет 8-разрядную организацию. Младшие 32 адреса пространства занимают регистры общего назначения, далее следуют 64 адреса регистров ввода-вывода, затем внутреннее ОЗУ данных объемом до 4096 ячеек. Возможно применение внешнего ОЗУ данных объемом до 60 Кбайт;

-Внутренняя энергонезависимая память типа EEPROM объемом до 4 Кбайт представляет собой самостоятельную матрицу, обращение к которой осуществляется через специальные регистры ввода-вывода;

Регистры общего назначения.

В микропроцессоре ATmega 128 все 32 регистра общего назначения непосредственно доступны АЛУ. Благодаря этому любой регистр общего назначения может использоваться во всех командах и как операнд источник и как операнд приемник. Такое решение (в сочетании с конвейерной обработкой) позволяет АЛУ выполнять одну операцию за один машинный цикл.

Последние шесть регистров общего назначения могут также объединяться в три 16-разрядных регистра X, Y, и Z, используемых в качестве указателей при косвенной адресации памяти данных.

Каждый регистр имеет свой собственный адрес в памяти данных. Поэтому к ним можно обращаться двумя способами (как к регистрам и как к памяти), несмотря на то, что физически эти регистры не являются ячейками ОЗУ. Такое решение является еще одной отличительной особенностью архитектуры AVR, повышается эффективность работы микроконтроллера и его производительность.

Регистры ввода/вывода:

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

Размещение в памяти регистров ввода/вывода приведено в таблице 3.1. В скобках указываются соответствующие им адреса ячеек ОЗУ.

Название

Адрес

Функция

UCSR1C

($9D)

Регистр управления и состояния С USART1

UDR1

($9C)

Регистр данных USART1

UCSR1A

($9B)

Регистр управления и состояния A USART1

UCSR1B

($9A)

Регистр управления и состояния В USART1

UBRR1L

($99)

Регистр скорости передачи USART1, младший байт

UBRR1H

($98)

Регистр скорости передачи USART1, старший байт

UCSR0C

($95)

Регистр управления и состояния С USART0

UBRR0H

($90)

Регистр скорости передачи USART0, старший байт

TCCR3C

($8C)

Регистр управления С таймера/счетчика ТЗ

TCCR3A

($8B)

Регистр управления А таймера/счетчика ТЗ

TCCR3B

($8A)

Регистр управления В таймера/счетчика ТЗ

TCNT3H

($89)

Счетный регистр таймера/счетчика ТЗ, старший байт

TCNT3H

($88)

Счетный регистр таймера/счетчика ТЗ, младший байт

OCR3AH

($87)

Регистр совпадения А таймера/счетчика ТЗ, старший байт

OCR3AL

($86)

Регистр совпадения А таймера/счетчика ТЗ, младший байт

OCR3BH

($85)

Регистр совпадения В таймера/счетчика ТЗ, старший байт

OCR3BL

($84)

Регистр совпадения В таймера/счетчика ТЗ, младший байт

OCR3CH

($83)

Регистр совпадения С таймера/счетчика ТЗ, старший байт

OCR3CL

($82)

Регистр совпадения С таймера/счетчика ТЗ, младший байт

ICR3H

($81)

Регистр захвата таймера/счетчика ТЗ, старший байт

ICR3L

($80)

Регистр захвата таймера/счетчика ТЗ, младший байт

ETIMSK

($7D)

Дополнительный регистр маски прерываний от таймеров/счетчиков

ETIFR

($7C)

Дополнительный регистр флагов прерываний от таймеров/счетчиков

TCCR1C

($7A)

Регистр управления С таймера/счетчика Т1

OCR1CH

($79)

Регистр совпадения С таймера/счетчика Т1, старший байт

OCR1CL

($78)

Регистр совпадения С таймера/счетчика Т1, младший байт

TWCR

($74)

Регистр управления TWI

TWDR

($73)

Регистр данных TWI

TWAR

($72)

Регистр адреса TWI

TWSR

($71)

Регистр состояния TWI

TWBR

($70)

Регистр скорости передачи TWI

OSCCAL

($6F)

Регистр калибровки тактового генератора

XMCRA

($6D)

Регистр управления А внешней памятью

XMCRB

($6C)

Регистр управления В внешней памятью

EICRA

($6A)

Регистр управления А внешними прерываниями

SPMCR

($68)

Регистр управления памятью программ

PORTG

($65)

Регистр данных порта G

DDRG

($64)

Регистр направления данных порта G

PORTF

($62)

Регистр данных порта F

DDRF

($61)

Регистр направления данных порта F

SREG

$3F($5F)

Регистр состояния

SPH

$3E($5E)

Указатель стека, старший байт

SPL

$3D($5D)

Указатель стека, младший байт

XDIV

$3C($5C)

Регистр управления делителем тактовой частоты

RAMPZ

$3B($5B)

Регистр выбора страницы

EICRB

$3A($5A)

Регистр управления В внешними прерываниями

EIMSK

$39($59)

Регистр маски внешних прерываний

EIFR

$38 ($58)

Регистр флагов внешних прерываний

TIMSK

$37($57)

Регистр маски прерываний от таймеров/счетчиков

TIFR

$36($56)

Регистр флагов прерываний от таймеров/счетчиков

MCUCR

$35($55)

Регистр управления микроконтроллером

MCUCSR

$34($54)

Регистр управления и состояния микроконтроллера

TCCR0

$33($53)

Регистр управления таймером/счетчиком Т0

TCNT0

$32($52)

Счетный регистр таймера/счетчика Т0

OCR0

$31($51)

Регистр совпадения таймера/счетчика Т0

ASSR

$30($50)

Регистр состояния асинхронного режима

TCCR1A

$2F($4F)

Регистр управления А таймера/счетчика Т1

TCCR1B

$2E($4E)

Регистр управления В таймера/счетчика Т1

TCNT1H

$2D($4D)

Счетный регистр таймера/счетчика Т1, старший байт

TCNT1L

$2C($4C)

Счетный регистр таймера/счетчика Т1, младший байт

OCR1AH

$2B($4B)

Регистр совпадения А таймера/счетчика Т1, старший байт

OCR1AL

$2A($4A)

Регистр совпадения А таймера/счетчика Т1, младший байт

OCR1BH

$29($49)

Регистр совпадения В таймера/счетчика Т1, старший байт

OCR1BL

$28($48)

Регистр совпадения В таймера/счетчика Т1,младший байт

ICR1H

$27($47)

Регистр захвата таймера/счетчика Т1, старший байт

TCCR2

$25($45)

Счетный регистр таймера/счетчика Т2

TCNT2

$24($44)

Регистр совпадения таймера/счетчика Т2

OCR2

$23($43)

Регистр совпадения таймера/счетчика Т2

OCDR

$22($42)

Регистр внутрисхемной отладки

WDTCR

$21($41)

Регистр управления сторожевым таймером

SFIOR

$20($40)

Регистр специальных функций

EEARH

$1F($3F)

Регистр адреса EEPROM, старший байт

EEARL

$1E($3E)

Регистр адреса EEPROM, младший байт

EEDR

$1D($3D)

Регистр данных EEPROM

EECR

$1C($3C)

Регистр управления EEPROM

PORTA

$1B($3B)

Регистр данных порта А

DDRA

$1A($3A)

Регистр направления данных порта А

PINA

$19($39)

Выводы порта А

PORTB

$18($38)

Регистр данных порта В

DDRB

$17($37)

Регистр направления данных порта В

PINB

$16($36)

Выводы порта В

PORTC

$15($35)

Регистр данных порта С

DDRC

$14($34)

Регистр направления данных порта С

PINC

$13($33)

Выводы порта С

PORTD

$12($32)

Регистр данных порта D

DDRD

$11($31)

Регистр направления данных порта D

PIND

$10($30)

Выводы порта D

SPDR

$0F($2F)

Регистр данных SPI

SPSR

$0E($2E)

Регистр состояния SPI

SPCR

$0D($2D)

Регистр управления SPI

UDR0

$0C($2C)

Регистр данных USART0

UCSR0A

$0B($2B)

Регистр управления и состояния A USART0

UCSR0B

$0A($2A)

Регистр управления и состояния В USART0

UBRR0L

$09($29)

Регистр скорости передачи USART0, младший байт

ACSR

$08($28)

Регистр управления и состояния аналогового компаратора

ADMUX

$07($27)

Регистр управления мультиплексором АЦП

ADCSRA

$06($26)

Регистр управления и состояния АЦП

ADCH

$05($25)

Регистр данных АЦП, старший байт

ADCL

$04($24)

Регистр данных АЦП, младший байт

PORTE

$03($23)

Регистр данных порта Е

DDRE

$02($22)

Регистр направления данных порта Е

PINE

$01($21)

Выводы порта Е

PINF

$00($20)

Выводы порта F

Прерывания.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5120
Авторов
на СтудИзбе
444
Средний доход
с одного платного файла
Обучение Подробнее