Попробуйте тактировать ядро (MCLK) от DCO, настроенного на 8МГц-12МГц, а не от кварца (как в вашем примере). У вас не обозначен вектор NMI в котором должна происходить обработка ошибки работы кварцевого генератора. При первом же сбое он (MCLK) перейдет на тактирование от DCO, частота которого у вас по умолчанию около 1МГц. Естественно, что при этом прерывания с частотой 100кГц просто не будут успевать обрабатываться. И еще замечание. При первой инициализации регистров НЕ пользуйтесь битовыми масками, а инициализируйте их (регистры) явными значениями.
|