Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






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




WAITING:;

REDRAW_SEC:;

MOV R7, #0Fh; занесення в R7 числа F

START_DRAW_0:

MOV R2, #020h; занесення в R2 числа 20

START_DRAW_1:

MOV R3, #03h; занесення в R3 числа 3

MOV A, R6;

MOV R4, A;

CALL DRW_DYN;

CALL DELAY_ACC;

MOV R3, #02h; занесення в R3 числа 2

MOV A, R5;

MOV R4, A;

CALL DRW_DYN;

CALL DELAY_ACC;

DJNZ R2, START_DRAW_1;декремент

DJNZ R7, START_DRAW_0;декремент

DEC R6

CJNE R6, #0FFh, REDRAW_SEC; порівняння регістра з числом

MOV R6, #09h;

CJNE R5, #00h, DEC_R5; порівняння регістра з числом

DEC_R5:;

DEC R5;

CJNE R5, #0FFh, REDRAW_SEC; порівняння регістра з числом

MOV DPTR, #08002h;

MOV A, #00h;

MOVX @DPTR, A;

MOV DPTR, #08001h;

MOV A, #00h;

MOVX @DPTR, A;

ret;повернення з підпрограми

;==================================================

zliv:; підпрограма зливу

mov R1,#011110000b;занесення в R1 коду світіння

call coun1;виклик підпрограми світіння сегментів

mov R1,#001110000b;занесення в R1 коду світіння

call coun1;виклик підпрограми світіння сегментів

mov R1,#001111000b;занесення в R1 коду світіння

call coun1;виклик підпрограми світіння сегментів

mov R1,#000111000b;занесення в R1 коду світіння

call coun1;виклик підпрограми світіння сегментів

mov R1,#000111100b;занесення в R1 коду світіння

call coun1;виклик підпрограми світіння сегментів

mov R1,#000011100b;занесення в R1 коду світіння

call coun1;виклик підпрограми світіння сегментів

mov R1,#000011110b;занесення в R1 коду світіння

call coun1;виклик підпрограми світіння сегментів

mov R1,#000001110b;занесення в R1 коду світіння

call coun1;виклик підпрограми світіння сегментів

mov R1,#000001111b;занесення в R1 коду світіння

call coun1;виклик підпрограми світіння сегментів

coun1:; підпрограма світіння сегментів

Mov A,R1;

mov DPTR,#0A004h;

movx @DPTR,A;

call DEL;виклик підпрограми затримки

Ret;

;==================================================

ficks:; підпрограма відліку часу фіксажу

mov A,#000h; вибір розряду індикатора

mov DPTR,#08000h;дозвіл світіння розрядів статичного індикатор

movx @DPTR,A;

MOV R5, #02h;;занесення в R5 числа

MOV R6, #00h;занесення в R6 числа

CALL WAITING;виклик підпрограми затримки

call DRW_DYN;виклик підпрограми

RET:

;==================================================

promuvka:;початок підпрограми промивки

MOV R3, #00h;;занесення в R3 числа

MOV R7, #00h;;занесення в R3 числа

PROCESS_PROMIVKI:

MOV A, R7;

ADD A, #01h;

MOV R4,A;

CALL DRW_DYN;

call zapovnennya; виклик підпрограми наповнення

call zliv; виклик підпрограми зливу

MOV A, R7;

ADD A, #01h;

MOV R7,A;

;CALL DRW_DYN;

CJNE R7, #04h, PROCESS_PROMIVKI;

RET;;==============================================

DEL:;підпрограма затримки 1 сек

mov R1, #001h;занесення в R1 числа 1

C1: mov R2, #0FFh;занесення в R2 числа FF

C2: mov R3, #0FFh;занесення в R3 числа FF

C4: djnz R3, C4;декремент R3

Djnz R2, C2

Djnz R1, C1

Ret

DEL1:;підпрограма затримки 0.8 сек

mov R1, #001h

C5: mov R2, #0FFh

C6: mov R3, #0FFh

C8: djnz R3, C8

Djnz R2, C6

Djnz R1, C5

Ret

DELAY_ACC:

MOV A, #0CFh

DEC_ACC:

DEC A

CJNE A, #00h, DEC_ACC;

RET

END кінець програми

Висновок

В результаті виконання даної курсової роботи ми вивчили та проаналізували апаратне і програмне забезпечення стенду EV8031/AVR, що дало змогу нам використовувати його для виконання даної роботи, поставили і виконали задачу автоматизації процесу проявки фотоплівки, розробили і описали алгоритм цього процесу та виконуваної програми.

Разом все це дало нам змогу краще ознайомитися зі стендом та його можливостями, вдосконалити свої навики роботи з мікропроцесором та покращити знання з мови програмування Асемблер.

 

Література

1. Фрунзе А.В. Микроконтроллеры? Это же просто! Т.1., Т.2. – М.: ООО „ИД СКИМЕН”, 2002. – 336 с., илл.

2. http://ru.wikipedia.org

3. http://we.easyelectronics.ru/blog/MCS51/

4. Однокристальные микроэвм.Справочник. ”Бином”-1994р.

5. http://alexfru.chat.ru/mcs51/index.html

 

Додаток А. Зведена таблиця команд MCS-51

НАЗВА КОМАНДИ МНЕМОНІКА ОПЕРАЦІЯ
  Пересилання в акумулятор з регістра (n=0...7) MOV A,Rn (A) (Rn)
  Пересилання в акумулятор прямоадресованого байта MOV A,ad (A) (ad)
  Завантаження в акумулятор константи MOV A,#data8 (A) #data8
  Пересилання в регістр із акумулятора MOV Rn,A (Rn) (A)
  Пересилання в розширений зовнішній ОЗП із акумулятора MOVX @DPTR,A ((DPTR)) (A)
  Додавання акумулятора з константою ADD A,#data8 (А) (А) + #data8
  Віднімання від акумулятора константи і позики SUBB A,#data8 (А) (А) - #data8 - (С)
  Інкремент акумулятора INC A (А) (А) + 1
  Інкремент регістра INC Rn (Rn) (Rn) + 1
  Декремент акумулятора DEC A (A) (A) - 1
  Декремент регістра DEC Rn (Rn) (Rn) - 1
  Обмін місцями тетрад в акумуляторі SWAP A (А.0, А.1, А.2, А.3) ↔ (А.4, А.5, А.6, А.7)
  Скидання біта переносу CLRС (C) 0
  Перехід, якщо перенос дорівнює одиниці JCrel (PC) (PC)+2, потім якщо (С)=1, то (PC) (PC)+rel
  Декремент регістра і перехід, якщо не нуль DJNZRn,rel (PC) (PC)+2, (Rn) (Rn)-1, потім якщо (Rn)<>0, то (PC) (PC)+rel
16 0 Порівняння акумулятора з константою і перехід, якщо не дорівнює CJNE A,#data8,rel (PC) (РС)+3, якщо (A)<> #data8, то (PC) (PC)+rel, при цьому якщо (A)<#data8, то (С) 1, інакше (С) 0
  Порівняння регістра з константою і перехід, якщо не дорівнює CJNE Rn,#data8,re1 (PC) (РС)+3, якщо (Rn)<>#data8, то (PC) (PC)+rel, при цьому якщо (Rn)<#data8, то (С) 1, інакше (С) 0
  Повернення з підпрограми RET (PC 8-15) ((SP)); (SP) (SP)-1; потім (PC 0-7) ((SP)); (SP) (SP)-1

 

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных