Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Asszem nem fogok unatkozni , köszi a linkeket
Én is úgy kezdtem annakidején, mint te, hogy volt egy ötletem áramkörre, amihez már kontroller kellene. Elkezdtem nézelődni a neten, miket lehet elolvasni. Végigolvastam a témákat, amiket csak találtam, az oda linkelt dolgokat, stb., és mire végeztem vele, addigra képben voltam, hogy mégis mi kell az induláshoz. Rá kell szánni 1-2-3 hetet az anyagok végigolvasására, de utána egy csomó dolgot már tudni fogsz.
Szia Crea,
A GND-t szoktak referencia pontnak is nevezni, de azt hiszem tenyleg jobb, ha elobb kicsit foglalkozol az elektronika alapjaival, amiket potyo megadott linket, ill. ehhez a GND temehoz azt hiszem kicsit kapcsolodik az a fold hurokkal foglalkozo cikk is ami szinten itt a HE-n megtalalhato.
Üdv mindenkinek!
Ismét szeretném a segítségeteket kérni egy kis programmal kapcsolatban. A progi C ben íródik. A gond a következő: Van két szám (x1, x2) amiket szeretnék összeadni és az eredményt kiíratni lcd re. Eddig itt tart: int s,x1,x2,xe; x1=1; x2=2; xe=x1+x2; lcd_putc(????????????); Itt a gond. Az xe értékét szeretném kiíratni de eddig bárhogy variáltam nem sikerült Mi ennek a működő menete? Gogle sajnos nem segített Előre is köszönöm.
Üdv!
Megkukucskáltam, addig ok, hogy össze kell kombinálni, valami ilyesmire gondolok: printf(lcd_putc,x2); de így nem ok . A pontos szintaxisát nem találom.
Egy C könyvben utána tudsz nézni. Először konvertáld át sztringbe a számodat, pl sprintf -el, azután a string karaktereit küldd ki az lcd-re. (ha nincs string küldő lcd rutinod csak karakter küldő)
nálam így működik, igaz ez float-ra van, de int-re is hasonlo [code:c] sprintf(string,"%.3f",szam); putst(string); [/code]
Üdv!
C s könyvem nincs A súgóban lévő példákat lestem meg, nem igazán működik. A konvertálás elvileg ok, a kiíratás már nem, értelmetlen pontok jelennek meg
Nem kell stringgé konvertálni!
Ez annyira alap c "dolog", hogy tényleg minden könyvben benne van. Kulcsszó formátum-specifikáció, ezt nézd át. Egyébként: printf(lcd_putc,"Blabla %d",xe); Ha nincs ott a 'Blabla' szöveg akkor is kell valami a formátumról, pl. így printf(lcd_putc,"%u",xe); Azt nézd meg mit jelent a %d vagy a %u és még milyen lehetőségek vannak.
Hello
Köszi a választ. Letöltöttem a HitechPicc lite-ot, de nem igazán világos első látásra, hogy hogyan tudok benne mondjuk egy kimenetet piszkálni, vagy figyelni.
Üdv mindenkinek!
Most vettem életem első pic-jét egy 16F84A-04/p mikrokontrollert és szeretnék hozzá egy égetőt építeni LPT-portra, ha valaki tud egy segítő linket küldeni, hálám örökké üldözné! Viszont a 7407-es ic helyett csak 7406-ot tudok alkalmazni, mert itt kecskeméten nem találtam sehol.
Esetleg 7417-est is használhatsz hozzá ha kapsz a 07-es helyett.
A 7406-os az inverter is, a 7407-es az pedig csak driver. Ha a szoftverben at lehet allitani, hogy invertalt, akkor lehet hasznalni azt is. Amugy amig nincs kapcsolas addig ne dontsd el, hogy milyen alkatreszket hasznalsz Ja, a masik, hogy sok helyen lehet venni alkatreseket postan rendelve is - pl a HEstore-ban is.
Elkészítettem a kapcsolási rajzot Eagle-ben, de mielőtt elkészíteném a nyák rajzot megkérhetnék valakit, hogy nézze át minden jó helyre van-e kötve a rajzon.
Az lvp lábat nem találtam sehol, viszont egy másik oshon rajzon sincs rajta. Rajz Nagyon köszönöm a segítségeteket!
Szia!
Alaposan nem néztem meg, mert még a dolgozóban vagyok, de első látásra azt tanácsolom neked, ne rakj be a cél PIC-nek foglalatot. Elég egy 5-ös tüskesor /Vpp,Vdd, GND, PGD,PGC/. és akár egy próbapanelen, akár a leendő céláramkörben többféle PIC-et is tudsz majd programozni, nem csak 18 lábút. Az lvp a PGM láb lenne. Ez lehet húzni gnd-re, de az sem gond, ha lógva marad.
Nagyon szépen köszönöm a segítségeidet! Igen! Jó ötlet csak a programozáshoz szükséges szálakat kivezetni tüskesorra, ahhoz meg akár lehet csatlakoztatni egy többfoglaltú panelt, vagy a programozandó pic áramkörét!
Idézet: „Igen! Jó ötlet” Ez nem ötlet, ezt így szokták a profik...
Sziasztok!
Van egy kis gondom. saját karaktereket akarok programozni a kijelzőmbe, de valahogy nem megy, hülyeségeket kapok. mikroPascalban csináltam a teszt progit. program TEST12; Var ch, i:byte; const character0: array[0..7] of byte = (0,0,0,0,0,0,0,31); const character1: array[0..7] of byte = (0,0,0,0,0,0,31,31); const character2: array[0..7] of byte = (0,0,0,0,0,31,31,31); const character3: array[0..7] of byte = (0,0,0,0,31,31,31,31); const character4: array[0..7] of byte = (0,0,0,31,31,31,31,31); const character5: array[0..7] of byte = (0,0,31,31,31,31,31,31); const character6: array[0..7] of byte = (0,31,31,31,31,31,31,31); const character7: array[0..7] of byte = (31,31,31,31,31,31,31,31); begin ADCON1 := $82; INTCON := 0; TRISA := $FF; TRISB := %00000000; PORTB := 0; LCD_init(portb); LCD_cmd(LCD_Cursor_off); LCD_cmd(lcd_clear); LCD_Cmd(64); for i := 0 to 7 do LCD_Chr_Cp(character0[i]); lcd_cmd(73); for i := 0 to 7 do LCD_Chr_Cp(character1[i]); lcd_cmd(82); for i := 0 to 7 do LCD_Chr_Cp(character2[i]); lcd_cmd(91); for i := 0 to 7 do LCD_Chr_Cp(character3[i]); LCD_Cmd(100); for i := 0 to 7 do LCD_Chr_Cp(character4[i]); lcd_cmd(109); for i := 0 to 7 do LCD_Chr_Cp(character5[i]); lcd_cmd(118); for i := 0 to 7 do LCD_Chr_Cp(character6[i]); lcd_cmd(127); for i := 0 to 7 do LCD_Chr_Cp(character7[i]); LCD_Cmd(LCD_RETURN_HOME); LCD_cmd(lcd_clear); while true do begin for i := 0 to 7 do begin ch := i; LCD_chr(1, 1, ch); LCD_chr(1, 2, ch); Delay_ms(1000); end; end; end. Valaki tud segíteni?
Üdv!
Én is egy kis segítségre szorulnék. Egy PWM vezérlést kellene írnom Assembly-ben, a következőképpen: Van három regiszterem (F0,F1,F2), melyekben számokat tárolok 0-255-ig. A kimeneteken van három LED (LED0-2), és ezeknek a fényerejét kellene változtatni az F0-2 függvényében (0=0% és 255=100%) egymástól függetlenül. Ezek a számok egyébként nem konstansok, a TIMER0 bekövetkezésekor felülíródhatnak, ekkor értelemszerűen módosulnia kéne a fényerőnek. A gondom ott van, hogy hármat is kellene egyszerre, egymástól függetlenül vezérelni. Egy még menne a "be...késleltetés...ki" módszerrel, de háromnál már gondban vagyok. Kérem, akinek van ötlete, segítsen, természetesen nem várom el, hogy megírjátok helyettem, csak egy kis löket kéne...
A három kimenethez tartozna egy-egy számláló, amiket TimerX megszakításkor növelnél. Minden megszakításkor a növelés után le kell ellenőrizni, hogy a kimenetekhez tartozó kitöltést beállító értékek egyenlőek-e a hozzájuk tartozó számlálók értékeivel, ekkor váltani kell a kimenetet, majd a számláló végértékénél ismét(ha 8 bites a számláló és a kitöltést beállító értékek is, akkor ez 255 után lesz. lehet nagyobb számokkal is dolgozni.). A PWM freki a megszakítás üteme osztva a számláló max értékével lesz(8 bit esetén 256-al). Remélem valamennyire érthető...
Köszönöm a válaszodat! Most gyorsan összecsaptam valami ilyesmit, és úgy látom, működni fog, holnap (ma) kísérletezek vele.
Sziasztok.
Nekem igazából nem programozási kérdésem lenne hanem kapcsolási. Építettem egy áramkört pic-el.(16F84A). Szóval a progi amit írtam úgy működik hogy a pic egy lába idöközönként húz egy relé-t. (szépen diódázva ahogy kell.) A problémám az hogy a pic-et zavarják a a külső hálózati behatások. Teszem azt ha a konektorból kihúzok egy csatlakozót (bármit tv vagy más kütyü) akkor a pic vezérli a kimenetét pedig azt még nem kéne. A pic szürt egyen feszkón majd stab IC- n keresztül kap tápot. Próbáltam még jobban szűrni a tápot 10000 micro -s kondi de akkor is zavarja. Volt valakinek hasonló baja? Köszi a help-et.
Igen, volt, amikor nem volt szűrve a táp rendesen vagy az áramkör rosszul volt megtervezve vagy a program rosszul volt megírva. Rakd fel a kapcsolási rajzot és a programot is, és lehetőleg nyákrajzot is.
Én nagyon kezdő vagyok a témában, de egy tippem azért lenne: Erősítőknél a trafó elé EMI filtert szoktak rakni, hogy ezeket a zavarokat ne halld a hangszóróban
Csak kérdés hogy ez PIC-re is érvényes-e?
Még nem sikerült ilyet produkálnom, pedig a 470 µF-ot ritkán lépem túl a staboknál.
100 nF hidegítőkondi van közvetlenül a Vdd lábánál (14, illetve smd-nél 15, 16)? Ha nagyon hosszú vezeték fut a reléhez, az működhet antennaként, és esetleg összeszed valamit, amitől aztán meggajdul a PIC, de ez már elég vad ötlet, szerintem.
Nos a kapcsolási rajz a képen látott-hoz hasonlít. Annyiban tér el hogy a PIC egyik kimenete egy 1 kilos ellenáláson keresztül vezérel egy BC tranzisztor bázisát ami földet kapcsol egy relére. A relé másik kivezetése állandó +12 V ot kap. (12 V-os stab IC) A program egyébként szépen működik belső TMR megszakítás segítségével billentem 1-be a kimenetet. Mint mondtam a tápegységet is külön szűrtem. EMI filtert még nem próbáltam.
Egyébként most kezd jönni az ötlet hogy rápillantottam a kapcsolásra Keveslem azt a 10 micro-t.
|
Bejelentkezés
Hirdetés |