Sari la conținut
ELFORUM - Forumul electronistilor

Probleme de incepatori


Postări Recomandate

Va rog sa ma ajutati sa configurez portul serial nativ.Am o placa Intel DP965LT,un singur conector tata pe placa pt portul serial.In Device Manager apar 2 porturi:Com1 si Com2,unul din ele e cu triunghi galben,l-am dezactivat si dezinstalat,acum nu mai stiu care din ele era setat ca si Com1 ca m-am jucat printre ele,programatorul este pic-01,pe placa am aprins becul verde,daca dau citire cu ponyprog,icprog,winpic800,ledul clipeste,dar la test hardware din winpic800 imi da eroare ca nu se poate deschide portul Com1,iar in lista de porturi la setari nu apare Com1.Atasez si o poza sa vedeti.Pe portul care e setat Com1 daca vreau sa configurez manual adresa observ va indiferent ca selectez Basic configuration 0000 sau 0004 ramin aceleasi setari.Una din ele o fi de la Com2?Sunt cam in ceata... :sparge:

post-58862-139829324859_thumb.png

Link spre comentariu
Vizitator dmark30

Intreg codul este prea lung pentru a-l posta, de aceea doar partea care e implicata:$regfile = "m16def.dat" ' specify the used micro$crystal = 8000000 ' 8 MHz$hwstack = 96$swstack = 128$framesize = 96Config Lcd = 20 * 2 ...Dim Valoare as Byte....Locate 2 , 19 Lcd Valoare

Link spre comentariu

Pai atunci n-ai decat sa "descompui" afisarea:

If numar < 10 then   Lcd " Value:   " ; numar 'trei pauze intre : si "else if numar < 100 then   Lcd " Value:  " ; numar 'doua pauze intre : si "else    Lcd " Value: " ; numar 'o pauza intre : si "endif

PS Codul de mai sus probabil nu e corect, ca nu stiu basic.

Link spre comentariu
Vizitator andalio

Cum conectez un AT89S52 la PC ?

Am vazut undeva ca se poate face simplu, pe paralel, dar nu am gasit o schema.

Am gasit aici ceva, dar nu inteleg cum sa fac, pe serial sau pe paralel.

Daca fac un montaj dupa schema aia, unde ma leg cu mufa de serial/paralel?

Stie cineva sa-mi explice, pe scurt...?

Link spre comentariu

Intreg codul este prea lung pentru a-l posta, de aceea doar partea care e implicata:$regfile = "m16def.dat" ' specify the used micro$crystal = 8000000 ' 8 MHz$hwstack = 96$swstack = 128$framesize = 96Config Lcd = 20 * 2 ...Dim Valoare as Byte....Locate 2 , 19 Lcd Valoare

Trebuie sa ne spui mai exact ce vrei sa faci, asa poate putem sa te ajutam cumva.Ca idee uita-te la codul de mai jos. Poate iti este de folos exemplul.
'$sim$regfile = "m16def.dat"$crystal = 8000000$hwstack = 32$swstack = 20$framesize = 40Config Single = Scientific , Digits = 1Config Adc = Free , Prescaler = AutoDim Adc0 As WordDim S As SingleConst Div = 5 / 1023Start AdcDoAdc0 = Getadc(0)S = Adc0 * DivS = S * 20Locate 2 , 1Lcd "Value : " ; S ; "       "Waitms 500LoopEnd
Link spre comentariu
Vizitator dmark30

Pai atunci n-ai decat sa "descompui" afisarea:

If numar < 10 then   Lcd " Value:   " ; numar 'trei pauze intre : si "else if numar < 100 then   Lcd " Value:  " ; numar 'doua pauze intre : si "else    Lcd " Value: " ; numar 'o pauza intre : si "endif
PS Codul de mai sus probabil nu e corect, ca nu stiu basic.
Multumesc pentru idee.Am reusit pana la urma sa descompun modul afisarii, astfel dupa ce trece la afisarea numerelor <10 afiseaza o pozitie goala inaintea cifrei:If Valoare < 10 Then Locate 2 , 19 Lcd " " Locate 2 , 20 Lcd Valoare Else Locate 2 , 19 Lcd ValoareEnd If...
Link spre comentariu

Nu trebuie sa complici asa codul sursa pe care-l scrii, ca pe parcurs nu mai stii unde sa te uiti dupa ceea ce cauti. Poti sa simplifici totul asa:

Locate 2,19                'localizeaza pozitia pe afisaj unde incepe afisareaIf Valoare < 10 Then    'testeaza valoarea daca e sub 10Lcd spc(1); Valoare     'afiseaza un spatiu liber apoi valoareaElse                          'testeaza valoarea daca e peste 10 Lcd Valoare                'afiseaza valoarea End If
Link spre comentariu

pentru ca tot venind vorba despre ADC atasez un fisier functionabil de gid,pentru cei care vor sa-si faca un volt-ampermetru .Este in test inca la mine 0-30v,0-2A si calculeaza puterea W.fisier$regfile = "m8def.dat" $crystal = 1000000'$sim Config Lcd = 16 * 2Config Lcdpin = Pin , Rs = Pinb.0 , E = Pinb.1 , Db4 = Pinb.2 , Db5 = Pinb.3 , Db6 = Pinb.4 , Db7 = Pinb.5ClsConfig Portc.0 = InputConfig Portc.1 = InputConfig Adc = Single , Prescaler = Auto , Reference = InternalStop AdcDim A As Word , J As Word , B As Word , K As Word , X As WordDim U As String * 10Dim Amp As SingleDim I As String * 4Dim W As SingleDim P As String * 4Dim Volt As SingleDim Volt2 As SingleDeflcdchar 0 , 32 , 4 , 2 , 29 , 29 , 2 , 4 , 32Cursor OffClsLcd "Volt-amper-metru"LowerlineLcd "By Onutan Vasile"Waitms 100ClsDoStart AdcA = Getadc(4)B = Getadc(3)A = 0B = 0For J = 1 To 5A = A + Getadc(4)Waitms 25NextFor K = 1 To 5B = B + Getadc(3)Waitms 25NextStop AdcA = A / 5B = B / 5Volt = A / 1024Volt = Volt * 3.65Volt = Volt * 10U = Fusing(volt , "#.##")Amp = B / 1024Amp = Amp * 2.56Amp = Amp * 10I = Fusing(amp , "#.##" )W = Volt * AmpP = Fusing(w , "#.###" )U = Format(u , " 0000")P = Format(p , " 000")'Locate 1 , 1 : Lcd Spc(16)Locate 1 , 2 : Lcd U ; "V1"Locate 1 , 11 : Lcd I ; "A"Lowerline : Lcd Chr(0) ; P ; "W"Loop'StopEnd

Link spre comentariu

Cum conectez un AT89S52 la PC ?Am vazut undeva ca se poate face simplu, pe paralel, dar nu am gasit o schema.Am gasit aici ceva, dar nu inteleg cum sa fac, pe serial sau pe paralel.Daca fac un montaj dupa schema aia, unde ma leg cu mufa de serial/paralel?Stie cineva sa-mi explice, pe scurt...?

la sectiunea HARDWARE ai schema placii cu uc-ul si porturile lui. In stanga jos ai pinii: miso, mosi sck etc care acestia trebuie legati cu o mufa de port paralel .la sectiunea Code Programming ai conexiunea dintre mufa pe paralel si miso, sck, mosi etc
Link spre comentariu
  • 4 săptămâni mai târziu...
Vizitator andalio

Am si eu cateva intrebari referitoare la schemele de aici(1) si aici(2):

1. De cat sunt condensatoarele acelea langa care scrie 0.1 ?

2. Daca pun o sursa doar de 5V e ok ?

3. In imaginea (2) este o schema de cablaj facuta de mine (in CorelDraw, nu intr-un program special pentru PCB-uri). Spuneti-mi si mie va rog daca am gresit ceva. Cum ar fi:

a) Butonul de Reset e pus bine ?

b) Pe pini P0.0~P0.7 va iesii un curent suficient pentru a aprinde ledurile ?

c) Am pus acolo un comutator, nu stiu daca asa se face. Cand va fi inchis, bitul corespuzator pinului se va face "1" ?

d) Alte greseli ... ?

Link spre comentariu

1) 0.1 se refera la ceramic de 100nF2) regulatorul serie 7805 are nevoie de minim 7V cc ca sa poata sa dea la iesire 5V cc3a) imi joaca deja ochii-n cap de la urmarit schema aia dar mie mi se pare ca nu e bine pus. din cate observ intre buton si vcc este o rezistenta si intre masa si vcc este o rezistenta. iar pe rezistente ai o notatie 1k/10k iar pe alta ai 1k... deci la reset o sa ai undeva intre 2.5V si 0.5V cand e apasat butonul... asta poate duce la un reset nehotarat.3b) 5V-1.2V=3.8V/150Ohm=25.(3)mA... deci curentul e cam mare... eu as recomanda 220Ohm la rezistentele alea.3c) da, daca pinul respectiv este setat ca intrare (vezi registrii DDR - data direction register in datasheet). de asemenea uita-te cum se face pull-up sau pull-down fie din soft folosind cele interne fie cu rezistente externe.3d) probabil sunt destule... nu neaparat ca sa nu mearga ci pur si simplu practici mai bune cand lucrezi cu chestii digitale. oricum mie mi-e greu sa urmaresc schema aia.

Link spre comentariu
Vizitator andalio

Multumesc pentru raspuns.Acolo la Leduri am calculat pentru leduri de 5mm (3,2V / 20mA). Intrebarea era nu daca va 'trece' un curent cat sa aprinda Ledurile, ci daca pinii uC-ului pot 'debita' un curent suficient.Rezistenta dintre Reset si masa tot nu am inteles cum sa fie... o las de 1K,pun mai mica sau o scot de tot ?Inca ceva, dupa trimiterea Hex-ului, uC-ul va incepe sa si 'lucreze' sau mai e nevoie de ceva pe acolo ?Poate unele intrebari sunt proaste, dar altele n-am momentan. :sorry

Link spre comentariu

Multumesc pentru raspuns.

Acolo la Leduri am calculat pentru leduri de 5mm (3,2V / 20mA). Intrebarea era nu daca va 'trece' un curent cat sa aprinda Ledurile, ci daca pinii uC-ului pot 'debita' un curent suficient.

Rezistenta dintre Reset si masa tot nu am inteles cum sa fie... o las de 1K,pun mai mica sau o scot de tot ?

Inca ceva, dupa trimiterea Hex-ului, uC-ul va incepe sa si 'lucreze' sau mai e nevoie de ceva pe acolo ?

Poate unele intrebari sunt proaste, dar altele n-am momentan. :sorry

In schema spune ca folosesti LED-uri verzi a caror cadere de tensiune e mult mai mica de 3.2V.

Cel mai bine e sa masori caderea de tensiune pe led... eu la verde tineam minte ca e 1.2 dar la o cautare rapida pe net am vazut ca zice 2.1 :jytuiyu

 

La atmega8 in datasheet spune asa:

DC Current per I/O Pin = 40.0 mA la sectiunea ABSOLUTE MAXIMUM RATINGS

deci 20mA necesari led-ului se pot scoate (sau baga). evident ca tot ei recomanda folosirea unui tranzistor chiar si pentru led-uri...

 

o buna practica pentru reset este ca in imagine:

Posted Image

la tine in schema daca urmaresti bine traseul de la pin-ul de reset atat spre masa cat si spre alimentare vei observa cate o rezistenta ceea ce nu e corect. cand ai apasat butonul pin-ul tau de reset se va afla pe un divizor de tensiune rezistiv. nu va avea nici 0V nici 5V ca sa poti fi convins de starea microcontroller-ului (activ sau reset).

 

pe durata programarii, microcontroller-ul este tinut in starea de reset. cand s-a incarcat tot hex-ul daca se ia starea de reset acesta va incepe sa opereze cu mentiunea ca are nevoie de un semnal de tact. daca din fusebits s-a ales optiunea ca sursa de tact sa fie externa si aceasta nu exista sau nu functioneaza, microcontroller-ul nu va face nimic.

 

dat fiind natura intrebarilor tale tind sa cred ca vrei sa faci prea multe, prea dintr-odata. E bine ca ceri ajutor, e bine ca ai ambitii dar trebuie sa iei lucrurile pe rand. recomand sa citesti tutoriale si eventual documentatia originala in masura in care stapanesti engleza. spor in toate cele

Link spre comentariu

Pentru windows 7 cel mai bine la mine merge WinPic,portul serial de pe placa dus asa ca am instalat o placa cu 2 porturi seriale pe slotul PCI.Winpic800 nu face nimic,am inteles ca nu are suport pentru W7,am incercat si cu rularea sub compatibilitate cu XP,degeaba,Ic-Prog mai misca ceva dar nu am fost multumit de el,ba vedea portul com 1 ba nu-l vedea.Am luat un 628a de la mivarom,si am crezut ca e busit,dar se pare ca nu,se scrie programul direct in el,fara stergere,aici imi dadea eroare tot timpul.

Link spre comentariu

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări