ВУЗ:
Составители:
9
;Директивой EQU можно присвоить любой ячейке памяти
;данных уникальное имя (ячейку с адресом 0х71
;назвали STACK_W)
;А почему здесь не использовать ячейку с адресом
;0х70, 0х20 или 0х21? Какой еще директивой можно
;присвоить имя?
ORG 0x0
NOP
MY_RESET CLRF INTCON
GOTO BEGIN
ORG 0x4
;Директива ORG указывает компилятору на адрес в па-
;мяти, с которого будет располагаться программа, на-
;писанная под ней.
;В данном случае с адреса 4! Вам он о чем-нибудь
;говорит?
MOVWF STACK_W
MOVF STATUS,W
MOVWF STACK_STATUS
BCF STATUS,RP0
BCF STATUS,RP1
;Сохранили содержимое аккумулятора и регистра STATUS
;в памяти данных - т.е. как бы создали свой
;искусственный стек
; ... ...
; ... ...
; ... ...
;здесь Вы можете поместить подпрограмму обработки
;прерываний
INT_RETURN MOVF STACK_STATUS,W
MOVWF STATUS
MOVF STACK_W,W
RETFIE
;После вытаскиваем из стека STATUS и аккумулятор и
;возвращаемся в основную программу
BEGIN
;В начале любой программы производим инициализацию
;периферии: портов и модулей контроллера
BANKSEL TRISB ;BANK1
;BANKSEL - это директива выбора банка, в котором
Страницы
- « первая
- ‹ предыдущая
- …
- 7
- 8
- 9
- 10
- 11
- …
- следующая ›
- последняя »