Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Пристрій контролю інтенсивності руху через міст

Реферат Пристрій контролю інтенсивності руху через міст





Ун-ту, 1997. - 108 с. p> Токхайм Р. Мікропроцесори: Курс і вправи/Пер. З англ., Під ред. В. Н. Грасевіча. - М.: Вища школа, 1988. - 336 с. p> Додаток А


Лістинг керуючої програми


Основна програма:


ORG 00H; початковий адресу програми

CLR A; очищення акумулятора

; початкова завантаження лічильника годин

MOV R5, A; початкова завантаження

MOV R7, A; лічильника хвилин

MOV P2, A; початкова завантаження лічильника секунд

MOV R2, # 1; завантаження

MOV R1, # 1; лічильників генератора

MOV TH1, # 156; секундних імпульсів

MOV TMOD, # 20H; T/C1 в режимі 2

MOV IE, # 8DH; дозвіл переривань від T/C1

SETB TR1; старт таймера T/C1

SJMP MAIN; Перехід до основної програми

; ----- ====== П/п обслуговування переривання від T/C1 ===== --------

ORG 1BH; вектор переривання

PUSH PSW; затримка

DJNZ R2, EXIT; в одну

MOV R2, # 1; секунду

DJNZ R1, EXIT;

MOV R1, # 1;

PUSH ACC;

JNB T0, M1; корекція хвилин

JNB T1, M2; корекція годин

MOV A, R7; лічильник секунд

ADD A, # 1;

DA A;

MOV R7, A;

CJNE R7, # 60H, M3;

MOV R7, # 0;

M1: MOV A, R5; лічильник хвилин

ADD A, # 1;

DA A;

MOV R5, A;

CJNE R5, # 60H, M3;

MOV R5, # 0;

M2: CALL COMP; Запуск п/п виявлення мах кол-ва а/м.

MOV R4, # 0; Обнулення кількості а/м,

MOV R6, # 0; проїхали через міст за годину. p> MOV A, R3; Лічильник годин. p> ADD A, # 1;

DA A;

MOV R3, A;

CJNE R3, # 24H, M3;

MOV R3, # 0; Установка 0 (24) годин. p> MOV R4, # 0; Обнулення кількості а/м, що проїхали

MOV R6, # 0; через міст, з початком нової доби. p> M3: MOV P1, R3; Виведення інформації. p> MOV P2, R5; індикатори. p> POP ACC; Відновлення акумулятора. p> EXIT: POP PSW; Відновлення регістра PSW. p> RETI; Повернення з п/п.


; ----- ======== Основна програма. ======== ---------- p> MAIN: MOV R4, # 0; Обнулення

MOV R6, # 0; кількості а/м.

MOV P0, # 0FFH; Скидання тригерів

SETB RD; Скидання лічильника. p> NOP ; Затримка в 1мкс (для спрацьовування CT)

CLR RD;

MOV P0, # 0; Відновлення роботи тригерів. p> SETB WR; Імпульс перемикання ліній з датчиків. p> MOV SP, # 100; Установка покажчика стека. p> BEGIN: MOV B, # 4; Кількість датчиків. p> MOV R0, # 1; R0 = 1.

CYCLE: CLR WR; Імпульс перемикання ліній з датчиків. p> NOP; Затримка в 1мкс (для спрацьовування CT і MS).

JNB INT0, J11; Опитування лінії порту (перевірка стану датчиків). p> MOV P0, R0; Скидання соответсвующего тригера датчика

CALL SUM; Виклик п/п сумміпрванія. p> MOV P0, # 0; Відновлення счетнго режиму тригера

J11: MOV A, R0; A = R0. p> RL A; Пестановка скидає біта тригерів. p> MOV R0, A; R0 = A.

SETB WR; Імпульс перемикання ліній з датчиків. p> DJNZ B, CYCLE; B = B-1. If B <> 0, то перехід на новий цикл

; опитування датчиків.

JB INT1, J2; Якщо INT1 = 1, то J2,

CALL DSPLY; інакше виклик п/п виведення інф-ції на

; зовнішнє пристрій.

J2: SJMP BEGIN; Перехід на початок опитування датчиків. br/>

; П/п підсумовування кількості минулого транспорту.

SUM: MOV A, R6; Підсумовування десятків. p> ADD A, # 1; A = A +1.

DA A; Десяткова корекція. p> MOV R6, A; R6 = A.

JNC S1; Якщо С <> 1, то S1,

MOV A, R4; інакше додати 1 до сотням. p> ADD A, # 1; A = A +1.

DA A; Десяткова корекція. p> MOV R4, A; R4 = A.

S1: RET; Повернення з п/п.


; ------- ===== П/п порівняння количесва а/м, що пройшли раніше, ====== -----

; з минулими в цю годину.

COMP: MOV A, R0; Збереження R0

PUSH ACC; в стек. p> MOV R0, # 20H; Адреса зберігання молодшого байта максимального

; кількостей а/м.

MOV A, R6; A = R6.

SUBB A, @ R0; A = A-@ R0. p> JC C1; Якщо вміст @ R0> A, то перехід до C1,

MOV A, R6; інакше записати

MOV @ R0, A; в пам'ять мах. кол-во а/м.

C1: INC R0; Збільшення покажчика пам'яті. p> MOV A, R4; A = R4.

SUBB A, @ R0;

JC C2;

MOV A, R4;

MOV @ R0, A;

INC R0;

MOV A, R3;

MOV @ R0, A;

POP ACC; Відновлення

MOV R0, A; R0 з стека. p> C2: RET; Повернення з п/п


; --------- ======= П/П ВИВЕДЕННЯ ДАНИХ НА ВНЕШ. Устр-во ======== --------

DSPLY: MOV R0, # 20H; Початковий адресу даних. p> MOV SBUF, @ R0; Виведення даних ч/з послідовний порт

INC R0; Збільшення покажчика пам'яті. p> MOV SBUF, @ R0;

INC R0;

MOV SBUF, @ R0;

INC R0;

RET; Повернення з п/п.

END

Додаток Б


Карта прошивки пам'яті програм


0: 1: 2: ...


Назад | сторінка 4 з 5 | Наступна сторінка





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

  • Реферат на тему: Пристрій і принцип дії датчиків
  • Реферат на тему: Принципи дії, пристрій, характеристики датчиків автомобіля ВАЗ Пріора
  • Реферат на тему: Розробка алгоритму програми на мові С + +, яка обчислює значення ємності і ...
  • Реферат на тему: Основні характеристики датчиків руху
  • Реферат на тему: Розрахунок собівартості датчиків руху