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

Использование ассемблер и Си кода

Программирование микроконтроллеров в среде 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