PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pic an pc über serielle schnittstelle



Goblin
10.01.2005, 19:15
moin!

ich würde gerne den pic16f84 über die serielle schnittstelle mit meinem pc labern lassen (erstmal hyperterminal). ich hab das schonmal gemacht, allerdings nicht privat... und nicht selber gebastelt.. also, hat jemand nen link zu nem schaltplan, bzw kann mir jemand sagen, wie das genau geht (pin-belegung am serial-port, usw..). ich denke ich brauche dann noch diesen ominösen max-sonstwie-ic.

ach, und als ich das damals schonmal gemacht hatte, hatte ich zahlen an den rechner gesendet und der hat die als ascii-code genommen und mir den entsprechenden buchstaben angezeigt.. kann man das irgendwie umgehen? also dass der direkt die zahl anzeigt? oder muss ich die variable erst in ne ascii-nr umwandeln (per software im pic), die die zahl darstellt?

stegr
10.01.2005, 19:55
1.) Der 16F84 hat keinen Hardware-UART, das bedeutet keine Hardwareunterstützung für deine serielle Schnittstelle und somit musst du das Verhalten der seriellen Schnittstelle in Software nachbilden (oder einen anderen PIC mit Hardware-UART nehmen) - das ist aber nicht weiter schwer: Du musst an einem Pin in genau dem richtigen Takt deine Daten absenden und an einem anderen Pin auf deine Daten warten. Wenn du nur senden willst, ist das einfacher, aber wenn du auch empfangen willst, wird das ein klein wenig aufwendiger.

Das ganze sieht folgendermaßen aus:

PIC mit Hardware-UART (z.B. 16F870):
- du initialisierst den UART
- du schreibst das zu sendende Byte in ein spezielles Register
- fertig

PIC ohne Hardware-UART (z.B. 16F84):
- Timer einrichten
- Startbit am Pin anlegen
- Erstes Datenbit extrahieren (Bitmaske auf das Byte legen und verUNDen)
- Auf Timer-Interrupt warten
- den Ausgangspin entsprechend dem Datenbit setzen
- nächstes Bit extrahieren (rechtsverschieben, Bitmaske, verUNDen)
- auf Timer-Interrupt warten
- ...
- Stoppbit anlegen
- fertig

Also, wie du siehst ist beides nicht so aufwändig. Wenn du allerdings auch Daten mit dem PIC empfangen willst, so musst du bei Hardware-UART nur ein Register auslesen und fertig. Ohne Hardware-UART musst du nach dem Timer-Interrupt immer dein Empfangsbit prüfen, ob da ein Startbit dran liegt. Wenn ja, dann Merker setzen und weiter wie ghabt. Beim nächsten Timer-Interrupt das Bit am PIN auslesen und in ein Byte schieben (also verODERn, dann nach links verschieben). und immer so weiter, bis das 10. Bit da ist. Das muss dann HIGH sein.

Zur Hardware: MAX muss bei reinem senden nicht sein, da reichen Transistoren, die das Ausgangssignal invertieren. Wenn du den UART in Software nachbildest, kannst du auch auf die verzichten. Natürlich kannst du auch nen MAX nehmen, aber die 80 Cent kannst du dir auch sparen... ;)

Zur PC-Software: Dein Programm liest von der seriellen Schnittstelle immer ein Byte. Wie du das interpretierst - ob als Zahl oder als ASCII-Zeichen - das ist egal. Du kannst natürlich auch immer die Zahl anzeigen lassen... oder die Zahl umrechnen... alles prblemlos möglich.

MfG
Stefan

11.01.2005, 11:13
ich benutze ne basic-aehnliche hochsprache zum pic proggen. da gibt es die befehle serin und serout. denen gibt man nen pin, ne baudrate und variablen. ich denke das duerfte schon reichen. ich brauch dann halt nur die schaltung....

11.01.2005, 11:14
der beitrag ueber diesem war auch von mir

