Оцените Девайс!

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

Оцените Девайс!

Сообщение Pooher »

Год мучений после дневной работы и вечерней учёбы не прошел даром!
Как и многие здесь, воевал я с датчиком DS1820. И на конец я его победил! Бьюсь в общем не просто так, мне диплом писать, а брать бесполезную какую-нить тему не охота, т.к. сил уйдёт уйма (и конечно времени драгоценного), а толку как с козла молока :) .В общем, решил я что нить сваять, так сказать, полезное человечеству. Раньше ориентировался только в аналоге, но этого явно не достаточно для создания устройства действительно интересного и небесполезного.
Да и специальность такая, что сам бог велел. В общем решил заняться глобально МК. В Политехе нашем этому не особо учат, по этому пришлось заниматься самообучением.(Интернет, ну и конечно всеми любимый и уважаемый ЕВСТАФЬЕВ, за бестселлерами которого пишлось аж в питер ехать).
Ну разговор в общем не о том.
Огромная к ВАМ есть просьба, уважаемые господа СПЕЦИАЛИСТЫ!
Выкладываю самый первый маленький кусочек своей программы, и очень вас прошу, по мере возможности просмотрите (ну в основном пока итересует программная часть) и критикуйте по максимуму все огрехи и недочёты.
Сразу хочу сказать, что уже собираюсь как минимум добавить прос датчиков по 16-разрядному таймеру, ну и конечно сторожевой.
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Краткое описание устройства:

На 7-сегментные индикаторы поочерёдно выводится (PORTB) установленная и текущая температуры, есть три кнопки -увеличение Т, Уменьшение Т, и одна кнопка для входа в режим задания Т, и записи её в EEPROM.

В дипломном устройстве (MEGA8) планирую 10 каналов измерения Т (10 ds1820) и десяти канальное исполнительное устройство(выносное) на Tiny2313 связанное с основным блоком по UARTу. Индикаторов всего будет 5 (№канала, текущая температура, установленная температура)
Индикация каналов меняетса через 2 секунды.(Ну или ЖК, пока не решил, т.к. за ним тоже как минимум в Питер) :(
Пойдёт такой девайс на диплом по электроприводу, как думаете?
Вложения
term.rar
Исходник и чисто общая схема (Proteus) первого девайса
(9.06 КБ) 335 скачиваний
Аватара пользователя
abc
Друг Кота
Сообщения: 3677
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Сообщение abc »

Пухер
Я вас разочарую. С вашей программой никто в принципе разбираться не будет, потому что для нормального восприятия и анализа кода (а вы ведь этого просите ?) каждая (ну, почти каждая) строка кода должна иметь комментарий. Иначе, что обозначает жирный кусок под названием lable22, можно только догадываться. Другое дело, если эти строки вы писали не сами, а уже взяли из готовых и проверенных источников. Тогда вдвойне непонятно, зачем еще просить кого-то выискивать в них неточности ?
Схему рисовал робот ? Или гуманоиды ? Все провода, которые должны быть соединены - ДОЛЖНЫ БЫТЬ СОЕДИНЕНЫ. Точками.
Диагональные линии, по типу "бык поссал", недопустимы. Мракобесие на дороге от МК к LED-ам обычно заменяется одной толстой линией, обозначающей шину, от которой расходятся короткие тонкие проводники, обозначаемые как A,B,C,...( в вашем случае это названия сегментов индикаторов) или (если это, напр., шина данных) D0,D1,D2, ...
Можно дальше продолжать, но уже лень.
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

если эти строки вы писали не сами, а уже взяли из готовых и проверенных источников

99% кода мои.
Схему рисовал робот ? Или гуманоиды ?

:evil:
Схема дана для получения общего представления об устройстве, а в таком виде она, т. к. я хотел всё симулировать в Протеусе, но толи комп не потянул, то ли Протеус глючит, в общем бросил я это дело, и спаял сразу на макетке.
каждая (ну, почти каждая) строка кода должна иметь комментарий

С этим согласен, исправлюсь :)
(а вы ведь этого просите ?)

Основной вопрос:
Пойдёт такой девайс на диплом по электроприводу, как думаете?

А код, по большому счёту, я и сам до ума доведу. Только бы времени хватило.
:(
Аватара пользователя
Lex_miniman
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Ср сен 10, 2008 18:28:39
Контактная информация:

Сообщение Lex_miniman »

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

Сообщение Pooher »

Lex_miniman писал(а): у нас в городе вообще только один человек серьёзно занимается мк

Ситуация похожая :)
Аватара пользователя
Mozart
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow
Контактная информация:

Сообщение Mozart »

... Основная сложность в том, что, как мне сказали, у нас в городе вообще только один человек серьёзно занимается мк, поэтому мой уровень - достаточный).
Разболтали меня. Кароче идите чаи гонять с преподами.

чего это за города такие??
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Аватара пользователя
Mozart
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow
Контактная информация:

Сообщение Mozart »

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

   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall  OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall  OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall  OprosKlav

   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall  OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall  OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall  OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall  OprosKlav
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall longdelay
   rcall  OprosKlav
   rcall longdelay
   rcall longdelay
оригинально :)
если я правильно понимаю то в этом куске вы опрашиваете клаву? а почему бы это просто не сделать в таймере??? допустим каждые 100мс, но если была нажата кнопка, то уменьшить это время, а потом увеличить...

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

   rcall delay
   rcall delay
   rcall delay
   rcall delay
   rcall delay
   rcall delay
   rcall delay
   rcall delay

вот такие штуки лучше прятать к примеру

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

maxDel:
rcall delay
   rcall delay
   rcall delay
   rcall delay
   rcall delay
   rcall delay
   rcall delay
   rcall delay
reti

у вас есть строчка

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

rcall TempEnter
перехожу на вызов этой строчке и что я вижу

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

rcall EnterTemper


я написал вам рекомендации по оптимизации, но разбираться тяжелова-то, вы пишИте не только для себя, если хотите чтобы вам помогли...
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Закрыто

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