Tak skusam jednoduchu vec… pic 16f1627.
[code]void main (void)
{
PORTA = 0b11000000; //sda a scl prednasatvene na log1
PORTB = 0b01011111; //sda a scl prednasatvene na log1
ANSELA=0;
ANSELB=0;
CLRWDT();
TMR0 = 100;
TRISA = 0b11100000; // portA 5-0 0vstupy, 6vystupy
TRISB = 0b11011111; //portB 7-0, 6vstupy 2vystupy
OPTION_REG = 0b00000000;
INTCON = 0;
OSCCON=0b01101000;
//--------------------------------------------------------
TMR1CS1 = 1;//1 //AK T1OSCEN=0 ext clockT1CKI pin
TMR1CS0 = 0;
T1CKPS1 = 0; //prescaler 1:1-1:8
T1CKPS0 = 0;
TMR1ON = 0; //zap vyp timer
TMR1GE = 0; //povolena funkcia TMR1ON
T1OSCEN=0; //timer1 oscilator disable
nT1SYNC=1;
T1GSS1=0;
T1GSS0=0;
GIE = 0; // Global interrupt enable
while(1)
{
TMR1H=0;
TMR1L=0;
TMR1ON = 1; //zap vyp timer
// RB5=0;
__delay_ms(100);
TMR1ON = 0; //zap vyp timer
// RB5=1;
// citac=TMR1H;
// citac<<8;
// citac|=TMR1L;
LCD_Position(0,0);
char disp_buff[5]; //
sprintf(disp_buff,"%5d",TMR1);
wrdata(disp_buff[0]);
wrdata(disp_buff[1]);
wrdata(disp_buff[2]);
wrdata(disp_buff[3]);
wrdata(disp_buff[4]);
wrdata(' ');
// wrdata(‘M’);
wrdata(‘H’);
wrdata(‘z’);
}
//-----------------------------------------------
return; //formalita tu neprideme
}[/code]
uz som tam ponastavova lkde co ale stale to korektne necita impulzi z RB6 … teda simulujem to len v proteuse ale aj tak. namiesto 100Hz to kukazuje 27-29
Ak zmenim za toto tj frekvenciu z vnutorneho vstupi osc/4 alebo OSC:
TMR1CS1 = 0;//1 //AK T1OSCEN=0 ext clockT1CKI pin
TMR1CS0 = 1;
Tak to ukazuje a meria spravne tak neviem kde je chyba… vyskusat tto nemem kde…