Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
A megjelölt adatlap nem az ATM adatlapja kipróbáltam és sajnos bíztosan nem is kompatibilis azzal. Minden esetre köszönöm az infót
Helló!
Próbáld meg úgy feltölteni, hogy az összes bájtot teleírod az ASCII tábla 33-126 karaktereinek kódjával. A nulladik karakterbe a 33-as kódút karaktert rakd, a következőbe a 34-est, és így tovább, amíg el nem fogy az értelmes karakter az ASCII táblából. Ezután ha lesz valami az utolsó nyolc karakterén a kijelzőnek, akkor a kijelzett karakterből ki bírod következtetni, hogy hanyadik bájton van. http://www.asciitable.com/ De akár az is elképzelhető, hogy hibás kijelzőt kaptál. Ha nem sikerül életet lehelni a másik felébe, akkor érdemes visszavinni a boltba. Próba cseresznye. Idézet: Hát persze, hogy nem az ATM adatlapja, hanem az ATM1601A adatlapjában megnevezett vezérlő IC adatlapja (S6A0069) „A megjelölt adatlap nem az ATM adatlapja”
Azt írtuk, hogy több, sokkal több karaktert próbálj kivinni rá, mert lehet, hogy a 9. karakter címe nem a 8. után következik! Remélem érted(eddig úgy tűnik nem!)!
Hali
Probald meg a masodik felet 0x40 cimtol. Elvileg mukodni kell. Ez azert van igy, mert a HW tervezesenel egyszerubb a 0x40 cimtol elhelyezni a karaktereket. Mellekelek egy CCS rutint LCD kezelesere. Ebben is 0x40 cimtol irja a masik fel kijelzot. Udv Vili
Köszi a mellékelt .c programocskát. Ezt beillesztve a C++ keretrendszerben levő lcd.c helyett, tökéletesen működik!
Ennek örülünk, de mi is erről beszéltünk neked, csak meg kellett volna próbálnod és működött volna a másikkal is. Persze lehet, hogy téged nem érdekelnek a miértek, csak működjön...
Sziasztok!
szeretnék egy kis segítséget kérni. Írtam egy kis próbaprogit PIC16F819 - re. Az A/D konverterét szeretném feléleszteni. Csak annyi lenne, hogy az átkonvertált értéket tegye ki a PORTB -re, ahol 8 led van. Az ADRESH regiszter két alsó bitjét mintha jól kijelezné,a PORTB alsó két bitje szépen reagál az analóg jel változására. de az ADRESL regiszterrel nem működik. Villog össze vissza. Szerintetek mi lehet a hiba?
Szia!
Az 55. sor elé egy banksel PORTB kellene, mivel az ADRESL a Bank1 -ben van...
Nos!
A következőt tettem: az init részben átállítottam a programot LEFT JUSTIFIED - re. Most az ADRESH szintén működik. Mind a nyolc bit szépen reagál az analóg jel változásra, igaz az utolsó 3 bit kicsit ingatag. Állandó jelnél is villognak kicsit. Ezt betudom a szűretlen tápnak. Viszont ha az ADRESH - t átírom ADRESL - re, hogy azt jelezzék ki a ledek, szintén nem ok a dolog. Az SDRESL értékét miért nem tudom megfelelően kijelezni?
Szia!
Köszi, pótoltam. Annyiban változott a helyzet, hogy a PORTB (ADRESL) megfelelő két bitje villog viszont továbbra is szabálytalanul. Ja még annyi hogy a kristály 4 Mhz - es.
Probalj mondjuk 16 merest egymas utan osszeadni es leshiftelni 4 bittel (atlagolas). Igy nyugodtabb lesz?
Az ADCON0-ba írt beállításod nem megfelelő ehhez a frekvenciához! Fosc = 4 MHz esetén TAD = Fosc/8 választás ajánlott az adatlap szerint. Például így:
Köszi Át fogom állítani.
Jelenleg ott tart a dolog, hogy Működik mind az ADRESL és ADRESH kijelzése a PORTB - re kötött ledekkel viszont az ADRESL utolsó 4-5 bitje igen ugrál. Megpróbáltam írni egy átlagolásos rutint az előző programhoz de még nem tudom kipróbálni. Megnéznétek hogy jó -e? Az alap program beállításain változtattam TAD=Fosc/8 -ra, Hp41C kolléga módosítását is beszúrtam. Íme a rutin:
Esetleg ha lenne valami rövidebb rutin az is érdekelne
Légy szíves, és ezt a kódot, meg a jövőben a hasonló hosszúakat fájlba tedd és úgy csatold a hozzászóláshoz!
Köszönöm!
Köszi Át fogom állítani.
Jelenleg ott tart a dolog, hogy Működik mind az ADRESL és ADRESH kijelzése a PORTB - re kötött ledekkel viszont az ADRESL utolsó 4-5 bitje igen ugrál. Megpróbáltam írni egy átlagolásos rutint az előző programhoz de még nem tudom kipróbálni. Megnéznétek hogy jó -e? Az alap program beállításain változtattam TAD=Fosc/8 -ra, Hp41C kolléga módosítását is beszúrtam. Íme a rutin: 831124 törlendő
A 10bites pontosságú +-1bites mérési bizonytalanságú méréshez komoly áramköri kialakítás kell, főleg ha gyors mérésre van szükség. Lassú mérés esetén könnyebb, de nem könnyű. Analog test, pontos referencia, megfelelő áramköri kialakiítás a bemeneteken(illesztés, szűrés). Ez túlmutat a PIC kérdéseken, ez méréstechnológiai áramkörtervezés egy A/D bemenetre...
Sziasztok!
Szerintetek az miért lehet, hogy Microchip USB CDC-nél ha az ADCON1-be két bemenetet is analógra váltok akkor nem megy az USB de ha csak a 0. van bekapcsolva akkor meg gond nélkül fut? A másik furcsaság még, hogy annak ellenére, hogy csak az 0. bemenet analóg az ADC mégis tud mérni az 1. bemeneten is.
Sziasztok!
Nos lassan összeállt a program. Kijavítottam a hibákat és annyit el tudtam érni. hogy az alsó négy biten kívül mindegyik érték nyugszik. Wattnak teljesen igaza van. Ennél pontosabbat a kis szűretlen próbapanelommal nem fogok elérni, úgy hogy az AN2 bemeneten csak egy ellenállásból és egy LDR - ből álló feszültségosztó van. Esetleg ha valakinek van türelme átnézni a programot javaslatokat szivesen veszek amivel még jobban működne. Sajnos az átlagolásos rutin a programon belül nem működik jól. Nem jövök rá miért. Ebben kéne egy kis segítség.
Nem lehet akadály két analóg csatorna, hiszen használtam már kettőt a PICCOLO projektben (Mintaprogram az OpenADC() függvény használatára).
Arra tudok gondolni, hogy esetleg a programban (pontosabban a hardver profilban) bekapcsoltad az USB-ről jövő +5V figyelését, a hozzátartozó bemenetre meg kisebb feszültséget adtál, s erre automatikusan lekapcsolta magát az USB-ről a PIC. Ezekre gondolok:
Nálam mindkettő kommentben van, mert kizárólag az USB-ről kapja a PIC a tápfeszültséget.
Én is kiszedtem őket az usbcfg.h fájlban az összes ki van kommentezve de azért köszi a tippet.
Így van egyébként beállítva: ADCON0 = 0b00000001; ADCON1 = 0b00001110; ADCON2 = 0b10110101; TRISA = 0xCF;
Minden azért ne legyen kikommentelve, mert az alábbi definíciókra például szükség van:
Bővebben lásd 72-95. sorok közötti részt. Megjegyzem én valami régebbi (talán 2.4-es) verziójú USB keretrendszert használok.
Például itt:
Bővebben: Link
Azt nem tudom, mi az a front-end periféria, de az biztos, hogy nem semmi ez az új PIC!
Gondolom, könnyebb csatlakoztatni a nagyáramú részek(hez/felé) amin keresztül mér. Azt, hogy mi módon, nem tudom...
Mármint, hogy az összes fajta PIC típus alatt van kikommentezve.
Nem tudom, hogy jól gondolom-e de szerintem nekem még annál is régebbi lehet. Valami 1.3-as verzió elvileg: http://ww1.microchip.com/downloads/en/DeviceDoc/MCHPFSUSB_Setup_v1.3.exe Nem is találkoztam még ilyen sorokkal az az igazság.
Itt az A/D-k közt is van analóg front end:
Bővebben: Link
tokon belüli áramkör, ami csatlakozik a főáramkörhöz, jellemzően valami standard (i2c, spi..stb) bus-on keresztül.
itt gondolom van benne egy A/D (tokon belül), ami csatlakozik a PIC-hez. |
Bejelentkezés
Hirdetés |