Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Cantbedisale
0 / 0 / 0
Регистрация: 22.03.2015
Сообщений: 3
1

По нажатию кнопки выдать последовательность прямоугольных импульсов скважностью 3 (ATmega16, ASM)

20.04.2015, 10:55. Просмотров 974. Ответов 3
Метки нет (Все метки)

По нажатию кнопки SW1 подключенной к выводу PD2 начать выдавать последовательность прямоугольных импульсов скважностью 3 с частотой 2ГЦ на вывод PB0. нужна помощь в написании

вот код который я попытался написать:
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
.include "m16def.inc"
.def Xx=r16
.def Yy=r17
.def zero=r31
.def temp=r30
 
 
Init:
sbi DDRB, 2;диод как выход
cbi DDRB, 1;кнопка как вход
cbi PORTB, 2;
 
 
main:              ;Основной цикл программы
 
 
SBIS PinD, 1  ; если нажата то пропускаем и идем дальше
sbic PINB, 2     ;Если РВ4=0 (светодиод зажжен), то пропустить след. строку
cbi PORTB, 2   ;Установка РВ4 в 0 (включение светодиода)
sbis PINB, 2     ;Если РВ4=1 (светодиод погашен), то пропустить след. строку
sbi PORTB,2     ;Установка РВ4 в 1 (выключение светодиода)
 
 
ldi r16, 255      ;Загрузка значения в регистр r16
ldi r17, 255      ;Загрузка значения в регистр r17
 
 
delay:             ;Цикл задержки
subi r16, 1       ;Вычитание 1 из регистра r16
sbci r17, 0       ;Вычитание с переносом из регистра r17
brcc delay       ;Если не было переноса вернуться к метке delay
rjmp main       ;Вернуться к метке main
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2015, 10:55
Ответы с готовыми решениями:

Опрос порта на нажатие кнопки (ASM, ATMega16)
Не могу разобраться в чем дело, в моем проекте порт РС настроен как приемник к каждой ножке будет...

ШИМ на ATMega16 cо скважностью 3
Помогитет написать программу: Выдать последовательность прямоугольных импульсов скважности 3 на...

По нажатию кнопки вывести данные на дисплей HD44780 ATMega16 AVR Studio GCC
Здравствуйте, уважаемые любители-программисты. Нуждаюсь в небольшой помощи по программированию...

Последовательность прямоугольных и треугольных импульсов
Подскажите, как задать последовательность прямоугольных импульсов, а на другом графике треугольных....

Периодическая последовательность прямоугольных импульсов
Необходимо ввести выражение для периодической последовательности прямоугольных импульсов. Как...

3
Voland_
1665 / 1053 / 99
Регистрация: 04.01.2010
Сообщений: 3,565
20.04.2015, 16:15 2
1) что конкретно вы не можете реализовать?
2) почитайте за команды SBIC, SBIS. У вас они работают "по волшебству", судя по комментариям:
в одном случае:
Assembler
1
SBIS PinD, 1  ; если нажата то пропускаем и идем дальше
пропускаем что?
В другом:
Assembler
1
sbis PINB, 2     ;Если РВ4=1 (светодиод погашен), то пропустить след. строку
то есть тут правильно...

ну, и надо сделать процедуру отдельно, которая бы выдавала импульсы согласно заданию. И отдельно функцию, которая будет ожидать нажатие кнопки. Про отключение режима выдачи импульсов (например, по отжатию кнопки) ничего в задании не говорится - так что это упрощает задачу в вашем случае .
0
pyzhman
1149 / 508 / 73
Регистрация: 15.05.2012
Сообщений: 2,891
21.04.2015, 06:15 3
Для начала инициализируйте порты мк для светодиода и кнопки. У вас этого нет.
0
Cantbedisale
0 / 0 / 0
Регистрация: 22.03.2015
Сообщений: 3
26.04.2015, 23:48  [ТС] 4
вот поэтому я и прошу помощи в написании,так как ноль в ассемблере
0
26.04.2015, 23:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2015, 23:48

Как построить последовательность прямоугольных импульсов со сдвигом
Здравствуйте, пытаюсь построить последовательность 9 прямоугольных импульсов, длительностью 2 сек...

Как запрограммировать последовательность прямоугольных импульсов разной продолжительности в симулинке?
Уважаемые коллеги имею суть проблемы: есть набор прямоугольных импульсов единичной амплитуды и...

Моделирование частотного модулятора (модулирующий сигнал - последовательность прямоугольных импульсов)
Помогите сделать сам не могу додуматься


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru