Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Інститут телекомунікацій, радіоелектроніки та електронної техніки
Кафедра РЕПС
Курсова робота
з курсу:
“Цифрові пристрої та мікропроцесори в радіотехнічних системах”
На тему: «Розробка пристрою для вимірювання аналогової величини без використання АЦП»
Львів-2006
Зміст
Технічне завдання. 2
Вступ. 3
Розробка апаратного забезпечення. 6
Розробка програмної частини. 9
Висноки. 11
Список літератури. 11
ДОДАТКИ 12
Текст програми на мові Асемблер.
Схема електрична принципова.
Перелік елементів.
1.Технічне завдання
Розробити апаратну частину та програму на мові асемблера пристрою для вимірювання опору в наступних діапазонах:
0..20 Ом;
0..200 Ом;
0..2 кОм;
0..20 кОм.
Забезпечити автоматичний вибір діапазону вимірювань. Вивід результатів вимірювань вивести на «3,5-розрядний» індикатор.
2. Вступ
Сучасний рівень автоматизації в промисловості значною мірою забезпечується застосуванням систем програмного керування на базі мікропроцесорних обчислювальних пристроїв. Тому сфери використання мікропроцесорних пристроїв та систем надзвичайно різноманітні.
Створення МП призвело до появи принципово нових напрямків у створенні і застосуванні цифрової обчислювальної техніки : системи діагностики та контролю, вмонтоване керування складним обладнанням і приладами, багатопроцесорні системи, персональні комп`ютери тощо.
Мікропроцесорна система представляє собою систему обробки інформації та керування, реалізовану на основі сучасної елементної бази і принципу програмного керування. Для побудови мікропроцесорної системи потрібний обмежений набір апаратних ресурсів, а реалізація функцій системи покладається на програмне забезпечення. Таким чином, мікропроцесорні системи – це цифрові системи обробки інформації і керування , функціональні можливості яких визначаються програмним забезпеченням, а взаємозв`язок з зовнішнім середовищем забезпечується зовнішніми пристроями. Мікропроцесорні системи представляють собою комплекс апаратних і програмних засобів, призначених для побудови мікропроцесорної системи.
Процесорні мікро-ЕОМ опрацьовують інформацію трьох видів - дані, адреси та команди програми. над даними виконуються арифметичні та логікові операції, що реалізуються процесором. Опрацювання адрес визначається способом зберігання та доступу до даних і команд і також основана на виконанні арифметичних операцій. Опрацювання команд полягає у перетворенні коду команди в послідовність керуючих впливів (мікро операцій) у відповідності з алгоритмом виконання команди. Кожна мікро операція виконується за фіксований проміжок часу, а вся сукупність виконання команди протягом повного циклу утворює мікропрограму. Під керуванням мікропрограми виконується опрацювання даних та адрес і керування іншими пристроями мікропроцесорної системи через внутрішньо системний інтерфейс. Внутрішньо системний інтерфейс реалізується частіше на основі єдиної системної шини, по якій передаються адреси, дані та команди. При цьому для передачі даних і команд використовується загальна шина даних, адреси можуть передаватися по окремій шині адрес або по сумісній шині даних\адрес.
Мікроконтролер МК-51 виконаний на основі високорівневої n-МОН технології і випускається у корпусі ВІС, що має 40 зовнішніх виводів. Для роботи МК51 потрібно одне джерело електроживлення +5 В. Через чотири програмувальних порти введення/ виведення МК51 взаємодіє із середовищем у стандарті ТТЛ схем із трьома станами виходу.
Корпус МК51 має два виводи для підключення кварцового резонатора, чотири виводи для сигналів, керуючих режимом роботи МК, і вісім ліній порту Р3, що можуть бути запрограмовані користувачем на виконання спеціалізованих (альтернативних) функцій обміну інформацією із середовищем.
Основу схеми МК51 утворює внутрішня двонаправлена 8-бітна шина, що зв'язує між собою всі основні вузли і пристрої: резидентну пам'ять, АЛП, блок регістрів спеціальних функцій, пристрій керування і порти введення/ виведення.
Пам'ять програм і пам'ять даних, розміщені на кристалі МК51, фізично і логічно розділені, мають різні механізми адресації, працюють під керуванням різних сигналів і виконують різні функції.
Усі чотири порти МК51 призначені для введення чи виведення інформації побайтно. Кожен порт містить керовані регістр-заслін, вхідний буфер і вихідний драйвер.
Порт Р0 є двонаправленим, а порти Р1, Р2 і РЗ - квазідвонаправленими. Кожна лінія портів може бути використана незалежно для введення чи виведення інформації. Для того щоб деяка лінія порту використовувалася для введення, у D-тригер регістра-заслону порту повинна бути записана 1, що закриває МОН-транзистор вихідного ланцюга.
3. Розробка апаратного забезпечення.
В даній курсовій роботі для моделювання та симуляції роботи пристрою для вимірювання опору було використано програмне забезпечення Proteus 6.5
В якості мікроконтролера було використано мікроконтролер AT89C51 сімейства Intel 8051
Параметри мікроконтролера:
Обсяг внутрішньої памяті програм, байтів………..………………. 4К
Обсяг внутрішньої памяті даних, байтів…………….……………..128
Максимальна частота слідування тактових сигналів Fтmах, МГц..12
Струм споживання Ісс (при Fтmах=12 МГц),мА......................... 150
Напруга живлення Uсс, В........................................................4,0-6,6
Вихідна напруга високого рівня, В...................................... .....> 2,4
Вихідна напруга низького рівня, В............................................< 0,4
Вихідний струм високого рівня, мкА.........................................< 60
Вихідний струм низького рівня, мА.......................................... < 15
Завданням даної курсової роботи є вимірювання опору без використання АЦП. Тому, як вхідну ланку проектованої мікропроцесорної системи (МПС), ми будемо використовувати RC-ланку, однією віткою якої є невідомий резистор, опір якого нам необхідно визначити. Основним параметром такої ланки є стала часу:
EMBED Equation.3 . Вона прямо пропорційна опору, який ми визначаємо, тому знаючи ємність конденсатора і коефіцієнт k, вимірявши час заряду конденсатора при подачі на RC-ланку стрибкоподібної напруги, можемо визначити невідомий опір.
t1 t2
Рис 1. Принцип вимірювання опору
EMBED Equation.3
EMBED Equation.3 ;
EMBED Equation.3 ;
звідки:
EMBED Equation.3
EMBED Equation.3
де
t – час заряду конденсатора,
K – постійний коефіцієнт ( EMBED Equation.3 ),
R – опір, через який заряджається конденсатор і який необхідно визначити ,
C – ємність, що заряжається.
Постійний коефіцієнт визначається вхідною напругою RC-ланки та вихідною, яка залежить від опорної напруги, при якій спрацьовує компаратор DA1. Опорна напруга задається транзистором VT2.
Робота системи починається відкриванням транзистора VT1, який розряджає конденсатор. Після чого транзистор закривається і конденсатор заряджається. При цьому починає працювати лічильник, значення якого пропорційне значенню опору. Вихід компаратора узгоджений з МК буфером DD1. При спрацюванні компаратора сигнал з його виходу надходить через буфер DD1 на вхід INT0. Це, в свою чергу, зупиняє лічильник. Значення лічильника опрацьовується МК і виводиться на 4-розрядний 7-сегментний індикатор, який в даному пристрою працює в режимі «3,5-розрядного» індикатора.
Вибір діапазону вимірювань проводиться за допомогою реле К1 та К2, до контактів яких під’єднано конденсатори з відповідними ємностями, що відповідають кожному з діапазонів.
В якості компаратора використано мікросхему TL062. Це є здвоєний операційний підсилювач. Його характерною особливістю є те, що він має польові транзистори на входах. Це забезпечує низьку похибку і високу стабільність результатів. Ця мікросхема має низьке значення дрейфу нуля, що забезпечує високу часову стабільність калібрувальної характеристики.
Основні характеристики:
Напруга живлення……………………….±3,5-±18 В;
UЗМ……………………………………..….6 мВ;
ІВХ………………………………………….0,0002 нА;
RВХ…………………………………………100000 МОм;
Споживана потужність……………….…7,5 мВт;
Для розряду використано польовий транзистор 2N6660. Він має низькі струми витоку, щоб не впливати на струм заряду конденсатора. Також цей транзистор повинен має низький опір у відкритому стані для ефективного розряду конденсатора.
Основні характеристики:
Максимальна потужність Рmax (РСЕРmax)………………6,25 Вт;
UСВmax……………………………………………….…….54-66 В;
UЗВmax…………………………………………….……….27-33 В;
ІCmax……………………………………………….……...1,8-2,2А;
RСВ відкр………………………………………………...2,7-3,3 Ом;
ІС поч……………………………………….………………0,01 мА;
Крутизна S…………………………………………..170-195 мА/В;
4. Розробка програмного забезпечення
Текст програми на мові Асемблер наведено в Додатку 1.
Алгоритм роботи програми представлено наступною блок-схемою:
Рис 2.Блок-схема програми
В даній програмі використовується апаратний лічильник.
На початку програми ми задаємо режим роботи лічильника, а також онуляємо його. Вивіши на порт Р3.3 сигнал ми відкриваємо транзистор, тим самим розряджаємо конденсатор. Очистивши порт Р3.3 ми заряджаємо конденсатор і в наступній команді даємо дозвіл на запуск таймера. В циклі «Wait» чекаємо поки на вхід Р3.2 не прийде сигнал від компаратора. Якщо спрацьовує компаратор, автоматично зупиняється таймер і починає виконуватись підпрограма двійково-десяткового конвертування значення лічильника. В цій підпрограмі виконується звертання на приєднану допоміжну програму “Math”, в якій виконуються допоміжні арифметичні операції.
Здійснивши перетворення, робиться перевірка діапазону. Якщо значення виходять за межі діапазону, то перемикаємо реле та повертаємось на початок програми.
Після того як діапазон вибраний правильно виконується підпрограма індикації результатів. В цій підпрограмі почергово виводяться на 4-розрядний індикатор кожен з розрядів. Індикація відбувається у безперервному циклі.
Висновки:
Під час виконання курсової роботи було ознайомлено з програмою Proteus. Було спроектовано вимірювач опору який відповідає заданим в технічному завданні параметрам. Внаслідок використання великих ємностей при вимірюванні опору в діапазоні 0..20 Ом похибка вимірювань є значною. На решті діапазонів похибка не перевищує 5%
Список використаної літератури:
Костинюк Л. Д., Паранчук Я. С., Щур І. З., Мікропроцесорні засоби та системи : Навчальний посібник. 2-ге вид., перероб., доп., - Львів. Видавництво НУ ”ЛП”, 2002.-200с.
Погорелый, Слободянюк. Програмное обеспечение микропроцесорных систем. Справачник – К.: Техника, 1988. – с. 5 – 45.
Калабеков Б. А. Микропроцессоры и их применение в системах передачи и обработки сигналов: Учеб. пособиє для вузов. – М.:Радио и св’язь, 1988. – 368с.
Балашов Е. П., Пузанков Д. В. Микропроцессоры и микропроцессорные системы: Учеб. пособие для вузов /Под. ред. В. Б. Смолова.- М.: Радио и связь, 1981 – 328 с.
Додаток 1
;(с)Басараба (текст програми на мові асемблер)
;===========================================================
org 0000h ;вектор рестарту
jmp start
org 0003h
jmp int
org 0100h ;старт програми
;блок пам’яті
Decode: DB 11000000b ;"0"
DB 11111001b ;"1"
DB 10100100b ;"2"
DB 10110000b ;"3"
DB 10011001b ;"4"
DB 10010010b ;"5"
DB 10000010b ;"6"
DB 11111000b ;"7"
DB 10000000b ;"8"
DB 10010000b ;"9"
DB 10100111b ;"c" кОм
DB 10100011b ;"ohm" Ом
start: mov IE,#81h
mov tmod,#9h
mov tl0,#0 ;ініціалізація молодших бітів таймера
mov th0,#0 ;ініціалізація старших бітів таймера
setb P3.3 ;розряд конденсатора
call delay
clr P3.3 ;заряд конденсатора
mov tcon,#10h ;старт таймера
wait: mov a,P3 ;чекаємо поки спрацював компаратор
anl a,#8
jz wait
;підпрограма конвертування вмісту таймера
mov R3,#27h
mov R2,#10h
push 6
push 7
call UDIV16 ;виклик підпрограми з стандартної ;програми математичних оперецій math
pop 7
pop 6
mov a,r0
swap a
mov r7,a
mov a,r3
mov r1,a
mov a,r2
mov r0,a
mov r3,#03h
mov r2,#0E8h
push 6
push 7
call UDIV16
pop 7
pop 6
mov a,r0
add a,r7
mov r7,a
mov a,r3
mov r1,a
mov a,r2
mov r0,a
mov r3,#00h
mov r2,#64h
push 6
push 7
call UDIV16
pop 7
pop 6
mov a,r0
swap a
mov r6,a
mov a,r3
mov r1,a
mov a,r2
mov r0,a
mov r3,#0h
mov r2,#0Ah
push 6
push 7
call UDIV16
pop 7
pop 6
mov a,r0
add a,r6
mov r6,a
mov a,P3
anl a,#30h
jz indicate ;на підпрограму індикації
mov a,R7 ;перевірка діапазону
jnz indicate
mov a,R6
subb a,#21h
jnc indicate
mov a,P3
subb a,#10h
mov P3,a
jmp start
indicate: mov a,P3 ;підпрограма індикації
anl a,#3ch
mov P3,a
st: mov dptr,#Decode
call segm4
call segm3
call segm2
call segm1
jmp st
segm4: mov a,R7 ;індикація 1-го розряду
movc a,@a+dptr
mov P1,a
clr c
mov a,P3
anl a,#30h
subb a,#20h
jnz loop1
clr P1.7
loop1: setb P3.0
call stand
clr P3.0
ret
segm3: mov a,r6 ;індикація 2-го розряду
anl a,#0f0h
swap a
movc a,@a+dptr
mov P1,a
clr c
mov a,P3
anl a,#30h
jz loop2
subb a,#30h
jnz loop3
loop2: clr P1.7
loop3: setb P3.1
call stand
clr P3.1
ret
segm2: mov a,r6 ;індикація 3-го розряду
anl a,#0fh
movc a,@a+dptr
mov P1,a
loop4: setb P3.6
call stand
clr P3.6
ret
segm1: mov dpl,#0ah ;індикація 4-го розряду
clr c
mov a,P3
anl a,#30h
jz loop5
subb a,#10h
jnz loop6
loop5: inc dpl
loop6: mov a,#0
movc a,@a+dptr
mov P1,a
setb P3.7
call stand
clr P3.7
ret
stand: mov a,#0FFh
clock: dec a
jnz clock
ret
delay: push acc
mov R3,#03Fh
k1: mov a,#0FFh
k2: dec a
jnz k2
mov a,R3
dec R3
dec a
jnz k1
pop acc
ret
int: mov R0,tl0
mov R1,th0
setb P3.3
clr tcon.4
reti
$include math.asm
End
Додаток 2