Некоммерческое акционерное общество

АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ

Кафедра «Электроника»

 

 

ЦИФРОВЫЕ УСТРОЙСТВА И МИКРОПРОЦЕССОРЫ

Методические указания к выполнению курсовой  работы

для студентов всех форм обучения

специальности «5В070400 – Вычислительная техника и

программное обеспечение»  

 

 

 

Алматы 2012

Составитель:  Б.С. Байкенов. Цифровые устройства и  микропроцессоры. Методические указания к выполнению курсовой работы для    студентов всех форм обучения специальности 5В070400 – Вычислительная техника и программное обеспечение. – Алматы: АУЭС, 2012. – 18 с.

 

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

Методическая разработка составлена в целях закрепления лекционного материала и предназначена для всех форм обучения специальности 5В070400 – Вычислительная техника и программное обеспечение.

Ил. 12, табл. 5, библиогр. – 6 назв. 

 

Рецензент:   канд. физ-мат. наук, доц. А.А. Аманбаев        

 

Печатается по плану издания Некоммерческого акционерного общества «Алматинский университет энергетики и связи» на 2012 г.

 

©       НАО  «Алматинский университет энергетики и связи»,  2012 г.

 

Введение 

Основной целью методических указаний является закрепление знаний по разработке микроконтроллерных систем управления и приобретение практических навыков программирования на симуляторах IDE, оснащенных ассемблером PIC и AVR-микроконтроллеров.

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

Одним из существенных преимуществ АVR стало применение конвейера. В результате для АVR не существует понятия машинного цикла: большинство команд выполняется за один такт. Следует отметить, что микроконтроллеры семейства РIC выполняют команду за 4 такта.

Правда, при этом увеличилось количество команд: от 90 до 130, в зависимости от модели AVR, из них только 50-60 являются уникальными, остальные взаимозаменяемые.

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

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

 

1 Задание

 

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

,                                                                                                        (1.1)

для второго задания

,                                                                                                            (1.2)

где  N – порядковый номер в списке учебной группы.

 

Таблица 1.1 – Варианты заданий

 

№ варианта

1 задание

1

2

3

4

5

6

7

8

9

10

 

№ варианта

2 заданий

1

2

3

4

5

6

7

8

9

10

Например, студент в списке группы занесен под N=7. Он выполняет первое задание (нечетный номер), 4 вариант (по формуле 1.1).

1. Тема: «Моделирование схемы кодового управления электропривода открытия сейфа на базе микроконтроллера серии AVR ATMega32».

Вначале появляется приглашение на LCD: “ENTER CODE”. При совпадении набранного кода с заданным кодом происходит включение двигателя с вращением по часовой стрелке, при этом на экране LCD появляется сообщение: “WELCOME”. При нажатии кнопки D (концевой включатель) шаговый двигатель останавливается, текст на LCD исчезает. Затем двигатель вращается против часовой стрелки и на экране LCD появляется сообщение: “BYE-BYE”. Двигатель останавливается после нажатия кнопки Е (концевой выключатель). Процесс непрерывный, т.е. программа возвращается в исходное состояние.

 

Таблица 1.2 – Обозначения кнопок клавиатуры

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

  

Таблица 1.3 – Варианты первого задания

№ варианта

Код

1

0

5

A

2

2

5

8

3

1

5

9

4

4

5

6

5

1

6

B

6

3

6

9

7

2

6

A

8

5

6

7

9

C

9

6

10

F

A

5

 

2. Тема: «Моделирование схемы климат-контроля на базе микроконтроллера PIC16F877».

Заданный диапазон: верхний предел не превышает 256, а нижний равен 0. Аналоговый датчик температуры соединен с каналом АЦП микроконтроллера. При превышении допусковой величины включается двигатель с вращением по часовой стрелке, а при уменьшении температуры против часовой. При равенстве с допуском на экране LCD высвечивается “NORMAL”, при превышении “HIGHER” и при уменьшении “LOWER”. Процесс непрерывный, т.е. программа возвращается в исходное состояние.

 

Таблица 1.4 – Значения допусковой температуры

№ варианта

Допуск

№ варианта

Допуск

1

18

6

38

2

22

7

42

3

26

8

46

4

30

9

50

5

34

10

50

 

Таблица 1.5 – Номер канала АЦП

№ варианта

Канал

№ варианта

Канал

1

7

6

2

2

6

7

1

3

5

8

0

4

4

9

5

5

3

