Описание алгоритма
-Инициализируем порты А и С : Порт А на вывод, обнуление порта;
Порт C на вывод, обнуление порта.
DDRA=0xff
PORTA=0x00
DDRС=0xff
PORTС=0x00
- Инициализация порта Е: Порт Е на ввод, обнуление порта.
DDRE=0x00
PORTE=0x00
Инициализация УСАПП,
Разрешение работы передатчика, разрешение работы приемника, установка формата посылки
UCSR0A=0x40 – 101000
DDR0 = 1 – флаг переполнения данных
UDRE0 = 1 – флаг освобождения регистра данных УСАПП, если UDRE0 = 1, то буфер обмена готов к записи.
UCSR0B=0x48 – 1001000
TXENO = 1 – разрешение на работу передатчика, запись в этот бот логической единицы разрешает работу передатчика УСАПП0.
UCSR0C=0x56 – 1010110
UCSZ00 – формат данных – бит 0
UCSZ01 – формат данных – бит 1
UPM00 – режим паритету – бит0
UMSELO – выбор режима синхронизации.
Установка скорости передачи УСАПП:
UBRR0H=00 – зарезервирован для дальнейшего использования
UBRR0L=0x67 – 1100111 - инициализирует обновления делителя скорости связи.
Настройка таймер-счетчика нормальный режим работы,К=1,1 МГц, детектор фронта – на фронт:
TCCR1A=0x00 - настройка регистра А на ввод
TCCR1B=0xC1 – 11000001
CS11 – выбор тактового источника – бит0
ICES1 – выбор на входе захвата фронта, что детектируется
ICNC1 – глушитель шума на входе захвата
TCCR1C=0x00
Разрешение прерываний по захвату
TIMSK=(1<<TICIE1) – разрешение на прерывание по захвату
Обнуление ТС
TCNT1=0x00 -
Запись 1 в регистр захвата
I=ICF
При выполнении условий I=ICF
I Будет принемать значение,которое содержитьсяв регистре захвата
I=ICR1
Описание расчетной формулы
F=Fconst/(i*k)
Опустошение регистра данных УСАПП
При выполнении условий UDRE=1
Записываем частоты в регистр данных УСАПП
UDR=f
Опустошение регистра данных УСАПП
При выполнении условий UDRE=1
Вывод данных на LCD
При выполнении условий последней операции-конец
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.