Проектування інтелектуальних давачів на базі мікроконтролера 89С51
Схема інтелектуального давача, побудованого на базі мікропроцесорного пристрою. Побудова контролера клавіатури та семисегментного індикатора. Ввід інформації з клавіатури. Вивід інформації на восьмисегментний індикатор. Робота аналого-цифрового пристрою.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 05.02.2013 |
Размер файла | 707,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
«ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра АТХП
КУРСОВИЙ ПРОЕКТ
з курсу “мікропроцесорна техніка”
на тему:
“ПРОЕКТУВАННЯ ІНТЕЛЕКТУАЛЬНИХ ДАВАЧІВ НА БАЗІ МІКРОКОНТРОЛЕРА 89С51 ”
Виконав: студент групи АВ-32
Горбаль Любомир
Прийняв:
Костик І. В.
ЛЬВІВ - 2011
Зміст
Вступ
Індивідуальне завдання
Структурна схема інтелектуального давача, побудованого на базі мікропроцесорного пристрою
Побудова контролера клавіатури та семисегментного індикатора
Ввід інформації з клавіатури
Вивід інформації на восьмисегментний індикатор
Програми для програмування програмованого логічного пристрою контролера
Часові діаграми роботи програмованого логічного пристрою контролера
Робота аналого-цифрового пристрою
Програма для роботи мікропроцесорного пристрою, побудованого на базі мікроконтролера 89С51
Специфікація
Висновки
Застосована література
Вступ
На сучасному етапі науково-технічного процесу все більше важливим стає питання впровадження у виробничу і наукову діяльність високоточних методів ведення обрахунку, їх фіксації і перетворення. Це пов`язане в першу чергу з підвищення вимог до точності і надійності проведення у різних галузях науки і техніки, особливо у вимірюваннях фізичних величин.
Використання цифрових складових у приладах і пристроях обумовлюється в першу чергу можливістю прямого їх використання у схемах керування, побудованих як правило на базі мікроконтролерної техніки, що дозволяє обійтися без переходів між аналоговими і цифровими видами представлення інформації, і відповідно зменшити похибки результатів вимірювань.
Переваги мікроелектронних пристроїв над аналоговими є у тому, що у них переважає висока точність вимірювання параметрів, переважає швидкодія вимірювання та можливості використання мікроелектронних пристроїв при непрямих вимірюваннях. При цьому основні похибки вносять аналогові давачі, які є менш точними за цифрові
Інтелектуальні давачі переважно застосовуються для виконання непрямих вимірювань тих величин, які неможливо виміряти прямими методами.
Мікроконтролери серії 8х51 є восьмирозрядними однокристальними мікро-ЕОМ, які працюють при максимальній тактовій частоті генератора 12 МГц . Маючи восьмирозрядну внутрішню архітектуру, МК51 виконує операції над бітами, півбайтами, байтами та машинними словами. За допомогою непрямої адресації процесор може обробляти 16-и бітовий адрес і таким чином адресувати 216=64 Кбайт як оперативної так і програмної пам'яті. Для виконання операцій над бітами МК51 має булевий процесор, який є незалежним бітовим процесором із своєю системою команд і своїм акумулятором.
Особливістю організації пам'яті МК51 є, як фізичне, так і логічне розділення оперативної та програмної пам'яті. Тобто оперативна пам'ять не може бути використана для зберігання програм.
Оперативна пам'ять 8х51 призначена для зберігання і обробки даних в процесі виконання програми і ділиться на внутрішню (вбудовану в кристал) і зовнішню (додаткові мікросхеми пам'яті). МК51 має внутрішній оперативний запам'ятовуючий пристрій (ОЗП) об'ємом 256 байт і зовнішній ОЗП об'ємом 64 Кбайт. В свою чергу внутрішня оперативна пам'ять складається із 128 байт пам'яті даних і 20-и регістрів спеціальних функцій.
Система команд мікроконтролера сімейства 8х51 включає у себе 111 основних команд. Їх довжина - один, два, або три байти, але більшість із них (94%) - це одно- або двобайтні команди. Всі команди виконуються за один або два машинні цикли ( відповідно 1 або 2 мкс при тактовій частоті 12 МГц ). Виключенням є команди множення та ділення, які виконуються за чотири машинні цикли ( 4 мкс ).
Мікроконтролери сімейства 8х51 використовують прямий, безпосередній, непрямий та неявний способи адресації даних. В якості операндів команд мікроконтролери сімейства 8х51 можуть використовувати окремі біти, чотирьохбітні цифри, байти або двобайтні слова. Всього мікроконтролер виконує 13 типів команд.
Індивідуальне завдання до курсового проекту
Варіант 5
1. Розмір клавіатури: 8 x 2
2. Розмірність індикатора: 8
3. Параметр, який вимірюєть непрямим методом:
поправний коефіцієнт на шорсткість внутрішньої поверхні трубопроводу Кш
4. Вхідні параметри, які вимірюються за допомогою перетворювачів:
t = [ oC ].
5. Контрольна точка: t=27 oC, d20=0.097м, D20=0.182м, Rш=2.1·10-5м, Re=7.44·105м.
7. Тип АЦП: TLC 549IP
Отримав: студент групи АВ-32: Горбаль Л.О.
Видав: асистент кафедри АТХП: Костик І. В.
інтеллектуальний давач індикатор мікропроцесорний
Структурна схема інтелектуального давача, побудованого на базі мікропроцесорного пристрою
Структурна схема інтелектуального давача на базі мікроконтролера 89С51 наведена на рисунку 2.1 і складається з:
- мікроконтролера 89С51, який здійснює керування зовнішніми пристроями вводу/виводу та поводить обчислення, згідно програми по обчисленню величини Kш (рівняння наведені в індивідуальному завданні);
- аналого-цифрового перетворювача (АЦП TLC 549IP), який здійснює перетворення сигналу з аналогового в цифровий ;
- клавіатури, за допомогою якої вводяться постійні величини, або виводяться певні величини для перевірки програми;
- восьмирозрядного семисегментного індикатора, який потрібен для показу величин, які вводяться, знаходяться в пам'яті (тобто вже введені), вимірюються чи обраховуються в даний момент;
- контролер клавіатури (5С090) та семисегментного індикатора, який обслуговує клавіатуру та семисегментний індикатор;
- контролеру каналу послідовного вводу/виводу (ADM485), який дозволяє обмінюватися інформацією з іншими контролерами чи з вищим рівнем керування (наприклад комп'ютером);
- блоку живлення.
Основним елементом інтелектуального давача є мікроконтролер. Для даного проекта застосовується мікроконтролер 89С51, загальний вигляд та призначення ніжок якого показано на рис.2.2 .
Мікроконтролер має чотири порти вводу-виводу Р0-Р3. Порт Р0 мікроконтролера 89С51 використовується, як шина даних (коли сигнал ALE=0) і шина адресів від А0 до А7 (коли сигнал ALE=1). Порт Р3 використовується як порт, який видає сигнали керування мікроконтролером. Сигнали керування, які ідуть від порту Р3, наведені на рис.2.2. Опис сигналів керування наведено в табл. 2.2. Кожний порт може видавати сигнали керування.
Пам'ять у мікроконтролері поділяється на внутрішню пам'ять програм та даних та зовнішню пам'ять програм да даних.
Зовнішня пам'ять програм та даних поділяється на постійну зовнішню пам'ять програм (ПЗП), де знаходяться коди операцій, та зовнішню пам'ять даних (ОЗП), де знаходяться проміжні результати розрахунків. Звернення до ПЗП здійснюється за допомогою керуючого сигналу /PSEN, який виконує функцію строб-сигналу читання. Код команди вибирається із ПЗП при встановленні на /PSEN сигналу рівного логічному 0. Звернення (читання або запис) до ОЗП забезпечується керуючими сигналами /RD або /WR, які формуються на лініях Р3.7 та Р3.6 при виконанні відповідних операцій переміщення даних та команд керування процесором. Звернення до ОЗП здійснюється при встановленні на /RD або /WR сигналів логічного 0. Для того, щоб одночасно читати коди команд із ПЗП та дані із ОЗП сигнали /PSEN та /RD об'єднують в один сигнал /PSEN*/RD.
Мікроконтролер 89С51 має розширену систему переривань.Спрощена схема переривань 89С51 наведена на рис.2.3.
Зовнішні переривання /INT0 та /INT1 можуть бути викликані або рівнем або переходом сигналу із 1 в 0 (фронтом) на входах 89С51 в залежності від значень керуючих бітів ІТ0 та ІТ1 у регістрі TCON. При значенні цих бітів рівних 0 сигнали зовнішніх переривань приймаються за рівнем, а при значенні їх рівних 1 сигнали /INT0 та /INT1 сприймаються за фронтом. Від зовнішніх переривань встановлюються прапори IE0 та IE1 у регістрі TCON, які ініціюють виклик відповідних підпрограм обробки переривань. Скид цих прапорів здійснюється апаратно тільки у тому випадку, якщо переривання були викликані фронтом сигналу. Якщо ж переривання були викликані рівнем вхідного сигналу, то скидом прапору ІЕ керує відповідна підпрограма обробки переривання шляхом дії на джерело переривання з метою зняття ним запиту.
Прапори запитів переривань від таймерів TF0 та TF1 скидаються автоматично при передачі керування підпрограмі його обробки. Прапори запитів переривань RI та TI встановлюються блоком керування універсального асинхронного приймача-передавача (УАПП) апаратно, але скидатись повинні програмою обробки переривань.
Переривання можуть бути викликані або відмінені програмою, так як усі перераховані прапори програмно досягнені і можуть бути встановлені або скинуті програмою з тим же результатом, що і якщо б вони були встановлені або кинуті апаратними засобами.
В блоці регістрів спеціальних функцій є два регістри, які використовуються для керування режимом переривань та рівнями їх пріоритету. Формати цих регістрів, які мають символічні імена ІЕ та ІР, наведені у табл. 2.2 та табл. 2.3.
Обробка переривань по рівню пріоритету виконується на протязі наступного машинного циклу. Система переривань сформує апаратний виклик (LCALL) відповідної підпрограми обробки переривань, якщо вона не заблокована одним із наступних умов:
1) в даний момент обслуговується переривання рівного або вищого рівня пріоритету;
2) текучий машинний цикл - не останній у циклі виконуваної команди;
3) виконується команда RETI або інша команда, яка пов'язана із зверненням до регістрів ІЕ та ІР.
Таблиця 2.1. Альтернативні функції порта Р3.
P3.7 |
Читання. Активний сигнал низького рівня формується апаратно при зверненні до зовнішньої пам'яті даних. |
||
P3.6 |
Запис. Активний сигнал низького рівня формується апаратно при зверненні до зовнішньої пам'яті даних. |
||
P3.5 |
Вхід таймера/лічильника 1 або тест-вхід. |
||
P3.4 |
Вхід таймера/лічильника 0 або тест-вхід. |
||
P3.3 |
Вхід запиту переривання 1. Сприймається сигнал низького рівня або зріз по спаду напруги. |
||
P3.2 |
Вхід запиту переривання 0. Сприймається сигнал низького рівня або зріз по спаду напруги. |
||
P3.1 |
Вихід передавача послідовного порта. Вихід синхронізації в режимі зсуваючого регістра. |
||
P3.0 |
Вхід передавача послідовного порта. Ввід/вивід даних в режимі зсуваючого регістра. |
Таблиця 2.2. Прапори дозволу переривань
Джерело переривання |
Прапор дозволу |
Комірка біту |
|
Зовнішній запит 0 |
EX0 |
IE.0 |
|
Внутрішній таймер / лічильник 0 |
ET0 |
IE.1 |
|
Зовнішній адрес 1 |
EX1 |
IE.2 |
|
Внутрішній таймер / Лічильник 1 |
ET1 |
IE.3 |
|
Внутрішній послідовний порт |
ES |
IE.4 |
|
Резервний |
відсутній |
IE.5 |
|
Резервний |
відсутній |
IE.6 |
|
Загальний дозвіл |
EA |
IE.7 |
Таблиця 2.3. Прапори пріоритету переривань
Джерело переривання |
Прапор пріоритету |
Пріоритет по рівню |
Комірка біту |
|
Зовнішній запит 0 |
PX0 |
1(найвищий) |
IP.0 |
|
Внутрішній таймер/лічильник 0 |
PT0 |
2 |
IP.1 |
|
Зовнішній адрес 1 |
PX1 |
3 |
IP.2 |
|
Внутрішній таймер/лічильник 1 |
PT1 |
4 |
IP.3 |
|
Внутрішній послідовний порт |
PS |
5(найнижчий) |
IP.4 |
За апаратносформованим кодом LCALL система переривань заносить у стек тільки вмістиме лічильника команд (РС) і завантажує в лічильник команд адрес вектора відповідної підпрограми обробки. За адресом вектору повинна бути розташована команда безумовної передачі керування (JMP) до початкового адресу підпрограми обробки переривання. Підпрограма обробки при необхідності повинна починатися із команд запису у стек (PUSH) слова стану підпрограми (PSW), акумулятора, розширювача, показника даних і т.д. та закінчуватись командами виклику зі стеку (POP) попередніх регістрів за принципом «перший пішов останній повернувся». Підпрограми обробки переривань повинні обов'язково закінчуватись командою RETI, за якою в лічильник команд перенавантажується зі стеку збережений адрес повернення в основну програму. Команда RET також повертає керування перерваній основній програмі, але при цьому не знімають блокування переривання, що призводить до необхідності мати програмний механізм аналізу закінчення процедури обробки переривання.
Опис роботи інтелектуального давача.
Величина, що вимірюється, перетворюється первинним перетворювачем у аналоговий уніфікований електричний сигнал (від 0 до 5 вольт), поступає на вхід аналого-цифрового перетворювача. На аналого-цифровому перетворювачі аналоговий (неперервний) сигнал перетворюється на послідовний чи паралельний цифровий код, який вже може сприймати мікроконтролер. Далі мікроконтролер обраховує величину Z згідно програми, та виводить результат на рідкокристалічний індикатор та, через канал послідовного вводу/виводу, на ЕОМ.
Побудова контролера клавіатури та семисгментного індикатора
Для обслуговування клавіатури в мікропроцесорних системах використовується процедура вводу натиснутої клавіші. Схема під'єднання клавіатури та індикатора до контролера клавіатури та індикатора наведена на рисунку 3.1.
Рис 3.1. Структурна схема під'єднання клавіатури та CCІ до контролера
Виявлення мікропроцесорним пристроєм натиснення клавіші на клавіатурі здійснюється за допомогою сканування клавіатури. Детальніше процес сканування розглянемо нижче. Для побудови контролера індикатора та клавіатури було вибрано ПЛМ 5С090. Нумерація ніжок серії 5С090 наведена на рисунку 3.2:
Рис 3.2. Нумерація ніжок мікросхем серії 5С090
Ввід інформації з клавіатури
Для обслуговування клавіатури мікропроцесорної системи використовується процедура вводу коду натиснутої клавіші. У таблиці 3.1 показано як формується код натисненої клавіші.
Таблиця 3.1 Формування коду натисненої клавіші
R0 |
R1 |
K0 |
K1 |
K2 |
K3 |
K4 |
K5 |
K6 |
K7 |
P00 |
P01 |
P02 |
P03 |
Символ |
|
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
2 |
|
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
3 |
|
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
4 |
|
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
5 |
|
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
6 |
|
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
7 |
|
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
8 |
|
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
9 |
|
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
F |
|
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
E |
|
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
S |
|
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
P |
|
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
= |
|
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
- |
Лінія порту Ri використовується для сканування, а лінія порту Ki - для опиту матриці клавіш. Значення сигналів R0-R1 змінюються за законом зсуваючого регістру з активним вихідним нульовим сигналом. При натисненій клавіші сигнал з лінії Ri поступає на ніжку Ki. Якщо клавіша натиснута, то на ніжці Ri та на ніжці Кі буде активний нульовий сигнал.
Наприклад, якщо буде натиснута клавіша F, то нульовий сигнал буде на ніжках R1 та К5. Кожна клавіша в такій матриці має свій номер, який відповідає її місцезнаходженню. Діоди забезпечують захист від замикання між собою скануючих ліній у випадку одночасного натиснення більше ніж однієї клавіші.
Для зменшення використання зовнішніх портів мікроконтролера 89С51 контролер клавіатури та рідкокристалічного індикатора видає на шину даних порту Р0 мікроконтролера 89С51 код заданої клавіші. Код заданої клавіші формується контролером клавіатури та рідкокристалічного індикатора, побудованого на програмованому логічному пристрої типу 5С090.
Процедура вводу коду натисненої клавіші складається із послідовності часткових процедур: сканування матриці клавіш, усунення дребезгу контактів, очікування звільнення клавіші та ідентифікації коду натисненої клавіші. Для деяких клавіатур може бути відсутня процедура усунення дребезгу контактів (для клавіатури на базі герконів). Процедуру сканування іноді об'єднують з процедурою ідентифікації.
Процедура вибору між скануванням клавіатури та виводу інформації на CCІ здійснюється за допомогою сигналу Р2.1. При активному нульовому сигналі виводиться інформація на КІ, а при активному сигналі високого рівня - сканується клавіатура
Вивід інформації на семисегментний індикатор
Вивід інформації на рідкокристалічний індикатор здійснюється наступним чином. Байт з порту Р0 мікроконтролера 89С51 поступає на вхід контролера клавіатури та cемисегментного індикатора, побудованого на базі програмованого логічного пристрою 5С090. На контролер також поступає і сигнал синхронізації CLK, який знімається з виходу Р2.0 мікроконтролера 89С51.
При динамічній індикації байт індикації (YА-YG) поступає від контролера одночасно на входи усіх дев'яти семисегментних індикаторів, які утворюють лінійний дисплей, а вибір знакомісця (R0-R8) здійснюється бітом вибірки, який поступає зсуваючий регістра (R0-R7), що побудований на базі програмованого логічного пристрою 5С090.
З кожним імпульсом біту вибірки сигнал символу з порту Р0 (біти Р0.4 - Р0.7) мікроконтролера 89С51 поступає на дешифратор символів, який побудований на тому ж програмованому логічному пристрої 5С090.
Підпрограма виводу символу на ССІ реалізує вибірку коду наступного символу з РПД (вихідні коди символів повинні бути розміщені у послідовно розташованих комірках пам'яті), його відображення в текучому знакомісці. Для отримання яскравої та рівної (немигаючої) індикації необхідно забезпечити: по-перше, заборону вибірки знакомісць на час зміни байту індикації у порту 0 (бланкування), по-друге, регенерацію зображення на кожному знакомісці з частотою 20 раз в секунду, тобто звертання до підпрограми через кожні 50/9 мс, де 9 - число знакомісць на дисплеї. Бланкування здійснюється видачею байта вибірки «всі одиниці». Відповідність символу, що виводиться на індикатор до коду наведено у таблиці 3.2.
Таблиця 3.2. - Кодування символів індикатора
P07 |
P06 |
P05 |
P04 |
YA |
YB |
YC |
YD |
YE |
YF |
YG |
Символ |
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
|
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
|
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
2 |
|
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
3 |
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
4 |
|
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
5 |
|
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
6 |
|
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
7 |
|
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
8 |
|
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
9 |
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
F |
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
Е |
|
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
S |
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
P |
|
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
= |
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
- |
Таблиця 3.2. Таблиця переходів та виходів роботи контролера індикатора
S |
CLK |
Y |
|||||||||
0 |
1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
||
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
2 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
|
2 |
2 |
3 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
|
3 |
3 |
4 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
|
4 |
4 |
5 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
|
5 |
5 |
6 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
|
6 |
6 |
7 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
|
7 |
7 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
Програма для програмування програмованого логічного пристрою контролера
Для програмування ПЛМ була написана наступна програма:
Title KURS1
Pattern pds
Revision 02
Author LG
Company NULP
Data 28.12.1991
chip KURS1 5C090
PIN CLK
PIN IK
PIN R0
PIN R1
PIN R2
PIN R3
PIN R4
PIN R5
PIN R6
PIN R7
PIN YA
PIN YB
PIN YC
PIN YD
PIN YE
PIN YF
PIN YG
PIN Q0
PIN Q1
PIN Q2
PIN P00
PIN P01
PIN P02
PIN P03
PIN P04
PIN P05
PIN P06
PIN P07
PIN K0
PIN K1
PIN K2
PIN K3
PIN K4
PIN K5
PIN K6
PIN K7
STATE MOORE_MACHINE
S0=/Q2*/Q1*/Q0
S1=/Q2*/Q1*Q0
S2=/Q2*Q1*/Q0
S3=/Q2*Q1*Q0
S4=Q2*/Q1*/Q0
S5=Q2*/Q1*Q0
S6=Q2*Q1*/Q0
S7=Q2*Q1*Q0
S0:=GND->S0
+VCC->S1
S1:=GND->S1
+VCC->S2
S2:=GND->S2
+VCC->S3
S3:=GND->S3
+VCC->S4
S4:=GND->S4
+VCC->S5
S5:=GND->S5
+VCC->S6
S6:=GND->S6
+VCC->S7
S7:=GND->S7
+VCC->S0
S0.OUTF=/R0*R1*R2*R3*R4*R5*R6*R7
S1.OUTF=R0*/R1*R2*R3*R4*R5*R6*R7
S2.OUTF=R0*R1*/R2*R3*R4*R5*R6*R7
S3.OUTF=R0*R1*R2*/R3*R4*R5*R6*R7
S4.OUTF=R0*R1*R2*R3*/R4*R5*R6*R7
S5.OUTF=R0*R1*R2*R3*R4*/R5*R6*R7
S6.OUTF=R0*R1*R2*R3*R4*R5*/R6*R7
S7.OUTF=R0*R1*R2*R3*R4*R5*R6*/R7
EQUATIONS
Q0.CLKF=/CLK
Q1.CLKF=/CLK
Q2.CLKF=/CLK
P00.TRST=IK
P01.TRST=IK
P02.TRST=IK
P03.TRST=IK
P04.TRST=IK
P05.TRST=IK
P06.TRST=IK
P07.TRST=IK
T_TAB (P07 P06 P05 P04 >> YA YB YC YD YE YF YG)
0 0 0 0 : 1 1 1 1 1 1 0 ;0
0 0 0 1 : 0 1 1 0 0 0 0 ;1
0 0 1 0 : 1 1 0 1 1 0 1 ;2
0 0 1 1 : 1 1 1 1 0 0 1 ;3
0 1 0 0 : 0 1 1 0 0 1 1 ;4
0 1 0 1 : 1 0 1 1 0 1 1 ;5
0 1 1 0 : 1 0 1 1 1 1 1 ;6
0 1 1 1 : 1 1 1 0 0 0 0 ;7
1 0 0 0 : 1 1 1 1 1 1 1 ;8
1 0 0 1 : 1 1 1 1 0 1 1 ;9
1 0 1 0 : 1 0 0 0 1 1 1 ;F
1 0 1 1 : 1 0 0 1 1 1 1 ;E
1 1 0 0 : 1 0 1 1 0 1 1 ;S
1 1 0 1 : 1 1 0 0 1 1 1 ;P
1 1 1 0 : 0 0 0 1 0 0 1 ;=
1 1 1 1 : 0 0 0 0 0 0 1 ;-
T_TAB (R0 R1 K0 K1 K2 K3 K4 K5 K6 K7 >> P03 P02 P01 P00)
1 0 0 1 1 1 1 1 1 1: 0 0 0 0 ;0
0 1 0 1 1 1 1 1 1 1: 0 0 0 1 ;1
1 0 1 0 1 1 1 1 1 1: 0 0 1 0 ;2
0 1 1 0 1 1 1 1 1 1: 0 0 1 1 ;3
1 0 1 1 0 1 1 1 1 1: 0 1 0 0 ;4
0 1 1 1 0 1 1 1 1 1: 0 1 0 1 ;5
1 0 1 1 1 0 1 1 1 1: 0 1 1 0 ;6
0 1 1 1 1 0 1 1 1 1: 0 1 1 1 ;7
1 0 1 1 1 1 0 1 1 1: 1 0 0 0 ;8
0 1 1 1 0 1 0 1 1 1: 1 0 0 1 ;9
1 0 1 1 1 1 1 0 1 1: 1 0 1 0 ;F
0 1 1 1 1 1 1 0 1 1: 1 0 1 1 ;-
1 0 1 1 1 1 1 1 0 1: 1 1 0 0 ;F
0 1 1 1 1 1 1 1 0 1: 1 1 0 1 ;R
1 0 1 1 1 1 1 1 1 0: 1 1 1 0 ;B
0 1 1 1 1 1 1 1 1 0: 1 1 1 1 ;B
SIMULATION
VECTOR INPI:=[P07 P06 P05 P04]
VECTOR OUTK:=[P00 P01 P02 P03]
VECTOR S:=[Q2 Q1 Q0]
SETF /IK
FOR I:=0 TO 15 DO
BEGIN
SETF INPI:=I
END
SETF IK CLK
PRLDF Q2 Q1 Q0
FOR I:=0 TO 8 DO
BEGIN
SETF K0 K1 K2 K3 K4 K5 K6 K7
IF I=0 THEN
BEGIN
SETF /K0
END
IF I=1 THEN
BEGIN
SETF /K1
END
IF I=2 THEN
BEGIN
SETF /K2
END
IF I=3 THEN
BEGIN
SETF /K3
END
IF I=4 THEN
BEGIN
SETF /K4
END
IF I=5 THEN
BEGIN
SETF /K5
END
IF I=4 THEN
BEGIN
SETF /K6
END
IF I=5 THEN
BEGIN
SETF /K7
END
CLOCKF CLK
END
5С090
Gnd - | 1 21 | - Vcc
K7 - | 2 22 | - P04
K6 - | 3 23 | - P05
K5 - | 4 24 | - P06
Q0 - | 5 25 | - IK
Q2 - | 6 26 | - CLK
Q1 - | 7 27 | - YG
R0 - | 8 28 | - P00
R1 - | 9 29 | - P01
YF - | 10 30 | - P02
YE - | 11 31 | - P03
YD - | 12 32 | - R2
YC - | 1 33 | - R3
YB - | 14 34 | - R4
YA - | 15 35 | - R5
R7 - | 16 36 | - R6
K4 - | 17 37 | - P07
K3 - | 18 38 | - K0
K2 - | 19 39 | - K1
GND - | 20 40 | - Gnd
Рис 3.3. Призначення ніжок контролера клавіатури та індикатора
Часові діаграми доботи програмованого логічного пристрою контролера.
Рис 3.4 Часова діаграма роботи клавіатури
Рис 3.5 Часова діаграма роботи регістру зсуву.
Рис. 3.6 Часова діаграма виводу символів на ССІ.
Робота аналого-цифрового перетворювача
На сьогоднішній день випускають аналого-цифрові перетворювачі (АЦП) в корпусах з вісьма ніжками. Вони використовуються для роботи з сучасними компонентами - RISC-мікроконтролерами та цифровими сигнальними процесорами (ЦСП).
Головна особливість таких АЦП полягає в організації керування на одно- або двопровідній шині (SPI, Microwire, I2C та інших), а не через паралельний канал вводу-виводу, який вимагає наявності одного виводу мікросхеми на кожний розряд шини керування. Звичайно, такий спосіб передачі бітів даних - один за одним по одному проводу - обмежує швидкість обміну інформацією, хоча і тут можна досягти швидкості передачі даних 1Мбіт/с.
На рис.4.1 наведена структурна схема стандартного послідовного АЦП, виконаних в корпусах з 8 ніжками. Логічний контролер з вбудованим тактовим генератором керує роботою схеми перетворення, яка функціонує за принципом послідовного наближення. Цей принцип полягає у покроковому накопиченні в проміжному регістрі даних двійкового слова, яке відповідає співвідношенню вхідної аналогової напруги та взірцевої напруги (REF).
Розглянемо застосування ніжок мікросхеми MAX1242.
Такий АЦП має один аналоговий вхід АIN та вхід для підключення взірцевої напруги (REF). На виході АЦП буде формуватись байт вихідного коду, який рівний 000000000000 для нульової напруги на аналоговому вході, та 111111111111 - для вхідної напруги, яка рівна опорній, що подається на вхід REF. На вхід АIN повинна подаватися напруга менша 2.5 вольта.
Рисунок 4.1. Структурна схема послідовного АЦП.
TLC 549IP
Кожний біт вихідних даних зчитується на ніжці Sdata, при чому біти виводяться старшими розрядами (MSB) вперед за переднім фронтом імпульсів на ніжці SCLK.
Протокол зв'язку АЦП TLC 549IP наведений на рисунку 4.2
Таблиця 4.1 - Призначення ніжок для мікросхем фірм Linear Technology.
Назва ніжки |
Призначення ніжки |
|
Sdata |
послідовний цифровий вихід |
|
REF |
вхід взірцевої напруги |
|
SCLK |
тактований вхід |
|
/CS |
вибір кристалу |
|
АIN |
аналоговий вхід |
|
VCC |
Напруга живлення |
|
GND |
Загальний |
Схема підключення АЦП до мікроконтролера
Програма для роботи мікропроцесорного пристрою, побудованого на базі мікроконтролера 89С51
Нижче приведена, написана мовою асемблера 89С51, програма виконує обрахунки за заданими залежностями, а саме:
У наступній таблиці наведено позначення змінних, їх адреси, а також їх значення у форматі, з яким працює 89С51 з десяткової системи числення значення переводилися за допомогою програми М51-24:
Змінна або число |
Значення |
Позначення |
Адрес байту |
Значення байту |
|
27 |
TM1 TM2 TM3 TP |
30 H 31 H 32 H 33 H |
58 H 00 H 00 H 85 H |
||
0.097 |
DM20M1 DM20M2 DM20M3 DM20P |
34 H 35 H 36 H 37 H |
46 H A7 H EF H 7D H |
||
0.182 |
DV20M1 DV20M2 DV20M3 DV20P |
38 H 39 H 3A H 3B H |
3A H 5E H 35 H 7E H |
||
2.1·15-5 |
RSM1 RSM2 RSM3 RSP |
3C H 3D H 3E H 3F H |
30 H 29 H 28 H 71 H |
||
7.44·105 |
REM1 REM2 REM3 REP |
40 H 41 H 42 H 43 H |
35 H A4 H 00 H 94 H |
||
- |
ATSUM1 ATSUM2 ATSUM3 ATSUP |
44 H 45 H 46 H 47 H |
- - - - |
||
- |
DMM1 DMM2 DMM3 DMP |
48 H 49 H 4A H 4B H |
- - - - |
||
- |
ATDM1 ATDM2 ATDM3 ATDP |
4C H 4D H 4E H 4F H |
- - - - |
||
- |
DVM1 DVM2 DVM3 DVP |
50 H 51 H 52 H 53 H |
- - - - |
||
- |
MM1 MM2 MM3 MP |
54 H 55 H 56 H 57 H |
- - - - |
||
- |
ASM1 ASM2 ASM3 ASP |
58 H 59 H 5A H 5B H |
- - - - |
||
- |
R0M1 R0M2 R0M3 R0P |
5C H 5D H 5E H 5F H |
- - - - |
||
- |
AREM1 AREM2 AREM3 AREP |
74 H 75 H 76 H 77 H |
- - - - |
||
- |
KSM1 KSM2 KSM3 KSP |
78 H 79 H 7A H 7B H |
- - - - |
||
Y |
- |
YM1 YM2 YM3 YP |
7C H 7D H 7E H 7F H |
- - - - |
|
X |
XM1 XM2 XM3 XP |
80 H 81 H 82 H 83 H |
- - - - |
||
XX |
- |
XXM1 XXM2 XXM3 XXP |
84 H 85 H 86 H 87 H |
- - - - |
|
- |
10-6 |
- - - - |
- - - - |
06 H 37 H BD H 6D H |
|
- |
9.903 |
- - - - |
- - - - |
1E H 72 H B0 H 84 H |
|
- |
20.561 |
- - - - |
- - - - |
24 H 7C H ED H 85 H |
|
- |
10-3 |
- - - - |
- - - - |
03 H 12 H 6E H 77 H |
|
- |
-15.675 |
- - - - |
- - - - |
FA H CC H CC H 84 H |
|
- |
1 |
- - - - |
- - - - |
00 H 00 H 00 H 81 H |
|
- |
-20 |
- - - - |
- - - - |
A0 H 00 H 00 H 85 H |
|
- |
11.1 |
- - - - |
- - - - |
31 H 99 H 99 H 84 H |
|
- |
7.9 |
- - - - |
- - - - |
7C H CC H CC H 83 H |
|
- |
-3.9 |
- - - - |
- - - - |
F9 H 99 H 99 H 82 H |
|
- |
104 |
- - - - |
- - - - |
1C H 40 H 00 H 8E H |
|
- |
0.045 |
- - - - |
- - - - |
38 H 51 H EB H 7C H |
|
- |
-0.025 |
- - - - |
- - - - |
CC H CC H CC H 7B H |
|
- |
-6 |
- - - - |
- - - - |
C0 H 00 H 00 H 83 H |
|
- |
-4 |
- - - - |
- - - - |
80 H 00 H 00 H 83 H |
|
- |
106 |
- - - - |
- - - - |
74 H 24 H 00 H 94 H |
Програма розрахунку заданої функції
TM1 EQU 30h
TM2 EQU 31h
TM3 EQU 32h
TP EQU 33h
DM20M1 EQU 34h
DM20M2 EQU 35h
DM20M3 EQU 36h
DM20P EQU 37h
DV20M1 EQU 38h
DV20M2 EQU 39h
DV20M3 EQU 3Ah
DV20P EQU 3Bh
RSM1 EQU 3Ch
RSM2 EQU 3Dh
RSM3 EQU 3Eh
RSP EQU 3Fh
REM1 EQU 40h
REM2 EQU 41h
REM3 EQU 42h
REP EQU 43h
ATSUM1 EQU 44h
ATSUM2 EQU 45h
ATSUM3 EQU 46h
ATSUP EQU 47h
DMM1 EQU 48h
DMM2 EQU 49h
DMM3 EQU 4Ah
DMP EQU 4Bh
ATDM1 EQU 4Ch
ATDM2 EQU 4Dh
ATDM3 EQU 4Eh
ATDP EQU 4Fh
DVM1 EQU 50h
DVM2 EQU 51h
DVM3 EQU 52h
DVP EQU 53h
MM1 EQU 54h
MM2 EQU 55h
MM3 EQU 56h
MP EQU 57h
ASM1 EQU 58h
ASM2 EQU 59h
ASM3 EQU 5Ah
ASP EQU 5Bh
R0M1 EQU 5Ch
R0M2 EQU 5Dh
R0M3 EQU 5Eh
R0P EQU 5Fh
AREM1 EQU 74h
AREM2 EQU 75h
AREM3 EQU 76h
AREP EQU 77h
KSM1 EQU 78h
KSM2 EQU 79h
KSM3 EQU 7Ah
KSP EQU 7Bh
YM1 EQU 7Ch
YM2 EQU 7Dh
YM3 EQU 7Eh
YP EQU 7Fh
XM1 EQU 80h
XM2 EQU 81h
XM3 EQU 82h
XP EQU 83h
XXM1 EQU 84h
XXM2 EQU 85h
XXM3 EQU 86h
XXP EQU 87h
STEK EQU 70h
ORG 0h
JMP BEGIN
ORG 100h
BEGIN
MOV SP,#STEK
MOV TM1,#58h
MOV TM2,#00h
MOV TM3,#00h
MOV TP,#85h
MOV DM20M1,#46h
MOV DM20M2,#0A7h
MOV DM20M3,#0EFh
MOV DM20P,#7Dh
MOV DV20M1,#3Ah
MOV DV20M2,#5Eh
MOV DV20M3,#35h
MOV DV20P,#7Eh
MOV RSM1,#30h
MOV RSM2,#29h
MOV RSM3,#28h
MOV RSP,#71h
MOV REM1,#35h
MOV REM2,#0A4h
MOV REM3,#00h
MOV REP,#94h
MOV R0,TM1
MOV R1,TM2
MOV R2,TM3
MOV R3,TP
MOV R4,#03h
MOV R5,#12h
MOV R6,#6Eh
MOV R7,#77h
CALL MUL;y=t*e-3
MOV YM1,R0
MOV YM2,R1
MOV YM3,R2
MOV YP,R3
MOV XM1,R0
MOV XM2,R1
MOV XM3,R2
MOV XP,R3
MOV R0,XM1
MOV R1,XM2
MOV R2,XM3
MOV R3,XP
CALL MUL;(t*e-3)^2
MOV R4,#0FAh
MOV R5,#0CCh
MOV R6,#0CCh
MOV R7,#84h
CALL MUL;x=-15.675*(t*e-3)^2
MOV XM1,R0
MOV XM2,R1
MOV XM3,R2
MOV XP,R3
MOV R0,YM1
MOV R1,YM2
MOV R2,YM3
MOV R3,YP
MOV R4,#24h
MOV R5,#7Ch
MOV R6,#0EDh
MOV R7,#85h
CALL MUL;20.561*(t*e-3)
MOV R4,XM1
MOV R5,XM2
MOV R6,XM3
MOV R7,XP
CALL SUM;x+20.561*(t*e-3)
MOV R4,#1Eh
MOV R5,#72h
MOV R6,#0B0h
MOV R7,#84h
CALL SUM;9.903+x+20.561*(t*e-3)
MOV R4,#06h
MOV R5,#37h
MOV R6,#0BDh
MOV R7,#6Dh
CALL MUL;atsu=1e-6*(9.903+x+20.561*(t*e-3))
MOV ATSUM1,R0
MOV ATSUM2,R1
MOV ATSUM3,R2
MOV ATSUP,R3
MOV R0,TM1
MOV R1,TM2
MOV R2,TM3
MOV R3,TP
MOV R4,#0A0h
MOV R5,#00h
MOV R6,#00h
MOV R7,#85h
CALL SUM;t-20
MOV R4,ATSUM1
MOV R5,ATSUM2
MOV R6,ATSUM3
MOV R7,ATSUP
CALL MUL;atsu*(t-20)
MOV R4,#00h
MOV R5,#00h
MOV R6,#00h
MOV R7,#81h
CALL SUM;1+atsu*(t-20)
MOV R4,DM20M1
MOV R5,DM20M2
MOV R6,DM20M3
MOV R7,DM20P
CALL MUL;d=d20*(1+atsu*(t-20)
MOV DMM1,R0
MOV DMM2,R1
MOV DMM3,R2
MOV DMP,R3
MOV R0,YM1
MOV R1,YM2
MOV R2,YM3
MOV R3,YP
MOV R4,YM1
MOV R5,YM2
MOV R6,YM3
MOV R7,YP
CALL MUL;(t*e-3)^2
MOV R4,#0F9h
MOV R5,#99h
MOV R6,#99h
MOV R7,#82h
CALL MUL;xx=-3.9*(t*e-3)^2
MOV XXM1,R0
MOV XXM2,R1
MOV XXM3,R2
MOV XXP,R3
MOV R0,YM1
MOV R1,YM2
MOV R2,YM3
MOV R3,YP
MOV R4,#7Ch
MOV R5,#0CCh
MOV R6,#0CCh
MOV R7,#83h
CALL MUL;7.9*(t*e-3)
MOV R4,XXM1
MOV R5,XXM2
MOV R6,XXM3
MOV R7,XXP
CALL SUM;7.9*(t*e-3)-3.9*(t*e-3)^2
MOV R4,#31h
MOV R5,#99h
MOV R6,#99h
MOV R7,#84h
CALL SUM;11.1+7.9*(t*e-3)-3.9*(t*e-3)^2
MOV R4,#06h
MOV R5,#37h
MOV R6,#0BDh
MOV R7,#6Dh
CALL MUL;atd=1e-6(11.1+7.9*(t*e-3)-3.9*(t*e-3)^2)
MOV ATDM1,R0
MOV ATDM2,R1
MOV ATDM3,R2
MOV ATDP,R3
MOV R0,TM1
MOV R1,TM2
MOV R2,TM3
MOV R3,TP
MOV R4,#0A0h
MOV R5,#00h
MOV R6,#00h
MOV R7,#85h
CALL SUM;t-20
MOV R4,ATDM1
MOV R5,ATDM2
MOV R6,ATDM3
MOV R7,ATDP
CALL MUL;atsu*(t-20)
MOV R4,#00h
MOV R5,#00h
MOV R6,#00h
MOV R7,#81h
CALL SUM;1+atsu*(t-20)
MOV R4,DV20M1
MOV R5,DV20M2
MOV R6,DV20M3
MOV R7,DV20P
CALL MUL;D=D20*(1+atsu*(t-20))
MOV DVM1,R0
MOV DVM2,R1
MOV DVM3,R2
MOV DVP,R3
MOV R0,DMM1
MOV R1,DMM2
MOV R2,DMM3
MOV R3,DMP
MOV R4,DVM1
MOV R5,DVM2
MOV R6,DVM3
MOV R7,DVP
CALL DIV;d/D
MOV XM1,R0
MOV XM2,R1
MOV XM3,R2
MOV XP,R3
MOV R4,XM1
MOV R5,XM2
MOV R6,XM3
MOV R7,XP
CALL MUL;m=(d/D)^2
MOV MM1,R0
MOV MM2,R1
MOV MM3,R2
MOV MP,R3
MOV R0,RSM1
MOV R1,RSM2
MOV R2,RSM3
MOV R3,RSP
MOV R4,DVM1
MOV R5,DVM2
MOV R6,DVM3
MOV R7,DVP
CALL DIV;Rs/D
MOV R4,#1Ch
MOV R5,#40h
MOV R6,#00h
MOV R7,#8Eh
CALL MUL;as=1e4*Rs/D
MOV ASM1,R0
MOV ASM2,R1
MOV ASM3,R2
MOV ASP,R3
MOV R0,ASM1
MOV R1,ASM2
MOV R2,ASM3
MOV R3,ASP
CALL LN;ln(as)
MOV R4,#38h
MOV R5,#51h
MOV R6,#0EBh
MOV R7,#7Ch
CALL MUL;0.045*ln(as)
MOV R4,#0CCh
MOV R5,#0CCh
MOV R6,#0CCh
MOV R7,#7Bh
CALL SUM;r0=0.045*ln(as)-0.025
MOV R0M1,R0
MOV R0M2,R1
MOV R0M3,R2
MOV R0P,R3
MOV R0,REM1
MOV R1,REM2
MOV R2,REM3
MOV R3,REP
MOV R4,#74h
MOV R5,#24h
MOV R6,#00h
MOV R7,#94h
CALL SUM
JNB ACC.7,FORMULA
MOV AREM1,#00h
MOV AREM2,#00h
MOV AREM3,#00h
MOV AREP,#81h
JMP ENDA
FORMULA:
MOV R0,REM1
MOV R1,REM2
MOV R2,REM3
MOV R3,REP
CALL LN;ln(Re)
MOV R4,#0C0h
MOV R5,#00h
MOV R6,#00h
MOV R7,#83h
CALL SUM;ln(Re)-6
MOV XM1,R0
MOV XM2,R1
MOV XM3,R2
MOV XP,R3
MOV R4,XM1
MOV R5,XM2
MOV R6,XM3
MOV R7,XP
CALL MUL;(ln(Re)-6)^2
MOV R4,#80h
MOV R5,#00h
MOV R6,#00h
MOV R7,#83h
CALL DIV;((ln(Re)-6)^2)/(-4)
MOV R4,#00h
MOV R5,#00h
MOV R6,#00h
MOV R7,#81h
CALL SUM;are=1+((ln(Re)-6)^2)/(-4)
MOV AREM1,R0
MOV AREM2,R1
MOV AREM3,R2
MOV AREP,R3
ENDA:
MOV R0,MM1
MOV R1,MM2
MOV R2,MM3
MOV R3,MP
MOV R4,MM1
MOV R5,MM2
MOV R6,MM3
MOV R7,MP
CALL MUL;m^2
MOV R4,AREM1
MOV R5,AREM2
MOV R6,AREM3
MOV R7,AREP
CALL MUL;are*m^2
MOV R4,R0M1
MOV R5,R0M2
MOV R6,R0M3
MOV R7,R0P
CALL MUL;r0*are*m^2
MOV R4,#00h
MOV R5,#00h
MOV R6,#00h
MOV R7,#81h
CALL SUM;1+r0*are*m^2
MOV KSM1,R0
MOV KSM2,R1
MOV KSM3,R2
MOV KSP,R3
В результаті виконання програми отримаємо значення функції 1.0196.
Для перевірки правильності роботи програми, складено програму в Matlab:
%rozrahunok
clc;clear
t=27;d20=0.097;D20=0.182;Rs=2.1e-5;Re=7.44e5;
atsy=1e-6*(9.903+20.561*(t/1e3)-15.675*(t/1e3)^2);
d=d20*(1+atsy*(t-20));
atD=1e-6*(11.1+7.9*(t/1e3)-3.9*(t/1e3)^2);
D=D20*(1+atD*(t-20));
m=(d/D)^2;
As=1e4*Rs/D;
r0=0.045*log(As)-0.025;
if Re<1e6
Are=1-(log(Re)-6)^2/4;
else
Are=1;
end
Ks=1+r0*m^2*Are
Результати виконання програми:
1.0197
Відносна обчислення мікроконтролером складає:
Висновки
У цьому курсовому проекті було розроблено інтелектуальний давач на базі мікроконтролера 89С51.
Також розроблено:
Структурну схему інтелектуального давача, побудованого на базі мікропроцесорного пристрою, яка в свою чергу складається з:
- мікроконтролера 89С51, який здійснює керування зовнішніми пристроями вводу/виводу;
- аналого-цифрового перетворювача (АЦП TLC 549IP);
- клавіатури;
- восьмирозрядного семисегментного індикатора;
- контролера клавіатури;
- контролера каналу послідовного вводу/виводу;
- блоку живлення;
Роботу контролера клавіатури та РКІ синтезовано в середовищі PLDshell в пункті 3. Результат наведений в п.3.3. та в п.3.4.
Розроблено також електричну схему інтелектуального давача.
Описано принцип роботи клавіатури разом з контролером клавіатури.
Описано принцип роботи семисегментного індикатора разом з контролером індикатора.
Написано програму для програмування програмованого логічного пристрою, який буде обслуговувати клавіатуру та семисегментний індикатор.
Наведено часові діаграми роботи програмованого логічного пристрою для перевірки всіх етапів синтезу контролера.
Написано програму для обслуговування конкретного переривання та для розрахунку функції, заданої в індивідуальному завданні.
Результат виконання програми на асемблері: Кш = 1.0196
Результат виконання програми в середовищі Matlab: Кш = 1.0197
Вищенаведена програма обраховує залежність з точністю
Список літератури
1. Цифрова техніка: Навчальний посібник /Б.Є. Рицар. - Київ: УМК ВО, 1991. - 372с.
2. Жабин В.И., Ткаченко В.В. Однокристальные и микропрограммируемые ЭВМ. - Киев, 1995, 115 с.
3. Стрепко І.Т., Тимченко О.В., Дурняк Б.В. Проектування систем на однокристальних мікро-ЕОМю - К.: Фенікс, 1998. -266с.
Размещено на Allbest.ru
Подобные документы
Розробка термометра на базі мікроконтролера Atmega 8535. Визначення температури через аналогово-цифрове перетворення. Принципова схема пристрою. Варіанти з'єднання ліній портів з сегментами індикатора. Алгоритм роботи мікроконтролера у пристрої.
курсовая работа [1,8 M], добавлен 11.08.2012Докладний опис складових електричної схеми. Характеристика мікроконтролера PIC16F877. Рідкокристалічний індикатор МТ12864А. Призначення виводів рідкокристалічного індикатора. Цифро-аналоговий перетворювач MCP 4921. Алгоритм роботи цифрового генератора.
курсовая работа [1,5 M], добавлен 20.09.2011Аналіз умов та можливостей використання мікропроцесора для керування аналого-цифровим перетворювачем (АЦП). Особливості функціональної схеми АЦП на базі мікроконтролера та програмного забезпечення для функціонування цифрового обчислювального пристрою.
курсовая работа [707,8 K], добавлен 30.06.2010Розробка мікропроцесорного пристрою збору, обробки та відображення інформації, його структурна та принципова електрична схема. Вибір та характеристики диференційного підсилювача, мікроконтролера, цифро-аналогового перетворювача, індикаторного модуля.
курсовая работа [489,6 K], добавлен 18.11.2011Комутування джерел вимірювальної інформації (система з частковим усуненням надмірності). Визначення періоду комутування. Вибір аналого-цифрового перетворювача та мультиплексора, їхні основні параметри. Проектування пристрою керування та його виконання.
курсовая работа [168,9 K], добавлен 25.04.2010Функціональна схема мікроконтролера ATMega8. Розробка робота на базі мікроконтролера ATMega8 з можливістю керування електродвигунами за допомогою програми. Функціональна і принципова схеми пристрою з вибором додаткових елементів, алгоритм його роботи.
курсовая работа [1,3 M], добавлен 08.10.2012Визначення температури в приміщенні, аналіз на задимленість та своєчасна подача сигналів. Структурна схема пристрою, обґрунтування достатності апаратних засобів та програмних ресурсів. Принципова схема пристрою та схема підключення цифрового датчика.
курсовая работа [1,8 M], добавлен 18.09.2010Розробка пристрою термоконтролю на базі мікроконтролера ATMEGA16, який через аналогово-цифрове перетворення визначає значення температури з заданим коефіцієнтом перерахунку. Мікроконтролер, його призначення у приладі. Параметри елементів системи живлення.
курсовая работа [829,7 K], добавлен 15.09.2014Найдоцільніший тип мікропроцесорного пристрою для керування обладнанням - однокристальний мікроконтролер (ОМК). Розробка принципової схеми пристрою контролю температури процесу. Складання програми мікроконтролера та її симуляція в Algorithm Builder.
реферат [2,1 M], добавлен 11.08.2012Створення IN на базі станції АХЕ-10 фірми Ericsson. Інтелектуальні мережі компанії Huawei Technologies TELLIN. Російський варіант IN - АПКУ. Побудова IN на базі обладнання фірми Siemens. Етапи нарощування ресурсів мережі. Основні переваги IN TELLIN.
реферат [1,0 M], добавлен 16.01.2011