PIC 16F877A input problem

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

User avatar
PRO_MILE
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 306
Joined: 14-05-2010, 16:52
Location: Srbija

Re: PIC 16F877A input problem

Post by PRO_MILE »

Ne radi instalirao na C pbp kako je njegova putanja isla podesio u MCS da cita iz foldera PBP3 i nece...
User avatar
PRO_MILE
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 306
Joined: 14-05-2010, 16:52
Location: Srbija

Re: PIC 16F877A input problem

Post by PRO_MILE »

RADI MSC i PBP, sve je u redu uspesno kompajliranje, sutra ga prebacujem na pic...





Pozz i hvala za pomoc
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: PIC 16F877A input problem

Post by Kukinjos »

Ajde fala Bogu, već sam mislio da si opet "uredio" Pibasic :ohno: , pa se mislim, sad će jadan opet misec dana tražit šta nevalja, uh, pao mi kamen sa srca. :D
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
User avatar
PRO_MILE
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 306
Joined: 14-05-2010, 16:52
Location: Srbija

Re: PIC 16F877A input problem

Post by PRO_MILE »

Evo probao, kad pritisnem dugme u pocetku je svetlela B0 i B1 ali nesta ne salje, onda sam poslao na B0 i on je vratio, sve sam ponovo stavio na 0 i pretisnuo dugme pali i B0 led i B1 led(ali ne salje),a onda sam sacekao malo pa sam izvuko kabli serial B1 led je trepkala. Da li je to neki indikator posto u kodu nigde nisam vido ima li nesto pisano za to...

Sve radi osim kad kliknem dugme nece da posalje A1R, ne znam da li je problem zato sto je definisam kao byte, ali jedino je jos on problem sve ostalo radi!



Pozz
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: PIC 16F877A input problem

Post by Kukinjos »

Ne znam kakav ti je taj komunikacijski soft na računalu, ja sam koristio terminalski soft Termite:
http://www.compuphase.com/software/termite-3.0.exe
i na njemu imam sve uredno, i kad stisnem tipke i kad pošaljem naredbu F11, F10, F01, F00 (za gašenje).
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
User avatar
PRO_MILE
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 306
Joined: 14-05-2010, 16:52
Location: Srbija

Re: PIC 16F877A input problem

Post by PRO_MILE »

Probao isto ne radi, nece da salje kad pretisnem dugme...
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: PIC 16F877A input problem

Post by Kukinjos »

Vidi ovo:
PRO_MILE.png
PRO_MILE.png (36.14 KiB) Viewed 9768 times
s ovim kodom:

Code: Select all

         
         #CONFIG
         __config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF  & _BOREN_OFF
         #ENDCONFIG

 '        include "modedefs.bas"
         DEFINE HSER_RCSTA 90h
         DEFINE HSER_TXSTA 24h
         DEFINE HSER_BAUD 2400

         
         symbol S0 = PORTC.7   'Port za prijem podataka
         symbol S1 = PORTC.6   'Port za predaju podataka 

         symbol D1 = PORTB.0   'Kanal 1
         symbol D2 = PORTB.1   'Kanal 2
         symbol D3 = PORTB.2   'Kanal 3
         symbol D4 = PORTB.3   'Kanal 4
         symbol D5 = PORTB.4   'Kanal 5
         symbol D6 = PORTB.5   'Kanal 6
         symbol D7 = PORTB.6   'Kanal 7
         symbol D8 = PORTB.7   'Kanal 8
         
         SYMBOL A1 = PORTA.0
         Symbol A2 = PORTA.1
         
         
         
          
           
         D1P var byte          'Komande dobijene od PC-a 
         D2P var byte
         D3P var byte
         D4P var byte
         D5P VAR BYTE
         D6P VAR BYTE
         D7P VAR BYTE
         D8P VAR BYTE
         
         A1R var byte
            A1R = 1
         A2R var byte
            A2R = 2
 
                     
         ADCON1 = $C7
         
         TRISC = %10000000
         TRISB = %00000000      'Svi pinovi porta B su izlazni
         
         TRISA = %11111111
           
         PORTB = $00            'Postavi na 0 sve pinove porta B    
           
Glavni:

        

         HSERIN 100, dalje, [WAIT ("F"),D1P, D2P, D3P, D4P, D5P, D6P, D7P, D8P] 'Ceka na prijem od PC racunara komndu
dalje:
'        komandovanje prvim kanalom                    
     
             If D1P = "1" Then 
                       D1 = 1
                       HSerout ["1",10,13]
                     Else  
                       D1 = 0
         EndIf

'        komandovanje trecim kanalom                    

         If D2P = "1" Then 
                        D2 = 1
                       HSerout ["2",10,13]
                       Else
                        D2 = 0
                        
         EndIf

'        komandovanje drugim kanalom                    
 
         If D3P = "1" Then 
                        D3 = 1
                      Else  
                        D3 = 0
         EndIf
         
'        komandovanje cetvrtim kanalom                    

         If D4P = "1" Then 
                         D4 = 1
                       Else  
                         D4 = 0
         EndIf
         
         '        komandovanje petim kanalom                    

         If D5P = "1" Then 
                         D5 = 1
                       Else  
                         D5 = 0
         EndIf
         
         '        komandovanje sestim kanalom                    

         If D6P = "1" Then 
                         D6 = 1
                       Else  
                         D6 = 0
         EndIf
         
         '        komandovanje sedmim kanalom                    

         If D7P = "1" Then 
                         D7 = 1
                       Else  
                         D7 = 0
         EndIf
         
         '        komandovanje osmim kanalom                    

         If D8P = "1" Then 
                         D8 = 1
                       Else  
                         D8 = 0
         EndIf
         
         '        Komanda slanje
         
         IF A1 = 1 then        ' TEST TEST TEST
                        D1 = 1
                        HSerout [A1R, 10]
                      else
                        D1 = 0
                       
         Endif
         
         
         If A2 = 1 then
                        D2 = 1
                        hserout [A2R, 10]
                      else
                        D2 = 0
         endif
           
         
         
         
    
         Goto Glavni
         

        
         End
                                                                                                
Ovo je kad prvo pritisnem A1, a onda A2. Jel ti sve u redu s hardware-om?
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
User avatar
PRO_MILE
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 306
Joined: 14-05-2010, 16:52
Location: Srbija

Re: PIC 16F877A input problem

Post by PRO_MILE »

Sve radi samo dugmici nece, kad pretisnem dugme na A0 svetli 2 led na B.0 i B.1, ali nista ne izlazi da salje...
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: PIC 16F877A input problem

Post by Kukinjos »

A kad mu pošalješ "F1", jel onda dobiješ odgovor "1", ili "F01" odgovor "2"? Nisam te baš shvatio, kad pritisneš jedno dugme A0 svijetle dvije LED-ice B0 i B1?
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
User avatar
PRO_MILE
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 306
Joined: 14-05-2010, 16:52
Location: Srbija

Re: PIC 16F877A input problem

Post by PRO_MILE »

da kad posaljem F1 dobijem odgovor 1, da tacno si napisao za ledice..
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: PIC 16F877A input problem

Post by Kukinjos »

Na čemu si složio hardware? Na protoboardu ili imaš neki razvojni sustav? Imaš li pull-down otpore na ulazima porta.0 - 7? Jesi li možda koristio DIL otpore za pull-down, pa krivo spojio masu na zajednički pin? Može li slika?
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
User avatar
PRO_MILE
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 306
Joined: 14-05-2010, 16:52
Location: Srbija

Re: PIC 16F877A input problem

Post by PRO_MILE »

na protoboardu, Dugme je povezano ovako

5+>>dugme>>portA.0>>4.7k>>GND


Predpostavljam da radi samim tim sto zasvetli kad pretisnem, jedino sto ne salje na serial broj...

Po ovoj shemi sam sastavio:
Image
http://www.dodaj.rs/f/1e/QH/4WSf0odx/max232.jpg


pozz
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: PIC 16F877A input problem

Post by Kukinjos »

Pa ti si spojio tipku na reset (pin1), ne na porta.0 (pin2), ili na shemi nisi nacrtao tipke i LED-ice?
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
User avatar
PRO_MILE
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 306
Joined: 14-05-2010, 16:52
Location: Srbija

Re: PIC 16F877A input problem

Post by PRO_MILE »

Nisam tolko izgubljen hhehe, nisu nacrtani dugmici na shemi i ledice...
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: PIC 16F877A input problem

Post by Kukinjos »

Vidi ovo:

Image
pritisnuta tipka na porta.0

Image
pritisnuta tipka na porta.1

Image
pritisnute obje tipke

Daj provjeri tipke i spojeve pulldown otpora. Stavi sliku ako možeš, detalj oko ovih ulaznih pinova i tipki
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
User avatar
PRO_MILE
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 306
Joined: 14-05-2010, 16:52
Location: Srbija

Re: PIC 16F877A input problem

Post by PRO_MILE »

ok nije problem postavicu samo mi kazi kako bi glasio kod kad bih zeleo samo da posaljem broj kad pritisnem dugme, znaci bez primanja u pic- samo slanje...


Pozz
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: PIC 16F877A input problem

Post by Kukinjos »

Evo ti "pročišćeni tekst" :lol: tvog programa samo za portove A.0, A.1, kao ulazi i B.0, B.1 kao izlazi, bez primanja naredbi, ali sa slanjem stanja preko RS232. Probao i ovo, radi bez greške.

Code: Select all

         
         #CONFIG
         __config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF  & _BOREN_OFF
         #ENDCONFIG

         DEFINE HSER_TXSTA 24h
         DEFINE HSER_BAUD 2400

         ADCON1 = $C7
         TRISC = %10000000
         TRISB = %00000000      'Svi pinovi porta B su izlazni
         TRISA = %11111111

         
         symbol S1 = PORTC.6   'Port za predaju podataka 

         symbol D1 = PORTB.0   'Kanal 1
         symbol D2 = PORTB.1   'Kanal 2
         
         SYMBOL A1 = PORTA.0
         Symbol A2 = PORTA.1
         
         A1R var byte
         A1R = 1
         A2R var byte
         A2R = 2
 
                     
           
         PORTB = $00            'Postavi na 0 sve pinove porta B    


           
Glavni:

         IF A1 = 1 then        ' TEST TEST TEST
                        D1 = 1
                        HSerout [A1R, 10]
                      else
                        D1 = 0
         Endif
         


         
         If A2 = 1 then
                        D2 = 1
                        hserout [A2R, 10]
                      else
                        D2 = 0
         endif
           
         
    
Goto Glavni
         
End
                                                                                                

Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
User avatar
PRO_MILE
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 306
Joined: 14-05-2010, 16:52
Location: Srbija

Re: PIC 16F877A input problem

Post by PRO_MILE »

Da li su nam iste sheme povezivanja, sad sam probao opet svetli b0 crvena al nista ne salje, nego desava se nesto cudno, dok sam probavao b1 port je bio iskljucen tj. nije svetlela ledica i onda sam samo pipnuo pic odozgo nisam pretiso pipnuo i ona je zasvetlela kad pomerim ruku ona prestane, evo sad sam ponovo ukljucio ali samo u struju bez seriala i stalno svetli b1 ledica a kad pipnem pic odozgo ona slabije svetli cim pustim pic ona jace svetli...

Mozda je problem do sheme nzm stvarno sta vise da mu radim.


Pozz
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: PIC 16F877A input problem

Post by Kukinjos »

Možeš li slikat protoboard?
EDIT:
Po meni memaš masu na pull down otporima koji idu na porta.0 i porta.1, već to sve "pliva u zraku", da nisi zaboravio mostiće na power rail-u za + i masu?
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
User avatar
PRO_MILE
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 306
Joined: 14-05-2010, 16:52
Location: Srbija

Re: PIC 16F877A input problem

Post by PRO_MILE »

Kukinjos wrote:Možeš li slikat protoboard?
EDIT:
Po meni memaš masu na pull down otporima koji idu na porta.0 i porta.1, već to sve "pliva u zraku", da nisi zaboravio mostiće na power rail-u za + i masu?
objasni malo bolje sta si teo da kazes kakav power rail, sad cu da slikam
Post Reply