Отговори на тема  [ 47 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща
PIC12F509 - написах код ама работи само на симулация 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Дек 17, 2019 5:51 pm
Мнения: 13
Мнение Re: PIC12F509 - написах код ама работи само на симулация
TheWizard написа:
Ванко, вземи си 12F1822 или 12F1840 и потренирай малко с MPLAB-а

Този MPLAB ми е адски отвратителен та и ненужен за моите нужди.

Изначале първия код от първия пост го бях написал на MikroC за PIC16f648 и бачкаше, аз си викам то има излишък на крака и на мозък та и място заема и е много за целта (имам много по интересни задачи за него), а тези 12-ки ми се търкалят безработни и ги метнах ама то костелив орех излезе.
Аз си правя кодовете на MikroC Pro PIC и братчето му MikroC Pro AVR и много си ги харесвам ама това дребно диване и разработчиците не го искат в програмата си и пишат, че създавало много проблеми и не го сложили. Аз ако знаех, щях да купя 16F675 - руските радио-котараци много го обичат. Смятам, че за това, което искам да кандардисам 12F509 е повече от достатъчен.

Това, че се мъча - в същност ми помага, понеже научавам още в процеса, инак не съм имал проблеми с 16F628, 16F627, 16F648, 16F886, 16f887 и АТТ2313 заедно с атмегите до 328 ама те са пак големи за целта (и за тях имам готови никси и флуоресцентни проекти ;) )


Сря Дек 18, 2019 9:57 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Дек 17, 2019 5:51 pm
Мнения: 13
Мнение Re: PIC12F509 - написах код ама работи само на симулация
Цитат:
Това , че мрънка ...ок, ама отказва ли да програмира?
Ако не отказва - пробвай без конфиг в сорса.

stefan63 ама на мен не ми трябва TRIS=0b001011 тоест 0х6 a TRIS=0b110000 тоест 0x30 за входовете и изходите
Аз настройките на бушоните от програматора мога да си ги менкам въпреки Хекса.

Е записва го ама ефекта е нулев!

ще пробвам с тази конфигурация само на мигалка 500мС на GP0 да видя поне дали настройките бачкат


Сря Дек 18, 2019 10:03 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3082
Мнение Re: PIC12F509 - написах код ама работи само на симулация
Чакай, на схемата си дaл
GP5 =out, GP4=out, GP3=in/reset, GP2 out, GP1 = in, GP0 - in
TRIS=0b001011 , ----- 0xB не 0x6


Сря Дек 18, 2019 10:29 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Дек 17, 2019 5:51 pm
Мнения: 13
Мнение Re: PIC12F509 - написах код ама работи само на симулация
stefan63 написа:
Чакай, на схемата си дaл
GP5 =out, GP4=out, GP3=in/reset, GP2 out, GP1 = in, GP0 - in
TRIS=0b001011 , ----- 0xB не 0x6


Да, одеве писах че после ги размених и го оказах в TRIS ама пак нямаше ефект!
А сега закоментирах всичко и направих това:
Код:
#include <pic.h>
#define _XTAL_FREQ 4000000
void main(void) {   
    TRIS = 0b110000;          // Set GP0,GP1,GP2 as outputs & GP3, GP5, GP4 as input (0 => Output, 1 => input)
    OPTION = 0b01000000;      //Set functions for MCU pins - 0xC0

GP0=1;
while(1){};
}

Абсолютно никаква реакция!


Сря Дек 18, 2019 10:53 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3082
Мнение Re: PIC12F509 - написах код ама работи само на симулация
Сега погледнах HEXa от проекта в началото.
Това трябва да е конфиг.дума
:021FFE00FA31B6

Ако последния B6 байт е чексума, то
31 трябва да е самия конфиг и той указва
външен кварц.
Може и да бъркам де.


Чет Дек 19, 2019 7:07 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 10:13 am
Мнения: 377
Местоположение: Варна
Мнение Re: PIC12F509 - написах код ама работи само на симулация
за С509 конфига е само през програматор, за Ф взема и от хекса. А след запис чел ли си си го веднага да видиш каква конфигурация ти дава?
а по отношение на ТРИСа , в работния се слага стойността (0В) и после е ТРИС 0х06, задава се адрес а не стойност


Последна промяна didofen на Чет Дек 19, 2019 10:13 am, променена общо 1 път



Чет Дек 19, 2019 9:07 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3082
Мнение Re: PIC12F509 - написах код ама работи само на симулация
Най-вероятно горният ми пост е грешен,
опитах се да си припомня нешата около кодирането на конфига в хекса,,,ама не успях, затрил съм нещата.

:021FFE00FA31B6

0x31FA би трябвало да е конф.дума, последното А задава вътр.осцилатор.
Тази тройка какво прави там, не ми е ясно,
Гледам някакъв мой хекс -
:021FFE00E60FEC
Думата според МПЛАБА е 0xfe6 в хекса влиза от сорса.

При тебе идва май от
#if defined(_12F509)
__CONFIG(0x31FA);
#endif

Пробвай
#if defined(_12F509)
__CONFIG(0xFFA);
#endif


Чет Дек 19, 2019 9:28 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Дек 17, 2019 5:51 pm
Мнения: 13
Мнение Re: PIC12F509 - написах код ама работи само на симулация
Благодаря за отговорите.
didofen написа:
за С509 конфига е само през програматор, за Ф взема и от хекса. А след запис чел ли си си го веднага да видиш каква конфигурация ти дава?
а по отношение на ТРИСа , в работния се слага стойността (0В) и после е ТРИС 0х06, задава се адрес а не стойност

След флашване винаги пробвам на експериментално шаси! За CONFIG - отразява се веднага на яве в чипа, а програматора ги показва, за TRIS не знам къде в HEX-а го слага да го видя в редактора към програматора.
Дал съм всички файлове и снимки от симулация в първия пост.

stefan63 задал съм в програмата __CONFIG(0x31EA) програматора го вижда като 0x01EA, но и при зададен __CONFIG(0x01EA) пак не се променя крайния ефект в чипа, а програматора си го вижда все 0x01EA което в случая е
IntOSC, CP=OFF, WDT=OFF, MCLR=INT, ако променя __CONFIG(0x31ЕA) на __CONFIG(0x31FA) прави MCLR=EXT, като само 1FA и 1EA (трите букви) играят роля при настройка.

Да това е конфигурационната дума и работи отлично понеже ефекта се вижда на реалния чип, ако я няма в кода, програматора мрънка, че я нама в HEX-a,
и ако пренебрегна това - записва настройки по-подразбиране ако не ги бутна от него, а ако думата я има в кода - всичко е наред.

Ако някой знае как да реализирам на този чип - функцията, която търся под какъвто и да е код, ако ще и на занзибарски да е, ще ме зарадва много.
Аз повече от седмица дълбая в този код и пробвам всякакви чудеса, без някаква реакция у 12-ката - то краката ѝ омекнаха от местене.
Кода изначало беше на 16F628/648 без забележка та и с него имаше зор няколко дена ама там сам се оправих, каквото му кажа, това излизаше.


Чет Дек 19, 2019 1:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10622
Местоположение: София
Мнение Re: PIC12F509 - написах код ама работи само на симулация
А пробвал ли си дали прословутото blink.c работи?


Чет Дек 19, 2019 2:10 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3082
Мнение Re: PIC12F509 - написах код ама работи само на симулация
Абе пробвай да зададеш 0xFFA, като си нагодиш бита за MCLR,
Според даташийта има само 5 бита, ама ти нулираш някакви уж несъществуващи над бит4 - и твърдиш , че програматора ги чете корекно нулирани. Поне аз това разбрах.
И ако има някаква мъгла около тия битове...

С какво програмираш ? Пикит3?


Чет Дек 19, 2019 2:17 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Дек 17, 2019 5:51 pm
Мнения: 13
Мнение Re: PIC12F509 - написах код ама работи само на симулация
itso.t написа:
А пробвал ли си дали прословутото blink.c работи?

Пробвах, с GPIObits.GP0=1; и с GP0=1; да видя дали ще мръдне изобщо и даже писах - няма реакция!

stefan63 0xFFA става 0xFЕA като махна резето.
приема го и го флашва, ама пак нищо не се появява в изходите пък резето се включва и изключва.
Да, с PicKit3 и с оригиналната му програмка v3.10 (не през МPLAB-a) - всичко що е PIC така си го флашвам.

Тука в този архив намерих как един руснак си е играл на Асемблер и е подкарал този чип - да за друго е, но може да помогне:


Прикачени файлове:
Коментар на файл: Руски настройки на ASM
LC_02S.rar [759.29 KiB]
167 пъти
Чет Дек 19, 2019 3:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 11:02 am
Мнения: 8902
Местоположение: Разград
Мнение Re: PIC12F509 - написах код ама работи само на симулация
Е то и аз съм го подкарвал... преди 10 години май за последно... В такива случаи като твоя се прави програма дето няма нищо в нея, само да вдигне един порт и да спре. Това имаше предвид Ицо под блинк.ц. Ако и това не стане е продължаваш да ровиш. Ама да загубиш две седмици да го правиш това си е чиста проба мазохизъм. Казах ти вече, че е овъркил да ползваш индекс в това чипче. Когато имаш call-ове извън текущата страница се сетва един регистър, който определя в коя страница точно отиваш. После имаш само 4 нива на ретърн стека (628 е с 8 ) - сигурен ли си че с тази програма за "компютър" не преминаваш границите на способностите му? Още в началото казах че 509 НЕ Е компютър... А това че протеуса го симулира - той и за 4-те нива на стека също не знае.


Чет Дек 19, 2019 3:39 pm
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 10:13 am
Мнения: 377
Местоположение: Варна
Мнение Re: PIC12F509 - написах код ама работи само на симулация
ето един асм и хекс


Прикачени файлове:
forum.rar [499 Байта]
170 пъти
Чет Дек 19, 2019 3:46 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Дек 17, 2019 5:51 pm
Мнения: 13
Мнение Re: PIC12F509 - написах код ама работи само на симулация
didofen написа:
ето един асм и хекс


Това ми казва, че е с CodeProtect ... За малко да го пльосна в чипа и да приключи всичко!
В протеуса нищо не прави. Не че не съм индианец ама този асемблер съвсем като кръгъл камък го гледам!

Cekins ами аз и това пробвах ... и писах ... и OPTION въртях дори една 1-чка не се показа на GP0, А протеуса симулира кода на руснака - значи не е там проблема!
Аз си мисля, че целия проблем идва от смотания МPLAB и HiTechC в него - иска всичко да му нарежеш, наготвиш, сервираш и сдъвчиш,
а информация и помощ няма никаква никъде - един дявол знае как са му командите за GPIO портовете побитово. На MikroC PIC никога съм нямал проблеми!
В даташита (дал съм го в по-горен пост) пише, че в 12F509 командата GPIO действа като PORTB и се отнася за младшите 6 бита като останалите 2 от 8 нямат значение и при четене връщат винаги 0,
а аз пиша само най-младшите 2 в STEPS_MAP. Отделно от това пробвах да инициализирам GPIO по модел на TRIS и като 0 и като 1. Аз проблем знам, че имам, въпроса е как да го реша?!
CONFIG-a е ясен как е, TRIS също, остава OPTION и GPx заедно с GPIO ... ако това тръгне - ако трябва ще му казвам по отделно -> отвори/затвори, чакай и т.н.


Чет Дек 19, 2019 4:37 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 10:13 am
Мнения: 377
Местоположение: Варна
Мнение Re: PIC12F509 - написах код ама работи само на симулация
не разбрах какво имаш предвид под да приключи всичко, извинявай!


Чет Дек 19, 2019 5:09 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 47 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща

Кой е на линия

Потребители разглеждащи този форум: Desert Leo и 6 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни