Реферати українською » История » Мікропроцесори та мікро-ЕОМ в РЕЗ


Реферат Мікропроцесори та мікро-ЕОМ в РЕЗ

Про. У.Байдакова

Московська державна академія приладобудування і інформатики

Москва, 2001

Текст завдання. Розробити автоматизовану систему відбракування резисторів з виробництва. Виготовленірезистори необхідно розсортувати по допускам і розмістити у окремі контейнери. Управління операціями із сортування здійснюється роботом, який бере черговий резистор й поміщає їх у затиск, він також після виміру опору виймає його й кладе в відповідний контейнер. Вимірювання опору проводитися з урахуванням виміру напруги нарезисторе під час проходження нього відомого струму, т. е.Rизм.=Uизм./Iеталон. Управління роботом і вимірами здійснюється МШС. Її функції такі:

Видача команди роботу на установку резистора;

Перевірка, встановлено чи резистор;

Проведення виміру опору резистора;

Команда роботу зняти резистор і вмістили його у заданий контейнер.

Необхідно передбачити включення режиму “еталонний резистор”- т. е. Вимірювання і занесення на згадку про номінального значення на зміну партії резисторів. Потрібно вибрати значення “еталон” для даного номіналу резистора, щоб вихідний напруга вимірника відповідало діапазону вхідних напругАЦП. Необхідно у пам'яті підрахувати число резисторів, яких спіткало кожен контейнер. Передбачити запалювання світлодіода “поза допуску” приизмеренном опір резистора, яке входить у найширший поставлене допуск.

Вихідні дані для проектування:

Кількість полів допуску: 2

Діапазон номіналів резисторів:1…100Ом

Поля допуску: 5 і десяти %

Вигляд мікропроцесорної системи:К1816ВЕ48

Запровадження

У цьому курсової роботі описується вибракування резисторів з виробництва.Резистори сортуються по допускам і розкладаються на відповідні контейнери. Якщо опір не входить ані за діапазон допуску, він міститься у окремий контейнер і включає сигнал, що попався шлюб. Систему побудовано намикропроцессореК1816ВЕ48.

Вимірювання опору здійснюватися у вигляді виміру падіння напруги на досліджуваномурезисторе при пропущенні нього фіксованого струму.

Працює система так:

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

Далі цикл спочатку.

Попереднє розподіл пам'яті

Попереднє розподіл пам'яті у системі показано на рис. 2.1. Т. до. програма, управляюча системою швидше все буде порівняно невеличкий, вона вся поміститися у внутрішньому ПЗУ процесора (пам'яті комп'ютера), на малюнку зображено лише ця пам'ять; зовнішні ПЗУ тож і тому розподіл їм не показано.

Система опрацьовуватиме порівняно невеличкий обсяг даних, тому показання на схемою розподілу пам'яті даних область “>ОЗУ даних” швидше за все залишиться незадіяної.

>3FFh

>YYYh

>XXXh

>000h

Вільно

>3Fh

>20h

>1Fh

>18h

>17h

>08h

>07h

>00h

>ОЗУ даних
Банк регістрівRB1
>Подпрограмма
>8-уровневий стік
Програма, управляюча роботою системи
Банк регістрівRB0

Пам'ять команд Пам'ять даних

3. АЛГОРИТМ ФУНКЦІОНУВАННЯМИКРОПРОЦЕССОРНОЙ СИСТЕМИ.

>Укрупненная структурна схема алгоритму програми, керуючої процесором, зображено на рис. 3.1.

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

Далі йде установка і вимір опору чергового резистора.Считанное зАЦП значення опору піддається обробці процесором і обчислюється відсоток відхилення опору резистора від еталонного. Залежно від значення цього відхилення процесором видається команда роботу розміщення резистора у певному контейнері і підвищення на одиницю відповідного лічильника резисторів.

Далі аналізується стан перемикача “ЕТАЛОН”. Якщо він замкнутий, то знову виробляється заміна у пам'яті еталонного опору і обнуління лічильників. Якщо це перемикач розімкнений, то система починає обробку наступного резистора.




4. РОЗПОДІЛ РЕСУРСІВ

У регістріR0 банку 0 перебуває поточне еталонне опір. Інші регістри банку 0 використовуються в мері потреби для зберігання проміжних результатів тимчасової збереження вмісту акумулятора.

У регістріR0 банку 1 перебуває лічильник кількості резисторів з опором поза допуску.

У регістріR2 банку 1 перебуває лічильник кількості резисторів з відхиленням трохи більше 10% від еталона.

У регістріR2 банку 1 перебуває лічильник кількості резисторів з відхиленням трохи більше 10% від еталона.

У регістріR2 банку 1 перебуває лічильник кількості резисторів з відхиленням трохи більше 10% від еталона.

У регістріR2 банку 1 перебуває лічильник кількості резисторів з відхиленням трохи більше 10% від еталона.

У регістріR2 банку 1 перебуває лічильник кількості резисторів з відхиленням трохи більше 10% від еталона.

Через висновокР10 процесору повідомляється режим роботи:

сортування резисторів по допускам;

зміна еталонного опору.

Через висновокР20 роботу видається команда “встановити резистор”. Активне стан – 1.

Через висновокР21 роботу видається команда покласти резистор в контейнер “ПОЗАДОПУСКА”. Активне стан – 1.

Через висновокР22 здійснюється запускАЦП. Активне стан – 0.

Через висновкиР25,Р26,Р27,Р28 іР29 роботу видається команда покласти резистор в контейнер з допуском відповідно. Активне стан – 1.

На висновокТ0 від робота надходить 1, якщо резистор встановлено.

На висновокТ1 відАЦП надходить 1, коли дані готові до зчитуванню.

Програма у пам'яті починається з адреси000h.

ПРОГРАМА РОБОТИ СИСТЕМИ.

Адреса Код Кількість циклів Мітка >Мнемоника Коментар

000

002

003

004

008

>00А

>00С

>00D

>00F

010

011

12

013

015

017

018

019

>01A

>01B

>01D

>01E

020

021

023

024

026

027

028

>02A

>02B

>02C

>02D

>02E

>02F

030

031

032

033

034

035

037

038

>03A

>03B

>03C

14 70

>A8

>D5

>D8 00

BA 00

>BB 00

>C5

14 70

33

17

68

>AB

53 80

>C61B

>FB

07

33

>AB

>BC 64

>FB

BA 00

>6B

>E6 24

>1A

>EC 20

>A9

97

>BB 08

F9

>F7

>A9

>FA

>F7

>AA

F8

33

17

>6A

>A7

F6 38

F8

>EB2A

F9

>F7

>A9

2

1

1

2

2

2

1

2

1

1

1

1

2

2

1

1

1

1

2

1

2

1

2

1

2

1

>Change:CallMeas

>MOVR0.A

>SELRB1

>MOVR0,00h

>MOVR2,00h

>MOVR3,00h

>SELRB0

>Work:CALLMeas

>CPL A.

INC A

>ADD A,R0

>MOVR3, A

>ANL A,80H.

>JZMul.

>MOV A,R3

>DEC A

>CPL A

>MOVR3, A.

>Mul:MOVR4,64h

>MOV A,R3

>MOVR2,00h

M1:ADD A,R3

>JNCM2

INCR2

>M2:DJNZR4, M1

>MOVR1, A

>CLR З

>MOVR3,08h

>M3:MOV A,R1

>RLC A

>MOVR1, A

>MOV A,R2

>RLC A

>MOVR2, A

>MOV A,R0

>CPL A.

INC A

>ADD A,R2

>CPL З

>JCM4

>ADD A,R0

>M4:DJNZR3,М3

>MOV A,R1

>RLC A

>MOVR1, A

;Виклик підпрограми виміру опору резистора ;Запам'ятаємо вR0 еталонне опір.

;>Подключим банк регістрівRB1.

;>Обнуление лічильника

;>Обнуление лічильника

;>Обнуление лічильника

;>Подключим банк регістрівRB0.

;Вимірювання опору резистора.

;>Инвертирование вмісту акумулятора

;>А=А+1А в додатковому коді.

;>Вичитаем з еталонного опору обмірюване:А=R0-А.

;>Спасаем А регістріR3

;Перевіряємо знаковий біт

;ЯкщоА>0, то переходимо на міткуMul

;Відновимо вміст А.

;>А=А-1

;>Инвертирование А; А- у прямому коді.

;Збережемо вміст А

;УR4- число повторень циклу- 10010

;У акумуляторі- різницю між обмірюваним і еталонним ;опорами, узята по модулю.

;>Обнуление регіструR2

;>А=А+R3.

;ЯкщоА+R3FFh, то переходимо на М2.

;Враховуємо перенесення (>А+R3>FFh).

;>Уменьшаем лічильник циклу. ЯкщоR4>0- повторюємо цикл.

;>Копируем акумулятор в регістрR1

;Після множення в регістріR1 буде молодший байт

;твори, вR2- старший, т. е.R2R1=Nет-N*100.

;>Разделим вміст цієї пари регістрів насодержимой

;регіструR0 (еталон).

;>Обнуляем прапор перенесення.

;Лічильник циклу.

;ВА- молодший байт твори.

;>Циклический зрушення вліво через прапор перенесення.

;>R1=А

;ВА- молодший байт твори.

;>Циклический зрушення вліво через прапор перенесення

;>R2=А

;ВА- еталонневопротивление (дільник).

;>Инвертирование вмісту акумулятора

>А=А+1 На додатковому коді

;>А=R2-А

;Инвертирование прапора перенесення

;Якщо прапор З встановлено, переходимо наМ4.

;>А=А+R0

;>Уменьшаем лічильник циклу. ЯкщоR3>0, то повторюємо цикл. ;>А=R1

;циклічний зрушення вліво через прапор перенесення.

; УR1- результат розподілу, т. е. відхилення у відсотках виміряного опору від еталонного.

;перевірка на належність до групі по допуску.

>03D

>03F

041

042

043

044

046

047

049

>04A

>04C

>04E

>04F

050

051

053

054

056

057

058

059

>05B

>05C

>05E

>05F

060

062

03 F6

>E6 49

>D5

18

>C5

23 06

>3A

045C

F9

03FB

>E6 56

>D5

>1A

>C5

23 44

>3A

045C

>D5

>1B

>C5

23 24

>3A

23 04

>3A

09

12 00

040D

2

2

1

1

1

2

2

2

1

2

2

1

1

1

2

2

2

1

1

1

2

2

2

2

2

2

2

>P 10:

>P 5:

Mode:

>ADD

>JNC

>SEL

>IBC

>SEL

>MOV

>OUTL

>JMP

>MOV

>ADD

>JNC

>STL

INC

>SEL

>MOV

>OUTL

>JMP

>SEL

INC

>SEL

>MOV

>OUTL

>MOV

>OUTL

IN

>JB0

>JMP

A.F6h

>P10

>RB1

>R0

>RB0

A,06h

>P2, A

Mode

A,R1

A,FBh

>P5

>RB1

>R2

>RB0

A,44h

>P2, A

Mode

>RB1

>R3

>RB0

A,24h

>P2, A

A,04h

>P2, A

A,P1

>Change

>Work

;>А=А-1010

;ЯкщоА<1010, то переходимо наР10

;>Подключаем банк регістрівRB1

;>Увеличиваем лічильник резисторів “ПОЗАДОПУСКА”

;>Подключаем банк регістрівRB0

;Встановлюємо 1-ї та 2-ї біти в одиницю

;Командароботу–положить резистор в контейнер “поза допуску”

;>Пропускаем інші відхилення

;>A=R1

;>A=A–5

;ЯкщоА<5, то переходимо наР5

;>Подключаем банкрегисторовRB1

;>Увеличиваем лічильник резисторів з відхиленням до 10%

;>Подключаем банк регістрівRB0

;Встановлюємо в одиницю2–й і6–й біти

;Команда роботу – покласти резистор в контейнер “10%”

;Пропускаем відхилення 5%

;Подключаем банк регістрівRB1

;>Увеличиваем лічильник резисторів з відхиленням до 5%

;Подключаем банк регістрівRB0

; Встановлюємо в одиницю2–й і5–й біти

; Команда роботу – покласти резистор в контейнер “10%”

; Встановлюємо в одиницю лише2–й біт

;Знімаємо все активні сигнали з портуР2

;Читаємо портР1

;Нульовий біт встановлено уединицу–команда зміни еталона.

;Перевіряємо наступний резистор.

070

072

073

075

077

079

>07В

>07С

>07Е

>07D

23 05

>3A

26 73

>9A 00

>8A 04

56 79

09

127B

08

83

2

2

2

2

2

2

2

2

2

2

>Meas:

>W1:

>W2:

>W3:

>MOV

>OUTL

>JNT0

>ANL

>ORL

>JT1

IN

>JB0

>INS

>RET

A,05h

>P2, A

>W1

>P2,00h

>P2,04h

>W2

A,P1

>W3

A,Bus

; Встановлюємо в одиницю0–й і2–й біти

; Команда роботу –встановити резистор

;Чекаємо установки резистора

;НаАЦП-сигнал “розпочати вимір”

;>Убираем все активні сигнали з портуР2

;Чекаємо закінчення виміру

;Чекаємо вимикання режиму

; “еталонне опір”

;>Считиваем зАЦП значення опору

;Повернення в основну програму.

До отриманої програмі важко буде вжити термін “швидкодія”, цього кілька причин:

У конкурсній програмі кілька затримок невизначений час ( ці затримки визначаються роботом);

Програма має сильно розгалужену структуру, а вибір галузі деяких випадках залежить від зовнішніх умов;

Програма є нескінченний цикл, т. е. програма виконується із моменту внесення системи та до вимикання.

А, щоб усе-таки оцінити швидкодія, зробимо деякі припущення: припустимо, що зовнішні устрою незатормаживают систему, т. е. якщо система видає запит в зовнішні устрою, результат приходить миттєво. Отже буде пораховано швидкодія власне програми.

Для визначеності приймемо, що систему працює у режимі сортування, еталонне значення вже занесено на згадку про й у вимірювач встановлено резистор з десятьма% допуском.

Оскільки програма зациклену, порахуємо кількість машинних циклів за прохід програми:

>2+210+14+2+2+14+2+1+2+1+(1+2+1+2)100+1+1+2+(111+2+1+2)8+1+1+1+2+2+2+1+2+2+1+1+1+2+2+2+1+1+1+27=812 циклів

До процесору підключений кварцовий резонатор на частоту 6 МГц, отже тактова частота процесора дорівнює 6/3=2 МГц; певний час самого такту одно 0, 5 мкс. Один машинний цикл дорівнює п'яти тактам, т. е. 2, 5 мкс.

Час виконання одного циклу програми одно8122, 5=2030 мкс » 2 мс.

6. КОНТРОЛЬНИЙ ПРИКЛАД

Напруга, подаване наАЦП, одноU=IетR;Iет = 0, 025 А

Вхідні дані:Rет =51Ом;Rизм = 53Ом;Uет =IетRет = 0, 025А51Ом = 1, 28 У

ЗАЦП на згадку прозапишеться число 128 =80h, т. е. (>R0) =80h

U =IетRет = 0, 025А53Ом = 1, 33 У

ЗАЦП в акумуляторзапишеться число 133 =85h.

Знаходимо модель різниці еталонного і виміряного опорів:

>Rет –>Rизм=128-133=-5=5


Відхилення у відсотках перебувати за такою формулою:

і саме з цієї формули працює написана вище програма.

Множимо різницю на 100:Rет –>Rизм100=500

Ділимо отримане число наRет/800/102 = 3, т. до. розподілцелочисленное.


Отже, у програмі виходить, щоRизм має відхилення 3% від номіналу. НасправдіRизм має відхилення

Кількість, отримане програмою, і кількість, розраховане безпосередньо, досить близькі друг до друга.

Система розмістить даний резистор в контейнер з допуском 5%.

>ЗАКЛЮЧЕНИЕ

У процесі роботи було розроблено систему, здатна розсортувати партію резисторів по допускам 5, 10% і шлюб. Система також підраховує число резисторів кожного допуску.

У устрої передбачена можливість зміни еталонного опору, записаного у пам'яті, на зміну партії резисторів.

При кожному потраплянні резистора з відхиленням понад десять% система подає світловий сигнал.

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

>Микропроцессори. У3–х кн.Кн. 1. Архітектура і проектуваннямикро–ЭМВ. Організація обчислювальних процесів: Підручник для вузів. Під редакцією Л. М.Преснухина. – М.: Вищу школу, 1986 р.

>Калабеков Б. А.Микропроцессори та їх застосування в системах передачі й обробки сигналів: Навчальний посібник для вузів. – М.: Радіо і зв'язок, 1988 р.

У. М. Пильщіков.Програмирование мовою асемблер IBM PC. – М.: Діалог МІФІ, 1994 р.

Для підготовки даної праці були використані матеріали із російського сайтуreferat/


Схожі реферати:

Навігація