|
[ Milan 97 @ 09.04.2012. 00:05 ] @
| Pozzz svima...
Ovako, imam PIC16F84A... Radio sam sa njim neke osnovne projekte... Tipa, blinkanje LEDica i tako to... Sad bih malo ozbiljnije... Zelim da namestim da mi PIC16F84A komunicira sa kompom preko RS232...
Znam da programiram u VB.NET i VB6, tako da mi tu nije problem slanje podataka... Problem mi je kako da PIC preuzme podatke, i na primer, ako je preuzeto 'pali' da upali diodu na nekom pinu...
Radim u MicroCode Studio sa kompajlerom PicBasic Pro, tako da je pozeljno da mi neko napise u .bas formatu... (ili kopira ako vec ima napisano)...
Hvala vam puno! |
[ bogdan.kecman @ 09.04.2012. 01:40 ] @
[ ZAS011 @ 09.04.2012. 09:01 ] @
Za ovakve teme postoji odgovarajuci podforum: Mikrokontroleri
[ Milan 97 @ 09.04.2012. 10:25 ] @
Sta si mi ovo poslao? Odvede me na http://www.ai-junkie.com/ga/intro/gat1.html
Ako si hteo ovim da kazes da pretrazim google, jesam... Do 10-e strane... :D
[ shpiki @ 09.04.2012. 11:57 ] @
'Oces da ti mi i povezemo, i isprogramiramo, i napecemo pic, a i ujedno proverimo jel PALI na komandu 'pali'?
Jel znas ti sta ti sve treba od HW da bi to radilo?
[ bogdan.kecman @ 09.04.2012. 12:47 ] @
[ Milan 97 @ 09.04.2012. 13:08 ] @
Citat: shpiki: 'Oces da ti mi i povezemo, i isprogramiramo, i napecemo pic, a i ujedno proverimo jel PALI na komandu 'pali'?
Jel znas ti sta ti sve treba od HW da bi to radilo?
Ne zelim to, zelim samo kod za PIC koji ce preuzeti poslate podatke i nista vise... Samo mi to treba...
Znam sta mi treba... Samo sto nemam MAX232, nego cu ovu foru: http://www.scienceprog.com/wp-...32_ALT/interface_schematic.gif
Hvala na linku, pretrazicu...
Je l' moze neko da mi da gotov kod za PIC?
Hvala!
[ bogdan.kecman @ 09.04.2012. 13:37 ] @
Da ti skratim pretragu kroz linkove koje sam ti dao, osnovni problem koji imas je to sto 16F84A NEMA UART, tako da ti moras softwerski da simuliras UART a hoces to u basic-u koji nema implementaciju softwerskog uart-a na pic-u koji je zastareo pre 2 decenije.
Niko se nije preterano trudio da napise takav kod (softwersku implementaciju uart-a) u basic-u posto je sad mnogo jeftinije uzeti 16F628A koji je pin kompatibilan a ima hw usart, a u ono vreme pre 20 godina kada se 16F84 koristio kod se pisao u asembleru a ne u basic-u tako da ako i nadjes neki primer za softwersku implementaciju u(s)art-a bice iskljucivo u asm-u.
CSC C kompajler za pic 16F* ima software implementaciju uart-a ali opet, to je C a ne basic, a ako se dobro secam ima ga i hitech c.
od basic-a mislim da samo MikroBasic ima sw implementaciju ali nisam siguran
[ Milan 97 @ 09.04.2012. 14:08 ] @
Aha, hvala puno...
A je l' ce moci ikako to da radi sa MAX232... I preko naredbe SERIN?
Znaci, MAX232 ce invertovati napon, i namestiti da radi od 0V do 5V... A ne od +-15V kako salje serijski port...
Primer: http://www.youtube.com/watch?v=hix9zewGPlw
Znaci ovde je napravljeno da salje preko kompa u PIC16F84A...
Znaci, koliko vidim, moguce je...
[ rsinisa @ 09.04.2012. 14:47 ] @
Citat: Milan 97: A je l' ce moci ikako to da radi sa MAX232... I preko naredbe SERIN?
Da, može pomoću SERIN naredbe, sa i bez MAX232, ali tebi kao početniku savetujem ipak sa.
Pozdrav.
Sinisha
[ Milan 97 @ 09.04.2012. 15:31 ] @
Citat: rsinisa: Da, može pomoću SERIN naredbe, sa i bez MAX232, ali tebi kao početniku savetujem ipak sa.
Pozdrav.
Sinisha
Pozdrav Sinisa,
Hvala na odgovoru... Imam jos par pitanja...
Nemam MAX232, a ovo sam nasao kao alternativu... http://www.scienceprog.com/wp-...32_ALT/interface_schematic.gif
Znaci treba nesto sto ce da invertuje napon, i da ga namesti da bude od od 0V-5V...
Okej, ako ide preko serin, onda mi nije problem... Sad me samo zanima da li moze ova sema sa dva tranzistora da pomogne...
Ako moze, onda mislim da znam sta treba da radim...
Pozdrav,
Milan
[ rsinisa @ 09.04.2012. 22:05 ] @
A jesi li pogledao original uputstvo za PBP?
http://melabs.com/resources/pbpmanual/
pa odabereš sa leve strane šta te zanima.
Tamo ti je sve lepo objašnjeno, ovako ćemo da se preganjamo sa potpitanjima nekoliko dana. Imaš mogućnost i invertovanog i neinvertovanog moda, i ne treba konverzija napona, dovoljan je samo jedan otpornik, mada moraš da probaš na tvom računaru kako će to da radi jer znam da su na nekim matičnim pločama UART-i morali da dobiju i plus i minus napon, ali koliko ja znam takvih ploča nema mnogo.
Pozdrav.
Sinisha
[ Milan 97 @ 10.04.2012. 00:05 ] @
Hvala puno...
Evo, samo jos ovo da pitam...
http://www.rentron.com/PIC16F84.htm
Znaci, sema povezivanja:
Kod za PicBasic:
Code:
'****************************************************************
'* Name : PC-RELAY2.BAS *
'* Author : Bruce Reynolds *
'* Notice : Copyright (c) 2002 Reynolds Electronics *
'* : All Rights Reserved *
'* Date : 7/31/2002 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
' Using the PIC16F84 PIC For I/O Expansion with
' the BASIC Stamp, or PC serial port
INCLUDE "bs2defs.bas"
relay VAR b3 'relay number storage variable
stat VAR b4 'relay status ON/OFF variable
serpin VAR porta.4 'serial input pin
trisa = %00010000
trisb = %00000000
loop:
SERIN serpin,N2400,[254],relay,stat 'serial data in on PortA.4
IF relay = 1 THEN outr1 ' if request is for relay#1 then goto relay#1 routine
IF relay = 2 THEN outr2 ' if request is for relay#2 then goto relay#2 routine
IF relay = 3 THEN outr3 ' if request is for relay#3 then goto relay#3 routine
IF relay = 4 THEN outr4 ' if request is for relay#4 then goto relay#4 routine
IF relay = 5 THEN outr5
IF relay = 6 THEN outr6
IF relay = 7 THEN outr7
IF relay = 8 THEN outr8
IF relay = 9 THEN outr9
IF relay = 10 THEN outr10
IF relay = 11 THEN outr11
IF relay = 12 THEN outr12
GOTO loop
outr1:
IF stat = 1 THEN high1 ' If status request is I/O pin#0 logic 1 [high]
LOW 0: GOTO loop ' then make I/O pin#0 high, else make it [low]
high1:
HIGH 0: GOTO loop ' Make I/O pin#0 logic 1 [high]
outr2:
IF stat = 1 THEN high2
LOW 1: GOTO loop
high2:
HIGH 1: GOTO loop
outr3:
IF stat = 1 THEN high3
LOW 2: GOTO loop
high3:
HIGH 2: GOTO loop
outr4:
IF stat = 1 THEN high4
LOW 3: GOTO loop
high4:
HIGH 3: GOTO loop
outr5:
IF stat = 1 THEN high5
LOW 4: GOTO loop
high5:
HIGH 4: GOTO loop
outr6:
IF stat = 1 THEN high6
LOW 5: GOTO loop
high6:
HIGH 5: GOTO loop
outr7:
IF stat = 1 THEN high7
LOW 6: GOTO loop
high7:
HIGH 6: GOTO loop
outr8:
IF stat = 1 THEN high8
LOW 7: GOTO loop
high8:
HIGH 7: GOTO loop
outr9:
IF stat = 1 THEN high9
porta.0 = 0: GOTO loop
high9:
porta.0 = 1: GOTO loop
outr10:
IF stat = 1 THEN high10
porta.1 = 0: GOTO loop
high10:
porta.1 = 1: GOTO loop
outr11:
IF stat = 1 THEN high11
porta.2 = 0: GOTO loop
high11:
porta.2 = 1: GOTO loop
outr12:
IF stat = 1 THEN high12
porta.3 = 0: GOTO loop
high12:
porta.3 = 1: GOTO loop
Znaci, meni treba samo ovaj deo
Code:
INCLUDE "bs2defs.bas"
stat VAR b4 'relay status ON/OFF variable
serpin VAR porta.4 'serial input pin
trisa = %00010000
trisb = %00000000
loop:
SERIN serpin,N2400,[254],relay 'serial data in on PortA.4
IF relay = "p" THEN GOTO pali
GOTO loop
pali:
PORTB.0 = 1
GOTO loop
Da li ja onda u programu prvo treba da posaljem '254' a zatim 'p' ili kako?
[ rsinisa @ 10.04.2012. 08:29 ] @
Citat: Milan 97: Da li ja onda u programu prvo treba da posaljem '254' a zatim 'p'
Da, sa tom komadnom parametri su 2400, 8, N, 1, bez MAX232.
Pozdrav.
Sinisha
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|