Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Микроконтроллер Генерация реальных частот нотного ряда https://www.cyberforum.ru/ microcontrollers/ thread1200909.html
Здравствуйте... В хорошо, думаю, известных книгах А.В. Белова есть пример программы на ассемблере "Музыкальная шкатулка"... Использовал данную программу для озвучивания некоторого события в своем устройстве... в принципе работает... но в двух последних мелодиях явные "нестыковки" - фальшивят и сильно... правда не на всём протяжении мелодии... Для того, что бы разобраться с этим вопросом решил...
Микроконтроллер Ошибка при использовании HEX в Proteus 8
Собрал схему в протеусе. скомпилил код через MPASMWIN. Вставил hex файл в протеус. а он ошибку выдал вот эту. подскажите как с ней разобраться. picc.exe --output=mcof --errformat="Error at file %%f line %%l column %%c: (%%n) %%s" --warnformat="Warning at file %%f line %%l column %%c: (%%n) %%s" --msgformat="Message at file %%f line %%l column %%c: (%%n) %%s" -G --chip=16F84A -O"Debug.cof"...
Микроконтроллер Как занести в регистр число? https://www.cyberforum.ru/ microcontrollers/ thread1199605.html
как записать командами "Занести в регистр число, произвести с ним все возможные арифметические действия с любым вторым числом(сложение, вычитание, деление, умножение). Из них найти максимальное число целое и отправить на порт В." Не могу понять как это пишется.. заранее спасибо!))
Микроконтроллер Формирование задержек в МК https://www.cyberforum.ru/ microcontrollers/ thread1198873.html
Добрый день. Нужно в задержке _delay_ms(1) вместо единицы использовать переменную. Возможно ли это? Программирую в среде Atmel Studio 6.1. И микроконтроллер Аtmega 48 на языке Си Вот код #define F_CPU 3686400UL #include <avr/io.h> #include <util/delay.h> int main(void) {
Распознавание DTMF в MSP430 Микроконтроллер
Распознавая DТМFпосылки, декодер передаёт в микроконтроллер DA2 четырёхразрядные двоичные коды нажимаемых на телефоне отправителя кнопок. Нужно написать программу которая будет сравнивать эти коды в мк и передовать на реле. (включить реле или выключить) Соответствие DTMF-сигнала и выходного кода <Перезалейте на форум, изображение битое...>
Микроконтроллер STM32F4xx и несколько USB-интерфейсов Всем привет. Имеется проект на STM32F407, связанный с работой с USB. Для USB используется обычная ST'шная библиотека. Используются два интерфейса - нулевой для HID, первый для vendor-specific протокола. По одиночке всё работает отлично. Но когда операционная система опрашивает HID-интерфейс, а моё приложение через libusb начинает активно работать с со своим интерфейсом, то через случайный... https://www.cyberforum.ru/ microcontrollers/ thread1195980.html
Микроконтроллер Программа формирования прерывистого звукового сигнала частотой 1 кГц на МК-51 Есть лабораторная работа. Задание звучит так: Программа формирования прерывистого звукового сигнала частотой 1 кГц с длительностью звучания 200 мс и паузой 100 мс. Сигнал запускается от внешнего прерывания. Она выполнена не мной, но кажется разобрался. org 0 jmp Setting org 0003h ;адрес подпрограммы внешнего прерывания NT0 jmp Start Start: ;подпрограмма обработки прерывания и... https://www.cyberforum.ru/ microcontrollers/ thread1195352.html Микроконтроллер Управление светодиодами с ATMega328
Здравствуйте помогите пожалуйста с написанием кода. Нужно запрограммировать мигания восьми светодиодов так чтоб порядок их мигания был такой 1,7,2,6,3,5,4,6,3,7,2,8,1,7 и тд есть пример кода и схема в Proteus .def temp=r16 .def temp1=r17 .def temp2=r18 .def temp3=r19 .cseg .org 0 ser temp clr temp1 ldi temp2,0b00000001
Микроконтроллер спроектировать устройство Спроектировать устройство управления процессом химического производства продукта А из компонент B,C и D Устройство должно обеспечивать: а)загрузку при помощи э/м заслонки и взвешивание Мв=0-250 кг+-1% компоненты В; б)Загрузку компоненты С (Мс=0-50 кг+-1%) со скоростью Vc=1-10 кг/мин.+-10% при непрерывном смешивании смеси;в)нагревание смеси В+С до Т = 50-250 Градусов Цельсия +-5% со скоростью... https://www.cyberforum.ru/ microcontrollers/ thread1194582.html Микроконтроллер Округление значения температуры https://www.cyberforum.ru/ microcontrollers/ thread1194221.html
Здравствуйте! Нашёл в интернете схему часов с большими индикаторами и 2-мя термометрами (уличный и домашний), понравилось, собрал спаял часы, собрал простенький программатор, залил туда прошивку (прошивка v2.1), всё работает, но возникло желание температуру выводить на экран с точностью до одного градуса, а не с точностью до одной десятой градуса, т.к. всё равно точность датчика DS18B20...
Работа с EEPROM Attiny2313 Микроконтроллер
Добрый вечер:) Есть программа кодового замка для Attiny2313. Пользователь вводит код, этот код сверяется с тем, что сохранен в eeprom, при совпадении дверь открывается. Есть так же функция смены пароля. В начале программы я задавала переменным, выделенным в eeprom, значение нуля. Если изначально им не присваивала какого-то значения, то программа не работала. В итоге, если использовать тот...
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
09.06.2014, 11:22 0

