skraceni kurs ucenja picbasica
Moderators: pedja089, stojke369, [eDo], trax
Re: skraceni kurs ucenja picbasica
Kolko sam ja skontao dataseet .... mozes mi prepraviti podesavanja
treba samo da upavlja on of na izlazima,a pise da radi na 40mh nije mi brzina bitna radi memorije sam ga odabrao,treba brdo toga da mu ukucam
treba samo da upavlja on of na izlazima,a pise da radi na 40mh nije mi brzina bitna radi memorije sam ga odabrao,treba brdo toga da mu ukucam
Re: skraceni kurs ucenja picbasica
Nece ni ovako:
Code: Select all
'18F4680
#CONFIG
__CONFIG _CONFIG1H, _OSC_HS_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
__CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
__CONFIG _CONFIG3H, _PBADEN_OFF_3H & _LPT1OSC_OFF_3H & _MCLRE_ON_3H
__CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _BBSIZ_1024_4L & _XINST_OFF_4L
#ENDCONFIG
'***********PODESAVANJE*********
define osc 8
'CMCON=%00000111 'Disables comparators, Port A
'ADCON0=%00000000 'Turns off ADC, Port A
'ADCON1=%00001111
'CMCON =%00000111 'Turns OFF comparators
'CVRCON=%00000000 'DISABLES comparator voltage module
'ECCP1CON=%00000000 'DISABLES PWMs and such
'*****************************************************
Include "modedefs.bas"
trisa=%00000000
trisb=%11111111
trisc=0
trisd=0
porta=0
portb=1
portc=0
portd=0
'*********DEFINISANJE DISPLEJA*************
DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTA
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 5
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT 4
DEFINE LCD_LINES 2
pause 100
lcdout $fe,1, "PRITISNI START"
pause 1000
Re: skraceni kurs ucenja picbasica
OSC mora biti napisano velikim slovima, za pocetak.
Drugo nisi postavio semu...
Drugo nisi postavio semu...
Re: skraceni kurs ucenja picbasica
Ovo je semsa displej i par izlazih shift registara,registre sam definisao dalje u kodu,Ovi je kod
Upale se ledice na shift registru al displej ne i nece da sabira.
Code: Select all
'18F4680
#CONFIG
__CONFIG _CONFIG1H, _OSC_HS_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
__CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
__CONFIG _CONFIG3H, _PBADEN_OFF_3H & _LPT1OSC_OFF_3H & _MCLRE_ON_3H
__CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _BBSIZ_1024_4L & _XINST_OFF_4L
#ENDCONFIG
'***********PODESAVANJE*********
define OSC 8
'CMCON=%00000111 'Disables comparators, Port A
'ADCON0=%00000000 'Turns off ADC, Port A
'ADCON1=%00001111
'CMCON =%00000111 'Turns OFF comparators
'CVRCON=%00000000 'DISABLES comparator voltage module
'ECCP1CON=%00000000 'DISABLES PWMs and such
'*****************************************************
Include "modedefs.bas"
trisa=%00000000
trisb=%11111111
trisc=0
trisd=0
porta=0
portb=1
portc=0
portd=0
'*********DEFINISANJE DISPLEJA*************
DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTA
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 5
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT 4
DEFINE LCD_LINES 2
pause 100
lcdout $fe,1, "PRITISNI START"
pause 1000
DataPin var PORTD.0 ' Shift data pin 0
ClkPin var PORTD.1 ' Shift clock pin 1
Strobe var PORTD.2
prvi var word
drugi var word
treci var word
cetvrti var word
peti var word
sesti var word
sedmi var word
'*********DEFINISANJE PROMENLJIVIH KOJI IDU U SHIFT REGISRE********************
prvi = 1
drugi = 0
treci = 0
cetvrti = 0
peti= 0
sesti= 0
sedmi= 0
'************************************************
'************DEFINISANJE BROJEVA*************************************
X VAR BYTE 'BROJ KOJI SE UVECAVA I SPRAM KOG SE RACUNA OD 0-100
X=1
A1 VAR WORD 'PROMENLJIVA ZA PRVI IZLAZ
'******************************************************************
DO
'*********RACUNANJE ZA PRVIH 16 BITA*************************************
IF X<17 THEN
A1=1*2^X
ENDIF
'******************IZLAZ NA SHIFT REGISTRE****************************************
Shiftout DataPin, ClkPin, MSBFIRST,[drugi\16,prvi\16]
Pulsout Strobe,10
'***********************************************************************************
X=2
PAUSE 500
LOOP
End
- Attachments
-
- sema.jpg (33.45 KiB) Viewed 10930 times
Re: skraceni kurs ucenja picbasica
Zaboravi napisati dodacu jos koji taster na port b
Re: skraceni kurs ucenja picbasica
Sa seme se ne vidi nista, tako da...
Prvo stavi led diode na svaki pin kontrolera koji ide prema displeju pa probaj njih paliti gasiti...
Zasto je ovo zakomentarisano nikako mi nije jasno
'CMCON=%00000111 'Disables comparators, Port A
'ADCON0=%00000000 'Turns off ADC, Port A
'ADCON1=%00001111
'CMCON =%00000111 'Turns OFF comparators
'CVRCON=%00000000 'DISABLES comparator voltage module
'ECCP1CON=%00000000 'DISABLES PWMs and such
Probaj naci AllDigital, na picbasic forumu, ukoliko ne mozes da palis gasis diode na PORTA...
Prvo stavi led diode na svaki pin kontrolera koji ide prema displeju pa probaj njih paliti gasiti...
Zasto je ovo zakomentarisano nikako mi nije jasno
'CMCON=%00000111 'Disables comparators, Port A
'ADCON0=%00000000 'Turns off ADC, Port A
'ADCON1=%00001111
'CMCON =%00000111 'Turns OFF comparators
'CVRCON=%00000000 'DISABLES comparator voltage module
'ECCP1CON=%00000000 'DISABLES PWMs and such
Probaj naci AllDigital, na picbasic forumu, ukoliko ne mozes da palis gasis diode na PORTA...
Re: skraceni kurs ucenja picbasica
Hvala Pedja u protesu radi,e sada dal ce raditi na masini videcu.
Re: skraceni kurs ucenja picbasica
Ima li tko crackiranu verziju picbasica 3 za skinuti.
Ja sam skinio trial,ali je samo 15 dana
Ja sam skinio trial,ali je samo 15 dana
Re: skraceni kurs ucenja picbasica
Pozdrav svima davi neko moze da mi pojasni kako se definisu sledeca dva registra sta znace brojevi za
option_reg = $7 'znam da se radi o poolap izlazu
intcon = 90 'znam da se radi o paljenju interapta al neznam ga definisati
treba da koristim u picu 12f683 interupt zato mi trebaju ova dva regista dali mi neko moze objasniti cemu sluze brojevi iza.i dali option_reg treba da se definise radi interupta
option_reg = $7 'znam da se radi o poolap izlazu
intcon = 90 'znam da se radi o paljenju interapta al neznam ga definisati
treba da koristim u picu 12f683 interupt zato mi trebaju ova dva regista dali mi neko moze objasniti cemu sluze brojevi iza.i dali option_reg treba da se definise radi interupta
Re: skraceni kurs ucenja picbasica
U pitanju je PIC 12F629, treba da mi se pali i gasi led dioda na jednom portu npr. na GP0, nista lakse ali ne radi , sta, tj. kako da izkonfigurisem PBP?
Code: Select all
Define OSCCAL_1K 1 ' Calibrate internal oscillator
LED Con 0 ' Alias GPIO.0 to LED
mainloop:
Low LED ' Turn on LED connected to GPIO.0
Pause 500 ' Delay for .5 seconds
High LED ' Turn off LED connected to GPIO.0
Pause 500 ' Delay for .5 seconds
Goto mainloop ' Go back to mainloop and blink LED forever
End
-
- Pravo uznapredovao :)
- Posts: 457
- Joined: 22-04-2008, 16:27
- Location: Maribor(SLO) Koprivnica(HR)
- Contact:
Re: skraceni kurs ucenja picbasica
Code: Select all
Define OSCCAL_1K 1 ' Calibrate internal oscillator
LED Con 0 ' Alias GPIO.0 to LED
'**************
CMCON = 7 'izključi komparatore
'**************
mainloop:
Low LED ' Turn on LED connected to GPIO.0
Pause 500 ' Delay for .5 seconds
High LED ' Turn off LED connected to GPIO.0
Pause 500 ' Delay for .5 seconds
Goto mainloop ' Go back to mainloop and blink LED forever
End
Real Radios Glow in the Dark!
Re: skraceni kurs ucenja picbasica
Nece, izgleda da jos nesto fali?
-
- Pravo uznapredovao :)
- Posts: 457
- Joined: 22-04-2008, 16:27
- Location: Maribor(SLO) Koprivnica(HR)
- Contact:
Re: skraceni kurs ucenja picbasica
Real Radios Glow in the Dark!
Re: skraceni kurs ucenja picbasica
nesto me zeza, nisam sa 12F629 radio
Re: skraceni kurs ucenja picbasica
TRISIO = 0
Probaj dodati ovo gore, koliko vidim nigdije nije definiran pin ili port kao izalzni.
Probaj dodati ovo gore, koliko vidim nigdije nije definiran pin ili port kao izalzni.
Re: skraceni kurs ucenja picbasica
Slucajno dodirnuo plocicu prstom i proradilo, hmmm, zalemio 4k7 izmedju pin 1 i pin 4 na PIC 12F629 i radi
Re: skraceni kurs ucenja picbasica
To je MCLR pin, služi za reset... On ako se koristi kao reset treba biti na Vdd spojen preko pullup-a . Obično se spoji i još jedbo tipkalo prema masi, u slučaju da se mikrić zblesira da ga resetiraš...
Re: skraceni kurs ucenja picbasica
Pozdrav svima.Nov sam na forumu tj. tek sad sam se registrovao i izabrao sam da javim u ovoj temi jer volim programiranje u picbasic-u.Procitao sam skoro sve stranice i odusevljen sam kako ova tema lepo napreduje a posebno mi se dopada kako se na lep nacin pruzju pomoc i saveti.Nisam neki programer ali pomoci cu koliko znam i ujedno da nesto naucim.
Re: skraceni kurs ucenja picbasica
Pozdrav ekipi.Probao sam nekoliko puta da napisem program za 16f628a tako da u svom internom eepromu upamti podatke tek kad se pritisne taster ali nije htelo da proradi pa bih da pitam za pomoc oko toga.Pronasao sam jedan slican primer pa sam ga samo prekopirao ovde,znaci interesuje me kako (neka bude u ovom primeru) kad brojac bodje do nekog broja,na pr bude to broj 20 mi pritiskom na taster zapamtimo taj broj i kad brojac nastavi brojanje pritiskom na drugi taster da moze da se ocita eeprom i da pojavi u drugom redu to sto je upisano,ovde br 20.Mozda ima neka greskica ali samo sam prekopirai i nabrzinu izbacio ono sto netreba.Evo primera pa sad gde i sta dodati za 16f628A
brojac var byte
provera var byte
taster var bit
TRISA = %11111101
brojac=0
DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 0
DEFINE LCD_RWREG PORTB
DEFINE LCD_RWBIT 3
DEFINE LCD_LINES 2
pause 100
cekaj0:
lcdout $FE, $80, "BROJ ="
gosub proveri_ulaz
if taster = 0 then cekaj0:
cekaj1:
gosub proveri_ulaz
if taster = 1 then cekaj1
brojac=brojac + 1
lcdout $FE, 2
lcdout "BROJ ", #brojac
goto cekaj0
proveri_ulaz:
taster=0
for provera = 0 to 100
if PORTA.0 = 1 then return
pauseus 100
next provera
taster = 1
return
end
brojac var byte
provera var byte
taster var bit
TRISA = %11111101
brojac=0
DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 0
DEFINE LCD_RWREG PORTB
DEFINE LCD_RWBIT 3
DEFINE LCD_LINES 2
pause 100
cekaj0:
lcdout $FE, $80, "BROJ ="
gosub proveri_ulaz
if taster = 0 then cekaj0:
cekaj1:
gosub proveri_ulaz
if taster = 1 then cekaj1
brojac=brojac + 1
lcdout $FE, 2
lcdout "BROJ ", #brojac
goto cekaj0
proveri_ulaz:
taster=0
for provera = 0 to 100
if PORTA.0 = 1 then return
pauseus 100
next provera
taster = 1
return
end