Помогите понять проблему с таймером. Пробую считать количество импульсов и выводить это количество на экран. Вот схема в proteus
Вот мой код:
CODE:
#include <mega8.h>
#include <lcd.h>
#include <stdio.h>
// инициализация порта В под ЖКИ
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
void main(void)
{
char string[16];
unsigned int time;
lcd_init(16);
TCCR1B = 0x07;
while (1)
{
lcd_gotoxy(0,0);
time = TCNT1H;
time=time<<8;
time+=TCNT1L;
sprintf(string,"%08d",time);
lcd_puts(string);
}
}
#include <mega8.h>
#include <lcd.h>
#include <stdio.h>
// инициализация порта В под ЖКИ
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
void main(void)
{
char string[16];
unsigned int time;
lcd_init(16);
TCCR1B = 0x07;
while (1)
{
lcd_gotoxy(0,0);
time = TCNT1H;
time=time<<8;
time+=TCNT1L;
sprintf(string,"%08d",time);
lcd_puts(string);
}
}
Если поменять TCCR1B = 0x07; на TCCR1B = 0x05; то работает.
В чем может быть проблема?
(Добавление)
Нашел ошибку, генератор подключил не к той ноге. Вопрос закрыт.