Fórum témák

» Több friss téma
Fórum » CCS PIC Compiler
 
Témaindító: (Felhasználó 1542), idő: Ápr 3, 2006
Lapozás: OK   74 / 118
(#) szuperman hozzászólása Máj 23, 2012 /
 
Helló mindenki!

Van egy 16f628a PIC -em. Szeretnék vele feszültséget mérni. 16f877 esel sikerült. Ugyan úgy próbálom a 628 assal ,de nem működik. Le sem fordul a kód. Ismeretlen függvény a hibaüzenet. Nem értem ,hogy a 877 esnél miért működik ,ha a 628 nál le sem fordul. Kérem segítsen valki!

[code=c]
#include <16f628a.h>
#device adc=8
#byte ADCON0 = 31
#bit ADC_godone = ADCON0.2

#use delay(clock=8000000)

void main()
{

//mérés előkészitése
int adc_value, temp;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL ); //órajel
set_adc_channel(0); //chanel választás

while(true){

read_adc(adc_start_only); //mérés inditása
while(ADC_godone); //várakozás a végéig
adc_value=read_adc(adc_read_only);

}
}

Ha átírom a 628 -at 877 -re működik rendesen a kód.

Előre is köszi!
(#) p_istvan válasza szuperman hozzászólására (») Máj 23, 2012 /
 
Szervusz!
Az adatlapokat szoktad nézni? A 16f628 nem tartalmaz ADC-t...
(#) szuperman válasza p_istvan hozzászólására (») Máj 23, 2012 /
 
Akkor mire való rajta az analóg bemenet? Nem értem...
(#) icserny válasza szuperman hozzászólására (») Máj 23, 2012 /
 
Idézet:
„Akkor mire való rajta az analóg bemenet?”
Az is benne van az adatlapban: analóg komparátorhoz.
(#) p_istvan válasza szuperman hozzászólására (») Máj 23, 2012 /
 
Mert van benne két analóg komparátor meg egy feszültség referencia modul...
(#) szuperman válasza p_istvan hozzászólására (») Máj 23, 2012 /
 
Azok mire valók?
(#) p_istvan válasza szuperman hozzászólására (») Máj 23, 2012 /
 
A komparátorral össze lehet hasonlitani két feszültséget, hogy melyik a nagyobb vagy kisebb, ahol az egyik feszültség ebben az esetben akár lehet a feszültség referencia modul kimenete is, amit programból lehet változtatni.
Pl.: PIC MCU Comparator
(#) p_istvan válasza p_istvan hozzászólására (») Máj 23, 2012 /
 
Akár ADC-t is lehet a komparátorral készíteni:16f628- ADC
(#) szuperman hozzászólása Máj 23, 2012 /
 
Értem. Ha szépen kérem valaki nem tudna nekem készíteni egy kódot, ami a kérdéses 628 assal megold valahogy egy adc -t? Konkrétan egy aksinak a töltöttségi szintjét szeretném meghatározni a feszültségéből.

Előre is köszönöm!
(#) icserny válasza szuperman hozzászólására (») Máj 23, 2012 /
 
Itt található egy alkalmazási mintapélda. Indulj ki ebből.

Alternatív lehetőség: veszel egy olyan mikrovezérlőt, amiben van ADC. Az még mindig kevesebbe kerül, mint valaki félnapi munkája, hogy a problémádat megoldja.
(#) szuperman hozzászólása Máj 23, 2012 /
 
Valaki tudna mondani egy olyan pic -et ami hasonló ár kategóriás és van benne adc? Csak olyat találok, ami sokkal drágább és a kivezetés is sok.
(#) sysy válasza szuperman hozzászólására (») Máj 23, 2012 /
 
16F1827 mindössze 540,-HUF bruttó!
(#) sysy válasza szuperman hozzászólására (») Máj 23, 2012 /
 
Vagy a Texas MSP430 16bites csodája.
Bár, ez az ágyúval verébre esete lenne.
Nagyon olcsó, jó fejlesztő panelt is kapsz hozzá és icserny fórumtársunktól még támogatást is lehet kérni.
(#) _vl_ válasza szuperman hozzászólására (») Máj 23, 2012 /
 
Ami a chipcadnél van raktáron:
16F1824 - 14 láb - nettó 310
16F1825 - 14 láb - nettó 340
16F1826 - 18 láb - nettó 340
16F1827 - 18 láb - nettó 360
16F1828 - 20 láb - nettó 410
16F1829 - 20 láb - nettó 430
ezek mind tudják ugyanazt, meg még többet is, mint a 628, és van bennük adc.

A 16F1823 csak nettó 290, de abban csak 128 byte ram van (14 lábú).
A 16F1503 csak nettó 210, de abban nincs eeprom, nincs usart, és csak 128 byte ram van benne (ez is 14 lábú).
(#) szuperman válasza _vl_ hozzászólására (») Máj 23, 2012 /
 
Köszönöm a válaszokat!
(#) szuperman hozzászólása Máj 24, 2012 /
 
Helló mindenki!

Szeretnék egy lcd-t használni. Keresgéltem és találtam több header fájlt ehhez ,de valahogy egyiknél sem tudom elérni azt ,hogy a szöveget és a változókat konkatenálva rendesen kiírja amit szeretnék. Jelenleg a CCS beépített lcd.c nevű fájljával vesződök, de azt írja ,hogy nincs definiálva a set_tris_d. Nem tudok rájönni mit vár tőlem. Mit állítsak be. Meg arra sem tudok rájönni ,hogy lehet beállítani ,hogy melyik vezeték micsoda.

Előre is köszi a segítséget!
(#) vilmosd válasza szuperman hozzászólására (») Máj 24, 2012 /
 
Nem ertem ezt a TRISD kerdest. Ezert akkor szokott sirni, ha a PIC-ben nem letezik D port. Probald meg ezt a drivert. Az elejen atirhato a labak hozzarendelese, valamint beallithato hogy olvassa a Busy bitet, vagy Delay-t hasznaljon. A CCS forumon talalsz tobbfele meretu kijelzohoz valtozatot.
Tobbfele formaban hasznalhato: pl
  1. lcd_putc( "\f Temp Control\n ");
  2. printf(lcd_putc,"\fTEMP: %3.1f\002C\nSet:%3.1f\002C", Temp1, stemp1);
A CCS helpje leirja a printf parameterezeset.

flex_lcd.h
    
(#) szuperman válasza vilmosd hozzászólására (») Máj 25, 2012 /
 
Köszönöm szépen. Mostmár szépen működik a kijelző.

Viszont bele ütköztem egy új problémába:

Szeretnék egy rgb leddel színeket keverni. Úgy tudom ,hogy ha elég gyorsan kapcsolgatom föl le, akkor folyamatosnak tűnik a fénye ,viszont tudom vele a fény erőt szabályozni. Próbáltam mindenféle frekvencián ,de valahogy nem akar össze jönni. Vagy folyamatosan világít, vagy villog. Szoftveresen szeretném megoldani a led fényerejének szabályozását. Ha lehet úgy ,hogy 0-255 közt lehessen szabályozni a színek fényét. Valaki tudna egy pl. mutatni?

Előre is köszi!
(#) _vl_ válasza szuperman hozzászólására (») Máj 25, 2012 /
 
Több kHz-cen próbálkozzál a kapcsolgatással. Ha van PWM kimeneted, akkor egyszerűbben is megy a dolog.
(#) szuperman válasza _vl_ hozzászólására (») Máj 25, 2012 /
 
van olyan fv. ami a delay_ms -nél kisebb intervallumban gondolkodik? Ha jól gondolom 1 ms sok lesz. Nem?
(#) _vl_ válasza szuperman hozzászólására (») Máj 25, 2012 /
 
Az 1ms nem elég semmire se. Ha 1ms-os lépcsőkben gondolkodsz, és szeretnél legalább 16 fényerőszintet, akkor azzal ~62Hz-et tudsz csak elérni, ami már látványosan vibrál. Ennek legalább a 10, de inkább az 50-szerese kéne. Ezt igazából timer interruptból kéne csinálni, ha nem PWM modult használsz.
(#) szuperman válasza _vl_ hozzászólására (») Máj 25, 2012 /
 
Értem. Eddig csináltam egy ilyet:

  1. #include <12f615.h>
  2. #use delay (clock=4000000)
  3. #fuses NOWDT,NOPROTECT,NOPUT,BROWNOUT, NOMCLR
  4. #fuses INTRC_IO
  5.  
  6. #define LED PIN_A0
  7.  
  8. void main (void){
  9.    const long IDO=1000;
  10.    
  11.    while(TRUE){
  12.       output_high(LED);
  13.       delay_ms(IDO);
  14.       output_low(LED);
  15.       delay_ms(IDO);
  16.    }
  17. }


A problémám eddig annyi ,hogy a belső oscillatort szeretném használni ,de valami nem stimmel. Vagy rosszul értelmezek valmi és nem 4Mhz es az oscillator?

Nagy kérés lenne egy kód ehhez a fényerő szabályozáshoz?

Előre is köszi!
(#) _vl_ válasza szuperman hozzászólására (») Máj 25, 2012 /
 
  1. unsigned char n = 12, i;
  2. while (1) {
  3.       for (i = 0; i < 20; i++) {
  4.             if (n > i) {
  5.                   output_high(LED);
  6.             }
  7.             else {
  8.                   output_low(LED);
  9.             }
  10.             delay_us(50);
  11.       }
  12. }


n-be 0..20 köztti számot rakhatsz, ezzel arányos lesz a fényerő.
(#) whalaky válasza szuperman hozzászólására (») Máj 25, 2012 /
 
Idézet:
„Szeretnék egy rgb leddel színeket keverni”

De hol itt az RGB?
(#) szuperman válasza whalaky hozzászólására (») Máj 25, 2012 /
 
Ez a piros szín. De ,ha ez szépen működik, 3 vagy akárhány színre nagyon könnyen tovább fejleszthető. Mindjárt ki is próbálom.
(#) szuperman válasza whalaky hozzászólására (») Máj 25, 2012 /
 
Hát akárhogy is nézem, ez villog. Valamit rosszul csináltam?
(#) szuperman válasza _vl_ hozzászólására (») Máj 25, 2012 /
 
Proteusban tesztelek. Az jelenthet problémát? Fölteszem össze csomagolva a projektet. Valaki megnézhetné, mert én ezt nem értem.

Előre is köszi!
(#) _vl_ válasza szuperman hozzászólására (») Máj 25, 2012 /
 
Szimulátorban ne is várjál mást.
(#) szuperman válasza _vl_ hozzászólására (») Máj 25, 2012 /
 
Akkor megbízok benned és megépítem a kapcsolást. Remélem jó lesz.
(#) _vl_ válasza szuperman hozzászólására (») Máj 25, 2012 /
 
Én ilyeneken szoktam tesztelni:
Bővebben: Link
És pl. ilyen drótokkal lehet drótozni:
Bővebben: Link
Következő: »»   74 / 118
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