10

4

 

Содержание курсовой работы должно состоять из следующих разделов:

Задание

Содержание

Введение                                                                                                                   

1 Разработка модели системы в симуляторе IDE

1.1 Классификация САУ

1.2 Структурная схема системы

1.3 Модель системы в симуляторе

2 Основные модули симулятора модели

2.1 Кнопочная панель

2.2 АЦП

2.3 Жидкокристаллический индикатор 

2.4 Шаговый двигатель                                                       

3 Программное обеспечение системы

3.1 Блок-схема алгоритма функционирования системы  

3.2 Листинг программы

Заключение                                                                                                              

Список литературы                                                                                                 

Нумерация страниц осуществляется только с введения (снизу – шрифт 14), включая титульный лист, т.е. введение с номером 4 и т.д.

 

2 Разработка модели системы в симуляторе IDE

 

2.1 Классификация САУ

 

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

Фундаментальными принципами управления являются:

- принцип разомкнутого управления;

- принцип компенсации – управление по возмущению;

- принцип обратной связи (ОС).

Таким образом, система автоматического управления (САУ) – это система, стремящаяся сохранить в допустимых пределах рассогласование (ошибку) ε(t) между требуемыми х(t) и действительными у(t) значениями управляемых переменных с помощью их сравнения на основе принципа ОС и использования получаемых при этом сигналов управления.        

Система, в которой входной сигнал х(t) – известная функция (детерминированный сигнал) на всем промежутке управления, называется системой программного управления.

Система, в которой задающий входной сигнал х(t) =const, называется системой стабилизации.

Система, в которой задающий входной сигнал x(t) – случайная функция, называется следящей системой. Система, управляющая только одной выходной величиной, называются одномерной. Одномерные системы могут быть системами программного управления, системами стабилизации и следящими системами.

Кроме того, на практике используются:

- системы с поиском экстремума показателя качества;

- системы оптимального управления;

- адаптивные системы;

- интеллектуальные системы.

САУ можно классифицировать по классам и принципам действия.

По классам дифференциальных уравнений:

Линейными системами называются системы, описываемые линейными дифференциальными уравнениями, в противном случае, система входит в класс нелинейных. Линейные и нелинейные дискретные системы описываются соответсвеннно линейными и нелинейными разностными уравнениями или системами разностных уравнений.

Линейные и нелинейные стационарные системы описываются дифференциальными уравнениями с постоянными коэффициентами, а нестационарные системы с переменными коэффициентами.

Сосредоточенные системы описываются обыкновенными дифференциальными уравнениями.

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

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

САУ по отклонению – принцип И.И.Ползунова, предложенная им в 1765 г. В настоящее время используется в 90% промышленных САУ.

Достоинством САУ по отклонению является то, что она компенсирует влияние любого возмущающего воздействия, которое вызвало изменение значения ее выходного сигнала у от заданного значения. Это изменение фиксирует датчик и через цепь отрицательной обратной связи (ООС), сигнал контролируемого параметра поступает на вход сравнивающего устройства, вырабатывающего сигнал отклонения ε = х - хос и поступающего на регулятор, а затем на испольнительный механизм (ИМ - двигатель).

Недостаток состоит в том, что сначала должно появиться отклонение ε выходного сигнала у (контролируемого параметра) от заданного ззначения и только затем регулятор компенсирует возмущающе воздействие(см. рисунок 2.1).

Рисунок 2.1 - Структурная схема САУ по отклонению

 

САУ по возмущению – принцип Ж.Понселе, предложеннй им в 1830г. Если f возмущающее действие на объект, его измеряют и подают на регулятор для сравнения с заданным значением и выработки управляющего сигнала, изменяющего значение входного сигнала (см. рисунок 2.2).

 

Рисунок 2.2 - Структурная схема САУ по возмущению

 

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

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

Комбинированные САУ совмещают оба закона управления и лишены многих недостатков рассмотренных схем.

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

По закону изменения выходного сигнала регулятора различают САУ дискретные (двух, трехпозиционные) и непрерывные (аналоговые).

Двухпозиционные (вкл. – выкл.) системы надежны (холодильные установки), дешевы, но мала точность регулирования.

Трехпозиционные (больше-норма-меньше) системы обладают качеством выше, но надежность мала.

В аналоговых системах выходной сигнал регулятора непрерывно изменяется во времени в определенном стандартизированном диапазоне.

 

2.2  Структурная схема системы

 

2.2.1 Структурная схема кодового управления электропривода.

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

 

 

Х - текушее значение кода; Хз – заданный код (допуска); ОУ – дверь сейфа;

ИМ – шаговый двигатель; УОИ – жидкокристаллический индикатор.

 

Рисунок 2.3 - Структурная схема кодового управления электропривода

 

2.2.2 Структурная схема климат-контроля.

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

Структурная схема климат-контроля имеет вид:

 

 

Хз – заданная величина температуры; У – температура в помещении;

Хос – сигнал обратной связи с цифрового датчика температуры;

ИМ – шаговый двигатель; ОУ – кондиционер.

 

Рисунок 2.4 - Структурная схема климат-контроля

 

2.3 Модель системы в симуляторе

 

2.3.1 Модель системы кодового управления электропривода.

В соответствии со структурной схемой (см. рисунок 2.3) микроконтроллер ATMega32 выполняет следующие действия:

- сравнение поступающего кода пользователя Х с заданным Хз программным путем – опроса нажатой кнопки (модуль Keypad Matrix);

- управление шаговым двигателем (модуль Stepper Motor Phase Simulation);

- выдачи информации на устройство отображения (модуль LCD).

Тогда модель системы примет вид:

 

 

Рисунок 2.5 – Вид модели в AVR Simulator IDE

 

2.3.2 Модель системы климат-контроля.

В соответствии со структурной схемой (см. рисунок 1.4) микроконтроллер PIC16F877 выполняет следующие действия:

- сравнение заданной величины допусковой температуры Хз с оцифрованным сигналом датчика температуры Хос (модуль Microcontroller View PIC16F877);

- управление шаговым двигателем (модуль Stepper Motor Phase Simulation);

- выдачи информации на устройство отображения (модуль LCD).

Тогда модель системы примет вид:

 

 

Рисунок 2.6 – Вид модели в PIC Simulator IDE

 

3 Основные модули симулятора модели

 

3.1 Кнопочная панель

 

Кнопочная панель (модуль Keypad Matrix) или клавиатура размером 4х4 подключена к порту В по умолчанию. Для опроса нажатия кнопки следует изменить направление выводов порта,  используя регистр направления DDRB - младший байт порта (РB0-РB3) на выход, а старший (РB4-РB7) на вход.

 

 

Рисунок 3.1 – Вид модуля модуль Keypad Matrix

 

3.2 АЦП

 

Модуль аналого-цифрового преобразования (АЦП) микроконтроллера ATMega32 имеет восемь каналов ADC0-ADC7 порта А.

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

- регистр результата ADСH (старший байт);

- регистр результата ADСL (младший байт);

- регистр управления ADCSRA;

- регистр управления ADMUX.

Регистр ADCSRA используется для настройки работы модуля АЦП, а с помощью регистра ADMUX осуществляется выбор каналов АЦП и тип выравнивания результата.

 

3.3 Жидкокристаллический индикатор

 

Обычно используется 8-битная шина данных и для ЖКИ потребуется в общей сложности 11 линий данных (3 линии управления, плюс 8 линий для шины данных).

Три линии управления называются EN, RS, и R/W.

Линия  EN называется "Включить" (Enable). Линия управления используется, чтобы сообщить ЖКИ, что вы отправляете данные. Для передачи данных на LCD, ваша программа должна убедиться, что эта линия является низкой (установлен 0), а затем установить другие две линии контроля и /или поместить данные на шину данных. Когда другие линии полностью готовы, сделать EN высокой (установлена 1) и подождать, пока минимальное количество времени, необходимого на данные LCD (это зависит от типа LCD), и наконец, приведите ее на 0 еще раз.

 

Рисунок 3.2 – Вид модуля Microcontroller View ATMega32

 

Линия RS является линией "Выбора Регистра" (Register Select). Когда RS низкая (0), данные следует рассматривать в качестве команды или специальных инструкции (например, очистка экрана, позиция курсора и т.д.). Когда RS высокая (1), передаваемые данные - это текстовые данные, которые могут быть отображены на экране. Например, для отображения буквы "Т" на экране вы должны установить RS высокой (установить 1).

Линия RW – это линия управления "чтением / записью" (Read/Write). Когда RW низкая (0), информация шины данных записывается на ЖК-дисплее. Когда RW высокая (1), программа эффективно запрашивает (или читает) LCD.

 

 

Рисунок 3.3 – Вид модуля LCD

3.4 Шаговый двигатель                                                      

 

Шаговый двигатель запускается в случае правильного набора кнопок допуска.

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

 

Рисунок 3.4 – Вид модуля Stepper Motor Phase Simulation

 

Для открытия модели ШД необходимо в меню Tools выбрать пункт Stepper Motor Phase Simulation.

 

4 Программное обеспечение системы

  

4.1 Блок-схема алгоритма кодового управления электропривода

 

Программа должна выполнять следующие действия.

Вначале появляется приглашение на LCD: “ENTER CODE”. При совпадении вводимого кода с клавиатуры с заданным кодом происходит включение двигателя с вращением по часовой стрелке, при этом на экране LCD идет сообщение: “WELCOME”. При нажатии кнопки D (концевой включатель)  шаговый двигатель  останавливается, текст на LCD исчезает. Затем двигатель вращается против часовой стрелки и на экране LCD идет сообщение: “BYE-BYE”. Двигатель останавливается после нажатия кнопки Е (концевой выключатель). Процесс непрерывный, т.е. программа возвращается в исходное состояние.

 

Рисунок 4.1 - Блок-схема алгоритма кодового управления электропривода

 

4.2 Листинг программы кодового управления электропривода

 

.ORG    0x000000

CLR R15

LDI R16,low RAMEND

OUT SPL,R16

LDI R16,high RAMEND

OUT SPH,R16

START:

; Инициализация LCD

CBI PORTD,3                ; очистка PORTD,3=0

CBI PORTD,1                ; очистка PORTD,1=0

CBI PORTD,2                ; очистка PORTD,2=0

SBI DDRD,3                  ; PORTD,3 - выход

SBI DDRD,1                  ; PORTD,1 - выход

SBI DDRD,2                  ; PORTD,2 - выход

SER R16                        ; R16=0xFF

OUT DDRA,R16             ; PORTA – выход

LDI R24,0x02

LDI R25,0x00                ; R25,R24 ==0002 - 2 цикла

RCALL W001                ; п/п задержка времени 1мс

……………….. и т.д.

 

4.3 Блок-схема алгоритма системы климат-контроля

 

Программа должна выполнять следующие действия.

При превышении допустимой величины включается двигатель с вращением по часовой стрелке, а при уменьшении температуры против часовой. При равенстве с допуском на экране LCD высвечивается “NORMAL”, при превышении “HIGHER” и при уменьшении “LOWER”. Процесс непрерывный, т.е. программа возвращается в исходное состояние.

 

Рисунок 4.2 - Блок-схема алгоритма системы климат-контроля

4.4 Листинг программы системы климат-контроля

 

DOPUSK EQU 0x12

DVP EQU 0x01

R0L EQU 0x20

R0H EQU 0x21

R1L EQU 0x22

R1H EQU 0x23

R2L EQU 0x24

R2H EQU 0x25

R3L EQU 0x26

R3H EQU 0x27

R4L EQU 0x28

R4H EQU 0x29

ORG 0x0000

BCF PCLATH,3

BCF PCLATH,4

GOTO L0003

ORG 0x0004

RETFIE                     ; возврат из п\п с разр-ем прерывания

L0003:

BSF STATUS,RP0     ; bank 1

………….. и т.д.

 

  

Список литературы 

1. Евстифеев А.В. Микроконтроллеры семейства Classic фирмы ATMEL. – М.: Додэка - ХХI, 2006. – 288 с.

2. Новиков Ю.В., Скоробогатов П.К. Основы микропроцессорной техники. – М.: БИНОМ. Лаборатория знаний, 2006. – 359 с.

3. Тавернье К. PIC–микроконтроллеры. – М.: ДМК Пресс, 2003. – 272 с.

4. Техническая документация. Однокристальные 8-разрядные FLASH микроконтроллеры. – М.: ООО «Микро-Чип», 2002. – 163 с.

5. Трамперт В. AVR-RISC микроконтроллеры. – К.: МК-Пресс, 2006. – 464 с.

6. Ревич Ю.В. Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера. – СПб.: БХВ-Петербург, 2011. – 352 с.

 

Содержание 

 

1 Введение

3

2 Задание

3

3 Разработка модели системы в симуляторе IDE

5

4 Классификация САУ

5

5 Структурная схема системы

8

6 Основные модули симулятора модели

10

7 Программное обеспечение системы

13

Список литературы

18

                                                                               

Св. план 2012 г., поз.172