Свежие обсуждения
Микроконтроллеры

Разработка таймера на основе PIC16F628(A) с программой на языке С

1 17 21

Смотреться это притухание будет неважно (ИМХО). Впрочем, можно будет попробовать и так...

 

Мысли по поводу индикации температуры.Если бы было три индикатора,можно было бы последний перевернуть вверх ногами,тогда точка бы символизировала знак градуса,а на индикаторе вывести "С".У нас их два.Точка не с той стороны. Безумная идея - использовать зеркало для отражения индикатора

 

Некоторые мысли...
Работу с датчиком температуры DS, видимо, лучше будет сделать в виде отдельной процедуры.
Потребуется подправить функцию опроса кнопок fbuttons - чтоб все 4 кнопки опрашивались. Это очень просто.
В switch (gBUTTONS) добавится case cT - случай, когда только кнопка "Температура" нажата.
Добавится ещё как минимум одно состояние - "работа с термометром".
В обработчике прерываний наверняка будут изменения и дополнения.
Может быть у кого есть готовый кусочек кода на С с хорошими пояснениями для подсчёта CRC DS18B20 (DS18S20)?

А ещё у меня была мысль - предусмотреть маааленькое меню, которое будет вызываться, например, при нажатии на 3 кнопки одновременно. В меню можно будет, например, менять скважность мигания индикатора, длительность подачи сигнала окончания выдержки и т.п. Но это пока так, на уровне замысла.

 

CRC просто для спортивного интереса?Датчик-то один будет

 

Какая разница - сколько датчиков. CRC не для этого. CRC позволяет определить - правильно ли приняты данные от датчика (в условиях помех). Независимо от общего количества подключенных датчиков. В своей программе на асме я проверку CRC делал, это не сложно. Там я воспользовался готовым шаблоном, найденным на бескрайних просторах Интернета.
А в случае нескольких датчиков на одной шине используются команды Search ROM и Match ROM. Вот они нам, в общем-то, и не потребуются. Достаточно будет Skip ROM.

 

Надо придумать,как в сях операцию XOR реализовать

 

Candalupsky: Надо придумать,как в сях операцию XOR реализовать

Да, это проблема...Может, a^b?

 

1. Операция XOR в сях реализуется a ^ b. Или a ^= b при "присваивании по месту".
2. Господа, а TMP03 - TMP04 вместо DS... попробовать не хотите? Он, правда, почти 120 руб стоит (против 36 для DS), но зато ничего не содержит - на выходе только ШИМ со скважностью, пропорциональной температуре. Как с ним работать, могу рассказать 1-Wire - протокол довольно геморройный (по крайней мере, первый раз )

 

TMP-шки тоже не подарок, вспомните, сколько было мороки с определением частоты...
Если есть свободный канал АЦП, то LM335 - то, что надо. И стоит около доллара...

 

Ничего он не гемморойный.
Тем более у picmaniac'а есть процедуры готовые на асме,а перевести их на си - дело не так уж сложное,я всегда считал,что наоборот сложнее