T1CONbits.T1OSCEN = 1; //Timer1 Oscillator Enable Control bit //External Clock //T1CONbits.TMR1CS = 1; T1CONbits.nT1SYNC = 0;//Timer1 External Clock Input Synchronization Control bit
T1CONbits.TMR1CS = 1; //Timer1 Clock Source Select bit //External clock from pin RC0/T1OSO/T1CKI (on the rising edge)
//T1CON = (1<<SBIT_PS1) | (1<<SBIT_PS0); // Timer0 with external freq and 8 as prescalar TMR1H=0x3C; // Load the time value(0xBDC) for 100ms delay TMR1L=0xAF; TMR1IE=1; //Enable timer interrupt bit in PIE1 register GIE=1; //Enable Global Interrupt PEIE=1; //Enable the Peripheral Interrupt //T1OSCEN = 1;
Отправлено: 04.11.20 12:47. Заголовок: В сообщении указано ..
В сообщении указано 32 МГц для кристалла. Это правильно? Или 32768 Гц? По тексту программы указан осциллятор для МК на 8 МГц. К пинам 9,10. Вот это место: #define _XTAL_FREQ 8000000 Теперь смотрим, что там делают со вторым таймером. Это предустановка регистров таймера, чтобы получить 100 ms: TMR1H = 0x3C; // Load the time value(0xBDC) for 100ms delay TMR1L = 0xAF; А вот указание использования таймера: //Timer1 Input Clock Prescale Select bits //Prescaler 8 (1000000/31250/8 = 4 Hz) _ прескалер 8, и расчет времени. Собери простенький макет и поиграйся с этим. Два кварца - это не страшно. Но, можно использовать внутренний осцилятор( если такой есть у этого МК), тогда можно обойтись одним, низкочастотным кварцем.
Все даты в формате GMT
3 час. Хитов сегодня: 8
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет