Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 06.03.2018
Сообщений: 50
1

В случае установки на переключателях кода 0x2 на светодиодные индикаторы должна выводиться анимация

08.12.2020, 10:59. Показов 542. Ответов 8
Метки нет (Все метки)

В случае установки на DIP-переключателях кода 0x2 (шестнадцатеричное значение) на светодиодные индикаторы должна выводиться анимация, показанная ниже. Во всех остальных случаях светодиодные индикаторы отражают инвертированное значение, выставленное на DIP-переключателях.

Здесь я написал свое задание, но я новичок в Proteus и пока ничего не понимаю как сделать. Мне нужно использовать побитовый сдвиг для реализации анимации. И я выяснил значение для начала анимации PORTD = 0x88 (1000 1000), но можете подсказать или показать как делать дальнейший алгоритм для реализации?

И напишите пожалуйста, если я ошибся с темой форума.

Работаю с ATMEGA8 AVR
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Изображения
 
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2020, 10:59
Ответы с готовыми решениями:

Светодиодные индикаторы в мониторе NEC LCD1990FX
прив! в мониторе NEC LCD1990FX можно каким способом (программно, аппаратно или очумелые ручки)...

При вводе переменной «х» должна выводиться соответствующая «у»
Дан рисунок, по которому нужно сделать программу. При вводе переменной «х» должна выводиться...

при нажатии на кнопку должна выводиться картинка и текст
Здравствуйте, подскажите какие компоненты нужно использовать для реализации данной задачи:...

Форма авторизации должна выводиться на странице только при передаче GET
Всем привет, я только учись по этому извиняюсь зарание, есть задача Форма авторизации должна...

8
1551 / 793 / 327
Регистрация: 11.10.2018
Сообщений: 4,172
08.12.2020, 11:07 2
AVR Studio? Си или ASM?
0
1 / 1 / 0
Регистрация: 06.03.2018
Сообщений: 50
08.12.2020, 11:10  [ТС] 3
В самом Proteus на Си
0
1551 / 793 / 327
Регистрация: 11.10.2018
Сообщений: 4,172
08.12.2020, 11:25 4
А среда какая? AVR Studio?

Добавлено через 14 секунд
WinAVR?

Добавлено через 3 минуты
Ну накидайте в Протеусе на схему компоненты. Соедините проводами.

Добавлено через 5 минут
В гугле забанили?
https://yandex.ru/search/?text... 343&&lr=66
https://cxem.net/comp/comp117.php
0
954 / 583 / 97
Регистрация: 15.05.2012
Сообщений: 3,446
08.12.2020, 11:59 5
Цитата Сообщение от DarkBoy9 Посмотреть сообщение
PORTD = 0x88 (1000 1000)
Очевидно, 1000 0010.
0
1 / 1 / 0
Регистрация: 06.03.2018
Сообщений: 50
08.12.2020, 12:37  [ТС] 6
WinAVR да, схему я уже построил, я про побитовый сдвиг в программе. Как с ним работать
0
1 / 1 / 0
Регистрация: 06.03.2018
Сообщений: 50
08.12.2020, 13:02  [ТС] 7
Вот такая схемка
0
Миниатюры
В случае установки на переключателях кода 0x2 на светодиодные  индикаторы  должна  выводиться  анимация  
1551 / 793 / 327
Регистрация: 11.10.2018
Сообщений: 4,172
08.12.2020, 13:23 8
Цитата Сообщение от DarkBoy9 Посмотреть сообщение
побитовый сдвиг
- оператор <<.

Добавлено через 1 минуту
Дак, а картинка куда должна двигаться, вправо?
0
1 / 1 / 0
Регистрация: 06.03.2018
Сообщений: 50
08.12.2020, 14:14  [ТС] 9
картинка двигаться должна слева направо

Я написал чтобы выполнялась часть анимации (прикрепил какая часть)

И вопрос следующий, почему моя программа не видит ДАННУЮ часть кода?
C
1
2
3
4
5
6
if (i >= 4)
        {
           _delay_ms(1000);
           PORTD = (start << i);
           i = i + 1;
        }
Весь код:
C
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
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <util/delay.h>
 
int main()
 { 
    DDRB = 0x00;
    PORTB = 0xFF;
    DDRD = 0xFF;
    
    int i = 0;
    unsigned short start = 0x88;
    
   while (1)
      if (PORTD == 0x1)
      {
     do{
        if (i < 4)
        {
           _delay_ms(1000);
           PORTD = (start >> i);
           i = i + 1;
        }
        if (i >= 4)
        {
           _delay_ms(1000);
           PORTD = (start << i);
           i = i + 1;
        }
     } while (i <= 7);
      } else
      {
     PORTD = ~PINB;
      }
      
   return 0;
 }
0
Изображения
 
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2020, 14:14

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Должна выводиться информация об общем количестве символов, гласных, согласных и строк
Помогите, пожалуйста! Программа, в которой Main в качестве аргумента будет передаваться имя...

При нажатии на кнопку переменная должна увеличиваться на 1 и выводиться в label (PowerShell Studio)
Добрый день. Помогите пожалуйста. Вроде задача не сложная, но что то не могу сообразить. В sapien...

В каждом DGV должна выводиться сумма по полю количество и цена и считаться остаток по количеству и цене
Здравствуйте, у меня есть поле DateTimePicker1. По событию ValueChanged должен происходить фильтр &lt;...

Запись с видео должна автоматически выводиться в рубрике видео
Добрый день, вечер или утро! Я вот с таким вопросом. Нужно на wp реализовать такую возможность: при...

Пользователь вводит количество звёздочек и количество пробелов, через которые должна выводиться каждая звёздоч
Вроде все понятно, не пойму почему не реализуется должным образом. предполагаю не верно указан...

Для каждой компании должна выводиться информация по каждой улице, имеющейся в исходном документе, даже если на этой улиц
Дан XML-документ с информацией о ценах автозаправочных станций на бензин. Образец элемента первого...


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

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

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