nico_2010 Postat Martie 14, 2012 Partajează Postat Martie 14, 2012 Caracterele pe care le vezi tu in fisierele hex sunt o reprezentare "prietenoasa omului" pentru codul ASCII. Intern, fiecare caracter este "codificat" prin 0 si 1. Cifra "1", de exemplu, e codificata binar (si salvata in microcontroller prin programare) prin 01100001. Mda, asa ar trebui sa fie insa pentru caracterul "a" (cod ASCII 97, 0x61 in hex), deoarece pentru caracterul 1 este codul ASCII 49, respectiv 0x31 in hex.Ceea ce vezi in fisierele .hex sunt pentru uC instructiunile in cod-masina pe care acesta trebuie sa le execute si care arhitectura interna a acestuia le converteste in 0 si 1. Spre exemplu, intructiunea 7B se poate traduce in limbaj de asamblare pentru Intel 8080 ca "MOV A,E" sau altfel spus, muta continutul registrului "A" in registrul "E" Link spre comentariu
Liviu M Postat Martie 14, 2012 Partajează Postat Martie 14, 2012 Mda, asa ar trebui sa fie insa pentru caracterul "a"Ai dreptate, am mutat un 0. Link spre comentariu
MatyC Postat Martie 14, 2012 Partajează Postat Martie 14, 2012 Manualul se poate gasi la http://www.epemag3.com/index.php?option=com_docman&task=doc_details&gid=146&Itemid=38. Din cata engleza cunosc inteleg ca S5 conectat la RC2 conditioneza citirea frecventei. Autorul prezinta o multime de detalii legat de functionarea montajului. Pe moment nu am timp destul sa analizez softul. Revin mai spre seara. Link spre comentariu
francezu Postat Martie 14, 2012 Partajează Postat Martie 14, 2012 Ceea ce vezi in fisierele .hex sunt pentru uC instructiunile in cod-masina pe care acesta trebuie sa le execute si care arhitectura interna a acestuia le converteste in 0 si 1.Microcontroller-ul execută direct codul maşină; arhitectura internă nu face nici un fel de conversie, codul maşină este compus din 0 si 1. Link spre comentariu
nico_2010 Postat Martie 14, 2012 Partajează Postat Martie 14, 2012 Ceea ce vezi in fisierele .hex sunt pentru uC instructiunile in cod-masina pe care acesta trebuie sa le execute si care arhitectura interna a acestuia le converteste in 0 si 1.Microcontroller-ul execută direct codul maşină; arhitectura internă nu face nici un fel de conversie, codul maşină este compus din 0 si 1.Corect, imi pun cenusa in cap Link spre comentariu
francezu Postat Martie 14, 2012 Partajează Postat Martie 14, 2012 ... imi pun cenusa in capNu asta a fost intenţia mea, oricine greşeşte. Link spre comentariu
MatyC Postat Martie 14, 2012 Partajează Postat Martie 14, 2012 Si marmota croseta staniolul. Aveti vreo idee de ce nu-i afiseaza omului randul doi pe LCD??? Link spre comentariu
francezu Postat Martie 15, 2012 Partajează Postat Martie 15, 2012 Iniţial am bănuit că LCD-ul folosit de autor avea alte adrese pentru rândul 2. MISU ATU foloseşte un RAYSTAR-RC1602B-B/W-ESX. Am verificat rutinele responsabile cu afişarea pe al doilea rand şi adresarea se face corect, deci nu este asta cauza. Pentru că a incercat si cu alt lcd, nici pe acesta nu mai pot să-l banuiesc de defect. Am incercat să rulez codul in simulator (Proteus), dar pentru că rutinele responsabile cu ADC nu sunt prea corect scrise( se declansează o nouă citire adc fără a aştepta execuţia celei anterioare, in realitate nu e neaparat o problemă) simularea decurge foarte greu, si nu afişează nimic pe lcd ( contrar cu realitatea). În următoarele zile MISU o să-mi aducă montajul şi am să vad ce se poate face. Voi posta aici rezultatele. Link spre comentariu
francezu Postat Martie 26, 2012 Partajează Postat Martie 26, 2012 Aşa cum am promis, revin cu rezultate. Schema are prevăzut la pinul 13 (RC2) al microcontroler-ului un comutator ce permite activarea/dezactivarea afişării frecvenţei şi a amplitudinii semnalului. Scrie in documentaţie ce rost şi avantaj/dezavantaj are acest comutator. În montajul lui MISU acel pin este legat la masă, de aceea nu afişa nimic pe rândul 2. Link spre comentariu
Vizitator MISU ATU Postat Martie 27, 2012 Partajează Postat Martie 27, 2012 Multumesc tuturor pentru ajutor si in special uzerului francezu . Link spre comentariu
MifTy Postat Martie 27, 2012 Partajează Postat Martie 27, 2012 Poate ma luminati si pe mine intr-o chestiune elementara: cum se face ca un microcontroller accepta sa-i fie dat un fisier in format .hex? Are cumva intern, hardware, un convertor .hex-.bin, la iesirea caruia obtine cod-masina, format din 0 si 1 pe care-l utilizeaza?! deja ai fost luminat, da vin io suav ca soarele, și spun: .hex și .bin sunt același lucru! inițial însemnau lucruri diferite, adică .hex era un fișier de date binar în format intel, .bin era același lucru, într-un format altul decât intel.și ca să fie și mai bulinoasă treaba, când faci un dump de e(e)prom sau de mcu, poți foarte bine să-i dai fișierului orice extensie îți tună, de pildă, dump.cuc.după care, te poți distra copios cum 10 ”ingineri” își sparg capul încercând să afle cu ce se poate deschide .cuc ăla... mai ales când pe calculatoarele din firmă nu există nimic altceva decât windows, și alea sunt setate să nu lase să se vadă extensiile, și nici să le poți modifica!!! Link spre comentariu
MatyC Postat Martie 27, 2012 Partajează Postat Martie 27, 2012 Nu degeaba am facut trimitere la manualul montajului. Citisem in manual treaba cu linia 2 LCD ca are legatura cu SW din RC2 dar cum poze canci, nu m-am pronuntat. Sa inteleg ca merge oscilocopul asa ca ia sa postez codul sursa care a iesit dupa conversia din TASM in MPASM. Am introdus doar directiva __CONFIG cu valoare hexa asa cum apare in MPLAB. picscope_asm.zip Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum