sbit LCD_RS at RA0_bit;
sbit LCD_EN at RA1_bit;
sbit LCD_D7 at RB4_bit;
sbit LCD_D6 at RB3_bit;
sbit LCD_D5 at RB2_bit;
sbit LCD_D4 at RB1_bit;
sbit LCD_RS_Direction at TRISA0_bit;
sbit LCD_EN_Direction at TRISA1_bit;
sbit LCD_D7_Direction at TRISB4_bit;
sbit LCD_D6_Direction at TRISB3_bit;
sbit LCD_D5_Direction at TRISB2_bit;
sbit LCD_D4_Direction at TRISB1_bit;
long unsigned inc=0,frek=0,broj=0;
char TMR[20]="0";
void interrupt(void)
{
if(INTCON.T0IF)
{
inc++;
INTCON.T0IF=0;
}
if(PIR1.TMR1IF)
{
broj++;
PIR1.TMR1IF=0;
}
}
void main() {
INTCON=0b10110000 ;
OPTION_REG=0b10000000;
TMR1L=0;
TMR1H=0;
LCD_Init();
LCD_Cmd(_LCD_Cursor_Off);
Delay_Ms(100);
PIR1.TMR1IF=0;
PIE1.TMR1IE=1;
T1CON=0b00000110;
INTCON.PEIE=1;
INTCON.GIE=1;
T1CON.TMR1ON=1;
INTCON.T0IF=0;
for(;;)
{
if(inc==1953)
{
INTCON.GIE=0;
T1CON.TMR1ON=0;
frek=(TMR1H<<8)+TMR1L+(65535*broj);
LongToStr(frek,TMR);
LCD_Out(1,1,TMR);
broj=0;
TMR1L=0;
TMR1H=0;
T1CON.TMR1ON=1;
INTCON.GIE=1;
inc=0;
}
}
}
Gde gresim i sta da promenim da bi proradio program. Inace kontroler je 16f628a i koristim interni clock koji je 4Mhz. Hvala unapred