Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
örök hála
estére referálok mennyire sikerült a dolog köszi
A lábkiosztás lemaradt...
LCD_DB4 A2 LCD_DB5 C0 LCD_DB6 C1 LCD_DB7 C2 LCD_E A1 LCD_RS A0
Azt megbocsátom, hogy türelmetlen vagy, azt nehezebben, hogy trehány(kisbetűvel mondatkezdés, írásjelek hiánya.) Kérlek tisztelj meg mindket, hogy érthetően, szépen írsz! Köszi!
Elnézést a hibákért de ha kapkodok akkor jön sajnos az MSN betegség és ömlesztve minden. Kipróbáltam valami gyors karakter folyam látható a kijelzőn, de nem értelmezhető. De ez csak az egyik. Most próbálom a többit. De az már biztos, hogy a c kódom nem jó amit írtam.
Tedd meg nekem még légyszives azt az egy szivességet, hogy a c kódot is küld el, mert már az biztos, hogy nem jól kezelem a portokat, és a lcd.c-t.
Köszönöm meghálálom
"Hello-bello" ha ez a megoldás, akkor az egyik két soros üzemképes, és a gazdája nemtud programozni
Sziasztok!
Ezúton szeretnék köszönetet mondani Watt-nak az oldalán található osztó-szorzó rutinokért!! Szóval osztottam szoroztam és végül működik a C-F konverzió. Köszi még1x!
Látod, mondtam én hogy nem olyan bonyolult ez!
Igaz watt mesternek címezted, de azért lehet, hogy én is tudok segíteni. Igen, a megoldás ez volt. Tehát tényleg figyelmetlen vagy. (kétszeresen is :beka3: )
Mivel a program 2x16-osra íródott, ezért ezzel fog kielégítően futni.
Nekem is leesett, csak először írtam azután kezdtem a hibát keresni. De mostmár a következő a kód megfejtése lesz.
Kérlek watt a c kódot is oszd meg velem. Szeretném megtalálni mit rontottam el.
Watt! Megint Te jössz! Kép: Hivatkozás
K. Nyarfa! Inkabb Te csatoldd a kododat, es igy meg tudjuk nezni mit rontottal el...
Udv,
#include <16F887.h>
#device adc=8 #FUSES NOWDT //No Watch Dog Timer #FUSES LP //Low power osc < 200 khz #FUSES NOPUT //No Power Up Timer #FUSES NOMCLR //Master Clear pin used for I/O #FUSES NOPROTECT //Code not protected from reading #FUSES NOCPD //No EE protection #FUSES NOBROWNOUT //No brownout reset #FUSES NOIESO //Internal External Switch Over mode disabled #FUSES NOFCMEN //Fail-safe clock monitor disabled #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #FUSES NODEBUG //No Debug mode for ICD #FUSES NOWRT //Program memory not write protected #FUSES BORV40 //Brownout reset at 4.0V #use delay(clock=20000000) #int_AD void AD_isr(void) { // ITT MÉR ÉS ÍR KI } #define LCD_ENABLE_PIN PIN_D0 #define LCD_RS_PIN PIN_D2 #define LCD_RW_PIN PIN_D3 #define LCD_DATA_PORT D4, D5, D6, D7 #include void main() { lcd_init(); setup_adc_ports(sAN0|VSS_VDD); setup_adc(ADC_OFF); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard enable_interrupts(INT_AD); enable_interrupts(GLOBAL); setup_oscillator(OSC_1MHZ); lcd_putc("\fBekapcs.....\n"); for(;{ } } Nos ez lenne az. Valami nagyon elkerüli a figyelmemet de mint mondtam most kezdem a c-t is.>
Ez melyik C forditora keszult? Es mi az a PICWizzard?
Na mindegy, elobb a PORT-okat kellene beallitani, es tana kellene az lcd initet szerintem. Azonkivul egyszer azt irod, hogy a delay clock-ja 20MHz, majd azt, hogy az oszci 1MHz-en ketyeg... Kozben meg LP osc modba kapcsolod a fuses-nel... Aztan az ADC-t off-ba teszed, de az interruptjat engedelyezed... Most tenyleg komolyan tanacsolnam, hogy elobb kezdd el LED villogtatassal, es ha az megy, akkor menj fokozatosan tovabb. Az LCD-t egyenlore hagyd ki a jatekbol! Ja, es ha kodot illesztesz be, akkor hasznaldd legyszi a "Kod" gombot, ill. ha hoszabb a kod akkor inkabb Fajmellekletkent csatold.
CCS-nek a beépített dolgait akartam felhasználni, de ezekszerint ha konfigurálom az lcd-t azzal a portot nem intézi ja az órajelek ... nos mivel mérgemben letöröltem az eredetit amivel szórakoztam, most próbáltam összerakni ezt, és bocsi a figyelmetlenségemet. Ezekszerint mégsem annyira egyszerű a c na nem baj majd valahogy rájövök.
Idézet: „Ezekszerint mégsem annyira egyszerű a c na nem baj majd valahogy rájövök.” Inkább jobb lenne, ha ezt a CCS-t hagynád a francba. Ott van a Hi-Tech C az MPLAB telepítőjében, inkább azt használd. Amúgy szerintem az a gond, hogy nem LCD_DATA_PORT-ot kellene definiálni, hanem az egyes lábakat külön-külön. Link
Javítottam rajta de hiába. A ledeken túl vagyok, de attól még ez nem megy. No de itt van a
Lehet, hogy az lcd.c-vel vannak gondok nállam is?
Hali
A CCS C-nek vannak peldajai LCD-re. A telepitett CCS C konyvtaraban talalod meg oket. Van egy egyszeru pelda LCD es tasztatura kezelesre. EX_LCDKB.C neven talalhato. A driver alkonyvtarban van a LCD.C ami a LCD portot kezeli. Ha egy portra rakod az LCD-t ez jo lesz neked. Ha Te akarod meghatarozni a labak sorrendjet akkor a FLEX_LCD.C includ kell. Megtalalhato a CCS forumon. Maga a kezelo program eleg egyszeru:
A FLEX_LCD.C Igy nez ki:
Itt a portlabakat tetszes szerint tudod megvalasztani. En hasznalom ezt a kezelest, es nagyon jo. Ha kerdesed van irj. Udv Vili
Egyre jobb nincs flex_lcd.c-m hihetetlen. Viszont így, hogy innen lemásoltam egy file-ba működik minden örök hála most már van élő példám amit kielemezhetek.
Uhh, jobb lett volna mellekelni a kodot
Bocs a CCS forumrol masoltam be. Nem volt meg file-ban
Udv Vili
Egysoros esetén a flex_lcd.c behúzása után, vagy előtt legyen a "#define lcd_type 1"?
Idézet: Ez úgy derül ki, hogy kis kezeddel megnyitod a flex_lcd.c állományt, és megnézed, hogy van-e benne feltételes fordítás az lcd_type paraméterrel. „Egysoros esetén a flex_lcd.c behúzása után, vagy előtt legyen a "#define lcd_type 1"?” Én most egy olyan változatot találtam, amiben már benne van a definíció és át kell szerkeszteni!
Akkor csinálok rögtön kettőt flex_lcd1.c és flex_lcd2.c és nincs több nyitott kérdés.
Hali
Itt vannak a 16x1 es a 20x4 proggik. Arra vigyazzal hogy nem minden LCD kezdodik azonos cimen. Vannak amelyeknel mas cimen talalhato az elso es a masodik sor nem 0x00 es 0x40 cimeken. Erdemes megnezni az adatlapokat. En szivtam ilyennel. Udv Vili |
Bejelentkezés
Hirdetés |