[ nikola1258 @ 16.03.2012. 13:37 ] @
pozdrav svima jedno pitanje kako napraviti petlju u proton basicu koja ce za svaki stisak tastera uvelicavati broj za odredjen
[ bogdan.kecman @ 16.03.2012. 13:42 ] @
zasto petlju? Zar ti nije bolje da taster vezes na interapt pin i onda u interaptu da povecavas vrednost varijable?

//p.s. bolje ovo da si stavio u podforum "mikrokontroleri"
[ nikola1258 @ 16.03.2012. 14:44 ] @
Pocetnik sam..Dali onda mora uvek biti isti broj ili u programi mogu menjati vrednost sa 8 bitnim mc cu raditi recimo sad sam video ne netu lagan je 16f877,mozete li mi dati neki primer,dali interapt pin moze biti svaki koji se proglasi kao ulazni?I meni treba kad promeni mesto druga promena da se vrsi sa tog mesta,a ne sa pocetnog.


[Ovu poruku je menjao nikola1258 dana 16.03.2012. u 15:57 GMT+1]

[Ovu poruku je menjao nikola1258 dana 16.03.2012. u 16:00 GMT+1]
[ bogdan.kecman @ 16.03.2012. 19:20 ] @
nadam se da ce neki mod da prebaci ovo u pravi forum http://www.elitesecurity.org/f153-Mikrokontroleri


primer: http://www.sonsivri.to/forum/i...opic=34335.msg108459#msg108459
Code:

Device = 16F877A 
    Xtal  = 4
LCD_DTPin = PORTD.4           '4 line lcd 
LCD_RSPin = PORTD.2        ' RS - RD2
LCD_ENPin = PORTD.3        ' EN - RD3
                           ' D4 - RD4
LCD_Interface = 4           ' D5 - RD5
LCD_Lines = 2              ' D6 - RD6
LCD_Type = 0               ' D7 - RD7
LCD_CommandUs = 2000
LCD_DataUs = 50

    TRISA.0 = 0
    TRISB = 255

    Symbol RBIF = INTCON.0   ' RB Port Interrupt Flag
    Symbol RBIE = INTCON.3   ' RB Port Change Interrupt Enable
    Symbol GIE = INTCON.7    ' Global Interrupt Enable
    Symbol LCD_LIT = PORTD.1
    RBIE = 1   ' Enable interrupt on pins b.4 - b.7
    GIE = 1    ' Enable the Global interrupt ' It is necesary ! ! !
    
    Dim i As Word

On_Hardware_Interrupt GoTo Interrupt_Routine 
'On Interrupt GoTo Interrupt_Routine

 PORTD.1= 0   
  
     
 Print At 1,1, "ready to go"   
Main:
    ' Remember if you have a delayms 5000 and press the interrupt button on 2sec then the interrupt 
    ' routine will be proceed only when you pass the 5 sec, thats why i use the loop For ... Next with 
    ' a small delay.
   
    ' Make a 1 Sec delay         
    For i = 0 To 10
        DelayMS 100
    Next i
  

GoTo Main

Disable
Interrupt_Routine:
    Context Save
    If RBIF = 1 Then 
        If PORTB.4 = 1 Then 
            Toggle LCD_LIT
            Print At 2,1, "Button up      "
              DelayMS 1000
            Toggle LCD_LIT
        EndIf
    
        If PORTB.5 = 1 Then 
            Toggle LCD_LIT
            Print At 2,1, "Button down    "
              DelayMS 1000
            Toggle LCD_LIT
        EndIf
    
        If PORTB.6 = 1 Then 
             Toggle LCD_LIT
             Print At 2,1, "Button left    "
               DelayMS 1000
             Toggle LCD_LIT
        EndIf
    
        If PORTB.7 = 1 Then 
            Toggle LCD_LIT
            Print At 2,1, "Button right"
              DelayMS 1000
            Toggle LCD_LIT
        EndIf
        RBIF = 0 ' reset the flag
    EndIf
Context Restore   
Return
'Enable 
'Resume
[ nikola1258 @ 16.03.2012. 19:28 ] @
Uf komplikovano,moze li stvarno neko brebaciti temu da mi pojasne ovo,ili ako ti mozes bogdane da mi pojasnis.U svakom slucaju hvala,ali nekontan dosta tog u redovima
[ nikola1258 @ 16.03.2012. 19:44 ] @
Sta je meni u glavi da postignem da mogu na jednom portu paliti par dioda pa da te diode jedna po jedna trckaraju po pinovima,naravno kad stisnem taster da se dogodi promena.
[ shpiki @ 16.03.2012. 20:03 ] @
"...Nikola, nisam ti ja majka..." :)
Prvo ti nama kazi, jel znas ti ovaj Basic (razumes ga? "kontas" sta je sta?)?
Ako razumes Basic, da li razumes MCU-e?
Ako i njih razumes, baci se u guglanje interapta u Basicu.
Mozda ce bogdan imati zivaca sada da ti "sazvace" ovo, ali neces dalje moci sam ako ne savladas ovo dvoje gore navedeno.
To ti je dobronamerni savet.
I ubuduce pitanja postavljaj u podforumu "Mikrokontroleri", em vise ljudi tamo "konzumira" Basic, em je tema direktno vezana za mikrokontrolere i programiranje istih.

Pozdrav.
[ bogdan.kecman @ 16.03.2012. 20:14 ] @
Citat:
nikola1258: ili ako ti mozes bogdane da mi pojasnis


koji deo ti nije jasan? ako ti je "sve nejasno" onda kao sto rece kolega ili prvo uci basic ili .. da ne bude kao sa onim teslinim pomocnikom kome je sve jasno kako radi motor, generator, sijalica, jedino mu nije jasno kako benzin prodje kroz zicu do sijalice kada u zici nema rupa..

ako ne znas basic, onda bolje odma kreni da ucis C (ako vec ucis, uci nesto sto ces moci da koristis i na savremenim kontrolerima)

dalje, pogledaj obavezno CELU TEMU: http://www.elitesecurity.org/t...tanja-za-sve-sto-mi-nije-jasno
[ nikola1258 @ 16.03.2012. 20:29 ] @
Ajd u pravu ste peporuka neka knjige?znam engleski,al bolje da je na srpskom.O basicu jer mi zvuci laksi a i znam osnove ne nesto puno al znam,ako gresim ispravteme.
[ bogdan.kecman @ 16.03.2012. 21:05 ] @
1. C in 21 days

2. C Programming for Embedded Systems (Kirk Zurell)

3. Programming Microcontrollers in C (Ted Van Sickle)

4. Programming 32-bit Microcontrollers in C: Exploring the PIC32 (Lucio Di Jasio)

...
[ nikola1258 @ 17.03.2012. 05:39 ] @
Hvala
[ bogdan.kecman @ 17.03.2012. 05:44 ] @
(btw ima knjiga za basic, no to cu ostaviti ekipi koja radi basic da ti kaze sta da citas, ja ne trosim to negde od petog osnovne)
[ shpiki @ 17.03.2012. 08:46 ] @
Evo jedan srpski C tutorial, mozda ce bi biti lakse da krenes... nema mnogo veze sa MCU, ali kad ovo savladas, ostaje ti da se uklopis sa hardverom i pobedio si..

Pozdrav.
[ nikola1258 @ 17.03.2012. 16:26 ] @
E hvala havala sad cem da citam,znaci sve komande su iste samo treba kasnije da naucim kako kroz portove,pinove da pistim.jesam u pravu?
[ yt1nvs @ 17.03.2012. 19:37 ] @
slucajno naleteo nije lose!

http://avaxhome.ws/ebooks/enge..._C_Za_PIC_Mikrokontrolere.html
[ nikola1258 @ 21.03.2012. 21:05 ] @
Ide meni ovo pomalo ali shvatam.Koju knjigu od ovih preporucujete,kad savladam osnove C-a iz gore date torture
http://www.infoelektronika.net/tema/t=PIC%20kontroleri
[ sfredsfred @ 20.04.2012. 23:02 ] @
Ako nije kasno

Device 12F683
Xtal = 8

Dim iO As Byte
Dim Tas As Byte
Symbol Taster = GPIO.3

Start:
Button Taster,0,160,5,Tas,1, B_I_U
nop
GoTo Start
'***
B_I_U:
Inc iO ' ili io = io + 1
Return
'taster vezan na masu i otpornik 4.7k na + i nozicu mikro kontrolera
Stop
End
[ shpiki @ 20.04.2012. 23:16 ] @
Dobrodosao na forum!
Da mu je trebalo verovatno bi "kukao" ovde, tebi u svakom slucaju hvala sto si odgovorio.
Prvi ti je post pa ce ti verovatno oprostiti, ali ubuduce:
- gledaj od kad je poslednji post (datum) - da ne bi "dizao temu iz mrtvih"
- i koristi code tagove

Pozdrav.
[ ZAS011 @ 20.04.2012. 23:22 ] @
@shpiki: poslednji post je od pre okruglo mesec dana. To je manje od mesecgodina

@sfredsfred:
[ sfredsfred @ 21.04.2012. 06:47 ] @
Hvala na dobrodoslici, pokusacu da budem azurniji