Програмування цифрового автомату

Автор: Пользователь скрыл имя, 17 Марта 2013 в 22:08, курсовая работа

Описание работы

Дана курсова робота виконується з метою більш поглибленого вивчення дисципліни «Мікроконтролери у вимірювальній техніці», набуття навичок самостійного вирішення поставлених задач, більш детального вивчення принципу роботи MCS-51 стенду EV8031, та вдосконалення знань, набутих під час виконання лабораторних робіт.
В курсовій роботі використовуються такі теоретичні відомості, як відомості про вбудований у стенд ЦАП, а також принцип роботи цифрового автомату, необхідні для кращого розуміння поставленої задачі та розроблення шляхів її реалізації на базі MCS-51 стенду EV8031; відомості про апаратні та програмні можливості використовуваного стенду EV8031 та мікроконтролера MCS-51.
В курсовій роботі використовується програмне середовище Keil uVision3.

Содержание

Вступ………………………………………………………………………….4
1. Теоретична частина:
1.1. Загальні відомості про цифро-аналоговий перетворювач……...…5
1.2. Мікроконтролер 8051…………………………………………….…..8
1.2.1. Програмна архітектура МК 8051……………………………..…..8
1.2.2. Структура внутрішньої пам’яті…………………………….....…10
1.2.3. Система переривань…………………………………….…….….15
1.3. Цифровий автомат…………………………………………….……..21
1.3.1. Що являє собою цифровий автомат……………………….....….21
1.3.2. Структурна схема цифрового автомату…………………..…......23
1.3.3. Синтез цифрового автомату……………………………..…..…..25
2. Практична частина:
2.1. Алгоритм програми для реалізації цифрового автомата………….26
2.2. Алгоритм для підпрограми обробки переривань…………………..28
2.3. Текст програми з коментарями…………………………………......29
Висновки………………………………………………………………...….33

Работа содержит 1 файл

КУРСОВА.doc

— 626.50 Кб (Скачать)

Міністерство  освіти і науки, молоді та спорту України

Національний авіаційний університет

Інститут інформаційно-діагностичних  систем

Кафедра інформаційно-вимірювальних  систем

 

 

 

 

 

 

 

Курсова робота

з дисципліни: «Мікроконтролери у вимірювальній техніці»

Варіант  № 12

 

 

 

 

 

 

 

Виконала:

студентка групи 512 ІС

Самчук Тетяна Олександрівна

 

 

 

 

 

Роботу здано “___”________ 2012 р.              

 

Курсову роботу захищено з оцінкою: ____________________

 

 

 

 

 

Київ – 2012

Національний авіаційний університет

Інститут інформаційно-діагностичних систем

Кафедра інформаційно-вимірювальних  систем

 

 

 

ЗАВДАННЯ

студентки Самчук Тетяни Олександрівни

Варіант № 12

 

 

На базі мікроконтролера MCS-51 та стенду EV8031 розробити цифровий автомат із використанням 8-бітного  ЦАП. Цифровий автомат має виконувати таку послідовність дій:

1) після запуску програми  протягом 12 секунд із виходу ЦАП поступає пилкоподібний сигнал;

2) протягом 9 секунд із виходу ЦАП поступає послідовність прямокутних імпульсів;

3) якщо протягом перших 12 секунд роботи програми (п.1) була натиснута кнопка INT0 з виходу ЦАП протягом 6 секунд поступає синусоїда. У протилежному випадку ЦАП вимикається на 7 секунд, після чого процес повторюється, починаючи з п.1.

Період кожного із сигналів має складатися із 15 точок.

Програма повинна мати наступні функції:

1) встановлення частоти  поточного вихідного сигналу  за допомогою кнопки INT0;

2) протягом виведення  на ЦАП амплітуда вихідного  сигналу має плавно змінюватися від мінімуму до максимуму та навпаки;

3) кількість секунд, що  залишилися до кінця, та номер циклу виводиться на статичний індикатор у десятковому форматі.

 

 

 

 

 

Зміст

 

Вступ………………………………………………………………………….4

  1. Теоретична частина:
    1. Загальні відомості про цифро-аналоговий перетворювач……...…5
    2. Мікроконтролер 8051…………………………………………….…..8
      1. Програмна архітектура МК 8051……………………………..…..8
      2. Структура внутрішньої пам’яті…………………………….....…10
      3. Система переривань…………………………………….…….….15
    3. Цифровий автомат…………………………………………….……..21
      1. Що являє собою цифровий автомат……………………….....….21
      2. Структурна схема цифрового автомату…………………..…......23
      3. Синтез цифрового автомату……………………………..…..…..25
  2. Практична частина:
    1. Алгоритм програми для реалізації цифрового  автомата………….26                                                                                                         
    2. Алгоритм для підпрограми обробки переривань…………………..28
    3. Текст програми з коментарями…………………………………......29

Висновки………………………………………………………………...….33

 

 

 

 

 

 

 

 

 

 

 

 

Вступ

Дана курсова робота виконується з метою більш  поглибленого вивчення дисципліни «Мікроконтролери у вимірювальній техніці», набуття навичок самостійного вирішення поставлених задач, більш детального вивчення принципу роботи MCS-51 стенду EV8031, та вдосконалення знань, набутих під час виконання лабораторних робіт.

Для успішного виконання курсової роботи студент повинен вміти працювати з літературою, знати необхідний матеріал, вміти складати алгоритми та розроблювати програми мовою СІ. В курсовій роботі використовуються такі теоретичні відомості, як відомості про вбудований у стенд ЦАП, а також принцип роботи цифрового автомату, необхідні для кращого розуміння поставленої задачі та розроблення шляхів її реалізації на базі MCS-51 стенду EV8031; відомості про апаратні та програмні можливості використовуваного стенду EV8031 та мікроконтролера MCS-51.

В курсовій роботі використовується програмне середовище Keil uVision3. 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Теоретична частина

    1. ЗАГАЛЬНІ ВІДОМОСТІ ПРО ЦИФРО-АНАЛОГОВИЙ  ПЕРЕТВОРЮВАЧ

Цифро-аналогові  перетворювачі (ЦАП) виробляють струм  чи напругу, функціонально зв'язану з керуючому кодом. ЦАП застосовуються для формування вихідних аналогових сигналів цифрових вимірювальних і обчислювальних пристроїв. Для перетворення двійкового коду в аналоговий сигнал зазвичай формуються струми, що пропорційні вагам розрядів коду після чого додаються ті зі струмів, що відповідають ненульовим розрядам вхідного коду.

Застосовуються  в основному два методи ЦАП: підсумовування одиничних еталонних величин  і підсумовування еталонних величин, ваги яких розрізняються. У першому  методі при формуванні вихідної аналогової величини використовується тільки одна еталонна величина вагою в один квант. В другому методі застосовуються еталонні величини з вагами, що залежать від номера розряду, і в підсумовуванні беруть участь тільки ті еталонні величини, для яких у відповідному розряді вхідного коду встановлена одиниця.

У випадку використання на вході двійкового позиційного  коду значення всіх розрядів надходить  одночасно, і робота таких ЦАП  описується виразом:

де X - аналогова величина.

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

Р - опорний сигнал

b - число розрядів

У перетворювачах з опорної напруги формуються еталонні величини, які відповідають значенням розрядів вхідного коду, які підсумовуються і утворюють дискретні значення вихідної аналогової величини.

Класифікація  ЦАП може бути приведена по ознакам:

    • способу формування вихідної напруги (з підсумовування або розподілом напруг);
    • роду вихідного сигналу (з токовим виходом або виходом по напрузі);
    • полярності вихідної напруги (постійна або змінна).

Основні структури, які використовуються в ЦАП інтегрального  виконання це:

    • Структури з підсумовуванням струмів.
    • ЦАП - зі зваженими резисторами в ланцюгах емітерів.
    • ЦАП - зі зваженими резисторами в ланцюгах навантаження.
    • ЦАП зі сходовою матрицею R-2R у ланцюгах емітерів транзисторів джерел струмів.
    • ЦАП з вихідною сходовою матрицею R-2R

Параметри ЦАП:

Число розрядів n керуючого коду, номінальний вихідний струм, час установлення вихідного сигналу після зміни вхідного керуючого коду, похибка повної шкали, похибка лінійності, диференціальна нелінійність.

Похибки ЦАП  можуть бути виражені у відсотках  чи інших відносних одиницях, а  також у частках кванта.

Спрощена схема  ЦАП для розуміння роботи перетворення вхідного коду в струм (напругу) визначеної величини зображений на рис. 1


Рис. 1. Схематичне представлення ЦАП на основі матриці R-2R

Якщо співвідношення резисторів ЦАП встановити рівним 8R, 4R, 2R, 1R, то при включенні всіх комутаторів у відповідності до закону Ома напруга в точці OUT буде дорівнювати напрузі VCC. Якщо ввімкнути комутатор резистора R8, напруга в точці OUT буде рівною VCC/2.

Аналогічно  можна отримати значення напруги, при  різних комбінаціях вхідного коду.

В складі учбово-відлагоджувального стенда є мікросхема ЦАП КР572ПА1. Вона ввімкнена в режимі роботи 10 розрядного ЦАП з виходом по напрузі (напруга повної шкали вказується на платі розширення). Для спостереження вихідного сигналу з мікросхеми ЦАП необхідно під’єднати осцилограф до BNC роз’єму і замкнути перемичку J4. Цифровий код подається через лінії РА0-РА7 і РС0-РС7 мікросхеми паралельного ПП. Звернення до ЦАП відбувається як до байту зовнішньої пам’яті із адресою 0x8000 (0x8002 для двох старших бітів). Цап є однополярним, тобто не може відтворювати від’ємні значення напруги.

 

 

 

1.2 МІКРОКОНТРОЛЕР 8051

 

1.2.1 ПРОГРАМНА АРХІТЕКТУРА МІКРОКОНТРОЛЕРІВ 8051

 

Апаратна архітектура 8051 представлена ​​на рис. 2.

У мікроконтролера 8051 всі  обчислення виконуються в арифметико-логічному пристрої, що є частиною базового процесорного модуля (CPU). Обмін даними, що знаходяться в оперативній пам'яті мікроконтролера, а також зчитування команд виконується по внутрішній шині 8051. По цій шині здійснюється і обмін даними з портами вводу/виводу P1 - P3, з послідовним портом і таймерами. Внутрішній контролер шини формує необхідні сигнали (EA, ALE, PSEN, RD / WR) для роботи із зовнішньою пам'яттю програм і даних, а також сигнал скидання / початкової установки RST.

Рис. 2. Апаратна архітектура 8051

Мікроконтролера 8051 розраховані  на робот  системами реального  часу, які можуть генерувати певні  сигнали, що вимагають негайної реакції  мікроконтролера. Для обробки таких  сигналів (або подій) служить апаратно реалізована логіка переривань, що  дозволяє обробляти сигнали зовнішніх джерел, таймерів і послідовного порту.

Швидкість виконання  операцій в системі на базі 8051 залежить від тактової частоти, з якою працює кристал і яка може варіюватися  від одиниць до декількох десятків мегагерц. В архітектуру класичного мікроконтролера 8051 були внесені деякі зміни (до двох існуючих таймерам доданий третій, а також розширена внутрішня пам'ять),які привели до створення пристрою 8052, найбільш популярного в даний час.

Мікроконтролера 8051 реалізований у вигляді однокристального пристрою з зовнішніми виводами, позначеними, як показано на рис. 3.

 

Рис. 3. Схема розміщення виводів МК 8051

Вхідні і вихідні  сигнали мікроконтролера 8051 мають  наступні призначення:

• XTAL і XTAL2 -входи підключення кварцового резонатора для роботи генератора тактової частоти мікроконтролера;

• PSEN - сигнал, що використовується при зверненні до зовнішньої пам'яті програм;

• ALE - вихідний сигнал дозволу фіксації адреси при зверненні до зовнішньої пам'яті програм / даних;

• EA - сигнал, що блокує роботу із внутрішньою пам'яттю;

• RST - сигнал загального скидання;

• P0 - P3 - висновки портів введення / виводу мікроконтролера;

• Vss і Vcc - висновки подачі напруги харчування.

Порти P0, P2 і P3 крім функціонування в режимі вводу/виводу дискретних сигналів можуть виконувати, залежно від конфігурації, і інші функції. Так, через порт P0 при зверненнях до зовнішньої пам'яті виставляються молодші 8 біт 16-розрядної адреси, а потім, у фазі запису/читання даних, через цей порт йде обмін даними. Порт P2 при зверненнях до зовнішньої пам'яті служить джерелом старших 8 біт 16-розрядної адреси.

Висновки порту P3 мікроконтролера 8051 мають такі альтернативні призначення:

• P3.0 - вхід прийому даних у послідовний порт;

• P3.1 - вихід передачі даних з послідовного порту;

• P3.2 - вхід зовнішнього переривання INT0;

• P3.3 - вхід зовнішнього переривання INT1;

• P3.4 - вхід управління таймером 0;

• P3.5 - вхід управління таймером 1;

• P3.6 - вихід сигналу запису в пам'ять;

• P3.7 - вихід сигналу читання з пам'яті.

Для використання альтернативних функцій порту P3 необхідно налаштувати  відповідним чином програмне  забезпечення системи 8051.

1.2.2 Структура внутрішньої пам’яті 8051

Мікроконтролера 8051 оперують двома типами пам'яті: пам'яттю програм  і пам'яттю даних. Пам'ять даних може бути реалізована як комбінація розміщеного на кристалі (резидентного або on $ chip) статичного ОЗУ і зовнішніх мікросхем пам'яті. Для простих апаратно-програмних конфігурацій із застосуванням 8051 буває досить резидентної пам'яті самого мікроконтролера.

Програмний код розміщується в пам'яті програм, яка фізично  може бути реалізована у вигляді  одноразово програмованого пристрою (EPROM), перепрограмованого пристрою (EEPROM) або  флеш $ пам'яті. Якщо для запису програм  використовується EPROM або EEPROM, то програмний код зазвичай розташовується в зовнішньому по відношенню до мікроконтролера пристрої. У переважній більшості сучасних мікроконтролерів 8051 пам'ять програм розташовується у флеш пам'яті, що знаходиться, так само як і резидентна пам'ять даних, на одному кристалі.

Пам'ять програм і  пам'ять даних фізично і логічно  розділені, мають різні механізми  адресації, працюють під управлінням  різних сигналів і виконують різні  функції.

Пам'ять програм може мати максимальний об'єм, рівний 64 Кб, що зумовлено використанням 16-розрядної шини адреси. У багатьох випадках ємність пам'яті програм, розміщеної на кристалі 8051, обмежена 4, 8 або 16 Кб. У пам'ять програм крім команд можуть записуватися константи, керуючі слова ініціалізації, таблиці перекодування вхідних та вихідних змінних і т.п. Доступ до вмісту пам'яті програм здійснюється за допомогою 16-бітової шини адреси. Сам адреса формується за допомогою якого програмного лічильника (PC), або регістра $ покажчика даних (DPTR). DPTR виконує функції базового регістра при непрямих переходах за програмою або використовується в операціях з таблицями.

Загальна структура  пам'яті мікроконтролера 8051 показана на рис. 4.

Рис. 4. Загальна структура пам'яті мікроконтролера 8051

Информация о работе Програмування цифрового автомату