|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
||||||
PIC10F20001.10.2010, 21:55. Показов 36531. Ответов 25
Метки нет (Все метки)
Пост - поделиться впечатлением.
Заказал себе PIC10F200. Специально для них собрал PicKit 2. PIC10F - это самые дешевые микроконтролеры, которые я нашел. А еще, самые маленькие и самые слабые:) PIC10F200 имеет 256байт флеша и 16 ROM. Из переферии - только таймер. Старшие контролеры этой серии имеют 512/32 байта памяти и компаратор/АЦП в качестве переферии. Вот такая у меня получилась демоплатка(да-да, знаю, кривая, лень обрезать было:)): <Изображение удалено> Вот та маленькая, черненькая штуковина и есть PIC10F200. Сверху конденсатор в корпусе 0806, по нему можно размеры прикинуть. Корпус SOT-23-6, как у SMD транзисторов(у них только трехногие, SOT-23-3). Воистину PICоконтролер!:) Всего ножек, которые можно использовать, у этого контролера 4(остальные две - питание). Притом, как и у всех PICов, ножка, совмещенная с ресетом, может использоваться только как вход. Я брал эти микроконтролеры с расчетом на использование там, где обычный микроконтролер ставить жалко, а на логике получается слишком много корпусов - сложно с разводкой. Ну и в удаленном управлении выключателями хочу использовать, там вобще только две ножки нужно - на прием, да на управление. Но, несмотря на мизерный объем флеша, в него можно запихать много чего интересного. Чтобы не быть голословным, я написал небольшую программку - считает от 0 до 255 и выводит результат на экран. Устройство в "сборе": <Изображение удалено> Код прошивки, если кому интересно:
Код может быть неоптимальным, избыточным, да и вобще кривым. Все из-за того, что с PIC ассемблером я познакомился только сегодня:) И, после ассемблера AVR он мне очень не понравился. Очень мало команд, все делается через промежуточный регист W, число напрямик в регистр не запишешь, сравнения чисел нет, условного перехода нет(пропуск и джамп приходиться использовать), даже обычного сдвига нету! Есть только циклический, приходиться обычный сдвиг двумя командами записывать. Хотя, может и не так все страшно, и я просто еще не разобрался. Как видно, в 256 байт вошли работа с семисегментным LCD и binary-to-BCD преобразование. Я использовал shift-add-3 алгоритм: http://en.wikipedia.org/wiki/Double_dabble Долго мучился, пока не догадался, что т.к. сравнение нету, то "сравнивать" нужно сложением и проверкой флага переноса. Осталось только припаять геркон, чуть поменять прошивку и получится счетчик входов. И все это на микросхемке размером с SMD транзистор и по цене в разы дешевле, чем набор микросхем простой логики, реализующих ту же задачу, ну и в разводке соответственно тоже. Сдается мне, что если извернуться, то можно и работу с 1-wire туда засунуть и получится термометр:) Ну если и не влезит, то вот в PIC10F202 точно должно войти, там памяти в два раза больше. Озадачусь на досуге:) Вобщем очент интересный контролер. Для задач, где нужны какие-то вычисления, но много ног не нужно - самое то! P.S.: Все контролеры PIC10F серии есть также в DIP-8 корпусах, правда с двумя N.C. ножками. Но, это уже совсем не интересно, в DIP-8 уж лучше тогда ATTiny13/43 или PIC12F629/675 взять.
0
|
||||||
| 01.10.2010, 21:55 | |
|
Ответы с готовыми решениями:
25
Аналог PIC10F200 Timer0 в pic10f200 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 833
|
||
| 02.10.2010, 16:05 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 598
|
|
| 15.10.2010, 00:37 | |
|
сейчас пытаюсь на спор с самим собой впихнуть в эту малявку работу с DS18B20. нужен термометр, который будет отслеживать единственное значение - 20 градусов, и зажигать два светодиода (если больше 20, меньше 20 и оба, если ровно). слегка извращение конечно, но просто интересно. код для АВР есть и отлажен, если что прошью тиньку восьминогую вместо нее. но хочется все-таки чтобы получилось
0
|
|
|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
|
| 15.10.2010, 06:18 | |
|
Если индикация такая простая, и термодатчик только один, не нужно поиском устройства заниматься - думаю влезет прошивка:)
0
|
|
|
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 598
|
|
| 15.10.2010, 08:28 | |
|
пока что в 40 с небольшим слов влезла инициализация мк и датчика, функции записи 0 и 1. но есть мысль, как еще пару байт выкинуть
0
|
|
|
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 598
|
||||||
| 15.10.2010, 19:32 | ||||||
|
вопрос есть к пик-гуру. я сам с пик-ассемблером первый раз столкнулся вчера, до этого был х86 и немного АВР, счас затупил вот на чем. написал функцию для ресета датчика (держим низкий уровень 480мс, отпускаем линию, потом еще через 80мс проверяем - если тоже низкий (придавил датчик), значит все нормально). и вот, в протеусе 2 раза страбатывает, 3й - нет
код такой
UPD: вопрос снят, оказалось у меня в цикле 2 раза подряд вызывался ресет, чего датчик понять не мог
0
|
||||||
|
0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 598
|
|
| 16.10.2010, 21:15 | |
|
Ух ты, справился. Даже еще больше 100 слов кода осталось. Хотя ассемблер поначалу показался очень дурацким, это скорее с непривычки, на 3 день стал шпарить только так.
Долго не мог понять, почему bcf и bsf битов в GPIO произвольным образом влияет и на соседние биты. потом почитал даташит и понял - они работают через read-mod-write, а в протеусе у меня светодиоды были без резисторов. Поэтому когда для зажигания светодиода выводил в порт 0, на ножке оказывалось (5 - 2.2 = 2.8В), что вполне себе высокий уровень, который и считывался из порта при следующем изменении, а следовательно и светодиод гас. Если держать подобные мелочи в голове, то больших трудностей в разработке нет. Если кому-то нужно, выкладываю схему и плату в Eagle 5.10, исходник на асме и схему для протеуса (7.7 вроде у меня). P.S. в железе пока не проверял - нет программатора для пиков. Думаю к следующим выходным приятель подгонит, тогда проверю. Но если кто-то сделает раньше - буду только благодарен. P.P.S. температура жестко зашита в коде, забыл в константу вынести. Чтобы ее изменить, нужно найти в коде значение 0x28 и поменять его на свое, исходя из следующего алгоритма: 20d -> 14h 14h << 1 -> 28h т.е. требуемую температуру умножить на 2 и перевести в хекс [65.78 Кб]
0
|
|
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|