nicht eingeloggt

goblin

ingo_01
11.01.2005, 18:36
Hallo goblin,

brauchst Du nur Schaltung!!
Guckst Du hier: http://home.earthlink.net/~david.ek/digicircles/graphics/dscschem.gif

GRUSS
INGO

stegr
11.01.2005, 21:04
@ingo: also die Schaltung ist nicht grade die beste dafür... da ist ein bissle zuviel drauf und die Bauteile sind teilweise falsch dimensioniert...

Ich habs grade mal kurz neu gezeichnet (siehe Anhang)...
Das ist vom Prinzip her die minimale Beschaltung eines PICs mit einem MAX232. Mit etwas weniger Bauteilen ginge es auch nur mit Transistoren, aber dann ist das ganze auch störanfälliger und etwas komplizierter zu verstehen.

Der MAX ist nur ein Pegelwandler von TTL auf +-15V (mehr oder weniger).
Es gibt verschiedene Varianten davon:
-die günstigste: MAX232 (ohne irgendwas) braucht 1uF bis 4.7uF Elkos (die 10uF Elkos sind eigentlich genaugenommen schon ausserhalb der Specs, aber gehen auch notfalls. Nur der IC zieht dann im Einschaltmoment kurzzeitig mehr Strom, als er dürfte.)
- die teuren: MAX232E (Enhanced) braucht 100nF bis 1uF-Kondensatoren (müssen keine Elkos sein, können aber). Diese sind besonders gut für kompakte Layouts geeignet, da die Kondensatoren kleiner sind.
- die sehr teuren: MAX232AXTC brauchen gar keine externen Bauteile, kosten aber auch über 10 EUR das Stück bei 1000er-Abnahme und gibt es nicht einzeln zu kaufen.
- von diversen anderen Herstellern, z.B. ST232 von STMicroelectronics oder auch von TI. Funktionieren genauso, PIN-kompatibel, aber manchmal andere Kondensatorwerte... also immer im Datenblatt nachschaun.
- sehr viele sehr ähnliche (gleiche Funktion) von diversen Herstellern (auch von Maxim) mit ähnlichem Namen (z.B. MAX202). Also auch hier im Datenblatt schaun.

MfG
Stefan

Goblin
12.01.2005, 14:32
warum sind denn da pinne mit kondensatoren verbunden? und ist pin 5 der seriellen schnittstelle masse oder muss der auf masse gelegt werden?

ach, und ist das : link (http://www.reichelt.de/inhalt.html?SID=14QareU9S4AQ4AAHP7IYE05b933e97630a fabff2274436b6a3924;ACTION=3;LASTACTION=4;SORT=art ikel.artnr;GRUPPE=A217;WG=0;SUCHE=max232;ARTIKEL=M AX%2520232%2520CPE;START=0;END=16;STATIC=0;FC=667; PROVID=0;TITEL=0;CASE=ignore;CONNECT=AND;WHOLE_WOR D_SEARCH=0;SORT_SEARCH=standard) der richtige ic?

edit by stegr: Bitte keine so langen Links posten... das Layout wird sonst verzerrt...

stegr
12.01.2005, 17:12
1.) Die Kondensatoren werden für die Ladungspumpe, die in dem IC drinnen ist, benötigt. Und um dabei die richtigen Werte zu erhalten, müssen die auch in der richtigen Größenordnung liegen.
2.) Pin 5 der Seriellen muss auf Masse gelegt werden. [ist aber genau das gleiche, wie "ist Masse". Gleich bezeichnete Netze müssen immer verbunden werden. Wenn du dir die Belegung angeschaut hättest, würdest du feststellen, dass auf Pin 5 GND liegt.]
3.) Ja, der IC ist der richtige.

Goblin
17.01.2005, 19:05
ok, danke!

dann werd ich das mal basteln und hoffen, dass es funzt. sonst sehen wir uns in diesme thread wieder ;)

überigens, sorry wegen dem link!
ich werds jetzt so machen: Link (http://www.google.de) .. sieht auch besser aus :)

Goblin
17.02.2005, 07:56
ich hab jetzt nen max232N , muss also die elkos nehmen. nun hab ich hier noch aus meinem dvd-player (schrott) welche mit 3,3 µf und 50V rumliegen. kann ich die nehmen?

goller1
17.02.2005, 15:02
http://www.xg-midifiles.de/stand.jpg

Hallo Goblin!

Ich habe dasselbe vor wie du 16F84 an PC seriell anschliessen.

Kannst du mir dabei vielleicht helfen.

Ich programmiere den Pic mit Pic Basic Pro.
Und die Schnittstelle mit Visual Basic 6 (MSComm32).

Aber mit den Schaltplänen und der Anfertigung der Schaltung
habe ich Schwierigkeiten.(Bin kein Elektroniker,nur Hobby)

Hier mein Schaltplan:


http://www.xg-midifiles.de/schalt1.gif

Wenn du Lust hast mir zu helfen,kann ich dir meine Software zur Verfügung stellen.

Kannst dich auch per Email bei mir melden(ron6699@gmx.de)

Gruß
R.H.D.B.

Goblin
17.02.2005, 16:26
naja, ich hab mir die schaltung von stegr (oben) gebastelt, aber da hab ich noch irgendwo nen fehler drin.... softwareseitig müsste es bei mir gehen (hab jal und das hyperterminal benutzt. allerdings nen pic16f870

stegr
17.02.2005, 17:44
@goller1: Ist das wirklich der Schaltplan, den du meinst?
Denn dort wird keine serielle Schnittstelle verwendet, sondern nur ein serielles EEProm. Damit kannst du aber keine Verbindung mit einem Rechner herstellen...

@goblin:
die sind ok... 1µF oder größer, da sind 3,3µ mit dabei...
UNd die 50V reichen auch; dabei ist alles über 15V ok...

MfG
Stefan

R.H.D.B.
18.02.2005, 02:46
Hi nochmal!

So,bin jetzt registriert.

Hab nen neuen Schaltplan gefertigt.

http://www.xg-midifiles.de/PIC 16F84+MAX232.jpg

Könnt ihr mir sagen ob der Plan richtig ist?

Data I/O(A)+Data I/O(B) sind doch für den Datenaustausch oder?

Kann mann das auch nur mit einem Pin machen?

Den Quarz habe ich weggelassen weil ich den Takt per Software
steuere.(mit DEFINE OSC 3,75 z.b.)

Danke erstmal.
Ich meld mich dann nochmal wenn alles stimmt.


http://www.xg-midifiles.de/stand.jpg



Gruß
R.H.D.B.

Goblin
18.02.2005, 08:43
warum nimmst du nicht einfach den schaltplan von stegr? der pic16f84 ist von den pinnen her kompatibel zum 16c84...

ausserdem: es müsste theoretisch mit einem pin gehen, glaub ich... weil du sendest und empfängst ja sinnigerweise eh nicht gleichzeitig..

Goblin
18.02.2005, 11:17
àßþ†˜Æ àððø€ø þ÷þ

hab ich gerad an den rechner gesendet bekommen..

aaaber: nicht über ein pic-programm, sondern dadurch, dass ich ne krokoklemme, die vom pic kommt, kurz an die in-leitung des max halte..

ist das wenigstens nen zeichen dafür, dass die schaltung funktioniert?
ich glaub meine software aufm pic ist fehlerhaft, weil die nix sendet... kann mir einer vielleicht für nen PIC16F870 nen prog schreiben, was mir auf irgendeinem pin (port b oder c) nen signal rausschmeisst? "Hallo" oder so? damit ich die schaltung testen kann!

ich freu mich über jede hex-datei! ;)

edit: kann es auch nur an der baudrate liegen? oder krieg ich bei falscher baudrate wenigstens datenmüll?

R.H.D.B.
18.02.2005, 14:35
Kannst du mir auch so eine Schaltung basteln?

Ich bekomme das nicht hin mit dem löten und so.

Kannst dafür Pic Basic Pro Haben.

Ich geb dir nacher einpaar hex files hab jetzt keine zeit.
bis dann
R.H.D.B.

Goblin
18.02.2005, 14:52
also wenn meine schaltung funktioniert kann ich dir auch so eine basteln, kein problem. was ist pic-basic-pro? welche pics kann ich damit programieren?

anbei mal nen foto von meiner anordnung:

http://wwwhomes.uni-bielefeld.de/szehe/serielle_verbindung_aufbau.jpg

http://wwwhomes.uni-bielefeld.de/szehe/serielle_verbindung_platine.jpg


ist nur ne einseitige testverbindung. die platine kriegt auch noch ordentliche stecker..


@ stegr: sag mal, kann es sein, dass auf dem plan von dir der kondensator, der vom max pin2 an vdd geht falschrum ist? weil laut datenblatt ist der andersrum.

ich hatte die schaltung genau nach deinen angaben aufgebaut, und nix wird heiss oder explodiert.. ;)

R.H.D.B.
18.02.2005, 23:59
Hi nochmal!

Mit Pic Basic Pro kannst du deine Pic's in Basic programmieren.
Ist die einfachste Methode.
Damit kannst du ca. 200 Modelle programmieren.
Von:12C508
bis :18F8720
Ich kann sie hier nicht alle auflisten.
Ausserdem bin ich noch Anfänger(kenne mich da noch nicht so aus)

Wenn du kein Interesse daran hast,sag mir was ich dir sonst dafür geben kann.

Das Hexfile im Anhang schreibt "Hallo" in den internen Eeprom(zum Test)
und sendet in einer Endlosschleife "Hallo" an PORTB.7(Pin13).
(sag bescheid wenns funktioniert)

Wenn deine Schaltung funktioniert meld dich bitte auch.
Ich werde den Tread weiterverfolgen.

Gruß

R.H.D.B.

R.H.D.B.
19.02.2005, 02:48
Das Hexfile ist für den 16C84,
nicht für den 16F870(den kann ich noch nicht programmieren)
Sorry!

Goblin
19.02.2005, 10:39
na bravo! für den prozessor könnte ich mir auch selber ne hexe schreiben! ;)

ich kann den aber momentan nicht betreiben.. weil mir 2 quarze für den schwinger fehlen... aber ich werd mal gucken, ob ich meinen alten robby mit dem 16f84 wieder zum laufen bringe. wie gesagt, den kann ich mit il-basic proggen. über dein basic mach ich mich mal schlau, weil ich hatte da schon was anderes ins auge gefasst.....

ich hab leider heute nicht die geringste zeit... ich werd das morgen mal machen, wenns geht...

stegr
19.02.2005, 16:24
@goblin: jep, der ist verkehrt rum... ist aber eigentlich auch klar, weil der ja am Ausgang der ALdungspunpe hängt, dort kommen rund 10-12V raus, und die sind ja deutlich positiver als Vcc.

Wegen nem kleinen Prog: ich hau dir später ein hex-file rein, das auf der seriellen nen kleinen Text ausgibt...

@RHDB:
1.) den Quarz kannst du nicht weglassen, weil der PIC keinen internen Oszillator hat. Diesbezüglich einfach mal das Datenblatt lesen (oder auf www.sprut.de schaun). Mit dem DEFINE sagst du nur deinem Compiler, was da für ein Quarz dran hängt, damit er die Delays richtig machen kann...
2.) Für was brauchst du das serielle EEProm da dran?
2.)

Goblin
20.02.2005, 10:57
@stegr: ok, ich wart auf die hexe, bevor ich an der alten robo-platine das rumkochen anfange...
was den quarz angeht: kam mir gleich komisch vor. von internem oszillator hab ich schonmal gehört, aber nur bei größeren pics..

R.H.D.B.
20.02.2005, 13:13
war ein fehler mit dem quarz weglassen(wie gesagt bin kein elektroniker)
den eeprom will ich das ich mehr speicher hab.

stegr
24.02.2005, 14:00
@goblin: habs endlich geschafft... :/

ich wusste nicht, was du für eine Taktfrequenz hast, daher hab ich das ganze mal für ein paar Frequenzen gemacht. Wenn deine nicht dabei ist, sag Bescheid.

MfG
Stefan

Goblin
24.02.2005, 19:36
ok, vielen dank!

Goblin
24.02.2005, 19:43
sag mal, welche baudrate nimmt der?

bei 1200 baud bekomm ich das vielsagenste signal:

<0<0<0<0<0<0<0<0<0<0<0<0<0<0 ......und so weiter

stegr
24.02.2005, 21:38
9600 Baud, keine Parität, 8 Bit, 1 Stopbit

Text: "Hallo Goblin\r\n" (ohne Anführungszeichen)

25.02.2005, 08:04
komich...... ich teste das nochmal...

Goblin
25.02.2005, 10:23
ne, da krieg ich absolut nix rein. komisch nur, dass ich bei den einstellungen die ich oben angegenben habe was reinbekomme.... gibts da wohl nen fehler in der schaltung?

stegr
25.02.2005, 10:30
Wie sieht denn die Steckerseite bei dir aus:
Du gehst vom MAX auf ne Buchse oder nen Stecker?
Von da aus weiter mit nem 1:1 belegten Kabel oder mit nem Nullmodem-Kabel?

Das sind so die typischen Fehlerquellen.
(Denn Buchse und Stecker sind ja von der Belegung her andersrum...)

MfG
Stefan

Goblin
25.02.2005, 10:38
ich hab an der platine ne buchse Hier zu sehen (http://wwwhomes.uni-bielefeld.de/szehe/serielle_verbindung_platine.jpg)


ist dann die belegung falsch, d.h. hattest du auf dem schaltplan die steckerbelegung angegeben?

stegr
25.02.2005, 10:57
Bingo... versuch einfach mal ein Null-Modem-Kabel dazwischen, oder tausche einfach mal die Pins 2 und 3 an der Buchse... ;)

Dann sollte es tun... :)

Goblin
25.02.2005, 11:35
geht nicht.. also ich hab die beiden pins getausch. hat nix gebracht. sicher, dass es die richtigen waren?

stegr
25.02.2005, 14:36
pin 2 und 3 sind rx und tx...
je nachdem, ob du ein gekreuztes kabel hast oder nicht, sollte es entweder mit oder ohne drehung funktionieren.

Bei welcher Taktfrequenz arbeitest du?

Goblin
25.02.2005, 21:47
isch 'abe gar kein kabel! hab ich doch gesagt! ich steck die buchse direkt an den rechner. der pic arbeitet mit 20MHz

stegr
25.02.2005, 22:26
ich weiss, dass du kein kabel verwendest, der satz dort oben war allgmein gemeint.

Hab grade mal das Hex-File bei mir getestet und das tut problemlos...

An RB7 von deinem PIC sollte ein wechselndes Signal erkennbar sein. Wenn nicht, dann hast du da schon ein Problem...

Und du kannst mal deinen MAX testen, d.h. du hängst mal anstelle des PICs +5V an den Pin 11 und dann sollte auf Pin 14 eine Spannung von ca. -10V sein. Wenn du den Pin auf Masse legst, dann solltest du eine Spannung von +10V messen. Wenn nicht, dann hast du deinen MAX falsch beschaltet.

MfG
Stefan

Goblin
26.02.2005, 08:27
das signal sehe ich. das ist soweit ok. das mit dem max mess ich mal durch.

Goblin
28.02.2005, 14:10
also ich messe statt -10V -8,5V und mit + entsprechend das gleiche (+8,5).. und jetzt? ich hab dabei überigens die platine nicht an den pc angeschlossen gehabt.

stegr
02.03.2005, 16:35
Sorry, war Sonntag bis Dienstag auf nem Symposium...

Die +- 8,5V sind OK... das sollte eigentlich gehn...
wirklich komisch...

Mach mal noch ein paar Bilder:
Oberseite und Unterseite RS232-Platine
Oberseite und Unterseite PIC-Platine

Und schreib bitte die Werte der Bauteile hin, die du verwendest hast, ich bau das ganze mal genau identisch wie du auf...

MfG
Stefan

Goblin
02.03.2005, 19:24
ey sag mal, is das egal, welche io-ports am pic ich nehme oder muss ich da bestimmte nehmen? fotos gibts morgen früh!

Goblin
03.03.2005, 07:58
http://wwwhomes.uni-bielefeld.de/szehe/yehaaa!!.GIF

es ging gestern abend irgendwann.... freut mich...

stegr
05.03.2005, 17:32
supi... :)
An was lags jetzt?

Goblin
05.03.2005, 18:25
keine ahnung....

spec
08.05.2005, 13:31
hallo

woher bekommt man die software in deinem screen goblin?
wäre cool wenn ich auch mal die hex bekommen würde mit dem beispiel...

thx, spec

Goblin
08.05.2005, 15:46
naja, also die software "MicroCode Studio". Aber als Terminalprogramm gibts bessere. MCS ist nur die entwickelungsumgebung für pic basic pro und deswegen hab ich halt auch direkt das terminal-tool von denen genommen.

08.05.2005, 18:34
naja ok, werd mich dan mal umschauen wegen ner software, aber ich könnte noch die hex file gebrauchen für nen 16f84, mit der man rs232 per software erzeugt...

Mobius
08.05.2005, 23:52
klick mich (http://www.sprut.de/electronic/pic/programm/rs232.htm)

Da müsstest du fündig werden ;). Wobei ich die genannten Schaltungen nicht austesten möchte. Da schon eher einen MAX232 dazwischenschalten...
Ansonsten verwende ich als Terminalprogramm schon seit ewig das Hyperterminal von Microsoft...

MfG
Mobius

Goblin
09.05.2005, 09:18
oh, das hyperterminal ist das umständlichste terminal-prog, was ich je gesehen hab. das kann doch keinen spass machen! :)

09.05.2005, 11:31
hallo, ich hab mir mal nen programm beispiel von sprut geholt:
ich müsste aber den ausgang auf rb3 haben, kann mir jemand helfen?


list p=16f84
;************************************************* *************
;*
;* Pinbelegung des PIC
;* ----------------------------------
;* PORTA: 0
;* 1
;* 2 seriell Output
;* 3
;* 4
;* PORTB: 0
;* 1
;* 2
;* 3
;* 4
;* 5
;* 6
;* 7
;*
;************************************************* *************
;*
;* sprut (zero) Bredendiek 05/2000 (mod. 01/2002; 09/2003)
;*
;* Senden via RS-232 am Pin RB2
;* output: RA1 (keine RS232-Treiberschaltkreise verwenden!)
;* Takt : 4 MHz
;*
;*
;************************************************* *************
; Includedatei für den 16F84 einbinden

#include <P16f84.INC>

; Configuration festlegen
; bis 4 MHz: Power on Timer, kein Watchdog, XT-Oscillator

__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC

;************************************************* *************
;Variablennamen vergeben

Temp Equ 0x20
cycl_1 Equ 0x21 ; Zähler
cycl_2 Equ 0x22 ; Zähler
Byte equ 0x23
out EQU 2 ; RS-232 out ist RA2

;************************************************* *************
; los gehts mit dem Programm
; Pin RA2 auf Ausgabe stellen

Init
bsf STATUS, RP0 ; unschalten auf Bank 1
movlw B'00111011' ; RA2 output
movwf TRISA ;
bcf STATUS, RP0 ; zurückschalten zur Bank 0
clrf PORTA ;

;zyklisches Senden des Zeichens 'A' als Beispiel
Loop
movlw 'A' ; es soll z.B. der Buchstabe'A' gesendet werden
call Send_RS ; Datenwort ausgeben via RS-232
goto Loop

;************************************************* **************
;senden des Bytes, das im Register W steht

Send_RS ; Ausgabe eines Bytes seriell
movwf Byte ; Byte in w
movlw 8 ; es werden 8 Bit gesendet
movwf cycl_1
bcf PORTA, out
call Warte_s ; 1 Stopbit (1)
bsf PORTA, out
call Warte_s ; 1 Startbit (0)

Send_1 rrf Byte, f ; aktuelles Bit in das Carry-Flag schieben
btfsc STATUS, C
bcf PORTA, out ; Lo wenn Bit = 1
btfss STATUS, C
bsf PORTA, out ; Hi wenn Bit = 0
call Warte_s ; 1 Bit lang warten
decfsz cycl_1, f ; waren das schon 8 Bit?
goto Send_1 ; nein, es geht weiter
bcf PORTA, out ; Byte zuende, 1 Stoppbit (1) senden
call Warte_s ;
return

;************************************************* *********
;ein Bit Zeitverzoegerung mit einer Warteschleife
; Timing muß genau stimmen (5%)
;
; senden 4 MHz 10 MHz
; 2400 Bps = 69d 173d
; 9600 Bps = 16d 43d

Warte_s movlw D'16' ; 9600 Bps / 4 MHz senden
movwf cycl_2
Warte1 ; 6 Zyklen Schleife
nop
nop
nop
decfsz cycl_2, 1
goto Warte1
return

end

Mobius
09.05.2005, 13:06
Aaaalso... Du musst diese Zeilen ändern:

"out EQU 2 ; RS-232 out ist RA2" zu "out EQU 3 ; RS-232 out ist RA2"

movlw B'00111011' ; RA2 output
movwf TRISA ;
bcf STATUS, RP0 ; zurückschalten zur Bank 0
clrf PORTA ;

diese Zeilen einfügen unten einfügen:
clrf PORTB
clrf TRISB

ALLE
"bcf PORTA, out" zu "bcf PORTB, out"
und
"bsf PORTA, out" zu "bsf PORTB, out"

Viel Glück und Freude
MfG
Mobius

09.05.2005, 18:40
hallo, scheint nicht zu funten, ich hab an rb3 ne led, die müsste doch eigentlich jetzt blinken, tut sie aber nicht.

movlw B'00111011' ; RA2 output
movwf TRISA ;
bcf STATUS, RP0 ; zurückschalten zur Bank 0
clrf PORTA ;
clrf PORTB ;
clrf TRISB ;

das andere habe ich auch alles geändert...
aber bei der led tut sich nix...

meintest du das so?

Mobius
09.05.2005, 22:18
oh, sorry, hab ne Zeile überlesen ](*,)

sollte so aussehen:

movlw B'00111011' ; RA2 output
movwf TRISA ;
clrf TRISB ;
bcf STATUS, RP0 ; zurückschalten zur Bank 0
clrf PORTA ;
clrf PORTB ;

so, jetzt sollte es eigentlich gehen...
wobei ich aber leider grad keinen MPLAB hab um es auszutesten, sorry...
MfG
Mobius

civicoid
31.05.2005, 14:14
Hallo alle zusammen ...

bin gerade dabei wieder in die ganze mikroproz. geschichte einzusteigen.

möchte mein altes handy über einen pic und max232 steuern ...
benötige dazu irgendwie nen Code, der es mir ermöglicht at-befehle über den max ans handy zu schicken und vielleicht auch zu empfangen ...

hat vielleicht jemand so'n code noch rumliegen oder könnte mir dabei helfen solch einen zu generieren