Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa ispisom poruka na 7seg displeju

[es] :: Elektronika :: Mikrokontroleri :: Problem sa ispisom poruka na 7seg displeju

Strane: 1 2

[ Pregleda: 4448 | Odgovora: 28 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

uart

Član broj: 232423
Poruke: 125
*.adsl.eunet.rs.



+6 Profil

icon Re: Problem sa ispisom poruka na 7seg displeju19.08.2018. u 08:56 - pre 68 meseci
Citat:
janko11:
P0 i P2 se koriste za spoljasnji EPROM na kome se nalazi program koji se izvrsava. Da li je do hardvera problem, jer su displeji i dip switch - evi povezani na isti port?


OK. Pretpostavljam da si odradio softverske izmene koje su kolege sugerisale:

1. Iz interapt rutine je izbačena funkcija delay.

2. Pre čitanja linija na portu koje se koriste kao dvosmerne (P1.3, P1.4, P1.5 i P1.6) treba ih prebaciti u READ (upisati "1" u dogovarajući latch).
Nije dovoljno samo pri inicijalizaciji uraditi P1=0xFF. To ima smisla ako se port koristi isključivo kao ulazni.

Pretpostavljam da imaš neki 8051 datasheet, u njemu verovatno postoji poglavlje koje se zove "port hardware configuration" ili nešto slično. Pažljivo pročitaj,

3. Ovo nije uzrok problema, ali bi trebalo zaustaviti tajmer pre inicijalizacije:

Umesto

TH0=0xFC;
TL0=0x66;

bi trebalo da stoji

TR0=0;
TH0=0xFC;
TL0=0x66;
TR0=1;

 
Odgovor na temu

janko11

Član broj: 338428
Poruke: 29
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem sa ispisom poruka na 7seg displeju19.08.2018. u 17:37 - pre 68 meseci
Mozes li mi detaljnije objasniti kako dvosmerne linije (P1.3, P1.4, P1.5 i P1.6) prebaciti u READ, posto nisam nasao u datasheet. Da li mozes pokazati smernice kako to treba uraditi? Pokusacu da pronadjem.

Sto se tice pullup, da li je dovoljno staviti 10k za pullup - ove na svim izlaznim pinovima 4051 ka napajanju?
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Problem sa ispisom poruka na 7seg displeju19.08.2018. u 19:22 - pre 68 meseci
za pinove nemam pojma, proleteh kroz ds i nisam ni ja skonto

sto se pullup tice, 10k na svaku liniju iz 4051 bi trebalo da resi ove
probleme
 
Odgovor na temu

uart

Član broj: 232423
Poruke: 125
*.adsl.eunet.rs.



+6 Profil

icon Re: Problem sa ispisom poruka na 7seg displeju20.08.2018. u 21:13 - pre 68 meseci
Citat:
janko11:
Mozes li mi detaljnije objasniti kako dvosmerne linije (P1.3, P1.4, P1.5 i P1.6) prebaciti u READ, posto nisam nasao u datasheet. Da li mozes pokazati smernice kako to treba uraditi? Pokusacu da pronadjem.


Pre svakog čitanja podataka (stanja DIP prekidača) treba linije P1.3 - P 1.5 postaviti na "1".

Uz poruku je prikačena šema jednog pina na portu P1.

Za čitanje logičkog nivoa sa pina FET na izlazu mora da bude isključen, a isključuje se tako što se u D latch upiše "1".
Logički nivo na pinu određuje signal sa 74HC573.

Kada se pin koristi ako izlazni:

Kada se u D latch upiše "0" FET se uključuje i drži izlazni pin na niskom nivou.

Kada se u D latch upiše "1" FET se isključuje i interni pullup drži izlazni pin na visokom nivou.






[Ovu poruku je menjao uart dana 20.08.2018. u 22:29 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

janko11

Član broj: 338428
Poruke: 29
*.adsl.eunet.rs.



Profil

icon Re: Problem sa ispisom poruka na 7seg displeju24.08.2018. u 08:05 - pre 68 meseci
Sada se poruke prikazuju na displeju, samo sto ponekad blinkuje po neki segment, pretpostavljam da je to do hardvera.
 
Odgovor na temu

janko11

Član broj: 338428
Poruke: 29
*.adsl.eunet.rs.



Profil

icon Re: Problem sa ispisom poruka na 7seg displeju24.08.2018. u 15:34 - pre 68 meseci
Poruke se prikazuju na displeju. Hvala kolegama bogdan.kecman i uart na savetima i pomoci.
Samo jos jedno pitanje: U kodu za prijem podataka sa serijskog porta, sta treba podesiti da recimo kada se izgubi komunikacija na displeju pise recimo STOP umesto poslednjeg primljenog podatka.
Kod za prijem podataka sa serijskog porta izgleda ovako
Code:

  void serial(void) interrupt 4
  {
     if(RI)
     {
         el=SBUF;
      RI=0;
      switch(el)
      {
        case 0x02:
            prijem=1;
        zavrsen=0;
        tail=0;
        break;
        case 0x03:
          zavrsen=1;
              prijem=0;
        break;
        default:
          if(prijem==1 && zavrsen==0)
              {
           buff[tail]=el;
           tail++;
           if(tail==20)
                tail=0;
           }
           else if(prijem==0 && zavrsen==1)
           {
           buff[tail]=el;
           tail++;
           buff[tail]='\0';
           }
        break;
      }
     }
}
 
Odgovor na temu

uart

Član broj: 232423
Poruke: 125
*.adsl.eunet.rs.



+6 Profil

icon Re: Problem sa ispisom poruka na 7seg displeju24.08.2018. u 19:12 - pre 68 meseci
Citat:
Samo jos jedno pitanje: U kodu za prijem podataka sa serijskog porta, sta treba podesiti da recimo kada se izgubi komunikacija na displeju pise recimo STOP umesto poslednjeg primljenog podatka.


Koliko vidim podaci stižu u paketima formata 0x02 <podaci> 0x03

Šta tačno znači "da se izgubi komunikacija"? Da stigne deo paketa, a nikad ne stigne 0x03?
Da li paketi stižu stalno, sa nekim vremenskim razmakom ili povremeno?

Nevezano za ovo pitanje: mislim da umesto promenljivih "prijem" i "zavrsen" može da se koristi samo jedna.


 
Odgovor na temu

janko11

Član broj: 338428
Poruke: 29
*.dynamic.isp.telekom.rs.



Profil

icon Re: Problem sa ispisom poruka na 7seg displeju24.08.2018. u 21:13 - pre 68 meseci
Da, podaci stizu u formatu 0x02 <podaci> 0x03. Pocinje sa 0x02 a zavrsava se sa 0x03. Podaci stizu stalno brzinom 9600 baud/s. Pod pojmom da se izgubi komunikacija znaci da stigne deo paketa, a nikad ne stigne 0x03 ili da jednostavno prestane slanje podataka usled na primer da se iskljuci kabl koji povezuje uredjaj koji salje podatke sa procesorom koji prima podatke i prikazuje na displeju. U tom slucaju na displeju trebalo bi da se prikaze recimo STOP umesto poslednje primljenog podatka. Kada se ponovo uspostavi komunikacija podaci stalno pristizu, smestaju se u bafer i prikazuju na displeju. Kada ponovo prestane slanje paketa, na displeju pise recimo STOP, sve dok ponovo ne pocne slanje podataka.
 
Odgovor na temu

uart

Član broj: 232423
Poruke: 125
*.adsl.eunet.rs.



+6 Profil

icon Re: Problem sa ispisom poruka na 7seg displeju25.08.2018. u 20:09 - pre 68 meseci
Iskoristiš tajmer. Resetuješ ga svaki put kada stigne 0x02 (početak paketa).
Ako dođe do prekida komunikacije tajmer će okinuti interapt i u tada u bafer za ispis upišeš "STOP".

Za inicijalizaciju tajmera treba znati koliki je vremenski razmak između paketa.
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Problem sa ispisom poruka na 7seg displeju

Strane: 1 2

[ Pregleda: 4448 | Odgovora: 28 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.