Підрахунок і індикація деталей

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

З А Д А Н Н Я № 13 на курсову роботу з дисципліни "Основи мікропроцесорної техніки"

Розробити принципову схему і програму функціонування мікропроцесорної системи, виконаної на базі однокристального мікроконтролера серії МК51, що здійснює підрахунок і індикацію кількості деталей різного розміру на конвеєрі. Наявність деталей визначається трьома фотодатчиками, визначальними наявність і розмір деталей. Індикація виробляється на чотирирозрядний індикаторі. 1 - розряд тип деталі, 3 розряду - кількість.

Викладач

ЗМІСТ

Введення

1. Функціональна схема

2. Розробка принципової схеми системи

2.1 Мікроконтролер МК51

2.2 Дешифратор К514ІД1

2.3 Індикатор АЛС 324А

2.4 Елементи електричної схеми

3. Алгоритм роботи програми

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

ВЕДЕННЯ

Розвиток мікроелектроніки і широке застосування її виробів на промисловому виробництві, в пристроях і системах управління найрізноманітнішими об'єктами і процесами в даний час одним з основних напрямів науково-технічного прогресу.

У мікроелектроніці бурхливий розвиток отримало напрямок пов'язане з випуском однокристальних мікроконтролерів, які призначені для інтелектуалізації устаткування різного призначення. Однокристальний (однокорпусні) мікроконтролери є прилади, конструктивно виконані у вигляді ВІС і включає в себе всі складові частини голою мікро ЕОМ: мікропроцесор, пам'ять програм і пам'ять датчик, а також програмовані інтерфейсні схеми для зв'язку із зовнішнім середовищем.

Використання мікроконтролерів в системах управління досягнення винятково високих показників ефективності при такій низькій вартості, що мікроконтролером, мабуть, немає розумної альтернативної елементної бази для побудови керуючих і регулюючих систем. [1.стр3]

  1. ФУНКЦІОНАЛЬНА СХЕМА

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

Рис.1 Функціональна схема

Коли деталь проходить місце, де встановлений фотодатчик (ФД), з нього на вхід мікроконтролера надходить сигнал високого рівня. Після проходження деталі сигнал знову стає низького рівня. Ці імпульси вважає однокристальна ЕОМ (ОМ ЕОМ), а результат видається через свій порт на дешифратор (Д), з якого число надходить на індикатор.

У процесі підрахунку та індикації деталей може бути натиснута кнопка «ВСЬОГО» - висвічується повну кількість деталей, що пройшли з моменту включення конвеєра.

«Скидання»-йде підрахунок деталей минули після натискання кнопки.

Сигнали від них надходять на входи Р0.1 і Р0.0 порту Р0.

2.РАЗРАБОТКА ПРИНЦИПОВОЇ СХЕМИ СИСТЕМИ

На рис.6 зображена принципова схема мікропроцесорної системи, що здійснює підрахунок і індикацію деталей різного типу на конвеєрі. Вона складається з наступних елементів:

2.1 Мікроконтролер КМ1816ВЕ51

Конструктивно він виконаний в корпусі БІС з 40 зовнішніми виводами. Усі висновки електрично сумісні з елементами ТТЛ: входи представляють собою одиничну навантаження, а входи можуть бути навантажені однієї ТТЛ навантаженням. Загальний вигляд корпусу МК51 показаний на рис.2.

Рис.2 Мікроконтролер КМ1816ВЕ51

VSS - потенціал землі, VCC - основна напруга живлення, EA / VPP-при подачі на нього сигналу високого рівня забороняє роботу із зовнішньою пам'яттю, RST - вхід сигналу загального скидання при запуску МК, Х1, Х2-входи для підключення висновків кварцового резонатора.

ОСНОВНІ ПАРАМЕТРИ Мікроконтролери КМ1816ВЕ51:

Пам'ять програми (ПЗУ або СППЗУ) має ємність 4Кбайта і призначена для зберігання команд, констант, керуючих верств ініціалізації, таблиць перекодування вхідних і вихідних змінних і т.п.; РПП має 16 - бітну шину адреси, через яку забезпечується доступ з лічильника команд або з регістра покажчика даних; пам'ять ОЗУ призначена для зберігання змінних в процесі виконання програм, адресується одним байтом і має ємність 128 байт. Пам'ять програм, так само як і пам'ять даних може бути розглянута до 64 Кбайт шляхом підключення зовнішніх ВІС; двох байтний регістр покажчик даних (РПД), зазвичай використовується для фіксації 16 - бітного адреси в операціях, зі зверненням до ВП.

2.2 Дешифратор К514ІД1

Для виведення даних з портів мікроконтролера на індикатор використовуємо дешифратор К514ІД1 для семисегментного напівпровідникового цифрового індикатора з роз'єднаними анодами сегментів (рис.3).

Рис.3 Дешифратор К514ІД1

Гранично допустимих режимах ЕКСПЛУАТАЦІЇ:

Струм навантаження на кожному виході 22мА, напруга джерела харчування - не більше 5,25 В, вхідна напруга - не більш 55,25 В.

2.3 Індикатор АЛС 324А

Для візуальної індикації кількості і типу деталі використовуємо індикатор АЛС 324А - знаковий індикатор червоного кольору в пластмасовому корпусі (рис. 4).

Рис.4 Індикатор АЛС 324А

Різні комбінації елементів, забезпечувані зовнішньої комутацією, дозволяють відтворювати цифри від 0 до 9. Випромінювання світла відбувається при попаданні прямого струму. У індикатора АЛС 324А елементи мають загальний катод (рис. 4).

Електричних та світлових параметрів:

- Сила світла при прямому струмі 20 мА через елементи, не менш 0.15мкд.

- Постійне пряме напруга на кожному елементі при струмі 20 мА, не більше 2.5 В.

ГРАНИЧНО ЕКСПЛУАТАЦІЙНІ ДАНІ:

Зворотне напруга будь-якої форми і періодичності при t ос від -60 0 до

+35 0 С - 5В; постійний прямий струм через елемент при t ос від -60 0 до

+35 0 С - 25мА; температура навколишнього середовища від -60 0 до +70 0 С.

2.4 Елементи електричної схеми

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

Рис.5 Кварцовий резонатор.

Опорну частоту синхронізації МК визначає кварцовий резонатор, що підключається до висновків Х1 та Х2. Х1 є входом, а Х2 - виходом генератора, здатного працювати в діапазоні частот від 1 до 12 МГц. До складу генератора МК входять два лічильники з модулями перерахунку 3 і 5. Перший використовується для формування сигналу системою синхронізації (0,5 мкс). Цей же сигнал надходить на лічильник машинних циклів, на вході якого через кожні п'ять сигналів синхронізації формується сигнал САВП (2.5 мкс), що ідентифікує машинний цикл і використовуваний в розширених МК системах для стробування адреси зовнішньої пам'яті.

3. АЛГОРИТМ РОБОТИ ПРОГРАМИ

Підпрограма очікування імпульсу

3.1 Опис алгоритму роботи і програми

Для простішої реалізації натискання кнопок «Скидання» і «Разом» будемо використовувати два лічильники: С1 і С.

С1 лічильник, який буде вважати всі деталі пройдені після включення конвеєра; З лічильник, який вважає після чергового натискання кнопки «Скидання».

ОПИС АЛГОРИТМУ РОБОТИ:

а) ініціалізація обнуляє лічильники кількості деталей (регістри R 0, R 1, R 2, R 3);

б) предустановки. Очищує вміст регістрів R 0, R 1, R 2, R 3;

в) очікує появи на вхід Р0.7 імпульсу високого рівня (проходження деталі), якщо імпульс прийшов, то очікується поява імпульсу низького рівня (деталь пройшла);

г) після цього збільшується вміст лічильника на 1;

д) проводимо перевірку кнопки «Скидання» і «Разом»;

е) виводимо на індикатор вміст лічильника;

ж) здійснюємо перевірку лічильника С1.

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

; Ініціалізація

INIT: MOV R1, # 0h

MOV R3, # 0h

JNB P0.7, L1; очікування появи сигналу високого рівня

L2: JB P0.7, L2; очікування появи сигналу низького рівня

; Збільшуємо вміст абсолютного лічильника

; R0-молодший розряд, R1-старший розряд

INC R0

MOV A, R0

DA A; десяткова корекція акумулятора

MOV R0, A

MOV A, 0h

ADDC A, R1; якщо R0 переповнений

DA A

MOV R1, A

; Аналогічно ведеться підрахунок деталей і у відносному режимі

; Перевірка натискання кнопки "Скидання"

L1: JB P0.0, L3; якщо "Скидання" віджата (високий рівень), то перехід на мітку L3

MOV R2, # 0h; якщо "Скидання" натиснута, то Обнуляємо лічильник З

MOV R3, # 0h

; Перевірка натискання кнопки "Всього"

L3: JB P0.1, L4; якщо "Всього" віджата (високий рівень), то перехід на мітку L4

MOV A, R0; якщо "Всього" натиснута, то виводимо на індикатор

MOV R2, A; вміст абсолютного лічильника

MOV A, R1

MOV R3, A

; Висновок на індікацию

L4: MOV A, R2

MOV P1, A

MOV A, R3

MOV P2, A

; Перевірка абсолютного лічильника на переповнення

MOV A, # 99h

XRL A, R1

JNZ L1

MOV A, # 99h

XRL A, R0

JNZ L1

JMP INIT; повернення на ініціалізацію, якщо лічильник переповнений

Mon May 17 2004 00:03

2500 AD 8051 Macro Assembler - Version 4.02a

------------------------------------------------

Input Filename: TEXT.asm

Output Filename: TEXT.obj

1; Програма функціонування мікропроцесорної системи здійснює

2; підрахунок і індикацію деталей на конвеєрі.

3

4

5; ініціалізація

Червень 0000 79 00 INIT: MOV R1, # 0h

Липень 0002 7B 00 MOV R3, # 0h

Серпень 0004 30 82 0C JNB P0.2, L1; очікування появи сигналу високого рівня

Вересень 0007 20 82 FD L2: JB P0.2, L2; очікування появи сигналу низького рівня

10; збільшуємо вміст абсолютного лічильника

11; R0-молодший розряд, R1-старший розряд

12 000A 08 INC R0

13 000B E8 MOV A, R0

14 000C ​​D4 DA A; десяткова корекція акумулятора

15 000D F8 MOV R0, A

16 000E E5 00 MOV A, 0h

17 0010 39 ADDC A, R1; якщо R0 переповнений

18 0011 D4 DA A

19 0012 F9 MOV R1, A

20; Аналогічно ведеться підрахунок деталей і у відносному режимі

21; перевірка натискання кнопки "Скидання"

22 0013 20 80 04 L1: JB P0.0, L3; якщо "Скидання" віджата (високий рівень), то перехід на мітку L3

23 0016 7A 00 MOV R2, # 0h; якщо "Скидання" натиснута, то Обнуляємо лічильник З

24 0018 7B 00 MOV R3, # 0h

25; перевірка натискання кнопки "Всього"

26 001A 20 81 04 L3: JB P0.1, L4; якщо "Всього" віджата (високий рівень), то перехід на мітку L4

27 001D E8 MOV A, R0; якщо "Всього" натиснута, то виводимо на індикатор

28 001E FA MOV R2, A; вміст абсолютного лічильника

29 001F E9 MOV A, R1

30 0020 FB MOV R3, A

31; висновок на індікацию

32 0021 EA L4: MOV A, R2

33 0022 F5 90 MOV P1, A

34 0024 EB MOV A, R3

35 0025 F5 A0 MOV P2, A

36; перевірка абсолютного лічильника на переповнення

37 0027 74 99 MOV A, # 99h

38 0029 69 XRL A, R1

39 002A 70 E7 JNZ L1

40 002C 1974 1999 MOV A, # 99h

41 002E 68 XRL A, R0

42 002F 70 E2 JNZ L1

43 0031 січень 2000 JMP INIT; повернення на ініціалізацію, якщо лічильник переповнений

44 0033

Lines Assembled: 44 Assembly Errors: 0

Програма очікування імпульсу.

; Ініціалізація

INIT: MOV r6, # 0h

MOV r8, # 0h

MOV r10, # 0h

L 0: JNB P 0.5, L 1; очікування появи сигналу високого рівня

L 2: JB P 0.5, L 2; очікування появи сигналу низького рівня

; Збільшуємо вміст лічильника

; R 5-молодший розряд, R 6-старший розряд

INC r 5

MOV A, r 5

DA A; десяткова корекція акумулятора

MOV r5, A

MOV A, 0h

ADDC A, r6; якщо r5 переповнений

DA A

MOV r 6, A

; Перевірка натискання кнопки "К3"

L 1: JB P 0.4, L 3; якщо "К3" віджата, то перехід на мітку L 3

MOV A, r 6; якщо "К3" натиснута, то виводимо на індикатор

MOV r 6, A

; Висновок на індікацию

L 3: JNB P 0.6, L 5; очікування появи сигналу високого рівня

L 4: JB P 0.6, L 4; очікування появи сигналу низького рівня

; Збільшуємо вміст лічильника

; R 5-молодший розряд, R 6-старший розряд

INC r 7

MOV A, r 7

DA A; десяткова корекція акумулятора

MOV r7, A

MOV A, 0h

ADDC A, r8; якщо r7 переповнений

DA A

MOV r 8, A

; Перевірка натискання кнопки "К2"

L 5: JB P 0.3, L 3; якщо "К2" віджата, то перехід на мітку L 6

MOV A, r 8; якщо "К2" натиснута, то виводимо на індикатор

MOV r 8, A

; Висновок на індікацию

L 6: JNB P 0.7, L 8; очікування появи сигналу високого рівня

L 7: JB P 0.7, L 7; очікування появи сигналу низького рівня

; Збільшуємо вміст лічильника

; R 9-молодший розряд, R 10-старший розряд

INC r 9

MOV A, r 9

DA A; десяткова корекція акумулятора

MOV r9, A

MOV A, 0h

ADDC A, r10; якщо r9 переповнений

DA A

MOV r 10, A

; Перевірка натискання кнопки "К1"

L 8: JB P 0.4, L 0; якщо "К1" віджата, то перехід на мітку L 0

MOV A, r 10; якщо "К1" натиснута, то виводимо на індикатор

MOV r 10, A

; Висновок на індікацию

Mon May 17 2004 00:46

2500 AD 8051 Macro Assembler - Version 4.02a

------------------------------------------------

Input Filename: text1.asm

Output Filename: text1.obj

1; Програма очікування імпульсу.

Лютий 0000

3

4; ініціалізація

Травень 0000 7 E 00 INIT: MOV r 6, # 0 h

6 0002 75 00 00 MOV r8, # 0h

7 0005 75 00 00 MOV r10, # 0h

Серпень 0008

Вересень 0008 30 85 0 C L 0: JNB P 0.5, L 1; очікування появи сигналу високого рівня

10 000 B 20 85 FD L 2: JB P 0.5, L 2; очікування появи сигналу низького рівня

11; збільшуємо вміст лічильника

12; R 5-молодший розряд, R 6-старший розряд

13 000E 0D INC r5

14 000F ED MOV A, r5

15 0010 D 4 DA A; десяткова корекція акумулятора

16 0011 FD MOV r5, A

17 0012 E5 00 MOV A, 0h

18 0014 березня E ADDC A, r 6; якщо r 5 переповнений

19 0015 D4 DA A

20 0016 FE MOV r6, A

21; перевірка натискання кнопки "К3"

22 0017 20 84 02 L 1: JB P 0.4, L 3; якщо "К3" віджата, то перехід на мітку L 3

23 001 A EE MOV A, r 6; якщо "К3" натиснута, то виводимо на індикатор

24 001 B FE MOV r 6, A

25; висновок на індікацию

26 001 C 30 86 0 E L 3: JNB P 0.6, L 5; очікування появи сигналу високого рівня

27 001 F 20 86 FD L 4: JB P 0.6, L 4; очікування появи сигналу низького рівня

28; збільшуємо вміст лічильника

29; R 5-молодший розряд, R 6-старший розряд

30 0022 0F INC r7

31 0023 EF MOV A, r7

32 0024 D 4 DA A; десяткова корекція акумулятора

33 0025 FF MOV r7, A

34 0026 E5 00 MOV A, 0h

35 0028 35 00 ADDC A, r 8; якщо r 7 переповнений

36 002A D4 DA A

37 002B F5 00 MOV r8, A

38; перевірка натискання кнопки "К2"

39 002 D 20 83 EC L 5: JB P 0.3, L 3; якщо "К2" віджата, то перехід на мітку L 6

40 0030 E травня 2000 MOV A, r 8; якщо "К2" натиснута, то виводимо на індикатор

41 0032 F травня 2000 MOV r 8, A

42; висновок на індікацию

43 0034 30 87 11 L 6: JNB P 0.7, L 8; очікування появи сигналу високого рівня

44 0037 20 87 FD L 7: JB P 0.7, L 7; очікування появи сигналу низького рівня

45; збільшуємо вміст лічильника

46; R 9-молодший розряд, R 10-старший розряд

47 003A травня 2000 INC r9

48 003C E5 00 MOV A, r9

49 003 E D 4 DA A; десяткова корекція акумулятора

50 003F F5 00 MOV r9, A

51 0041 E5 00 MOV A, 0h

52 0043 35 00 ADDC A, r 10; якщо r 9 переповнений

53 0045 D 4 DA A

54 0046 F травня 2000 MOV r 10, A

55; перевірка натискання кнопки "К1"

56 0048 20 84 BD L 8: JB P 0.4, L 0; якщо "К1" віджата, то перехід на мітку L 0

57 004 B E травня 2000 MOV A, r 10; якщо "К1" натиснута, то виводимо на індикатор

58 004 D F травня 2000 MOV r 10, A

59; висновок на індікацию

60 004F

61 004F

62 004F

Lines Assembled: 62 Assembly Errors: 0

СПИСОК ВИКОРИСТОВУВАНОЇ ЛІТЕРАТУРИ

  1. Сташін В.В. «Проектування цифрових пристроїв на однокристальних мікроконтролерах»: М.: Вища школа, 1990р.

  2. «Напівпровідникові прилади. Діоди випрямні, стабілітрони, тиристори. »Довідник: під редакцією Голошедова А.В.: М.: Радіо і зв'язок, 1989р.

Додати в блог або на сайт

Цей текст може містити помилки.

Комунікації, зв'язок, цифрові прилади і радіоелектроніка | Курсова
68.3кб. | скачати


Схожі роботи:
Розрахунок деталей розпірного домкрата і розробка ескізів цих деталей
Геологічна будова Боково-Хрустальського вугленосного району та підрахунок запасів камяного вугілля
Хромування деталей на підвісках
Формоутворення деталей литтям
Дефекти деталей освітлення
Проектування деталей машин
Розрахунок деталей підйомника
З`єднання оптичних деталей
Збірка оптичних деталей з механічними
© Усі права захищені
написати до нас