Вы вошли на сайт, как Гость
Регистрация

Счетчик на 4-х цифровом 7-ми сегментном индикаторе

Программирование микроконтроллеров в среде FloweCode
(Счетчик на 4-х цифровом 7-ми сегментном индикаторе)

Использование 4-х цифрового 7-ми сегментного индикатора для счета от 0 до 9999 Применено прерывание по переполнению счетника TMR0:





Присвоние переменной COUNT значение 0




Присвоение переменной SEG0 значение 0



Присвоение переменной SEG1 значение 0



Присвоение переменной SEG2 значение 0



Присвоение переменной SEG3 значение 0



Активация прерывания по таймеру. При частоте кварца 
19,660800 мгц и предделении1:256 переполнение 
счетчика происходит 75 раз в секунду. Значит
макрос INTERRUPT_TMR0 тоже вызывается 75 раз в 
секунду.







Старт бесконечного цикла



Сравнение равна ли переменная COUNT 75-ти




Если да, обнуляется COUNT



Вызов макроса UPDATE_VALUES




Отправляем переменную SEG0 в первую цифру 
индикатора


Задержка 5 мс



Отправляем переменную SEG1 во вторую цифру 
индикатора


Задержка 5 мс



Отправляем переменную SEG2 
в третью цифру индикатора



Задержка 5 мс


Отправляем переменную SEG3 в четвертую цифру 
индикатора



Задержка 5 мс







Возвращение к началу бесконечного цикла



Макрос UPDATE_VALUES

При достижении значений переменных больше 9-ти, показания индикатора сдвигаются на один старший разряд.

Увеличение переменной 
SEG0 на единицу
(SEG0 = SEG0 + 1)


Переменная SEG0 больше 
или равна 10?


Если да,

Обнуляем переменную 
SEG0


Увеличение переменной 
SEG1 на единицу
(SEG1 = SEG1 + 1)


Переменная SEG1 больше 
или равна 10?

Если да


Обнуляем переменную 
SEG1



Увеличение переменной 
SEG2 на единицу
(SEG2 = SEG2 + 1)


Переменная SEG2 больше 
или равна 10?

Если да


Обнуляем переменную 
SEG2


Увеличение переменной 
SEG3 на единицу
(SEG3 = SEG2 + 1)


Переменная SEG3 больше 
или равна 10?

Если да


Обнуляем переменную 
SEG3



Макрос INTERRUPT_TMR0

По прерыванию TMR0 добавляет к переменной COUNT единицу


Добавляет к переменной COUNT единицу. (COUNT = COUNT + 1)

Файлы проекта можно скачать здесь:

Оригинальный источник материала: www.flowecode.info