Программа устройства на Ассемблере
⇐ ПредыдущаяСтр 2 из 2
;Определение символических имен бит портов 1 и 2 P bit P1.3;пульт U bit P1.4;слабый удар C bit P1.5;сильный удар D bit P1.6;двери E bit P1.7;капот F bit P2.0;багажник G bit P1.2;замки H bit P1.1;габариты I bit P2.0;клаксоны ORG 0;начальный адрес программы START: JB P,L0;перейти на метку L0 если бит равен 1 JMP START;переход на начало программы L0: CLR G;сброс бита L1: MOV R1,#0001h;пересылка 1 в регистр R1 L2: CALL ALARM;вызов подпрограммы сигнализации L3: JB U,L6;перейти на метку L6 если бит равен 1 L4: JB C,L1;перейти на метку L1если бит равен 1 L5: MOV R1,#000Ah;пересылка константы в регистр JMP L2;перейти на метку L2 L6: JB D,L5;перейти на метку L5 если бит равен 1 JNB E,L7;прейти на метку L7 если бит равен 0 MOV R1,#0002h;переслать константу в регистр R1 CALL ALARM;вызов подпрограммы сигнализации JB P,L8;перейти на метку L8 если бит равен 1 CPL P;инвертировать бит Р CALL BAGAJ;вызов подпрограммы L8: MOV R1,#0008h;переслать константу в регистр R1 CALL ALARM;вызов подпрограммы сигнализации L7: JNB F,L9; прейти на метку L9 если бит равен 0 MOV R1,#0002h;переслать константу в регистр R1 CALL ALARM; вызов подпрограммы сигнализации JB P,L10;перейти на метку L10 если бит равен 1 CPL P;инвертировать бит Р CALL KAPOT;вызов подпрограммы L10: MOV R1,#0008h; переслать константу в регистр R1 CALL ALARM;вызов подпрограммы сигнализации L9: JB P,L3;перейти на метку L3 если бит равен 1 L13: CPL G;инвертировать бит G MOV R1,#0001h; переслать константу в регистр R1 CALL ALARM;вызов подпрограммы сигнализации JMP START;перейти на начало программы ;Подпрограммa 1. Организуется контроль датчиков дверей и багажника BAGAJ: JNB D,L11;перейти на метку L11 если бит равен 0 L16: MOV R1,#000Ah;переслать константу в регистр R1 CALL ALARM;вызов подпрограммы сигнализации L11: JNB F,L12;перейти на метку L12 если бит равен 0 JMP L16;перейти на метку L16
L12: JB P,BAGAJ; перейти на метку BAGAJ если бит равен 1 JMP L13;перейти на метку L13 ;Подпрограмма 2. Организуется контроль датчиков дверей и капота KAPOT: JNB D,L14;перейти на метку L14 если бит равен 0 L17: MOV R1,#000Ah;переслать константу в регистр R1 CALL ALARM;вызов подпрограммы сигнализации L14: JNB F,L15;перейти на метку L14 если бит равен 0 JMP L17;перейти на метку L17 L15: JB P,KAPOT;перейти на метку KAPOT если бит равен 1 JMP L13;перейти на метку L13 ;Подпрограмма сигнализации ALARM: SETB H;установка бита SETB I;установка бита CALL ONESEC;вызов подпрограммы ONESEC CPL H;инверсия бита CPL I;инверсия бита CALL ONESEC;вызов подпрограммы ONESEC DJNZ R1,ALARM;декремент регистра R1 и переход если не 0 RET;возврат ;Подпрограмма задержки на одну секунду, используется подпрограмма DELAY ONESEC: MOV R7,#20;пересылка константы в регистр R7 SEC: CALL DELAY;вызов подпрограммы DJNZ R7,SEC;декремент регистра R7 и переход если не 0 RET;возврат ;Подпрограмма задержки на 50 мс DELAY: MOV TMOD,#0001B;установка таймера /счетчика в режим 1 MOV TH0,# 65536;пересылка константы в регистр ТН0 MOV TL0,#15536;пересылка константы в регистр ТL0 SETB TCON.4;пуск таймера/счетчика DEL: JNB TCON.5,DEL;ожидание переполнения таймера/счетчика CPL TCON.4;остановка таймера/счетчика CPL TCON.5;сброс флага RET;возврат СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
1. Микропроцессоры. В 3 кн. Кн. 1. Архитектура и проектирование микро-ЭВМ. Организация вычислительных процессов: Учебник для втузов / П.В. Нестеров, В.Ф. Шаньгин, В.Л. Горбунов и др.; Под ред. Л.Н. Преснухина. М.: Высшая школа, 1986. 495 с. 2. Сташин В.В., Урсулов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на одно-кристальных микроконтроллерах. М.: Энерго-атомиздат, 1990. 224 с. 3. Методические указания к лабораторной работе №2 по курсу “Цифровые устройства и микропроцессоры” В.А. Добряк, В.К. Рагозин. Екатеринбург: Изд-во УГТУ, 1999. 32 с. ПРИЛОЖЕНИЕ 1. ФУНКЦИОНАЛЬНАЯ СХЕМА УСТРОЙСТВА
ПРИЛОЖЕНИЕ 2. СХЕМА ЭЛЕКТРИЧЕСКАЯ ПРИНЦИПИАЛЬНАЯ
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|