[an error occurred while processing this directive]
вся подпрограмма
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SergK 12 января 2006 г. 14:40
В ответ на: вопрос о работе таймера ATmega162 отправлено SergK 12 января 2006 г. 14:15

.include "m162def.inc"


.def rgn=r16
.def tmr=r17

.CSEG
.org 0
rjmp RESET ; RESET handler
reti; INT0addr = $002 ; External Interrupt Request 0
reti; INT1addr = $004 ; External Interrupt Request 1
reti; INT2addr = $006 ; External Interrupt Request 2
reti; PCINT0addr = $008 ; Pin Change Interrupt Request 0
reti; PCINT1addr = $00A
reti; TIMER3CAPTaddr = $00C
reti; TIMER3COMPAaddr = $00E
reti; TIMER3COMPBaddr = $010
reti; TIMER3OVFaddr = $012
reti; TIMER2COMPaddr = $014
reti; TIMER2OVFaddr = $016
reti; TIMER1CAPTaddr = $018
.org $01A
rjmp timer; TIMER1COMPAaddr = $01A
reti; TIMER1COMPBaddr = $01C
nop; TIMER1OVFaddr = $01E
reti; TIMER0COMPaddr = $020
reti; TIMER0OVFaddr = $022
reti; SPISTCaddr = $024
reti; USART0RXCaddr = $026
reti; USART1RXCaddr = $028
reti; USART0UDREaddr = $02A
reti; USART1UDREaddr = $02C
reti; USART0TXCaddr = $02E
reti; USART1TXCaddr = $030
reti; EE_RDYaddr = $032
reti; ANA_CMPaddr = $034
reti; SPM_RDYaddr = $036

timer:
; настройка и включение тамера Т1
ldi rgn,$0d;$9 ; set CK/1024
out TCCR1B,rgn

ldi rgn,$00
out TCNT1L,rgn
ldi rgn,$00
out TCNT1H,rgn

ldi rgn,$ff
out OCR1AH,rgn
ldi rgn,$ff
out OCR1AL,rgn

ldi rgn,(1< out TIMSK,rgn

;если tmr=0 то tmr=1
;если tmr=1 то tmr=0
com tmr
reti

RESET:
; настройка и включение тамера Т1
ldi rgn,$0d;$9 ; set CK/1024
out TCCR1B,rgn

ldi rgn,$00
out TCNT1L,rgn
ldi rgn,$00
out TCNT1H,rgn

ldi rgn,$ff
out OCR1AH,rgn
ldi rgn,$ff
out OCR1AL,rgn

ldi rgn,(1< out TIMSK,rgn
; отключение WatchDog таймера
ldi rgn,$18
out WDTCR,rgn
ldi rgn,$10
out WDTCR,rgn

; инициализаци стека
ldi rgn,low(RAMEND)
out SPL,rgn
ldi rgn,high(RAMEND)
out SPH,rgn

; установка порта В на выход
ldi rgn,$ff
out DDRB,rgn
ldi rgn,$ff
out PORTB,rgn

clr tmr
sei
label:
sei
cpi tmr,$ff
breq label1
ldi rgn,$fe
out PORTB,rgn
rjmp label
label1: ldi rgn,$ff
out PORTB,rgn
rjmp label


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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru