forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
Blikání LED s PIC16F872

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Microchip
 
Matyáš
Profesionál
Profesionál


Založen: 2.4.2014
Příspěvky: 49

PříspěvekZaslal: 29 srpen 2014, 8:12    Předmět: Blikání LED s PIC16F872 Citovat

Dobrý den,
Mám malý problém s programem pro PIC16F872.
Sehnal jsem základní program pro blikání LED (http://wordpress.codewrite.co.uk/pic/2013/07/11/using-the-pic12f1840/) který jsem upravil pouze v hlavičce na
kód:
#include <pic16f872.h>

Program jsem bez problémů nahrál do procesoru, jenže mi nefunguje.
LED nebliká.
Mám ji připojenou stejně jako na výše uvedené stránce, přes odpor 120 ohm na zem. Zapojení programátoru (PICKIT 3) je podle manuálu.
Používám MPLABX.
Vím, že jsem asi neupravil vše, ale nevím co dál.
Nevíte kde dělám chybu?
Děkuji.


Naposledy upravil Matyáš dne 31 srpen 2014, 10:10, celkově upraveno 2 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
colombo
Profesionál
Profesionál


Založen: 11.4.2008
Příspěvky: 50

PříspěvekZaslal: 29 srpen 2014, 15:06    Předmět: Citovat

na jakém pinu máš tu led pověšenou?
Zašli sem ten program.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 747

PříspěvekZaslal: 29 srpen 2014, 19:55    Předmět: Citovat

Výpis programu je v odkazu. Ono by to spíš chtělo si nastudovat alespoň základy k elektronice, základy k programování a datasheet k procesoru. Pokud je schopný pouze zkopírovat z Internetu program a ani takhle triviální program není schopný pochopit a rozchodit, tak je něco špatně. Může mít otočenou LEDku, může být připojená na jiném pinu, může mít proesor nastavený na externí zdroj hodin atd.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
kolemjdoucí
Anonymní





PříspěvekZaslal: 29 srpen 2014, 21:01    Předmět: Citovat

PIC12F1840 je Enhanced Midrange core, což 16F872 rozhodně není, takže bude jinak konfigurace (BSR, LATx a ANSELx atd)...
Návrat nahoru
 

 
Matyáš
Profesionál
Profesionál


Založen: 2.4.2014
Příspěvky: 49

PříspěvekZaslal: 30 srpen 2014, 8:48    Předmět: Citovat

LED je připojená na port RA4 s číselným označením 6 (podle datasheetu).
Je zapojená správně. Anodou přes odpor k pinu. Ale zkoušel jsem ji i otočit.
S konfiguračními bity jsem nic nedělal. Počítám že jsou nastaveny defaultně.
V MPLABu jsem si je prohlédl a je tam FFFF.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
kolemjdoucí
Anonymní





PříspěvekZaslal: 30 srpen 2014, 14:53    Předmět: Citovat

Ten MCU co máš potřebuje po startu provést po startu jinou inicializaci, než ten 16F872 (nebavím se o konfiguračních bitech ve flash, to je něco úplně jiného, ale i ty budou u tohoto MCU jinak). Stáhni si datasheet k tomu 12F1840, tam vše najdeš, nebo se ve svém okolí poohlédni po někom kdo zná PICy trochu líp než ty (zrovna v Holicích někdo takový určitě bude).
Návrat nahoru
 

 
Anonymní






PříspěvekZaslal: 31 srpen 2014, 9:12    Předmět: Citovat

Začal bych tím, jak je zapojený hodinový obvod - 16F872 nemá interní oscilátor a podle konfiguračního slova (píšeš FFFF) máš nastavený mód RC -chce to na OSC1 (vývod 9) odpor na plus a kondenzátor k zemi

Pro Balů - nebuď tak ostrý, všichni jsem nějak začínali a zkopírovat/upravit/snažit se rozchodit je základní metoda - vědomosti se nabírají cestou Smile
Já třeba bez toho, abych věděl co je tranzistor upravoval rádia Laughing
Návrat nahoru
 

 
Matyáš
Profesionál
Profesionál


Založen: 2.4.2014
Příspěvky: 49

PříspěvekZaslal: 31 srpen 2014, 9:58    Předmět: Citovat

Ano, při pročítání dataseetu jsem také zjistil, že 16F872 nemá interní oscilátor.
V tomto článku (http://www.8bitu.cz/clanek/serial-pic16f84-8-oscilatory-a-resetovaci-obvody/) jsem našel hodnoty odporu a kondenzátoru RC článku.
Dále jsem ve své zásobě součástek (z velké části vypájené z elektoniky) našel krystal s označením CQS2A 4.433619, ale nejsem si jist, jestli to číslo znamená MHz.
Mám ale ještě jiné procesory - např 16F630 nebo 12F508, které by podle datasheetu měly mít interní oscilátory.

Poraďte mi prosím, co bude na začátek nejlepší; počítám že procesor s interním oscilátorem, ale nemám problém vyzkoušet i RC článek, nebo krystal.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 747

PříspěvekZaslal: 31 srpen 2014, 10:43    Předmět: Citovat

Pro Anonymní: No asi jsem byl zbytečně ostrý, ale dotaz na mně udělal dojem "programátorů", kteří na fóra píšou dotazy typu "Už tři dny hledám knihovnu pro ovládání displeje 16x2 znaků - poraďte." a přitom napsat podprogramy pro základní ovládání tohoto displeje po pročtení datasheetu je otázkou cca hodiny. "Komfortní nadstavba" je už pak samozřejmě jiná pohádka a záleží na tom, co od knihovny člověk čeká.

Pro Matyáše: Poslyš, pokud s MCU začínáš, asi by bylo pro počáteční pokusy lepší použít procesor s interním oscilátorem. Jednak si zjednodušíš zapojení a jednak budeš mít jistotu, že pokud program nic nedělá, není to chybou oscilátoru. Pokud používám externí krystal, dělám to tak, že si naproramuju blikání LEDky, naprogramuju MCU. Jakmile se LEDka rozbliká, přehodím hodiny na krystal. Pokud LEDka bliká dál, je vše OK a natahuju program, který tam má být. Pokud používám externí zdroj hodin, není problém logickou sondou zjistit, jestli hodiny běží, u krystalu to tak jednoduše nejde - tam se často nechytneš ani s osciloskopem. Už se mi totiž stalo, že jsem měl zkrat pod SMD krystalem a MCU z krystalu nejel, dokud jsem zkrat neodstranil.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
kolemjdoucí
Anonymní





PříspěvekZaslal: 31 srpen 2014, 15:35    Předmět: Citovat

Ono by měl nejjednodušší, kdyby si koupil ten správný PIC (tedy 12F1840), když je začátečník a neví si s tím rady... a nebo aspoň aby si našel Blink v C přímo pro MCU, který má k dispozici. Jinak bych si jen dovolil upozornit, že v uvedeném odkazu není celý kód, ale jen jeho část (konkrétně Main), Config a Init tam vůbec není.
Návrat nahoru
 

 
Anonymní






PříspěvekZaslal: 31 srpen 2014, 17:39    Předmět: Citovat

To Balů: máš pravdu, lenost některých lidí dokáže pěkně nadzvednout, ale já jsem v tomto případě měl spíš dojem absolutního začátečníka, který stojí kvůli detailu. Záčátek by měl být v pohodě - program až na typ procesoru je stejný (je pravda, že v příloze není kompletní), nastavení portů stejné, zkompilovat ho dokázal, jenom ten oscilátor.

To Matyáš: můj názor je, že když máš na stole 16F872 tak pracuj s ním, v neděli večer jiný neseženeš Smile, datasheet už přečtený máš a ten RC oscilátor je snad dost jednoduchý - už ho máš zapojený? Dělá to něco? Pro zajímavost: víš, co která instrukce v programu znamená?

Číslo na krystalu je frekvence v MHz, ale pro začátek ho nechej bokem, zvlášť jestli zapojuješ na nepájivém poli - stačí nějaká parazitní kapacita a je po kmitání. Ovšem až budeš příště kupovat procesor, interní oscilátor je bezva věc.
Návrat nahoru
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Microchip Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2018 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)