[an error occurred while processing this directive] [an error occurred while processing this directive]
Укажите ошибку.ПЛИЗ!
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено AT90S8535 29 октября 2001 г. 13:41

Не хочет входить в прерывание(при совпадении с регистром OCR1A)но содержимое таймера обнуляется
.nolist
.INCLUDE "8535def.inc"
.list
.org $0 ; Сброс по питанию
rjmp Reset
.org OC1Aaddr
rjmp Aaddr
nop
nop
Aaddr:
cbi portc,0
reti
reset:
; Инициализация стека
ldi r16,high(ramend)
out sph,r16
ldi r16,low(ramend)
out SPL,r16
; Настройка порта c.
ldi r16,$FF
out DDRc,r16
ldi r16,$FF
out portc,r16
; Режим работы таймера 1 со сбросом и прерыванием при совпадении.
; Частота прерываний равна 1843200 / 64 / 28800 (7080) = 1 Гц.
ldi r16,$00 ; Timer 1 Setup
out TCCR1a,r16 ; выводы отключены
ldi r16,0b00001011 ;обнуление при совп.с OCR1AH + OCR1AL;CLk-1:64
out TCCR1b,r16 ;
ldi r16, $70 ; старшая часть рег.сравнения
out OCR1AH, r16 ;
ldi r16, $80 ; младшая часть рег.сравнения
out OCR1AL, r16 ;
ldi r16,0b00010000 ; совпадение с рег.сравнения А
out TIMSK, r16 ; разрешить это прерывание
sei
m4:
nop
rjmp m4



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru