PIC 16f628 + RS232

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

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
ZlacX
Pocetnik na forumu
Pocetnik na forumu
Posts: 38
Joined: 03-01-2009, 16:17

PIC 16f628 + RS232

Post by ZlacX »

Ima li kog da mi napise jednostavni primjer za citanje podataka sa rs232 terminala i slanje na lcd display

Trebam samo primjer dalje cu sam ....

Kod dosad ..... valjda sam dobro definiral rs223 .. :)

Code: Select all

Define OSC 20

;LCD DISPLAY 16X2
DEFINE LCD_DREG PORTB 'LCD data port 
DEFINE LCD_DBIT 4 'LCD data starting bit 0 or 4 
DEFINE LCD_RSREG PORTA 'LCD register select port 
DEFINE LCD_RSBIT 0 'LCD register select bit 
DEFINE LCD_EREG PORTA 'LCD enable port 
DEFINE LCD_EBIT 2 'LCD enable bit 
DEFINE LCD_RWREG PORTA 'LCD read/write port 
DEFINE LCD_RWBIT 1 'LCD read/write bit 
DEFINE LCD_BITS 4 'LCD bus size 4 or 8 
DEFINE LCD_LINES 2 'Number lines on LCD 
DEFINE LCD_COMMANDUS 2000 'Command delay time in us 
DEFINE LCD_DATAUS 50 'Data delay time in us 

;RS232
DEFINE HSER_RCSTA 90h 'omoguci prijemnom registru prijem
DEFINE HSER_TXSTA 20h 'omoguci predajnom registru predaju
DEFINE HSER_BAUD 2400 'brzina prenosa 2400 boda
DEFINE HSER_SPBRG 25  'direktno podesi SPBRG


POCETAK:

PAUSE 100
LCDOUT $FE, 1, "Pocetak" 
PAUSE 1000
P1:
HSERIN [B0, DEC W1]
lcdout $FE, 1, "1" 

GOTO P1
END
shema:
[img=http://img216.imagevenue.com/loc55/th_615418767_shema_122_55lo.png]
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PIC 16f628 + RS232

Post by pedja089 »

Pod uslovom da si sve dobro podesio ovo bi trebalo raditi...

Code: Select all

Define OSC 20

;LCD DISPLAY 16X2
DEFINE LCD_DREG PORTB 'LCD data port
DEFINE LCD_DBIT 4 'LCD data starting bit 0 or 4
DEFINE LCD_RSREG PORTA 'LCD register select port
DEFINE LCD_RSBIT 0 'LCD register select bit
DEFINE LCD_EREG PORTA 'LCD enable port
DEFINE LCD_EBIT 2 'LCD enable bit
DEFINE LCD_RWREG PORTA 'LCD read/write port
DEFINE LCD_RWBIT 1 'LCD read/write bit
DEFINE LCD_BITS 4 'LCD bus size 4 or 8
DEFINE LCD_LINES 2 'Number lines on LCD
DEFINE LCD_COMMANDUS 2000 'Command delay time in us
DEFINE LCD_DATAUS 50 'Data delay time in us

;RS232
DEFINE HSER_RCSTA 90h 'omoguci prijemnom registru prijem
DEFINE HSER_TXSTA 20h 'omoguci predajnom registru predaju
DEFINE HSER_BAUD 2400 'brzina prenosa 2400 boda
DEFINE HSER_SPBRG 25  'direktno podesi SPBRG


POCETAK:

PAUSE 100
LCDOUT $FE, 1, "Pocetak"
PAUSE 1000
P1:
HSERIN [W1]
lcdout $FE, 1, w1 ' na prvu lokaciju upisuje primljeni znak. Kako iz terminala stizu ascii vrednosti, samo se proslede na displej, bez konverzije...

GOTO P1
END
ZlacX
Pocetnik na forumu
Pocetnik na forumu
Posts: 38
Joined: 03-01-2009, 16:17

Re: PIC 16f628 + RS232

Post by ZlacX »

Thx pedja ... malo sam ti izmjenil kod ..... sad radi ... al to nije sve to je samo pocetak .... :D
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PIC 16f628 + RS232

Post by pedja089 »

Ma menjaj koliko oces, bitno da nesto radi... Da mozes primiti i poslati nazad. Ostalo sve dodje lako...
ZlacX
Pocetnik na forumu
Pocetnik na forumu
Posts: 38
Joined: 03-01-2009, 16:17

Re: PIC 16f628 + RS232

Post by ZlacX »

Pitanje ... kako iz virtualnog terminala dobiti neku smislenu vrijednost na displayu ?
odnosno kad upisem slovo A da dobijem istu stvar na displayu ...

Code: Select all

W1 var byte
POCETAK:

    PAUSE 100
    LCDOUT $FE, 1, "Pocetak"
    PAUSE 100

P1:
    HSERIN  [portb.1, w1]
    lcdout $FE, 1,DEC w1," ",hex W1," ",w1
GOTO P1
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PIC 16f628 + RS232

Post by pedja089 »

To sto si napisao je ok, podrazumevam da su gore registri definisani...
Sad sta ti je virtuelni terminal, pojma nemam.
Ali sa stvarnim terminalom tako radi...
ZlacX
Pocetnik na forumu
Pocetnik na forumu
Posts: 38
Joined: 03-01-2009, 16:17

Re: PIC 16f628 + RS232

Post by ZlacX »

Vterm(proteus->isis->instruments ->virtual terminal) ili ti Bluetooth na shemi .....
Govoril si prije o konverziji ... kaj si mislil pod time Ascii u Decimalnu vrijednost ili ...?
I kako iz ascii-ja dobiti slova odnosno brojke??
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PIC 16f628 + RS232

Post by pedja089 »

Ovako...
Asci tabela, pogledaj na netu. Videces da ako promenljiva X sadrzi broj 48, da ce na displeju pisati 0, ako je 49, onda ce pisati 1.
Tako da ako prikazujes cifru na displeju, prikazujes je onako kako si primio. Ako hoces da racunas nesto, tj treba ti cifra onda Y=X-48, i u Y ti se nalazi cifre 0-9.
Ako primis recimo 3 bajta i svaki sadrzi po 1 cifru, onda od svakog oduzmes 48, pa levu cifru pomnozis sa 100, srednju sa 10, i desnu saberes samo...
ZlacX
Pocetnik na forumu
Pocetnik na forumu
Posts: 38
Joined: 03-01-2009, 16:17

Re: PIC 16f628 + RS232

Post by ZlacX »

Imas kakav primjer koda jer ja dobivam neke cudne vrijednosti na displayu ... zezam se sa tim a nemogu dobiti nesto normalno ...
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: PIC 16f628 + RS232

Post by pedja089 »

Za hardverki port nemam nista...
Uglavnom koristim SERIN. Jer do sad mi se samo 1 potrefilo da su mi tx i rx slobodni...
User avatar
grunf
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 286
Joined: 19-04-2008, 14:22
Location: Cvjećara

Re: PIC 16f628 + RS232

Post by grunf »

e bas me zainteresova :D, evo ti solution, male rs323 test aplikacije uradjen u visual c# express , visual c# express je besplatan i mozes ga skinuti i registrovat a s druge strane na picu je trunku promjenjen primjer iz mikroc pro for pic za uart, sve radi pristojno! Naravno da se moze popravit, nadma se da ce ti pomoci, meni je bilo interesanstno :D...e da nisma imao ovaj tvoj pic vec 16F887. pozz
Attachments
UART.rar
source iz samplesa mikroc PRO for pic malo prepravljen
(38.8 KiB) Downloaded 273 times
serijska komunikacija 2.rar
solution app-source
(119.39 KiB) Downloaded 281 times
izgled app
izgled app
Untitled.png (22.33 KiB) Viewed 3442 times
prikaz na lcd-u
prikaz na lcd-u
test.png (93.35 KiB) Viewed 3442 times
Post Reply