Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
naon
0 / 0 / 3
Регистрация: 11.09.2013
Сообщений: 259
#1

По нажатию первой кнопки - реализовать последовательность "марширующая единица" - Микроконтроллер

12.05.2016, 16:22. Просмотров 279. Ответов 9
Метки нет (Все метки)

Добрый день в программе keil uvision 4.
По нажатию первой кнопки - реализовать последовательность "марширующая единица".На базе К1816ВЕ51.

Как это должно выглядеть?

00001
00010
00100

и так далее? я правильно понял?
http://www.cyberforum.ru/avr/thread1425391.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2016, 16:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос По нажатию первой кнопки - реализовать последовательность "марширующая единица" (Микроконтроллер):

Хочу понять, что писать в коде согласно действию "при нажатии кнопки"
Работаю с ATmega16 1. Задание Занести в регистр R16 и R17...

Библиотека с "Atmel Studio" в "CV AVR": все принимается нормально, кроме массива байтов
Народ, прошу помощи! Взял библиотеку с "Atmel Studio" в "CV AVR", все приняло...

AVR STUDIO "ошибки" "оформления"
Доброго всем) Пару проблем по оформлению кода, код рабочий, но AVRStudio...

Реализовать последовательность «галопирующая последовательность» К1816ВЕ51
Добрый день в программе keil uvision 4 Организовать подсистему внешних...

Счетчик с прерыванием по нажатию кнопки
Здравствуйте, помогите, пожалуйста, сделать код правильным. МК соединен с...

9
Voland_
1475 / 985 / 93
Регистрация: 04.01.2010
Сообщений: 3,253
12.05.2016, 16:32 #2
а что, KEIL поддерживает К1816ВЕ51?

... судя по неточному заданию - наверное, да. Но в любой момент можно сказать, что ваша "единица" не "шагает", а "прыгает", и "не справа налево", а совсем наоборот. И что такое "первая" кнопка - тоже не ясно. наверное, без схемы разобраться не реально.
0
naon
0 / 0 / 3
Регистрация: 11.09.2013
Сообщений: 259
12.05.2016, 16:35  [ТС] #3
Организовать подсистему внешних прерываний в системе на базе K1816BE51. Количество источников прерывания - 2. Подключить 8 светодиодов. По нажатию первой кнопки - реализовать последовательность "марширующая единица". По нажатию второй кнопки - реализовать последовательность "шахматный код""

Это полное задание.

Добавлено через 1 минуту
Да поддерживает. Шахматную последовотельность я реализовал. А как сделать марш?
Как он должен выглядеть?
0
Витальич
12.05.2016, 16:37
  #4

Не по теме:

Цитата Сообщение от Voland_ Посмотреть сообщение
а что, KEIL поддерживает К1816ВЕ51?
с учетом того, что К1816ВЕ51 честно скоммуниздин коммунистами с i8051, да.
Не надо нам армов и пиков не надо,
8051 давай
8051 - навсегда!!!!!

0
naon
0 / 0 / 3
Регистрация: 11.09.2013
Сообщений: 259
12.05.2016, 16:43  [ТС] #5
Так я правильно понял: 00001 00010 00100 01000 10000 ?
или по другому это должно выглядеть?
0
Voland_
1475 / 985 / 93
Регистрация: 04.01.2010
Сообщений: 3,253
12.05.2016, 16:55 #6
Цитата Сообщение от naon Посмотреть сообщение
как сделать марш?
Как он должен выглядеть?
на уме вырисовывается только такая картина:

только вместо хаммеров маршируют единички...
ЗЫ: спросите у своего матерого преподавателя, что он имеет ввиду под "маршем единиц". "Бегущая единица" также было бы не точно, но этот термин хоть как-то прижился. А насчет "марширующей" встречаю впервые.
0
naon
0 / 0 / 3
Регистрация: 11.09.2013
Сообщений: 259
12.05.2016, 19:37  [ТС] #7
Цитата Сообщение от Voland_ Посмотреть сообщение
"Бегущая единица"
Выглядела бы примерно так:
C++
1
2
3
4
5
6
7
    while(S!=128 && temp==1)
            {
                S=S<<1;
                P0=S;
            }
            S=1;
            P0=S;
Спасибо за Пинк Флойд). Я знаю как выглядит марш,но как выглядили бы "1" и "0"

Добавлено через 53 минуты
Разобрался. Спасибо.
0
ValeryS
Модератор
7127 / 5395 / 669
Регистрация: 14.02.2011
Сообщений: 18,212
12.05.2016, 19:42 #8
циклический сдвиг влево на одну позицию, в языке Си выглядит так
C
1
2
3
4
unsigned char ROL(unsigned char a)
{
 return (a>>7)|(a<<1);
}
всовывай в свою программу
C
1
2
3
4
5
6
unsigned char S=0x11
while(1)
{
S=ROL(S);
P0=S;
}
и будет тебе щастье
2
naon
0 / 0 / 3
Регистрация: 11.09.2013
Сообщений: 259
13.05.2016, 14:42  [ТС] #9
Спасибо. Я немножко по другому решил .
Ваш код попробовал.Ругается на Rol
0
ValeryS
Модератор
7127 / 5395 / 669
Регистрация: 14.02.2011
Сообщений: 18,212
13.05.2016, 15:50 #10
Цитата Сообщение от naon Посмотреть сообщение
Ваш код попробовал.Ругается на Rol
ну так обзови по другому это же твоя функция, как хошь так и назови
1
13.05.2016, 15:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2016, 15:50
Привет! Вот еще темы с решениями:

MCS-51. Условия ">", "<"
Не могу понять, как провести обычную проверку, больше или меньше переменная...

По нажатию кнопки зажечь светодиод (STM32L152)
здравствуйте. прошу прощения за глупый вопрос. начал изучать STM32l но не как...

Как реализовать добавление новых тегов div на asp.net страницу по нажатию кнопки "Добавить"
Здравствуйте. Подскажите как реализовать добавление новых тегов div на...

Реализовать кнопки "Добавить", "Удалить", " Редактировать" в программе (базы данных)
Ребят помогите никак не могу прописать кнопки &quot;Добавить&quot; &quot;Удалить&quot; &quot;...


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

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

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