Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Re: PIC10F200 - конфигурирование чипа.

Вс фев 18, 2018 10:50:38

В моих краях готовые платки-переходнички водятся...
http://img.radiokot.ru/files/20529/ks7mm8tto.jpg
http://img.radiokot.ru/files/20529/ks7li5vnx.jpg
:hunger:
самому такую делать уже тяжко...
пользуюсь чаще уже готовенькими модулями для всяко-дуинок...
:sleep:

Re: PIC10F200 - конфигурирование чипа.

Вт фев 27, 2018 15:39:16

P.S. я вообще-аномалия в этой Вселенной и довольно специфическая индивидуальность.....по сему и не удивительно,что все что пытаюсь творить-само по себе уже специфично....


Видимо гуманитарий, и уже умудрились собрать все возможные грабли .
Надеюсь pickit приобретен, или собираетесь исполнять ритуальные танцы с экстрапуком и ждм?

Re: PIC10F200 - конфигурирование чипа.

Вс сен 23, 2018 19:21:23

Снова я со своими PIC-ами....в общем делал таймер для компрессора....смысл такой,одну минуту компрессор работает(на выводе GP1-лог. единица,которая через ключик на полевике включает реле,а уже то,в свою очередь-сам компрессор),затем идет пауза в 10 минут.
Вместе с этим на выводе(синхронно....ну почти :facepalm: ) GP0 мигает светодиод с периодичностью раз в 2 секунды с длительностью свечения 0,1 сек.

Я не знаю,как правильно реализуется подобный алгоритм,по сему написал как смог....1,9сек пауза+0,1сек свечения-составляют "полный цикл",далее эти циклы "суммируются" (30 шт)и формируют "малое время"(1 минута),далее "суммируются" эти самые "малые циклы"(10 шт) и формируют один "большой цикл"(10 мин.)....ну и зацикливание....в АСМ-е код без комментариев....но он,вроде как не сложный,если что-могу добавить комментарии....только он затем(комментарии)-"ломаются" и из русских букв получаются "кракозябры"...как лечится(и лечится-ли вообще)-не знаю :dont_know:

все работает(и программно и в "железе") за исключением одной маленькой вещи....а именно-точность......ну вообще не какая.....я уже и "просчитывал" время в МП-лабе через СТОП-воч с точностью до микросекунд....но время все равно "плывет" и с двух часовых выдержек "натикивает по 40 сек"....питание МК-пока-что от литиевого АКК(причем,при питании от 3,6 до 3,85-особых изменений не замеченно).....можно-ли к этому МК "прикрутить" часовой кварц на 32.768 Гц?...а то в даташите так и не нашел(что-то упоминалось про внешнее тактирование...но ХЗ. ,согласен на внешний генератор на одном транзюке "шпарящий от кварца"....если внутренний не обладает нужной стабильностью.

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

В общем,если не сложно-просьба объяснить все "на пальцах",что-б стало понятно.....ну и такой еще вопрос...может как-то можно "причесать" код?
P.S.Reg_4 это резерв для больших выдержек(раньше были большей длительности,но затем "переписал")...так-что не обращайте внимания.

просьба,другой микроконтроллер не предлагать.
Вложения
timer pic10f200asm.asm
(1.27 KiB) Скачиваний: 683

Re: PIC10F200 - конфигурирование чипа.

Вс сен 23, 2018 19:46:10

Обязательно на асме?
Лично я уже давно от него отказался - пишу на си.
Я сделал бы так: запустил таймер и в прерывании отсчитывал бы 1сек, устанавливая флаг, что прошла 1сек, а в основном цикле проверял бы этот флаг и далее по алгоритму... Точности хватило бы и от внутреннего тактирования, хотя можно и копеечный кварц...

Re: PIC10F200 - конфигурирование чипа.

Вс сен 23, 2018 19:46:55

Выложите схему изделия и текст программы в нормальном виде.

Re: PIC10F200 - конфигурирование чипа.

Вс сен 23, 2018 20:01:19

Поставь кварц на МК

Re: PIC10F200 - конфигурирование чипа.

Вс сен 23, 2018 20:06:41

otest писал(а):Поставь кварц на МК
Вы юморист, однако. :)
Поставите кварц на PIC10F200 - отпишитесь. :)))

Re: PIC10F200 - конфигурирование чипа.

Вс сен 23, 2018 20:35:13

Vovka,да...ассемблер....изучаю именно его,так-что без альтернативы....учу для себя,с полным пониманием,что-бы затем применять в практике.
я пока-что не "добрался" до прерываний.....интересует,почему именно написанный алгоритм дает такую погрешность....что такое флаги-конечно имею представление,но на этом познания(на данный момент) и заканчиваются.
Альберт....ага,т.е. получается что внешний кварц не прикрутить.....?...так?
а что на счет внешнего сигнала тактирования(например генератор?)...нужен меандр или можно и синус "скормить"?

что значит "в нормальный вид?
код открывается в "блокноте" или "ворд пад"...схема-могу в протеусе скинуть проект...или как нужно?
вы напишите,я-подкорректирую....а то не понял смысла вопроса.....в "железе"-разведена печатка в "лауте",а собрано пока-что на панельке парочка диодиков для отсчета временных интервалов....и просто припаяны два проводка на АКК...кондера(блокировочного) по ногам питания-нет....может из-за этого косяк быть с частотой внутреннего гена?

и еще,была "потерта" внутренняя константа,вернул с второго МК(все-одной партии)....но пробовал и другой(новый) МК с заводской константой...то-же нет точности.

Re: PIC10F200 - конфигурирование чипа.

Вс сен 23, 2018 20:54:50

Serj66610 писал(а):т.е. получается что внешний кварц не прикрутить.....?...так?
Можно "прикрутить" генератор такого типа (смотрите на напряжение питания) к GP2/T0CKI (вход с логическими уровнями).
Схему можно выложить через экспорт в jpg или pdf. В крайнем случае - как "копия экрана".
Текст программы - здесь, под спойлер, с тегом Code.

Re: PIC10F200 - конфигурирование чипа.

Вс сен 23, 2018 21:52:30

Код:
       LIST   p=10F200
       __CONFIG   0xFEB
STATUS       equ       03h
GPIO               equ       06h
OSCCAL       equ       05h      
Reg_1       equ       10h
Reg_2       equ       11h
Reg_3       equ       12h
Reg_4       equ       13h
RegX               equ       14h
RegY               equ       15h      
       org 0
       bcf      OSCCAL,0
       MOVLW           b'00001000'
       MOVWF           GPIO
       TRIS           GPIO
       MOVLW           b'00010000'
       OPTION
metkaX   MOVLW   .30
       MOVWF           RegX
       MOVLW           .10
       MOVWF           RegY
       BSF           GPIO,1
       BSF      GPIO,0
       call           delay100mS
       BCF      GPIO,0
       call           delay1900mS
       decfsz           RegX,F
       goto           $-5
       BCF           GPIO,1
       MOVLW           .30
       MOVWF           RegX
       decfsz           RegY,F
       goto           $-6
       goto           metkaX
delay100mS  movlw       .220
            movwf           Reg_1
            movlw           .130
            movwf           Reg_2
            decfsz           Reg_1,F
            goto              $-1
            decfsz           Reg_2,F
            goto              $-3
            nop
       return
delay1900mS movlw   .123
            movwf          Reg_1
            movlw          .164
            movwf          Reg_2
            movlw          .10
            movwf          Reg_3
            decfsz           Reg_1,F
            goto              $-1
            decfsz           Reg_2,F
            goto              $-3
            decfsz           Reg_3,F
            goto             $-5
       return
       end


вроде так...
Вложения
sxema.jpg
(73.93 KiB) Скачиваний: 675

Re: PIC10F200 - конфигурирование чипа.

Вс сен 23, 2018 22:36:27

Вы сами то эту строчку в тексте понимаете?
Код:
      goto           $-6
Неужели так сложно поставить словесную метку?
Зачем, при наличии аппаратного таймера, делать программные задержки?

Re: PIC10F200 - конфигурирование чипа.

Пн сен 24, 2018 03:45:47

Я сделал бы так: запустил таймер и в прерывании отсчитывал бы ...

У этого контроллера нет прерываний...
)))

Re: PIC10F200 - конфигурирование чипа.

Пн сен 24, 2018 06:17:56

Точно! Давненько с ним не работал... ;)
Тогда все равно к таймеру нужно привязываться!

Re: PIC10F200 - конфигурирование чипа.

Пн сен 24, 2018 07:09:08

Извиняюсь за глупый вопрос, но не просвятите, а как работать с таймером в МК не имеющем прерываний? Хотя бы в общих чертах.
С прерываниями все понятно, завели будильник, забыли про него пока не прозвенит, прозвенел прерыванием - обрабатываем то что пора обработать. А без них как?

Re: PIC10F200 - конфигурирование чипа.

Пн сен 24, 2018 07:25:00

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

Re: PIC10F200 - конфигурирование чипа.

Пн сен 24, 2018 07:57:24

Т-е надо самостоятельно отслеживать значение таймера?

Re: PIC10F200 - конфигурирование чипа.

Пн сен 24, 2018 08:00:50

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

Re: PIC10F200 - конфигурирование чипа.

Пн сен 24, 2018 17:30:27

Посмотрите как сие было реализовано на пЫк16С54

см. AN590

Re: PIC10F200 - конфигурирование чипа.

Пн сен 24, 2018 18:13:39

Вы сами то эту строчку в тексте понимаете?
Код:
      goto           $-6
Неужели так сложно поставить словесную метку?
Зачем, при наличии аппаратного таймера, делать программные задержки?


конечно понимаю! программу-же ведь я сам составлял...переход на 6 строк вверх и дикрементируем 1 из регистра X(которое(это значение) было вписано туда 3 строками ранее.
Блиин...ну я-же спросил,написать комментарии по каждой строкой кода или нет?....ответа-не последовало....я-же не могу читать ваши мысли :facepalm: ....счас "перерисую".

да не знаю я как "вщемить" аппаратный таймер....я-же писал....что только начинаю изучать контроллеры,то что в интернете нарыл(в свободном доступе и с объяснениями на уровне новичка)-то и применил в своем устройстве.

никто не желает объяснить простые(с их точки зрения) истины новичками...вот и получается....12 сообщений(ответов) в теме,а по сути-не одного с ценной информацией нет....вот и верь после этого в людей. :dont_know:

Код:
       LIST   p=10F200
       __CONFIG   0xFEB
STATUS       equ       03h
GPIO       equ       06h
OSCCAL       equ       05h      
Reg_1       equ       10h
Reg_2       equ       11h
Reg_3       equ       12h
Reg_4       equ       13h
RegX       equ       14h
RegY       equ       15h      
       org 0
       bcf      OSCCAL,0
       MOVLW   b'00001000'
       MOVWF   GPIO
       TRIS   GPIO
       MOVLW   b'00010000'
       OPTION
metkaX       MOVLW   .30      ;заносим 30 в аккумулятор
       MOVWF   RegX      ;заносим 30 в регистр X
       MOVLW   .10      ;заносим 10 в аккумулятор
       MOVWF   RegY      ;заносим 10 в регистр Y
       BSF      GPIO,1      ;включаем вывод GP1
       BSF      GPIO,0      ;включаем вывод GP0
       call   delay100mS   ;переходим на задержку 100 мСек
       BCF      GPIO,0      ;выключаем вывод GP0
       call   delay1900mS   ;переходим на задержку 1,9 сек
       decfsz   RegX,F      ;Вычитаем 1 из значения регистра X,значение не равно 0?
       goto   $-5      ;...переходим на 5 строк вверх
       BCF      GPIO,1      ;выключаем вывод GP1
       MOVLW   .30      ;заносим 30 в аккумулятор
       MOVWF   RegX      ;заносим 30 в регистр X
       decfsz   RegY,F      ;вычитаем 1 из значения регистра Y,значение не равно 0?
       goto   $-6      ;....переходим на 6 строк вверх
       goto   metkaX      ;...значение равно 0?-> переход на метку X
delay100mS  movlw       .220      ;...............
            movwf       Reg_1
            movlw       .130
            movwf       Reg_2
            decfsz      Reg_1,F      ;задержка на 100 миллисекунд
            goto        $-1
            decfsz      Reg_2,F
            goto        $-3
            nop
       return         ;.....возврат к основному циклу программы на строку ниже
delay1900mS movlw       .123      ;...............
            movwf       Reg_1
            movlw       .164
            movwf       Reg_2
            movlw       .10
            movwf       Reg_3
            decfsz      Reg_1,F      ;задержка на 1900 миллисекунд(1.9 секунды)
            goto        $-1
            decfsz      Reg_2,F
            goto        $-3
            decfsz      Reg_3,F
            goto        $-5
       return         ;.....возврат к основному циклу программы на строку ниже
       end

Последний раз редактировалось Serj66610 Пн сен 24, 2018 19:18:54, всего редактировалось 1 раз.

Re: PIC10F200 - конфигурирование чипа.

Пн сен 24, 2018 19:07:18

Serj66610 , весьма прикольно, неужели вы не смогли найти рациональное зерно ни в моем сообщении ни в сообщение КРАМ?
Причем я дал вам ссылку на уже готовое, а КРАМ вполне внятно подсказал в каком направлениии искать. Чего даже для начинающего кодописателя должно было хватить...
Ответить