Инкрементация числа до переполнения на ASM в AVR Studio - Микроконтроллер - Ответ 6293835

09.06.2014, 11:22. Показов 2156. Ответов 14
Метки (Все метки)

Лучший ответ Сообщение было отмечено Lisok как решение

Решение

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
.device atmega8
.nolist
.include "m8def.inc"
.list
; =======================
; Обьявления
.def temp = r16
.def val = r17
.def cycle = r18
 
 
; =======================
; Начало программы
    rjmp Init;                      
 
Init:
;********************************************************************
; Установка указателя стека
    ldi temp,low(RAMEND)
    out SPL,temp
    ldi temp,high(RAMEND)
    out SPH,temp
 
;********************************************************************
; Инициализация порта В
    ldi temp, 0b11111111
    out DDRB, temp
    ldi temp, 0b00000000
    out PortB, temp
 
;********************************************************************
; Инициализация порта D
    ldi temp, 0b11111111
    out DDRD, temp
    ldi temp, 0b00000000
    out PortD, temp
 
;*******************************************************************
; Основной программный цикл
Start:
    ldi val, 5              ; задаем число
 
    ldi temp, 1
    ldi cycle 0
Loop:
    inc cycle               ; количество циклов
    add val, temp
    brcc Loop               ; перейти если нет переполнения
    
    cpi cycle, 20           ; проверяем количество интераций            
;
Допишите сами.
Почему использую команду add вместо inc:
INC - добавление единицы к содержимому регистра Rd и размещение результата в регистре назначения Rd.Флаг переноса регистра статуса данной командой не активируется.

Вернуться к обсуждению:
Инкрементация числа до переполнения на ASM в AVR Studio Микроконтроллер
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2014, 11:22
Готовые ответы и решения:

ASM + AVR Studio
Осваиваю AVR+ASM, необходимо сделать цикл N число раз, N считывается из порта C. Как считать N в...

Вопрос к пишущим на asm в AVR Studio 4-5-6
Собственно хотелось бы услышать какая версия наименее глючная и удобная в этом ключе. Какие глюки...

Не происходит возврат из подпрограммы (AVR Studio 4, Asm)
Доброго времени суток. Пишу мигающий светодиод на Avr ассемблере под Atmega16, среда AVR Studio 4. ...

Обращение к регистрам через адреса (ASM, AVR Studio)
Здравствуйте, есть такой вопрос: к примеру у меня в SRAM хранятся реальные адреса регистров общего...

14
09.06.2014, 11:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2014, 11:22
Помогаю со студенческими работами здесь

Вычитание двухбайтных чисел в AtMega8535 на ASM (AVR Studio 4)
Составить программу вычитания двухбайтных чисел. Уменьшаемое содержится в регистровой паре R3:R2,...

AVR Studio (ASM). Поменять местами тетрады в данных
№16 Задание делается в AVR Studio Помогите, буду очень признателен, задание сделать надо к...

ATMega16 (AVR Studio, ASM) - Вывести результат на светодиоды по схеме
Ребят, помогите, пожалуйста, с решением задачи, не получается вывести результат на светодиоды по...

Прерывание по переполнению таймера-счетчика ATmega8535 (ASM, AVR Studio 4)
Система прерываний на примере прерывания по переполнению встроенного таймера-счётчика...

CAVR против AVR Studio, что не так в программе под AVR Studio
Проблема такая, есть исходник, если его компилировать в CAVR заливаю в МК все работает, если этот...

Избавиться от переполнения буфера (asm)
Всем привет, на вашем форуме первый раз) Имея базовые знания по C++ и Assembler решил сварганить...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru