Свежие обсуждения
Микроконтроллеры

Спидометр на Atmega8

1 2

rtm7777: Ну вдруг какой то неправильный подход использовал)
Ваши сомнения не беспочвенны. Спидометр с индикацией на 3-х разрядном LED реализуется на одном таймере Т1. Сходите по ссылке urry. Можно добавить счётчик импульсов для организации одометра.

Спидометры делают так, чтобы показания его были завышены, у Вас немного, но занижены.
Зачем разрешаете прерывания от Т2, если не используете его?

 

urry: здесь получается паразитная засветка следующего разряда значением предыдущего.

switch (cur_dig)
{
case 0:{digit3=0;digit1=1;PORTD=digits[digit_out[cur_dig]];break;};
case 1:{digit1=0;digit2=1;PORTD=digits[digit_out[cur_dig]];break;};
case 2:{digit2=0;digit3=1;PORTD=digits[digit_out[cur_dig]];break;};

}

.....

В таком варианте не будет засветки?

 

akl, а почему они занижены? Я кроме спидометра также планирую сделать тахометр, в нем буду подсчитывать время между импульсами. Не могу понять как сделать на одном таймере , когда на двух то один отвечает за отображение на индикаторе, а второй за обновление значения раз в пол секунды.

 

Вот весь проект https://dl.dropboxusercontent.com/u/62500037/1_my_speedometr.zip

 

rtm7777:... почему они занижены?...раз в пол секунды.

При 8МГц и Ваших установках таймера будет не полсекунды, а 0,499968. Допустим, при 100км/час и датчике 6имп/м будет 6*100000/3600=166,(6)имп/сек, т.е. за 0,499968 сек счетчик импульсов накопит всего 83 импульса. В итоге скорость будет 99км/час вместо 100км/час.
Совет. Привыкайте всё делать точно. До боженьки нам далеко. Причём тут боженька? Отвечу словами старого токаря

"всё должно меряться штангенциркулем и микрометром, на глазок только боженька манду сделал, правда, так, что к ней любой хер подходит"

 
1 2