Міністерство освіти та науки України
Національний університет «Львівська політехніка»
СИСТЕМА ПЕРЕРИВАНЬ. ОПИТУВАННЯ
ДИСКРЕТНИХ СЕНСОРІВ
Звіт
до лабораторної роботи № 4
з курсу “Мікропроцесорні пристрої”
Мета роботи: вивчення режимів роботи сисїеми переривання мікроконтролера сімейства MCS-51 фірми Atmel (AT90S8515 та АТ89С51), режимів вводу дискретної інформації та розроблення програм опитування сигналів сенсорів.
1. Теоретичні відомості
Опитування дискретних сигналів
Для введення інформації широко застосовуються клавішні перемикачі з механічними контактами і побудовані на їх основі контактні клавіатури. Сигнал таких перемикачів формується шляхом замикання (розмикання) електричного кола. Замикання (розмикання) електричного кола супроводжується вібрацією механічних контактів, тривалість якоі складає від 8до12мс. Це спричинює дрижання фронтів отриманого таким чином сигналу (рис. 1).
Pиc.1 Дрижання фронтів сигналу на виході пари з механічними контактами.
Для усунення впливу вібрації на фронти сигналу на и.:оді контактної пари встановлюють спеціальні формувачі. Приклад такого формуувача, в ролі якого використовується звичайний RS-тригер; подано на рис. 2
Рис.2.Схема усунення впливу вібрації на фронти сигналу за допомогою RS-триггера
Таблиця 1. Початкові адреси векторів переривань
Джерело переривання
Адреса
'Зовнішнє переривання 0
0003Н
Переповнення таймера 0
000ВН
Зовнішнє переривання 1
0013Н
Переповнення таймера 1
001ВН
Таблиця 2. Адреси пам’яті для стовпців матричної клавіатури.
Стовпець (кнопки)
Адреса
1 (SW3, SW6, SW9, SW12)
9006H
2 (SW4, SW7, SW10, SW13)
9005H
3 (SW5, SW8, SW11, SW14)
9003H
ПРАКТИЧНА ЧАСТИНА
CSEG
ORG 0
MOV R4,#0FFH
Pid:
mov A,#0110110b
mov DPTR,#8002H
movx @DPTR,A
mov A,#11111b
mov DPTR,#8000H
movx @DPTR,A
CALL ZATMIN
mov A,#0000000b
mov DPTR,#8002H
movx @DPTR,A
mov A,#00001b
mov DPTR,#8000H
movx @DPTR,A
CALL ZATMIN
mov A,#1111111b
mov DPTR,#8002H
movx @DPTR,A
mov A,#00000b
mov DPTR,#8000H
movx @DPTR,A
mov A,R4
CALL ZATdec
SUBB A,#08h
mov R4,A
jb 0B2h,Pid
jnb 0B2h,Str
Temp: jb 0B2h,Pid
mov R4,#0FFh
STR:
mov A,#00000001b
mov DPTR,#0A006h
movx @DPTR,A
CALL ZAT
jb 0B2h,Temp
mov A,#00000010b
mov DPTR,#0A006h
movx @DPTR,A
CALL ZAT
jb 0B2h,Temp
mov A,#00000100b
mov DPTR,#0A006h
movx @DPTR,A
CALL ZAT
jb 0B2h,Temp
mov A,#00001000b
mov DPTR,#0A006h
movx @DPTR,A
CALL ZAT
jb 0B2h,Temp
mov A,#00010000b
mov DPTR,#0A006h
movx @DPTR,A
CALL ZAT
jb 0B2h,Temp
mov A,#00100000b
mov DPTR,#0A006h
movx @DPTR,A
CALL ZAT
jb 0B2h,Temp
mov A,#01000000b
mov DPTR,#0A006h
movx @DPTR,A
CALL ZAT
jb 0B2h,Temp
mov A,#10000000b
mov DPTR,#0A006h
movx @DPTR,A
CALL ZAT
jb 0B2h,Temp
jnb0B2h,Str
ZAT
mov R3,#0FFh
C2: mov R2,#0FFh
C3: djnz R2,C3
djnz R3,C2
ret
ZATMIN
mov R3,#020h
C1:djnz R3,C1
ret
ZATdec
C4:djnz R4,c4
ret
END
ВИСНОВОК:
Під час виконання цієї лабораторної роботи я ознайомився з внутрішньою структурою мікроконтролера сімейства-MCS-51 фірми Atmel, зокрема ознайомився з програмно-доступних елементів та системами команд, використовуючи лабораторний стенд. Набув досвіду розроблення простих программ, діагностики помилок, завантажнення программ у память мікроконтролера та запуску їх на виконання.