2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3, 4  След.
 
 Программирование микроконтролеров
Сообщение23.04.2008, 12:44 


31/03/08
25
Кыргызстан
Здравствуйте уважаемые! Хотелось бы сделать схему управления светом, на компе включать и выключать свет. Думаю надо будет заняться микроконтроллерами. Что посоветуете для этого. Можно ли Ассемблер использовать или есть какая то друга среда разработки?

 Профиль  
                  
 
 
Сообщение23.04.2008, 19:16 


21/03/06
1545
Москва
О, я могу посоветовать... много могу посоветовать... только готовы ли Вы настолько заморочиться чтобы освоить эту профессию? Дело то требует большого кол-ва знаний в области программирования, электроники и смежных. Тут наобум ничего не сделаешь.

Как правило, все решения для "тюнинга" компа с помощью подстветки и пр. уже разработаны сторонними фирмами. Поищите что-нибудь готовое.

Если хотите посложней - посмотрите в сторону управления ножками LPT-порта из Вашей программы, найдите распиновку LPT-порта, найдите в продаже ответный разъем, распаяйте все это дело, токоограничивающие резисторы не забудьте (для светодиодов), и - вперед - писать софт. Но тут надо тоже иметь некоторые базовые знания по микроэлектронике.

Ну а на уровне "Hard" - COM, USB порт + 8-бит микроконтроллер (см., например, Atmel) + среда разработки Си/Си++ + программатор замутить... В общем дел для новичка - на пол года, поверьте.

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

Добавлено спустя 2 минуты 5 секунд:

Да, и тема для подраздела "Hardware" все же.

 Профиль  
                  
 
 
Сообщение24.04.2008, 09:01 


31/03/08
25
Кыргызстан
Спасибо за ответ
Да готов. Я хочу дипломку написать, "управление светом в жилых и промышленных комплексах"(примерно так). Пока на 2 курсе, начали изучать С. Впереди еще 3 года. Думаю с вашей помошью справлюсь)).
Для начала:
1.какую книгу посоветуете приобрести?
2. Какой язык начать осваивать (по С++ немного есть база)
И вообще по какому маршруту следовать к пику "Победы")), в каком порту остановиться, что прихватить для долгого пути (микро- паяльник..... )))?.

 Профиль  
                  
 
 
Сообщение24.04.2008, 21:05 


21/03/06
1545
Москва
Цитата:
Да готов. Я хочу дипломку написать, "управление светом в жилых и промышленных комплексах"(примерно так). Пока на 2 курсе, начали изучать С. Впереди еще 3 года.

Ну что ж. Время у Вас есть.

Цитата:
1.какую книгу посоветуете приобрести?

Посоветую скачать из инета, т.к. книги нынче небюджетные, а компьютерные, по электронике и пр. спец. книги - вообще очень дороги.
По Си - Подбельский, Керниган и Ричи (Язык программирования Си) - именно в этой последовательности. Плюс практика, практика - купите себе Borland C, я вообще начинал с Borland C 3.1, но в принципе пойдет любой компилятор естественно (Си стандартизован более-менее).
По Си++ - Х. М. Дейтел, П. Дж. Дейтел "Как программировать на C++", Бьерн Страустрап - опять таки именно в этой последовательности. Ну или, если Вы хорошо поняли Кернигана и Ричи, то можете сразу читать Страустрапа.

Далее Вам нужно что-то по архитектуре и принципам работы современных процессоров. Тут не посоветую конкретной книжки, ибо на тот момент, когда я сам учился этому, достойных книжек, охватывающих всю область просто не было. Я учился по обрывкам. Ну а Вам рекомендую тот же инет. Довольно хорошо это изучается по истории развития ЭВМ, поищите - там как раз от простого к сложному идет, да и будут понятны азы.

Ну а далее - выбираете микроконтроллер (настоятельно рекомендую Atmel Mega128), читаете на него документацию (будьте готовы к тому, что работа программиста микроконтроллеров как минимум на 50% состоит из чтения документации), на Мегу есть переводы на русский, на большинство других микроконтроллеров и DSP-процессоров - только английский. Скачивается с сайта производителя, и - вперед :).

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

Добавлено спустя 10 минут 47 секунд:

Цитата:
Какой язык начать осваивать (по С++ немного есть база)

Конечно, Си. Потом - Си++. В процессе изучения архитектуры процессоров начнете понимать ассемблер. Конкретный ассемблер своего целевого процессора изучите по ходу дела - это не так сложно. Важно только понимать принципы. Ну, если есть желание, изучите x86 ассемблер. Хотя бы на уровне 8086. Этого достаточно ИМХО, мы же не хакеры, а программисты :wink: .

 Профиль  
                  
 
 
Сообщение24.04.2008, 22:18 
Аватара пользователя


24/08/06
57
Моск. обл.
Не сочтите за рекламу - есть кое-какая инфа по сабжу. Плюс довольно полезный сайт, если есть желание обучиться основам пайки =)

 Профиль  
                  
 
 
Сообщение25.04.2008, 20:39 


25/01/06
102
Такую задачу я решал для включения и выключения беспроводных вебкамер с PC. Понятное дело, автор хочет научиться определенным вещам, решая эту задачу. Но, наверное, полезно иметь перед глазами нечто сравнимое, сделанное с использованием готовых высокоуровневых комнонентов.

Запрограммировано было все на Питоне с привлечением ActiveX control'а от HomeSear для управления радио передатчиком. Железная часть была от X10 - камеры и удаленная управлялка питанием. Работала железная часть так - в порт компа вставлялась заглушка, которая по командам с PC (через ActiveX control) посылала радиосигнал на приемник, который был вставлен в домашнюю розетку. Приемник обрабатывал сигнал и по обычной проводке управлял выключателями камер. В более обыденном варианте это не камеры, а выключатели, которые вкручиваются в патрон обычной лампы. Такая система поддерживает до 8 устройств (выключателей) управялемых таким образом.

Если интересно, сообщу детали и дам ссылки.

 Профиль  
                  
 
 
Сообщение30.04.2008, 11:11 


31/03/08
25
Кыргызстан
Ну паять пробовал (курсы ремонт ПК).
Программирование читаю:
1) Стефан Девис "С++ для чайников"
2) Стефан Кочан "Программирование на языке С, полное введение и практика" - книга мне очень понравилась.
3) Еще есть книга Липпман "С++ от азов до совершенства".
А вот книги Кернигана и Ричи я не нашел в магазинах(((
Страуструп думаю для меня рановато, читал его програмированние на С++ 3-е издание. Начало конечно понял, но дальше идет сложнее.

Borland C 3.1? Приобрету.

Atmel Mega128? на каком сайте можно заказать?

x86 ассемблер? постараюсь найти книжку. А 8086 если не ошибаюсь архитектура интел процессора?

Еще вопрос, для чего изучать архитектуру процессора и вообще микроконтроллера?

 Профиль  
                  
 
 
Сообщение30.04.2008, 16:51 


21/03/06
1545
Москва
Цитата:
Программирование читаю:
1) Стефан Девис "С++ для чайников"
2) Стефан Кочан "Программирование на языке С, полное введение и практика" - книга мне очень понравилась.
3) Еще есть книга Липпман "С++ от азов до совершенства".

Читайте наздоровье, лишь бы польза была.

Цитата:
А вот книги Кернигана и Ричи я не нашел в магазинах(((

Хе, ввел в гугле "Керниган Ричи" первая ссылка - на книгу. Уверен, Вы найдете легко и более удобный вариант, без разбивки на страницы.

Цитата:
Страуструп думаю для меня рановато, читал его програмированние на С++ 3-е издание. Начало конечно понял, но дальше идет сложнее.

Значит так. Керниган и Ричи - это создатели языка Си. Страустрап считается создателем Си++. Их книги - это каноны. Причем помимо таланта в программировании, эти люди обладают талантом описать все, что они наворотили в своих книгах. Однако, не рекомендуется читать их книги первыми. Их книги все-таки - философия языков, подитоживание, концепции - называйте как хотите. А для начала - учебник все-таки необходим.
Далее, необходимо различать непосредственно язык (его можно учить и без компьютера), и конкретную реализацию. Вам все-таки нужен для нучала учебник по языку, и книга по конкретной реализации языка, например по Borland Builder. Прочитаете первые 100 страниц учебника - начинайте читать руководство по конкретной реализации. И еще раз повторяю - пробовать, пробовать и еще раз пробовать.

Цитата:
Borland C 3.1? Приобрету.

Загуглите, качатеся на раз. И потом, я его в качестве примера привел, он уже стар - времен Windows 3.1. Тогда уж Borland C++ 5.0. Ну или Visual Studio.

Цитата:
Atmel Mega128? на каком сайте можно заказать?

Что заказать? PDF'ки - на atmel.com да и масса любительских сайтов посвящана этой микросхеме. Сама микросхема продается в магазинах, естественно. Если Вы в Москве Чип и Дип для начала для себя откройте. Он и в регионах некоторых есть.

Цитата:
x86 ассемблер? постараюсь найти книжку.

Дал бы Вам автора хорошей книжки, но потерял где-то ее. Сорри, найду - напишу.

Цитата:
А 8086 если не ошибаюсь архитектура интел процессора?

Совершенно верно. Наиболее популярного из их процессоров, но, кстати, есть и другие.

Цитата:
Еще вопрос, для чего изучать архитектуру процессора и вообще микроконтроллера?

Хм. Вы ведь их программировать хотите? А как же без нее? Для начала, конечно, все досконально изучать не требуется, например внутреннее устройство АЛУ, конвейера и пр. можно и пропустить. Но понимать ассемблер процессора, работу с портами ввода/вывода, памятью, периферией, организацию внутреннего регистрового файла, режимы работы - просто необходимо.

 Профиль  
                  
 
 
Сообщение02.05.2008, 07:25 


31/03/08
25
Кыргызстан
Видел книгу Юрова посвященную Ассемблеру, где изучается архитектура интел процессора (+ схема). Наверное стоит ее приобрести.
Еще одна прозьба. У вас есть реализованная электронная схема true-false (0-1)?
Спасибо за ответы.

 Профиль  
                  
 
 
Сообщение02.05.2008, 07:55 


21/03/06
1545
Москва
Цитата:
У вас есть реализованная электронная схема true-false (0-1)?

Расшифруйте пожалуйста, что вы имеете ввиду? Схемы логических элементов вы можете опять таки найти в инете.

 Профиль  
                  
 
 
Сообщение02.05.2008, 08:18 


31/03/08
25
Кыргызстан
Ну логическая схема "истино и ложно" реализована в виде электронной платы. Ток пропускается через ношку транзистора. Через одну +12 вольт а через другую не помню.

 Профиль  
                  
 
 
Сообщение02.05.2008, 08:27 


21/03/06
1545
Москва
Kubat, да нету такой схемы. Есть элемент И, ИЛИ, НЕ, ИЛИ-НЕ, И-НЕ и т.д.
Есть выходной каскад устройства, реализованный в виде "Открытого коллектора".
Вы бы все-таки что-нибудь почитали для начала.

 Профиль  
                  
 
 
Сообщение02.05.2008, 10:00 


31/03/08
25
Кыргызстан
наверное я не понял когда мне рассказывали.
Насчет Мега. На каком ру сайте его можно заказать?

Добавлено спустя 1 час 28 минут 1 секунду:

Flash,кбайт RAM,байт EEPROM,байт Каналов АЦП
mega1281 128 4096 4096 16

Это Мега 128?
Что такое "EEPROM,байт" память?

 Профиль  
                  
 
 
Сообщение02.05.2008, 18:29 


21/03/06
1545
Москва
Цитата:
Насчет Мега. На каком ру сайте его можно заказать?

Не помогу к сожалению. Вам надо найти местного дилера Atmel. Посмотрите тут, но Казахстана там нет :(.

Цитата:
Flash,кбайт RAM,байт EEPROM,байт Каналов АЦП
mega1281 128 4096 4096 16

Это Мега 128?

Да, она. Посмотрите сводную таблицу тут, в подразделе "Семейство "mega". Все меги( и даже все семейство AVR) хорошо совместимы между собой на уровне компилятора языка Си/Си++, только заголовочный файл надо под каждую свой. Хотите - начните с микросхемы в корпусе PDIP28, например Atmega48. Ее легче паять, но она и меньше умеет. В общем смотрите таблицу.

Цитата:
Что такое "EEPROM,байт" память?

Electrically Erasable Programmable Read-Only Memory, тип памяти, не стирающийся при выключении питания. Меги имеют ее встроенную некоторое кол-во байт, а также специальные ассемблерные команды для ее чтения/записи. Очень полезная вещь :D .

 Профиль  
                  
 
 
Сообщение03.05.2008, 07:51 


31/03/08
25
Кыргызстан
Цитата:
Electrically Erasable Programmable Read-Only Memory, тип памяти, не стирающийся при выключении питания

Я как раз хотел, если мою дипломку оставят себе в универе, запрограммировать на разгон чипсет, чтобы он сгорел или уничтожил свой код. ЕЕРROM думаю этому поможет))) Ну мало ли, вдруг присвоят себе мою дипломку ))).

Еще вопрос. Как вообще программировать микроконтроллер. Принес кварц, как туда код внедрить код? Для этого надо припаять ее к плате специальной и через какой то интерфейс туда внести??

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу 1, 2, 3, 4  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group