Обсуждаем контроллеры компании Atmel.
Ответить

Таймер-счетчик

Вс янв 27, 2019 16:46:51

Подскажите, в чем может быть ошибка? При сбросе по переполнению должен зажигаться светодиод. Светодиод подключен к выводу 0 порта B.
Код:
.include "m8def.inc"

 rjmp start

.org OVF1addr
rjmp TIM1_OVF

start:
 ldi R16,LOW(RAMEND)
 out SPL,R16
 ldi R16,HIGH(RAMEND)
 out SPH,R16

 ldi R17,0b00000001
 out DDRB,R17

 ldi R17,0b00000101
 out TCCR1B,R17

 ldi R17,0b10111110
 out TCNT1L,R17
 ldi R17,0b11110000
 out TCNT1H,R17

 ldi R17,0b00000100
 out TIMSK,R17

 sei

 main_loop:
  nop
 rjmp main_loop

TIM1_OVF:
sbi PORTB, 0

loop:
  nop
 rjmp loop

Re: Таймер-счетчик

Вс янв 27, 2019 18:11:20

Есть порядок занесения 16 разрядных регистров.
Код:
 ldi R17,0b00000001
 out DDRB,R17

 ldi R17,0b11110000
 out TCNT1H,R17
 ldi R17,0b10111110
 out TCNT1L,R17

; ldi R17,0b10111110
; out TCNT1L,R17
; ldi R17,0b11110000
; out TCNT1H,R17

 ldi R17,0b00000101
 out TCCR1B,R17
Понятно, что программа учебная и зависает в прерывании. Но лучше так не делать.
Ответить