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

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15563
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

В моих краях готовые платки-переходнички водятся...
http://img.radiokot.ru/files/20529/ks7mm8tto.jpg
http://img.radiokot.ru/files/20529/ks7li5vnx.jpg
:hunger:
самому такую делать уже тяжко...
пользуюсь чаще уже готовенькими модулями для всяко-дуинок...
:sleep:
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

[uquote="Serj66610",url="/forum/viewtopic.php?p=3310456#p3310456"]P.S. я вообще-аномалия в этой Вселенной и довольно специфическая индивидуальность.....по сему и не удивительно,что все что пытаюсь творить-само по себе уже специфично....[/uquote]

Видимо гуманитарий, и уже умудрились собрать все возможные грабли .
Надеюсь pickit приобретен, или собираетесь исполнять ритуальные танцы с экстрапуком и ждм?
Реклама
Аватара пользователя
Serj66610
Поставщик валерьянки для Кота
Сообщения: 1910
Зарегистрирован: Ср июл 15, 2015 19:03:17
Откуда: Могилев

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

Сообщение Serj66610 »

Снова я со своими 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 КБ) 730 скачиваний
Ом намо Бха га ва-тэ,Васу дэва -йа.
-=Vovka=-
Опытный кот
Сообщения: 844
Зарегистрирован: Пн апр 11, 2011 10:08:52

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

Сообщение -=Vovka=- »

Обязательно на асме?
Лично я уже давно от него отказался - пишу на си.
Я сделал бы так: запустил таймер и в прерывании отсчитывал бы 1сек, устанавливая флаг, что прошла 1сек, а в основном цикле проверял бы этот флаг и далее по алгоритму... Точности хватило бы и от внутреннего тактирования, хотя можно и копеечный кварц...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

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

Сообщение Albert_V »

Выложите схему изделия и текст программы в нормальном виде.
Реклама
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

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

Сообщение otest »

Поставь кварц на МК
Реклама
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

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

Сообщение Albert_V »

otest писал(а):Поставь кварц на МК
Вы юморист, однако. :)
Поставите кварц на PIC10F200 - отпишитесь. :)))
Аватара пользователя
Serj66610
Поставщик валерьянки для Кота
Сообщения: 1910
Зарегистрирован: Ср июл 15, 2015 19:03:17
Откуда: Могилев

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

Сообщение Serj66610 »

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

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

и еще,была "потерта" внутренняя константа,вернул с второго МК(все-одной партии)....но пробовал и другой(новый) МК с заводской константой...то-же нет точности.
Ом намо Бха га ва-тэ,Васу дэва -йа.
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

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

Сообщение Albert_V »

Serj66610 писал(а):т.е. получается что внешний кварц не прикрутить.....?...так?
Можно "прикрутить" генератор такого типа (смотрите на напряжение питания) к GP2/T0CKI (вход с логическими уровнями).
Схему можно выложить через экспорт в jpg или pdf. В крайнем случае - как "копия экрана".
Текст программы - здесь, под спойлер, с тегом Code.
Аватара пользователя
Serj66610
Поставщик валерьянки для Кота
Сообщения: 1910
Зарегистрирован: Ср июл 15, 2015 19:03:17
Откуда: Могилев

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

Сообщение Serj66610 »

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

	    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 КБ) 731 скачивание
Ом намо Бха га ва-тэ,Васу дэва -йа.
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

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

Сообщение Albert_V »

Вы сами то эту строчку в тексте понимаете?

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

      goto           $-6
Неужели так сложно поставить словесную метку?
Зачем, при наличии аппаратного таймера, делать программные задержки?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25252
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Сообщение КРАМ »

[uquote="-=Vovka=-",url="/forum/viewtopic.php?p=3463361#p3463361"]Я сделал бы так: запустил таймер и в прерывании отсчитывал бы ...[/uquote]
У этого контроллера нет прерываний...
)))
-=Vovka=-
Опытный кот
Сообщения: 844
Зарегистрирован: Пн апр 11, 2011 10:08:52

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

Сообщение -=Vovka=- »

Точно! Давненько с ним не работал... ;)
Тогда все равно к таймеру нужно привязываться!
WoodCat
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср дек 04, 2013 03:35:21
Откуда: Москва

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

Сообщение WoodCat »

Извиняюсь за глупый вопрос, но не просвятите, а как работать с таймером в МК не имеющем прерываний? Хотя бы в общих чертах.
С прерываниями все понятно, завели будильник, забыли про него пока не прозвенит, прозвенел прерыванием - обрабатываем то что пора обработать. А без них как?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25252
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Сообщение КРАМ »

В данном случае часы без будильника и суперлуп нужно построить так, что бы не пропустить проверку времени.
WoodCat
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср дек 04, 2013 03:35:21
Откуда: Москва

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

Сообщение WoodCat »

Т-е надо самостоятельно отслеживать значение таймера?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25252
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Сообщение КРАМ »

Именно так. Таймер лишь позволяет освободить время между контрольными точками. То есть между переполнениями.
Поскольку таймер куцый, придется делать программный со счетом переполнений.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

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

см. AN590
Аватара пользователя
Serj66610
Поставщик валерьянки для Кота
Сообщения: 1910
Зарегистрирован: Ср июл 15, 2015 19:03:17
Откуда: Могилев

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

Сообщение Serj66610 »

[uquote="Albert_V",url="/forum/viewtopic.php?p=3463489#p3463489"]Вы сами то эту строчку в тексте понимаете?

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

      goto           $-6
Неужели так сложно поставить словесную метку?
Зачем, при наличии аппаратного таймера, делать программные задержки?[/uquote]

конечно понимаю! программу-же ведь я сам составлял...переход на 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 раз.
Ом намо Бха га ва-тэ,Васу дэва -йа.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

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

Вернуться в «PIC»