Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   534 / 1319
(#) proli007 válasza miklosch hozzászólására (») Júl 25, 2009 /
 
Hello!
A porták felhúzásának, csak Input-ként történő alkalmazásnál van értelme. Ilyenkor alkalmazható, tápra kötött külső ellenállás, vagy a belső felhúzás, amit a B portánál az OPTION regiszter 7. bitjével lehet aktiválni.
A portákat kimenetként használva egyiránt le és fel írányban van Fet ami a kimeneteket meghajtja. (Tehát lehet terhelni a GND és a VDD felől is) Ez alól kivétel az A porta 4. bitje, ami nyitott Drain-el rendelkezik. Tehát ha ezt a pota bitjét kimenetként alkalmazod, akkor csak a GND felé tud lehúzni. Azaz "kimeneti felhúzó ellenállással" kell ellátni ha használod és logikai szintet szeretnél tőle.
üdv! proli007
(#) miklosch válasza proli007 hozzászólására (») Júl 25, 2009 /
 
Van egy másik PIC, ami szóba jött nálam, a 16f1937, ennél az összes port sémája azonos. Ennél is kimeneti irányban van 0, vagy 5 V is? Tehát ha egy tranzisztort akarok nyittatni akármelyik bittel, nem kell külön felhúzó ellenállás?

IOport.jpg
    
(#) vicsys válasza miklosch hozzászólására (») Júl 25, 2009 /
 
Proli mester leírta, hogy a felhúzó ellenállás csak akkor kell (használni), ha bemenetként konfigurálod az I/O-t. Ha kimenet, akkor kell egy soros bázisellenállás a tranyódhoz és kész! Igen, mindegyik tud H és L szintet is. Kivétel az RA4, mert az csak L szintet "tud kiadni".
(#) miklosch válasza vicsys hozzászólására (») Júl 25, 2009 /
 
Nagyon szépen köszönöm a válaszotokat, így máris egyszerűsödik a kapcsolásom!
(#) icserny válasza vicsys hozzászólására (») Júl 25, 2009 /
 
Idézet:
„Kivétel az RA4, mert az csak L szintet "tud kiadni".”

Az a 877-nél van így. A kérdezett 887 adatlapjában viszont nem látok nyitott nyelőelektródás kimenetet.
(#) nemgyuri válasza nikolatesla hozzászólására (») Júl 25, 2009 /
 
Chipcad-et tudom ajánlani. üdv.
(#) Hp41C válasza miklosch hozzászólására (») Júl 25, 2009 /
 
Sziasztok!

Figyelem - ezek a kontrollerek már 3.3V technológiávan készülnek, forgalmazásukat kb. augusztus végen kezdi meg a ChipCad.
(#) MPi-c válasza Hp41C hozzászólására (») Júl 25, 2009 /
 
20-án már azt írták raktáron van és az árlistán is megjelent...
(#) icserny válasza Hp41C hozzászólására (») Júl 26, 2009 /
 
Idézet:
„Figyelem - ezek a kontrollerek már 3.3V technológiávan készülnek”


Azt nem tudom, hogy milyen technológiával készültek, de a PIC16F193X típusok VDD = 2,3 - 5,5 V között teljes sebességű (32 MHz) működésre képesek, így akár 3,3V-os, akár 5 V-os rendszerekhez is könnyen illeszthetők (vagylagosan gondoltam...).
(#) trudnai válasza icserny hozzászólására (») Júl 26, 2009 /
 
Szerintem a felreertest az okozhatja, hogy van 5V es 3V valtozat is:

Idézet:
„# Wide Operating Voltage (1.8V – 5.5V)
# Low Power PIC16LF1937 variant (1.8V – 3.6V)”


Amugy a 193x az az un. enhanced mid-range sorozat, teljesen uj, es ugyan a core nagyon igeretes meg senki sem tudja az esetleges hibait. Otthoni vagy kisebb projectekhez jo, de komoly nagy peldanyszamu fejleszteseknel azert meg ovakodni kellene elemenyem szerint.
(#) Hp41C válasza trudnai hozzászólására (») Júl 26, 2009 /
 
Sziasztok!

Nincs félreértés: Valóban a megengedett Vdd max. 5.5V.
16F193x-nél, a csipen levő belső feszültség stabilizátor állítja elő a 3.2V-ot. Ezt azonban kölső szűrőkondenzátorral kell ellátni - ez egy lábat elfoglal: Vcap.
Három lehetőség közül lehet választani: RA0, RA5 vagy a RA6/OSCO.

Csak azért írtam a hozzászólást, ha valaki egy meglévő áramkörben szeretné majd felhasználni, akkor már most gondoljon erre is.
(#) sany hozzászólása Júl 26, 2009 /
 
Sziasztok!Írtam egy kis programot magamtól.Még elég kezdő vagyok pic-ek terén.Azt szeretném megoldani 16F628A - val , hogy az lcd -n megjelenjen a kapcsoló állapota.De nem akar működni.Az RA0 bemenet alaphelyzetben magas potenciálon van.

Mi lehet a probléma? A választ előre köszönöm!

  1. void main()
  2. {
  3. while(1)
  4. {
  5. PORTA=0;  
  6. PORTB=0;  
  7. TRISB=0;  
  8. TRISA=1;
  9. Lcd_Custom_Config(&PORTB,7,6,5,4,&PORTB,2,0,3);
  10. Lcd_Custom_Cmd(Lcd_CURSOR_OFF);
  11. do{
  12. Lcd_Custom_Out(1, 1, "GOMB KI!");
  13. }while(porta.f0!=1) ;
  14. Lcd_custom_cmd(lcd_clear);
  15. Lcd_Custom_Out(1, 1, "GOMB BE!");
  16. }
  17.  
  18. }
(#) MPi-c válasza sany hozzászólására (») Júl 26, 2009 /
 
Az PORTA beállítását nézd meg az adatlapban (EXAMPLE 5-1!)
A portok beállítását és az lcd configját a külső while elé kellene tenni, mert így minden "GOMB BE" után újra végrehajtódik.
A kapcsolót pergésmentesíteni sem ártana.
(porta.f0 biztos így kell a PORTA 0. bitjére hivatkozni?)
(#) icserny válasza Hp41C hozzászólására (») Júl 26, 2009 /
 
Idézet:
„16F193x-nél, a csipen levő belső feszültség stabilizátor állítja elő a 3.2V-ot.”


Számomra csak az nem világos, hogy mi a teendő pl. Vdd = 2.5 V esetén? Abból is előállítja a 3,2 V-ot, vagy automatikusan átkapcsol VDD-re, esetleg nekünk kell összekötni kívül Vdd-vel, ahogy a PIC18F14K50-nel megépített USB-UART átalakítóról szóló cikkemben csináltam a 3,3 V-os verziónál?
(#) Hp41C válasza icserny hozzászólására (») Júl 26, 2009 /
 
Szia!

Csak annyi van az adatlapon, hogy a 2. configurációs szóban a három láb kiválasztása mellett van egy negyedik lehetőség: Vcap kikapcsolva. Szerintem 3.2 V alatt ki lehet kapcsolni a stabilizátort.

Szia
(#) icserny válasza Hp41C hozzászólására (») Júl 26, 2009 /
 
Engem az zavar, hogy ez csak VCAP kivezetését szünteti meg, nincs szó az LDO kikapcsolásáról.
(#) icserny hozzászólása Júl 26, 2009 /
 
Újabb témakörökkel gyarapodott a PIC-kwik projekt:

- Programmegszakítások
- Számlálók/időzítők

Bővebben: http://esca.atomki.hu/PIC24
(#) sprofan hozzászólása Júl 26, 2009 /
 
Sziasztok!
Lenne egy kérdésem,ez egyszerűen megvalsítható nem? Elvégre minden a neten van csak össze kell "ollózni":
-egy 2x16soros lcd-re kéne kiirkálni dolgokat
-Pár bemenet, amin öszesen 9 kapcsoló állását kell leolvasni, lehetnek mátrixba is kötve ez mind1, egyszerre csak 1 gomb lesz aktív, és csak annyit kell kiírni hogy 1, ha a 2. kapcsoló van kapcsolva akkor 2, stb... egészen 9-ig.
-hőmérő is kellene bele, 2db, 1x a környezet hőmérséklete, 1x pedig egy másik hőszenzot, aminek max 100°C-ig kell mérnie,
ha eléri a mért érték a 80°C-ot, akkor mind a két sorban az lcd-n egy Magas hőmérséklet! felirat jelenik, meg
hapedig eléri a 100°C-ot, akkor egy relét kellene kapcsolnia, egészen adíg, amig a mért étrék újra legalább 80°C-ra nem csökken.
(#) lidi válasza sprofan hozzászólására (») Júl 26, 2009 /
 
Nahát, csak nem egy motor computer ? Amúgy valóban egyszerűen megvalósítható, de remélem nem azt várod hogy helyetted írja meg valaki ?
(#) sprofan válasza lidi hozzászólására (») Júl 26, 2009 /
 
De de pontosan, mind két kérdésedre. Persze nem ingyen úgyhogy fel is teszem apróba mert én ehhez totál ..... vagyok, csak tudni akartam mekkora bonyolultságú ez. Köszi
(#) vicsys válasza sprofan hozzászólására (») Júl 26, 2009 /
 
Idézet:
„ez egyszerűen megvalsítható nem?”
Igen az. Mi a kérdés? Miben tudunk segíteni? (Látom már válaszoltál...)
(#) sprofan válasza vicsys hozzászólására (») Júl 26, 2009 /
 
Csak tudni akartam mire számítsak, mert egyik ismerősöm innen HE-ről is feladott egy hasonló hirdetést, erre kapott egy olyan ajánlatot hogy 25.000-ért megcsinálja neki....
(#) lidi válasza sprofan hozzászólására (») Júl 26, 2009 /
 
Nem olyan veszélyes összeg. 5000Ft/óra * 5. Szakértelmet meg kell fizetni. Legalább ez is ösztönöz hogy tanulj, és oldd meg magad.
(#) trudnai válasza sprofan hozzászólására (») Júl 27, 2009 /
 
25eFt... hmmm... az valamivel kevesebb mint 100 euro... itt (Irorszagban) a boiler szerelo 120 eurot ker orankent! Egy PIC firmware/hardware mernok azert ennel magasabbra lehet taktalva, ugyhogy az a 25eFt meg ha csak 1 oras munkaval szamolom is eleg alacsonynak mondhato...
(#) cmate válasza icserny hozzászólására (») Júl 27, 2009 /
 
Koszonom a felvilagisitas! Szep napot mindenkinek!
(#) bladika hozzászólása Júl 27, 2009 /
 
Sziasztok!

Ismét egy kérdéssel fordulok hozzátok!

C18-ban ,mi a legegyszerűbb mondja, hogy egy változó egy bitjének értékét megvizsgáljuk?

Nincs valami olyan egyszerű mint CCS-ben, hogy:

bit_test(variable,bit);

?
(#) trudnai válasza bladika hozzászólására (») Júl 27, 2009 /
 
Ha van bitfield dfinialva a valtozodra (mint ahogy pl a PORTx-eknel van) akkor

if (PORTAbits.RA1) { ... }

ha nincs akkor pl:

if ( valtozo & 0x00100000 ) { ... }

vagy

if ( valtozo & 1<<5 ) { ... }

Tamas>>
(#) bladika válasza trudnai hozzászólására (») Júl 27, 2009 /
 
Okés! Köszönöm!
(#) watt válasza bladika hozzászólására (») Júl 27, 2009 /
 
Deklarálsz egy típust:
  1. typedef union{
  2.  unsigned char x;
  3. struct {
  4.     unsigned Fb0:1;
  5.     unsigned Fb1:1;    
  6.     unsigned Fb2:1;      
  7.     unsigned Fb3:1;
  8.     unsigned Fb4:1;
  9.     unsigned Fb5:1;
  10.     unsigned Fb6:1;
  11.     unsigned Fb7:1;
  12. };
  13. }tVALTOZObits;
  14.         #define tVALTOZO tVALTOZObits.x


Majd példányosítod a programban(main-ban, vagy szubrutinban, ahol szükség van rá):
  1. #pragma udata
  2.    tVALTOZObits VALTOZObits; //Példányosítás


Használata:
  1. if(VALTOZObits.Fb0)
  2.   { //Ha a változó 0.bitje nem 0
  3.   }
(#) watt válasza watt hozzászólására (») Júl 27, 2009 /
 
Kicsit módosítok:
A 14. sor nem kell itt.
  1. typedef union{
  2.  unsigned char x;
  3. struct {
  4.     unsigned Fb0:1;
  5.     unsigned Fb1:1;    
  6.     unsigned Fb2:1;      
  7.     unsigned Fb3:1;
  8.     unsigned Fb4:1;
  9.     unsigned Fb5:1;
  10.     unsigned Fb6:1;
  11.     unsigned Fb7:1;
  12. };
  13. }tVALTOZObits;

Hanem itt:
  1. #pragma udata
  2.    tVALTOZObits VALTOZObits; //Példányosítás
  3.   #define VALTOZO VALTOZObits.x


Használhatod a VALTOZO-t ezután bájt eléréssel így:
  1. VALTOZO = 55;

Esetleg így, de akkor nem kell a #define sor:
  1. VALTOZObits.x = 56;

Vagy ahogy azt előzőleg írtam a harmadik kódrészletben, bitenkén.
Következő: »»   534 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem