Stránka 2 z 2

Napsal: 12 říj 2008, 20:43
od distrikt
kluci prosim help nějak mi nefachči program a nemužu najít chybu...je to pro atmega8 a ma to byt 36khz oscilator obdelníkového pruběhu je to pro infrasenzor ma to vybuzovat IR ledky aby to IR přijmač s tvarovačem zachytil byl bych vam velice zavázán už dlouho nad tim kuťím

.nolist
.include "m8def.inc"
.list

;NASTAVENÍ VÝSTUPNÍHO PORU
ldi R16, 11111111
out DDRB, R16
;NASTAVENÍ VZESTUPNÉ HRANY
reset:
LDI R19, 1
OUT PORTB, R19
;NASTAVENÍ REGISTRŮ PRO Časovač
LDI R17, 110 ;ZDE SE UKLÁDÁ VSTUPNÍ HODNOTA
LDI R16, 1
;start časovačede
out TCCR0, R16
;časovač
skok:
in R18, TCNT0
cp R18, R17
brne skok
;nastavení zestupné hrany
out portb, R20
out TCCR0, R20
out TCNT0, R20
;start časovače po vymazání
out TCCR0, R16
skok2:
in R18, TCNT0
cp R18, R17
brne skok2
jmp reset

Napsal: 13 říj 2008, 08:52
od AA

Kód: Vybrat vše

;36kHz on Portb.1

.include "m8def.inc"

.equ tccr1a_adr = 0x4f
.equ tccr1b_adr = 0x4e
.equ ocr1al_adr = 0x4a

ldi r16,(1<<WGM12) | (1<<CS10)    ;PWM mode 4 
sts tccr1b_adr,r16    ;

ldi r16,(1<<COM1A0)               ;toggle output on compare match
sts tccr1a_adr,r16   

ldi r16,139                       ;set output compare register, 36kHz for 10MHz crystal
sts ocr1al_adr,r16

main:
;...
;start output:
sbi ddrb,1
;...
;stop output
cbi ddrb,1

rjmp main

Napsal: 13 říj 2008, 16:18
od distrikt
potřebuje to externí oscilator?