[an error occurred while processing this directive]
|
41190А.pdf стр.54 example 9.1
bsf STATUS, RP0 ;Bank 1
call 3FFh ;Get the cal value
movwf OSCCAL ;Calibrate
bcf STATUS, RP0 ;Bank 0
Значение калибровочной величины находится в младших 8 битах в последней ячейке памяти програм(3FF), в старших битах должен находится код команды retlw (34h). Таким образом в последней ячейке памяти программ всегда (начиная с завода изготовителя) должно находится число формата 34ххH.
При вызове команды call 3FFh происходит загрузка калибровочной величины в акк. и возврат на следующую команду movwf. Вот и вся логика. Калибровочная величина нужна если необходимо точно время отсчитывать, а без калибровки просто будет работать на частоте около 4 МГц.
E-mail: info@telesys.ru