|
Использование ассемблер и Си кода
Программирование микроконтроллеров в среде FloweCode
(Использование ассемблер и Си кода. Вывод на 7-ми сегментный индикатор)
Математические операции на Си и Ассемблер коде.
|
Начало бесконечного цикла
Вызов макроса CHECK_SWITCHES
Вызов макроса CHECK_BOUNDS
Переменной LOOP присваивается значение "0"
Повтор цикла пока переменная LOOP меньше 200
Запуск макроса компонента LED7Seg4(0) -> ShowDigit .
Переменная COUNT отправляется в 3-ю цифру индикатора.
Задержка 50 миллисикунд.
Вставка на Си:
(COUNT2 равно 10 минус переменая COUNT)
(отправка переменной COUNT2во вторую цифру индикатора
и отобразить точку)
Вставка на Ассемблере:
INCF _FCV_COUNT2, F; (инкремент переменной COUNT2,
прибавление единицы)
Запуск макроса компонента LED7Seg4(0) -> ShowDigit .
Переменная COUNT2 отправляется в 1-ю цифру индикатора.
Задержка на 50 миллисекунд
Прибавление к переменной LOOP единицы (LOOP = LOOP + 1)
Возвращение к циклу пока переменная LOOP меньше 200
Возвращение в началу бесконечного цикла
|
Макрос CHECK_SWITCHES. Макрос проверяет не нажата ли кнопка подключенная к регистру 4 порта А.
|
Проверка бита №4 порта А
Проверка нажата ли кнопка подключенная к регистру 4 порта А
Если да:
Прибавить к переменной COUNT единицу (COUNT = COUNT + 1)
|
Макрос CHECK_BOUNDS. Сбрасывает переменную COUNT в ноль, при превышении значения 9.
|
Проверка больше ли переменная COUNT девяти
Если да:
Присвоить переменной COUNT значение "0"
|
Файлы проекта можно скачать здесь:
Оригинальный источник материала:
www.flowecode.info
|
|
|