| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| PIC12F629 http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=13912 |
Страница 1 от 2 |
| Автор: | timt [ Съб Юли 11, 2015 10:43 pm ] |
| Заглавие: | PIC12F629 |
Отрови ми душичката, днеска. Та всичко си бачкаше но в кутийката (с резервите) нямаше 12ф629 и реших да го смъкна от платката но преди това му записах информацията за да не търся файла. Програмирах го за нова джаджа но не тръгна добре, после промених програмата на джаджата и смених с 12ф508 и всичко си тръгна. Върнах програмата в 12Ф629 но не сработи (в смисъл работи но се налага да праща разни работи по RS232) и излизат маймунки, после потърсих оригиналният .hex и пак не ще да работи с RS232 (пак маймунки) Нещо съм разбутал осцилатора на пика, как да го оправя или да го ползвам за друго? Без кристал съм на схемата с вътрешен осцилатор, преди това си бачкаше много здраво. |
|
| Автор: | jig.tak [ Нед Юли 12, 2015 1:53 am ] |
| Заглавие: | Re: PIC12F629 |
отговорил си си сам, затрил си калибровката на осцилатора. Имаш 256 комбинации за последната инструкция която връща стойността. Измери с колко бяга честотата на уарта и после проба>>грешка и след 2-3 опита трябва да нацелиш вярната стойност. Това е при положение че само уарта е важен, педполагам няма да имаш нещо което иска по точно време пи положение че е с RC осцилатор |
|
| Автор: | Cekins [ Нед Юли 12, 2015 9:46 am ] |
| Заглавие: | Re: PIC12F629 |
Значи за да разбуташ осцилатора с калибриращата стойност трябва на нейно място да има RETLW 0xXX записано и в програмата да имаш call към тоя адрес след което да запишеш WREG в калибриращия регистър. Ако запишеш нули там просто нищо няма да стане (че даже и програмата ти няма да работи). PIC10 имат една екстра - при POR/MCLR процесора тръгва от там, зарежда стойността във WREG с movlw, прави роловър към адрес 0 и после само пишеш WREG в регистъра ако искаш. Когато пишеш чипа с PICKIT, софтуера светва в червено ако има нещо нередно с тая клетка и има опция за възстановяване на инструкцията. Сега, дали го калибрира - не съм много сигурен. Тая операция съм я правил доста пъти с едни PIC10F200 дето ги пишех като само ги слагах и натисках върху платчица със SOT23-6 фуутпринт на нея. В процеса някой ги мръдвах докато ги пиша и се осираха. Та после им пусках възстановяване и работят - при тях честотата на осцилатора ми беше важна, че мерят външна честота в някакъв прозорец и сигнализират ако излезе от прозореца. |
|
| Автор: | timt [ Нед Юли 12, 2015 10:42 am ] |
| Заглавие: | Re: PIC12F629 |
@jig.tak, това го опитах но не можах да го налучкам. |
|
| Автор: | timt [ Нед Юли 12, 2015 10:48 am ] |
| Заглавие: | Re: PIC12F629 |
@Cekins, при програмиране не се ли трие всичко преди зареждане на програмата? Как да го възстановя да работи уарта с вътрешен осцилатор? Програмата със сигурност работи. call 0x3ff MOVWF OSCCAL ORG 0x03FF RETLW 0x384C; |
|
| Автор: | ToHu [ Нед Юли 12, 2015 10:55 am ] |
| Заглавие: | Re: PIC12F629 |
Качи една програмка която ти мърда пин дай и да го мърда през 100 мс и мери, но ще ти трябва таймер / брояч, или поне прост честотомер. |
|
| Автор: | timt [ Нед Юли 12, 2015 10:57 am ] |
| Заглавие: | Re: PIC12F629 |
Имам честотомер но не съм го ползвал с години. Нямам скоп .. |
|
| Автор: | ToHu [ Нед Юли 12, 2015 11:02 am ] |
| Заглавие: | Re: PIC12F629 |
Повечето честотомери работят и като таймери, мериш и виждаш колко се разминаваш, 1-2 интерполации и си готов, имаше и формула някъде по спомен. |
|
| Автор: | Cekins [ Нед Юли 12, 2015 1:24 pm ] |
| Заглавие: | Re: PIC12F629 |
Ами трие се всичко, ама преди да го затрие го прочита. Освен всичко, това че си написал RETLW в програмата накрая не ти помага, щото напрактика програматора ще прочете какво има на 0x3FF и после ще запише него. Май някъде имаше опция да не го чете/пише, ама никога не съм го ползвал и не съм сигурен. А и тоя RETLW с такава голяма дума как аджеба мислиш че ще се компилира? Мнемониката носи само 8 битов литерал там. Освен това корекцията на осцилатора не е толкова голяма, че да разбута уарта до степен да излизат маймунки - мисля че +/-5 % го бута, а уарта спокойно ги компенсира. По-вероятно е да имаш някаква друга грижа. Сега виждам че тя джвъчката няма хардуерен уарт. Нещо не ти е в час програмата - не ти е проблема осцилатора. Честно казано досега където съм пускал уарт (хардуерен обаче) никога не ми се е налагало да ръчкам прецизно осцилатора. Смятам си ги по даташит и толкова. А от 5-6 години пик с външен осцилатор не съм пускал. И накрая - погледни 16F1619 - е те такова животно нема - за 1 долар дребнова цена направо кърти асфалта. В момента правя едно устройство с него - програмата представлява основно настройка на хардуера и после сичко сам прай. Само таймер 2/4/6 имат по 5 регистъра за настройка. А PPS в такова чипче си е голяма благинка при опроводяването. |
|
| Автор: | ToHu [ Нед Юли 12, 2015 2:36 pm ] |
| Заглавие: | Re: PIC12F629 |
При вофтуерна реализация ако и там има някакво недописване може да стане и от 5% |
|
| Автор: | timt [ Нед Юли 12, 2015 3:41 pm ] |
| Заглавие: | Re: PIC12F629 |
Ще го заредя два пъти с празен .hex по късно че сега не ми се играе. |
|
| Автор: | Cekins [ Нед Юли 12, 2015 4:37 pm ] |
| Заглавие: | Re: PIC12F629 |
Файда от празен хекс нямаш - ако там имаш 0х000 - демек NOP ще имаш един безкраен цикъл - в началото на твоята програма ще викаш тоя адрес, той ще направи роловър до адрес 0х000 - с други думи все едно ресет и пак така до безкрай. И да имаше стак овърфлоу ресет - все тая - все ще си цикли на едно място : 0х000 -> 0х3FF и пак и пак.... Тони : той май само предава - тъй че едва ли ще окаже съществено влияние. Може да окаже влияние ако приема и уарта му не е направен след всеки фронт да резетва таймера. |
|
| Автор: | ToHu [ Нед Юли 12, 2015 4:45 pm ] |
| Заглавие: | Re: PIC12F629 |
Да и аз предполагам че предава, но как е направен софтуерният уарт си е важно, дали е с хардуерен таймер или софтуерен, колко бързо се обслужва, на каква скорот работи .. верно при 9600 си е цяла веченост но на 112 лесно може да омажеш нещата дори и с точен клок ако караш през просото. Аз лично никога съм нямал проблеми но съм виждал проблемни реализации и то проблемни точно заради мотквания около обслужване ан таймери, спане по разни места и др. такива. И ако всичко е било на косъм тия 5% може направо да го пратят в киреча. Нямам представа как е написано, затова и не изключвам да има проблем. |
|
| Автор: | timt [ Нед Юли 12, 2015 5:20 pm ] |
| Заглавие: | Re: PIC12F629 |
Пак да повторя, джаджата си бачка вече 2-ра година без проблем постоянно! Просто нямах чип взех го на заем |
|
| Автор: | ToHu [ Нед Юли 12, 2015 5:26 pm ] |
| Заглавие: | Re: PIC12F629 |
Аз пак казвам, това че е работело не значи че ако му мръдне честотата пак ще продължи да работи. Ако не си скапал чипа няма причина да не работи освен промяната на честотата. Ако си го писал ти знаеш как е писано ако го е писал друг изобщо нямаш идея какво е вътре така че ... |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|