Мигание светодиода с помощью ассемблера на разных частотах с помощью двух кнопок
Я хочу мигать светодиодом, используя язык ассемблера и arduino Я хочу, чтобы схема имела нормальное состояние с частотой мигания 5 Гц Затем используйте две кнопки для увеличения или уменьшения частоты мигания Кнопка вверх будет увеличивать частоту мигания на 5 Гц до тех пор пока светодиод не загорится непрерывно В то время как кнопка вниз уменьшит частоту мигания на 5 Гц до тех пор, пока снова не вернется в нормальное состояние Достижимо ли это ? И если кто-нибудь может указать мне, с чего начать, так как это первый раз, когда я использую язык ассемблера, но я знаком с arduino
@Abbas Mohammed, 👍1
Обсуждение1 ответ
Вот один из примеров того, как мигать светодиодом в кодировании сборки на Arduino UNO. Вы можете попытаться решить свою задачу. Если вы застряли, пожалуйста, опубликуйте код и соединения, и я уверен, что вы снова получите помощь.
Код находится здесь
#define __SFR_OFFSET 0
#include "avr/io.h"
.global main
main:
sbi DDRB, 5 ; Установить PB5 в качестве выхода
blink:
sbi PINB, 5 ; Toggle PINB
ldi r25, hi8(1000)
ldi r24, lo8(1000)
call delay_ms
jmp blink
delay_ms:
; Задержка около (r25:r24)*мс. Клобберы r30 и r31.
; Одна миллисекунда составляет около 16000 циклов при частоте 16 МГц.
; Внутренний цикл занимает 4 цикла, поэтому мы повторяем его 3000 раз .
ldi r31, hi8(4000)
ldi r30, lo8(4000)
1:
sbiw r30, 1
brne 1b
sbiw r24, 1
brne delay_ms
ret
Ссылка на проект: https://wokwi.com/arduino/projects/290348681199092237
спасибо, сэр, я очень ценю вашу помощь, @Abbas Mohammed
- Разные и самые быстрые способы вычисления синусов и косинусов в Arduino
- Нужна помощь в программировании ардуино на ассемблере
- Светодиод с кнопочным управлением Arduino со сборкой AVR
- Светодиод Arduino PWM с замиранием в сборке
- Сборка Arduino uno AVR со светодиодами
- Как преобразовать эту программу в сборку из c++
- Как добавить два сборочных массива в arduino
- Можно ли использовать сборку с ардуино?
Вы видели эти Q+As? https://arduino.stackexchange.com/search?q=сборка, @VE7JRO
Вполне достижимо. Вы изучали некоторые учебники по ассемблеру для микроконтроллеров AVR/ардуино? Короткий поиск, по-видимому, дает многообещающие результаты. Что вы пробовали до сих пор? Вы пробовали строить код шаг за шагом, начиная с включения светодиода, затем мигая им, а затем читая кнопку?, @chrisl
Да, это достижимо. В конце концов, компилятор C++ превращает код в ассемблерный код. Но почему вы хотите это сделать? Это домашнее задание?, @Nick Gammon
1-Нет, я не смотрел на вопросы и ответы, но я буду вам благодарен 2 - нет, я еще ничего не пробовал, так как я полный новичок в ассемблере, и я искал руководство 3 - да и нет , это необязательное задание в моем курсе, которое не имеет никакого кредита, но наш инструктор дал его для нашей пользы, @Abbas Mohammed