[an error occurred while processing this directive]
|
@avreal32 -p1 -aa +Tiny12 -o100 -e -wp -fBODLEVEL=0,CKSEL=2 ir.hex -!
хочу на ноге получить 30 кГц.
делаю задержку на 40 циклов.
(ведь я верно понял, что оно на внутреннем РЦ - 1.2 МГц работает ?)
но: выдаёт около 10 кГц.
внимание, Уважаемые Знатоки, вопрос: что я делаю не так ? :)
.cseg
.org $0000
rjmp RESET ;Reset handler
reti; INT0addr ;External Interrupt0 Vector Address
reti; PCINTaddr ;Pin change Interrupt Vector Address
reti; OVF0addr ;Overflow0 Interrupt Vector Address
reti; ERDYaddr ;EEPROM Interrupt Vector Address
reti; ACIaddr ;Analog Comparator Interrupt Vector Address
RESET:
ldi temp1,0b10000 ; set PORTB4 = Out
out DDRB,temp1ldi temp1,0b11111 ; set push up PINB 0..4
out PORTB,temp1ldi temp1,0b10000000 ; disable Comparator power
out ACSR,temp1
LOOP:;led ON
sbi PORTB,4
rcall PAUSE30;led OFF
cbi PORTB,4
rcall PAUSE30rjmp LOOP
PAUSE30:
; =============================
; Warteschleifen-Generator
; 40 Zyklen:
; -----------------------------
; warte 39 Zyklen:
ldi temp1, $09
WGLOOP0: dec temp1
brne WGLOOP0
; -----------------------------
; warte 1 Zyklus:
; nop
; =============================
ret
Составить ответ ||| Конференция ||| Архив
Ответы
E-mail: info@telesys.ru