oscilator 38khz

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
distrikt
Příspěvky: 72
Registrován: 04 říj 2008, 02:00
Kontaktovat uživatele:

#16 Příspěvek 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

AA

#17 Příspěvek 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

Uživatelský avatar
distrikt
Příspěvky: 72
Registrován: 04 říj 2008, 02:00
Kontaktovat uživatele:

#18 Příspěvek od distrikt »

potřebuje to externí oscilator?

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“