Generovani kmitoctu
Snail Instruments
snail
Středa Březen 17 14:26:46 CET 2004
>mam takovy dotaz:Potrebuju neco(asi nejlip jednocip) co by mi bylo schopne
>vyrobit kmitocty 117,5Hz a 274.1Hz Nechci je najednou,staci prepinatelne na
>nejakem vstupu. Udelal jsem to zatim na 89C2015,ale ten je zbytecne
Je celkem nepravdepodobne, ze by PIC zklamal tam, kde vyhovi 89C2051. V programu se bude jednat prevazne o trpelive pocitani instrukci. Bylo by treba pridat konkretni ciselny udaj ke slovum 'pomerne presne', aby bylo mozne posoudit, jestli nastineny zpusob povede k cili.
Zkusil jsem program pro krystal 4MHz (instrukce 1usec). Odchylka vysledneho kmitoctu pri delicim pomeru 3648 (namisto presneho 3648.30) je 83ppm, pro delici pomer 8511 (namisto 8510.638) je -42ppm. K tomu se pricita odchylka krystalu od jmenoviteho kmitoctu. Je mozne, ze jine kmitocty krystalu by se 'trefily' presneji k celociselnum delitelum.
;pro 117.5Hz: 8511=4255+4256 instrukci, x1=5 y1=134, x2=5 y2=133, 2 nops
;pro 274.1Hz: 3648=1824+1824 instrukci, x1=.... uz se mi to nechce pocitat
main:
bsf port,pin ;5
movlw x1
movwf cnt0
movlw y1
movwf cnt1
l1:
decfsz cnt1 ;(y1*3-1) + (x1-1)*(256*3-1)
goto l1
decfsz cnt0 ;3*x1 - 1
goto l1
bcf port,pin ;5
movlw x2
movwf cnt0
movlw y2
movwf cnt1
l2:
decfsz cnt1
goto l2
decfsz cnt0
goto l2
;0-2 nops as needed
nop ;4
nop
goto main
J. Hanzal
Další informace o konferenci Hw-list