;project5 ;----------------------------------------------------------------------- ----- list p=16f84a ; processor pic16f84a #include <p16f84a.inc> ; verwendet definition ;----------------------------------------------------------------------- ----- __CONFIG _CP_OFF&_PWRTE_ON&_WDT_OFF&_RC_OSC ; voreinstellungen ;----------------------------------------------------------------------- ----- org 0x00 ; reset adresse 00(hex) goto main ; sprung zu main ;----------------------------------------------------------------------- ----- main bsf STATUS,RP0 ; schaltet auf bank1 bcf TRISB,0 ; setzt RB0 auf out bcf TRISB,1 ; setzt RB1 auf out bcf TRISB,2 ; setzt RB2 auf out bcf TRISB,3 ; setzt RB3 auf out bcf TRISB,4 ; setzt RB4 auf out bcf TRISB,5 ; setzt RB5 auf out bcf TRISB,6 ; setzt RB6 auf out bcf TRISB,7 ; setzt RB7 auf out bcf STATUS,RP0 ; schaltet zurück auf bank0 SA BTFSS PORTA,0 goto SAEIN goto SB SB BTFSS PORTA,1 goto SBEIN goto SC SC BTFSS PORTA,0 goto SC2 goto SA SC2 BTFSS PORTA,1 goto AUS goto SA AUS bcf PORTB,0 bcf PORTB,1 bcf PORTB,2 bcf PORTB,3 bcf PORTB,4 bcf PORTB,5 bcf PORTB,6 bcf PORTB,7 goto SA SAEIN comf PORTB,0 comf PORTB,1 comf PORTB,2 comf PORTB,3 goto SA SBEIN comf PORTB,4 comf PORTB,5 comf PORTB,6 comf PORTB,7 goto SA end ______________________________________________________________________ _ Das was ihr da oben seht ist mein Code ich habe da folgendes problem und zwar soll SC alle Ports ausschalten aber es soll nicht passieren das ich das Programm SC auslöse wenn ich SA und SB ausführe, deswegen muss ich irgendwie die Bits masskieren finde dazu aber nix in google kann mir das mal einer anhand meines Codes demonstrieren.
Hi Du solltest schon dazu schreiben, welcher Assemblercode dies ist. Ein Goto in Assembler ist mir unbekannt. Auch Sprungmarken ohne ":" Ansonsten such für die Bitmasken die Referenzen für "AND", "OR", "XOR". Gruß oldmax
oldmax schrieb: > Du solltest schon dazu schreiben, welcher Assemblercode dies ist. oben steht, dass es ein PIC ist. Da gibt es auch ein goto und die Labels werden ohne ":" geschrieben. Acker schrieb: > habs schon hinbekommen mit AND weil unser lehrer es erklärt hat. ok. Aber du solltest beim initialisieren noch PORTA als Eingang definieren. Sicher ist sicher und ich kann nicht 100%ig sagen, ob bei allen PICs der Start-Zustand "Eingang" ist. Zudem kannst du auch eine 0 ins W-Register schreiben und diese dann nach TRISB kopieren. Also mit movlw und movf.
und alle benutzten Ports mit einem Schreibbefehl einmal initialisieren, siehe Datenblatt S.15, EXAMPLE 4-1 Das ist überhaupt das wichtigste, bevor man programmiert: **************************** ***** DATENBLATT LESEN ***** ****************************
oldmax schrieb: > Ein Goto in Assembler ist mir unbekannt. > Auch Sprungmarken ohne ":" Deshalb habe ich seinerzeit auch nicht mit den PICs angefangen... ;-) Und die Dinger hatten anfangs nicht mal Interrupts. Echt! Und dann noch die Segmentiererei. Und nur 1 Arbeitsregister. Üble Sache...
> Und die Dinger hatten anfangs nicht mal Interrupts. Echt!
Das Urgestein der Flash-Typen ist der 16F84. Der hat Interrupt.
Lothar Miller schrieb: > Deshalb habe ich seinerzeit auch nicht mit den PICs angefangen... ;-) Das sind natürlich zwei triftige Gründe, eine µC-Familie abzuschreiben. Man muss kein Doppelpunkt bei den Sprungmarken schreiben und man kann an eine beliebige stelle im Code springen. Das stört mich auch immernoch..... nicht.
fang grade erst an mit dem Programmieren wir bekommen von unserem Lehrer aufgaben gestellt welche wir aus eigener hand meistern sollen er gibt uns nur kleine tips am ende spielen wir unser programm auf und testen es :P meine Laufen immer xD sind zwar ein bissel unordentlich und nicht kommentiert aber sie funktionieren ^^ naja aller anfang ist schwer. aber danke für eure tips
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.