Нужна помощ ,не получаеться написать функцию дешифратора

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Synergetik писал(а):по той же причине Вы не должны использовать в своих конструкциях МК, так как он уже кем-то изготовлен. Вы должны сначала вырастить кристалл кремний, поместить на нём логические структуры, пассивные элементы и умудриться поместить всё это в корпус 1х4 см., причём всё это чудо должно работать и причём стабильно.
бредовое сравнение. написать программу в домашних условиях можно, в отличие от выращивания кремниевой подложки. каждый сам для себя решает что и как делать и не вам судить, как он это делает, держите мнение при себе. То что вы делаете по-другому, не дает вам права указывать остальным делать так же.
Использование библиотек позволяет сделать быстро не вникая в подробности. Лично я так не люблю. Мне нравится делать так, чтобы в происходящем процессе знать все тонкости, а не тупо вызов функции и возврат результата.
Ставим плюсы: )
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

dosikus писал(а): Чушь полная . По твоему и Fat и работу с USB и другой код , просто необходимо писать заного.
Абсолютно точно! "Просто необходимо"!
dosikus писал(а): Нельзя смотреть чужой, заимствовать , учится у других пусть даже на их ошибках ?
Никогда даже не пытался разобраться в чужом коде. Не благодарное это дело. Вот принцип посмотреть, определить подходит ли он мне, и писать СВОЙ алгоритм.
dosikus писал(а):Нет я не говорю о полном слизывании чужого кода, почему нельзя использовать удачные решения и красивые куски кода ?
Надо писать свой код. Это моё личное мнение, я Вам его не навязываю! Я просто не хочу и не буду "использовать удачные решения и красивые куски кода"
dosikus писал(а): А что ты будешь делать если твой код один в один совпадет с чужим , притом ты его не слизывал ? Так же не будешь пользоватся ?
А вот этот вопрос меня вообще не волнует. Для меня важно только то, что я сам написал и досконально разобрался. И если такое произойдёт, то это лишь станет доказательством того, что код правильный, т. к. вероятность того, что два человека пишут один и тот же код, который работает "как часы" и при этом в нём есть скрытая ошибка, ничтожно мала.

И ещё, уважаемый Synergetik. У меня создаётся впечатление, что у Вас не всё в порядке с логикой, какая то она у Вас не здоровая.
Ещё раз повторюсь, можете делать что хотите, даже МК дома собирать раз уж Вы так хорошо разбираетесь в технологии производства, а я уж как нибудь.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Реклама
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Сообщение BerZerK-ku »

ibiza11 писал(а):Использование библиотек позволяет сделать быстро не вникая в подробности. Лично я так не люблю. Мне нравится делать так, чтобы в происходящем процессе знать все тонкости, а не тупо вызов функции и возврат результата.
Pooher писал(а):Надо писать свой код. Это моё личное мнение, я Вам его не навязываю! Я просто не хочу и не буду "использовать удачные решения и красивые куски кода"
Глупо обобщать. Бывают ситуации когда дешевле и продуктивнее воспользоваться чужими наработками. чем тратить время на изучение материала и написание своих драйверов/функций.
Когда пишете ПО для ПК тоже не используете чужие библиотеки?
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Когда пишете ПО для ПК тоже не используете чужие библиотеки?
Нет. Если не считать таковыми WINAPI.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Реклама
Эиком - электронные компоненты и радиодетали
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Pooher писал(а):

Код: Выделить всё

cp r16, r17
breq did_Set
inc r17
rjmp conv
Что-то не въехал в смысл данных строк, можно пояснить?
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Встал на лапы
Сообщения: 91
Зарегистрирован: Пт авг 28, 2009 16:08:48
Откуда: г.Вязьма Смоленская обл

Сообщение edds »

Парни, есть у кого инфа по управлению отдельными битами -не только портов, но и счётчиков, переменных , иль ссылки какие ? Подскажите.
Реклама
Опытный кот
Сообщения: 732
Зарегистрирован: Пт авг 22, 2008 16:59:43

Сообщение Cat_CooLeR »

edds писал(а):Парни, есть у кого инфа по управлению отдельными битами -не только портов, но и счётчиков, переменных , иль ссылки какие ? Подскажите.
всмысле? Просто установить или сбросить бит? Если так, то две команды:
SBI -устанавливает в I/O.
CBI - очистить в I/O.
и SBR - установить в регистре, и CBR - очистить в регистре.
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

GP1 писал(а):
Pooher писал(а):

Код: Выделить всё

cp r16, r17
breq did_Set
inc r17
rjmp conv
Что-то не въехал в смысл данных строк, можно пояснить?
Очень просто:

Код: Выделить всё

Conv: 
cp r16, r17  ; Сравниваем число, которое надо преобразовать с r17
breq did_Set ; Если они равны, переходим непосредственно к конвертации
inc r17 ; Если не равны, то увеличиваем r17 и
rjmp conv ; опять сравниваем
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Встал на лапы
Сообщения: 91
Зарегистрирован: Пт авг 28, 2009 16:08:48
Откуда: г.Вязьма Смоленская обл

Сообщение edds »

А в Си как можно управлять битами? Иль только с ассемблеровскими вставками ? Надо инверсию vмладьших битов таймера битов таймера 1 TCCR1B организовать.
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

в си тоже есть
установка бита на порту
TCCR1B |= 1<<BIT1;
бит1 должен быть задефайнен
сбросить в 0
TCCR1B &=0<<BIT1;

TCCR1B^=BIT1; так будет менять состояние на противоположное при каждом вызове
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

edds писал(а):Надо инверсию vмладьших битов таймера битов таймера 1 TCCR1B организовать.

Код: Выделить всё

in r16, TСCR1B ; Считываем TСCR1B в к16
ldi r17, 0b00001111 ; r17<<0b00001111
eor r16, r17 ; Исключающее или r16 и r17
out TTCR1B, r16 ; TTCR1B<<r16
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Pooher
сколько раз говорилось - учитесь правильно задавать вопросы. :)))
про сравнение это понятно, не понятно для чего?
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Pooher писал(а):
dosikus писал(а): Нельзя смотреть чужой, заимствовать , учится у других пусть даже на их ошибках ?
Никогда даже не пытался разобраться в чужом коде. Не благодарное это дело. Вот принцип посмотреть, определить подходит ли он мне, и писать СВОЙ алгоритм.
dosikus писал(а):Нет я не говорю о полном слизывании чужого кода, почему нельзя использовать удачные решения и красивые куски кода ?
Надо писать свой код. Это моё личное мнение, я Вам его не навязываю! Я просто не хочу и не буду "использовать удачные решения и красивые куски кода"
Вероятно ты все писанное мной воспринимаешь на свой счет .
Я же говорил о топикстартере ( о начинающих).
А когда он достигнет твоих высот - вот тогда пусть и занимется изобретательством.
А пока ничего зазорного в изучении и использовании чужого кода им и подобными не вижу.
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

не понятно для чего?
Ну, я опять не понял вопроса. По подробнее.
В r16 имеем десятичную цифру, которую надо преобразовать в 7-сегментный код.
В начале обнуляем r17:

Код: Выделить всё

Convert: 
...
clr r17
В итоге, понятное дело, r17=0.
Затем сравниваем r17 и нашу цифру:

Код: Выделить всё

cp r16, r17
Если они равны, т. е. наша цифра - "0"
переходим к конвертации:

Код: Выделить всё

breq did_Set
...
did_Set: 
adc ZL, r16 
lpm r16, Z 
ret 
DidGit: 
;******0*****,*****1*****,******2******,****3******,... 
.db 0b11011110, 0b00001100, 0b10111010, 0b10101110 
.db 0b01101100, 0b11100110, 0b11110110, 0b10001100, 0xff, 0b11101110, 0b00010000
А если не равны, то увеличиваем r17 на 1:

Код: Выделить всё

inc r17
и проверяем ещё раз:

Код: Выделить всё

rjmp conv
и так до тех пор, пока r17 не будет равняться нашей цифре.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Вероятно ты все писанное мной воспринимаешь на свой счет .
Ни в коем разе!
А пока ничего зазорного в изучении и использовании чужого кода им и подобными не вижу.
Зазорного конечно ничего нет, но я говорю о том, что это просто бесполезно. Если человек не может сам разобраться, то лучше бросить это занятие, ведь отвечать на "глупые" вопросы не сложно, но ведь пользы "просящему" это не принесёт. Соображающий человек просто не будет задавать таких вопросов. Ведь можно взять лист бумаги, прикинуть что к чему, почитать книгу, DS, "погуглить"...
Надо мной уже даже жена смеётся(и ругается непрерывно). Пойду погулять с ребёнком, сяду на скамеечку, достану листочек бумаги и ручку, и начинаю там нолики с единичками рисовать.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Встал на лапы
Сообщения: 91
Зарегистрирован: Пт авг 28, 2009 16:08:48
Откуда: г.Вязьма Смоленская обл

Сообщение edds »

Парни, взгляните на код, попробовал написать фазометр для промышленной частоты(~50 гц). Будет ли работать?
Вложения
Q.c
(4.17 КБ) 254 скачивания
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»