С Новым годом! Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 01.11.2015
Сообщений: 211

Модуль АЦП ATMega32, работа с 3 каналами и тремя кнопками

14.11.2016, 17:54. Показов 1121. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна помощь по AVR simulator IDE, работаю с АЦП, не могу сделать одну вещь, а именно при одновременном нажатие трех кнопок, что бы мигала на ПОРТ С, все три канала которые я задал. Мигать должны по очереди. Но у меня вместо мигание, просто идет перебивание по очереди, (Нажал 3 кнопку загорелось, нажал 2 , вторая кнопка перебила 3 и горит, нажал 1 кнопку перебивает все предыдущий две кнопки), а мне нужно при нажатие всех кнопок что бы мигали по очереди и так пока не сброшу кнопки. Помогите пожалуйста с задачей (Вот мой код, покажите что нужно изменить)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
.ORG    0x000000
        LDI R16,low RAMEND
        OUT SPL,R16
        LDI R16,high RAMEND
        OUT SPH,R16
START:
    ldi R29,0x0F
        LDI R31,0xFF
        OUT DDRB,R29          
        LDI R30,0x00
        OUT DDRA,R30
        OUT DDRC,R31
K3
    CBI PORTB,1
    CBI PORTB,0 
    CBI PORTB,2
 
K1
    SBI PORTB,0
    LDI XL,0x36
    LDI XH, 0x00                    
    LD R16,X
    SBRC R16,4
    RJMP Q1                    
K2
    CBI PORTB,0 
    SBI PORTB,1
    LDI XL,0x36
    LDI XH, 0x00                   
    LD R16,X
    SBRC R16,4                     
    RJMP Q2  
        
K4
    CBI PORTB,0
    CBI PORTB,1 
    SBI PORTB,2
    LDI XL,0x36
    LDI XH, 0x00                     
    LD R16,X
    SBRC R16,4                   
    RJMP Q3 
K5
    LDI R27,b'00000000'
    OUT PORTC,R27
    RJMP K3
               
Q1  LDI R31,0x20
        OUT ADMUX,R31   
        LDI R30,0xBD
        OUT ADCSRA,R30    
        NOP
        NOP
    RJMP L1
Q2
    LDI R18,0x21
        OUT ADMUX,R18    
        LDI R30,0xBD
        OUT ADCSRA,R30    
        NOP
        NOP
    RJMP L1
Q3
    LDI R19,0x22
        OUT ADMUX,R19     
        LDI R30,0xBD
        OUT ADCSRA,R30     
        NOP
        NOP
    RJMP L1
L1:
        RCALL L2
        IN R16,ADCL
        IN R17,ADCH
        OUT PORTC,R17     
    RJMP K3
L4: 
        RJMP L4           
L2:
        SBI ADCSRA,6               
L5:
        LDI XL,0x26
        LDI XH,0x00
        LD R31,X
        SBRC R31,6                    
        RJMP L5
        RET
L7: 
        RJMP L7                   
 
.END

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.11.2016, 17:54
Ответы с готовыми решениями:

Работа с несколькими каналами АЦП в Attiny85
Коллеги, нужен дельный совет, подскажите кто имеет опыт плиз. Суть в следующем: АЦП ATtiny85 настроен так: // ADC Clock...

Моделирование устройства с тремя кнопками и тремя лампочками: красной, желтой и зеленой
Вообще не могу понять как решить подобную задачу... дайте мне хотя бы идею пожалуйста, если кто то поймет.. Имеется устройство с тремя...

atmega32 + I2C АЦП AS1538 не работает :(
Пытаюсь измерить напряжение на каналах 4(+) и 5(-), но не получается. Такое впечатление, что АЦП зависает. После подачи питания на АЦП и...

6
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
14.11.2016, 18:05
Цитата Сообщение от MR_Clock Посмотреть сообщение
покажите что нужно изменить
Для начала добавьте комментариев к коду. Ничего ж не понятно, что вы хотите им сделать. Тем более, в ассемблере.
И сделайте метки более информативными. Названия типа "K4, M5" никакой информации в себе не несут. Одно дело, когда это какое-то маленький цикл, и совсем другое - когда это подпрограмма.

Добавлено через 3 минуты
...навскидку вы как-то странно работает с портами. Для чтения данных с порта IO есть команды IN, или еще подходят переходы - SBIS/SBIC. А вы, похоже, работаете с портами, пытаясь читать их командами mov a, [X]...
0
1 / 1 / 0
Регистрация: 01.11.2015
Сообщений: 211
14.11.2016, 18:19  [ТС]
Voland_, Ну кто работает на Ассемблере поймет, я вот тоже мучаюсь по Ассемблеру.
К1, К1, К4 , это и есть те три кнопки! (Могу именовать по разному К1 могу на К10 хоть, суть не в этом, суть под К1)
Q1 Q2 Q3 это три каналы. (Что активируется только при нажатие кнопок)
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
14.11.2016, 18:52
Цитата Сообщение от MR_Clock Посмотреть сообщение
кто работает на Ассемблере поймет
я работаю в том числе и используя ассемблер, и я не хочу разбираться в вашем говнокоде.
Цитата Сообщение от MR_Clock Посмотреть сообщение
К1, К1, К4 , это и есть те три кнопки!
K1..K5 - это еще и метки в коде. О назначении которых мне совершенно не известно, притом, что в схеме у вас 16 кнопок. Какие "те три"?
Цитата Сообщение от MR_Clock Посмотреть сообщение
Q1 Q2 Q3 это три каналы.
понятно.. клава 4х4 опрашивается тремя "каналы". Слава богу, теперь-то все стало ясно...
0
1 / 1 / 0
Регистрация: 01.11.2015
Сообщений: 211
14.11.2016, 19:07  [ТС]
Voland_, ну К3 - очищает порты в кнопках, CBI который, К5 очищает порт С в Микроконтроллере ATmega32
Assembler
1
2
3
4
K5
    LDI R27,b'00000000'
    OUT PORTC,R27
    RJMP K3
"Какие "те три"?"
Посмотри пожалуйста на скрин, я про эти три кнопки имею ввиду!


Да нормальный код, работает он!
0
1 / 1 / 0
Регистрация: 01.11.2015
Сообщений: 211
16.11.2016, 15:20  [ТС]
Все сделал сам!!!
0
3 / 3 / 0
Регистрация: 11.09.2015
Сообщений: 27
16.11.2016, 20:50
а что за программа для отладки скрины из которой?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.11.2016, 20:50
Помогаю со студенческими работами здесь

ATmega32, АЦП, опрос неподключенных ног
Вопрос, скорее академический. Итак, есть код: Инициализация АЦП: DDRA=0x00; //все на вход //настраиваем АЦП...

АЦП ATMEGA32. Непонятки с пинами AVCC и AREF. Тема закрыта.
С АЦП у меня небольшой опыт. Сейчас делаю проект, где АЦП использую второй раз. В первый раз я делал проект на ATTINY13. Там все просто...

Создайте программу с тремя кнопками
Создайте программу с тремя кнопками. На первой из кнопок отображается число (изначально 0). При нажатии на вторую кнопку число...

Программный модуль защиты данных, которые передаются открытыми каналами
Здравствуйте! Вопрос жизни и смерти - какие есть программы для защиты данных при передаче их по открытым каналам? Либо...

Создать окно с тремя кнопками, используя Swing
Добрый день! Помогите, пожалуйста, решить задачу. Создать окно с тремя кнопками. Каждая кнопка должна окрашивать поверхность...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru