yo6pir Postat Mai 24, 2012 Partajează Postat Mai 24, 2012 Nu asa se face. Incearca asta: '*************************Dim Schimba As Byte'*************************On Int1 _schimbaEnable Int1Config Int1 = FallingEnable Interrupts'*************************_schimba: B = Iastare() Locate 1 , 5 Lcd B If B = 0 Then Status = Deschideporti() End If If B = 1 Then Status = Inchideporti() End If Schimba = 1Return'************************* Link spre comentariu
DarkAngel_Bv Postat Mai 24, 2012 Partajează Postat Mai 24, 2012 ok, am rezolvat-o mai din topor. Am folosit un pin al uC-ului pe post de buton (altul decat int0/int1). Ceva de genul: Do If Pinb.7 = 1 Then Gosub Schimba Cls End If Locate 1 , 1 Lcd "Idle..." Waitms 50Loop functioneaza perfect pentru ce am eu nevoie deoarece impulsul de pe acel pin dureaza de la 300 ms la 8 secunde in functie de cat il setez. Totusi nu inteleg de ce mama masii nu functioneaza corect cu interrupts Link spre comentariu
unady Postat Mai 26, 2012 Partajează Postat Mai 26, 2012 Ca să faci un pin din port intrare sau ieşire, bitul corespunzător din DDRx trebuie pus 0, respectiv 1.Încearcă aşa: PORTC = 0x00;DDRC = 0x7F;adică trebuie să copiezi valorile din fostul port.nu reusesc nimic....uite cum am facut:am renuntat la a debifa resetul...am facut un cablaj pentru atmega8 mlf; am deschis codevision am dat new project, am selectat atmega8 am dat ok la tot ce mi-a zis acolo, dupa care a facut codevision un proiect ciudat...am sters tot si in fereastra respectiva am facut 'paste' la proiectul cu attyny. am sters attiny si am scris "mega8.h" am dat compile si apoi build dar imi apare eroare la DDRB[zice ca nu e definit] am schimbat pe DDRC am dat build si am scris softul in atmega nu afiseaza nici un caracter inteligibil .daca scriu softul cu attini pe atmega8 apare34c si sta asa [cred ca nu merge oscilatorul intern cu toate ca am setat fusebitii pentru oscilator intern 4MHz] un pic de ajutor va rog Link spre comentariu
unady Postat Mai 27, 2012 Partajează Postat Mai 27, 2012 Poţi folosi liniştit pinii de cuarţ ca intrări, rămîne doar să foloseşti oscilatorul RC intern. [/code]am modificat la attiny pe oscilator intern de 4MHz si merge {chiar si cu 8MHz am incercat si tot merge[diferenta e ca se intrerupe mai des la afisare si nu am verificat daca afiseaza corect temperatura pe mai multe puncte]}la atmega nu vrea si pace ...nu stiu ce sa fac...am scris softul original pentru attiny si afiseaza 34C sau 0C daca il pun pe cel compilat de domnul "ratza" si nu mai face nimic... daca il compilez eu in codevision dupa ce m-am inspirat de la domnul "ratza" si inlocuiesc attini2313.h cu mega8.h nu mai merge nimic (nu afiseaza) Link spre comentariu
ratza Postat Mai 27, 2012 Partajează Postat Mai 27, 2012 Încerc să-ţi fac mîine. Pînă atunci, dacă poţi, desenează pe o foaie configuraţia pinilor de pe mega8. Link spre comentariu
DarkAngel_Bv Postat Mai 28, 2012 Partajează Postat Mai 28, 2012 Revin cu inca o problema, de data asta de logica/abordare. Trebuie sa calculez un debit in functie de lungimea impulsurilor (nu pot sa calculez doar dupa numarul impulsurilor pentru ca ar fi eroarea prea mare). Caz concret, se da un rezervor cu presiunea de 5 bari si o supapa comandata PWM. Stiindu-se debitul intr-un interval de timp trebuie sa pot calcula cata "apa" s-a scurs prin acea supapa in functie de lungimea impulsurilor de comanda. Am incercat ceva de genul: Dim I As Integer , J As IntegerI = 0j = 0Do Incr I If Pind.4 = 1 Then Incr J End If If I > 10000 Then Locate 1 , 1 Lcd J ; " " J = 0 I = 0 End IfLoopinsa nu functioneaza de nici o culoare cum ar trebui... Link spre comentariu
unady Postat Mai 29, 2012 Partajează Postat Mai 29, 2012 Încerc să-ţi fac mîine. Pînă atunci, dacă poţi, desenează pe o foaie configuraţia pinilor de pe mega8. Link spre comentariu
DarkAngel_Bv Postat Iunie 9, 2012 Partajează Postat Iunie 9, 2012 iarasi ma lovesc de o problema. am un lcd albastru cu alb: http://www.tme.eu/ro/details/rc1602bb/a ... b-biw-esx/ si nu functioneaza orice contrast as regla. pinii i-am legat corect, uC-ul trimite datele (db5 si db6 stau in 5V cel mai mult timp, exact ca in simulare, E si RS sunt conectati corect). LCD-ul este nou. P.S. Cu acelasi uC pe un LCD verde/negru pe o alta placa de test cu liniile de date inversate imi apar niste hieroglife, deci presupun ca si pe asta albastru trebuia sa apara ceva daca era conectat incorect. Alimentarile sunt bune, 5.1V. Link spre comentariu
djlove Postat Iunie 13, 2012 Partajează Postat Iunie 13, 2012 Azi am facut o traznaie. E prima oara cand ma joc cu microprocesoare, si dupa mai multe programari ale unui atmega 16, am dat in SynaProg la Fuses Ext. Crys. si integratul nu mai face nimic.Il mai pot repara cumva? Programatorul pe care il detin este UsbAsp, de la userul Ole, iar integratul este unu smd in capsula patrata. Link spre comentariu
yo6pir Postat Iunie 13, 2012 Partajează Postat Iunie 13, 2012 Nici o problema! Nu te impacienta. Ai nevoie de un oscilator extern care sa re-invie uC-ul. Poti sa folosesti unul cu frecventa mai mare de 10MHz pana la vreo 25MHz. Il alimentezi cu tensiune de 5V apoi iesirea lui o cuplezi la terminalul 13- "XTAL1". Dupa care uC-ul la USB-ASP si-l citesti din nou. La prima citire intri in fusebiti si setezi OSC INT 4MHz. Dupa asta poti sa scoti din uz acel oscilator integrat extern. Stai linistit ca au patit-o si altii "de la case mai mari" nu numai tu!Succes! Link spre comentariu
djlove Postat Iunie 13, 2012 Partajează Postat Iunie 13, 2012 Am gasit undeva schema asta : http://tinypic.com/view.php?pic=t7ii5e&s=6 oare pot rezolva cu ea problema mea? Am un quart de 12mhz si cond de 10pico Link spre comentariu
danzup Postat Iunie 14, 2012 Partajează Postat Iunie 14, 2012 Azi am facut o traznaie. E prima oara cand ma joc cu microprocesoare, si dupa mai multe programari ale unui atmega 16, am dat in SynaProg la Fuses Ext. Crys. si integratul nu mai face nimic. Il mai pot repara cumva? Programatorul pe care il detin este UsbAsp, de la userul Ole, iar integratul este unu smd in capsula patrata. Pune un cristal extern mai mare de 10 MHz cu tot cu condensatorii pe care ii vezi in datasheet, la atmega16 sectiunea oscilator extern, conectat in aer cu fire si apoi il vei putea reprograma fuse bitii.Dupa ce ai selectat Intern 8Mhz RC oscilator , poti dezlipi cristalul si condensatorii si gata. Este bun si cristalul de 12 MHZ pe care ai zis ca il ai. Condensatorii de 10 pico sunt la limita dar incearca cu ei .Daca nu porneste oscilatorul (adica nu-l vezi cu programatorul pe microcontroler !) dubleaza valoarea la 20pico pentru ambii condensatori. Link spre comentariu
djlove Postat Iunie 14, 2012 Partajează Postat Iunie 14, 2012 Am rezolvat ieri, pana la urma problema, am folosit schema care am postat-o mai sus si am putut modifica fara probleme ceasul 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