- Labornetzteil AliExpress         
Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 31

Thema: 1.Programm Taster betätigt, LED an

  1. #1
    Erfahrener Benutzer Begeisterter Techniker Avatar von µautonom
    Registriert seit
    04.04.2007
    Ort
    Paderborn
    Beiträge
    225

    1.Programm Taster betätigt, LED an

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo, ich erwähne es nochmal habe erst vor kurzem mit der PICs angefangen
    Benutze den PIC16F628A.

    Zu meinem Programm.
    Wenn ein taster betätigt wird soll eine LED leuchten, dazu benutze ich die Taster-und Led-Platien von Sprut.

    Wenn RA0 (Taster) betätigt wird , an LED an (RB0)

    Code:
    ;*************************************
    ;
    ; Includedatei für den PIC16F628A
    	list p=16f628a
    	include "p16f628a.inc"
    
    ;*************************************
    ; Configuration festlegen
    ; 8Mhz Resonator: Brown out Reset on, Data Protection off, Power up Timer on, Watchdog off, LV-Programmierung off
    
    	_CONFIG  _BOREN_ON & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _HS_OSC & _LVP_OFF
    
    ;
    ;*************************************
    ;
    ; Pinfunktion festlegen
     
     org 0x0000                    ;Programmstart
    	
     clrf 	PORTA			;Comperators off
     movlw	0x07			;I/O Funktion ermöglichen
     movwf	CMCON
    
     BCF 	STATUS, RP1		;Bank 1 auswählen		
     BSF	STATUS, RP0
    
     movlw	0x3F	    		;Pins config 
     movwf	TRISA			;PORTA Input
    
     movlw	0x00			;PortB Output
     movwf 	TRISB
    
     bcf	STATUS, RP0		;Bank 0 auswählen
    
    ;***********************************************
    ;Taster abfragen , Led ausgeben
    ;Sollte das eigentliche Programm stehen
    .
    .
    .
    
    end
    Problem ist ich weiß nicht wie ich das machen soll.
    Mit dem 80C535 hätte ich das so gemacht, hab vor einem Jahr mit dem 80C535 gearbeitet, was auch nicht schwer ist.

    Code:
    anf:	
     	    mov a, p6.0 		;Schalter einlesen 
     	    jb p6.0, Ledan		;Schalter abfragen z.B 1, wenn betätigt = 1 springe zu Ledan
    	    jmp anf			;Wenn Schlater unbetätigt zum Anfang springen ,Endlosschleife
    
    Ledan:	setb p4.0		;Bit setzen , Led geht an
    	    jmp anf
    	
    end
    Nur beim PIC versteh ich nicht wie ich das umsetzen soll, Die PIns und den
    PIC hab ich konfiguriert, wie man oben im Code sehen kann.
    Ich häthe das so gemacht, das ich erst PORTA einlesen würde anschließend den ausgelsenen Wert in das Working Register schreiben wurde, wenn ein Bit gesetzt ist also Schlater betätigt LED anmachen ?? "setb" gibt es ja nicht bei den PIC-Befehlen.

    Könnt ihr mir da weiterhelfen?

    Wie sieht es noch mit dem Anschluss aus, wäre der dnan so richtig?
    ->siehe Anhang
    Hab kein Eagle draufgehbat, sonst hätte ich es vernuenftig in Eagle gezeichnet

    Mfg
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken anschluss_154.jpg  

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    15.09.2006
    Ort
    Berlin
    Beiträge
    21
    Versuch mal folgendes:

    anf: btfss PORTA,x ; teste Bit x von Porta
    goto Ledan ; springe,wenn Bit=0 (Schalter gedrückt)
    bcf Portb,y ; nicht gedrückt--> Led aus
    goto anf:
    Ledan: bsf PORTB,y ; setze Bit y von Port B (Led)
    goto anf

    Ist die einfachste Variante ohne Tastenentprellung.

    MfG
    Digger

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    15.09.2006
    Ort
    Berlin
    Beiträge
    21
    Im Anhang ist mir noch was aufgefallen.
    Jede LED braucht einen eigenen Widerstand
    und der LS245 hat keine +5V-Versorgung (Pin 20)/Masse(Pin10).
    Das Bild ist auch nicht so gut zu erkennen.

    Viel Erfolg !
    Digger

  4. #4
    Erfahrener Benutzer Begeisterter Techniker Avatar von µautonom
    Registriert seit
    04.04.2007
    Ort
    Paderborn
    Beiträge
    225
    Hallo

    @digger werd ich probieren, danke. Werd mir gelich den Code angucken , mal schuan ob ich dne verstehe.

    Ich hab statt dem LS245 den HCT245 genommen der braucht eine Versorungsspannung von 5V und hat einen Masse Asnchluss, die Pins sind dieselben wi ebeim LS245 glaub ich.

    Den Masse Asnhcluss von der Led taster Platine muss ich doch mit dem Masseanschluss des PICS Vss verbinden? Kann ich auch die ext. 5Volt die ich für den PIC benutze auch für die beiden Platinen nehmen? Und stimmt der Code von mir oben?

    Die beiden Stromlaufpläne vegrößert siehst du hier ->

    Bild hier  
    Bild hier  

    EDIT: Der Code sieht mi logisch aus wnen ich mir den so angucke, denke das wird funzen, aber bitte les dir noch meien Fragen hier durch
    Mfg

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.10.2004
    Ort
    ferd. Waldmüllerg. 7/2
    Alter
    39
    Beiträge
    456
    Jede LED braucht einen eigenen Widerstand
    Also wenn ich jetzt nicht vollständig auf dem Holzweg bin, dann ist das Zeichen bei den LEDs ein Widerstandsarray, wo ein Ende der Winderstände zusammengeführt ist. D.h. jedes der LEDs hat nen Vorwiderstand.

    Bei dem LS245 musst du mit "invoke IC2" (nat. ohne die Anfphrungszeichen ) die Pins der Versorgungsspannung sichtbar machen, sonst werden sie nur verbunden, wenn du statt dem +5V-Symbol den Vcc-Symbol verwendest.

    lg
    Mobius

  6. #6
    Erfahrener Benutzer Begeisterter Techniker Avatar von µautonom
    Registriert seit
    04.04.2007
    Ort
    Paderborn
    Beiträge
    225
    Hi, es werden überall Widerstandsarray benutzt. Di ebeiden Zeichnungen hab ich nicht erstellt , die sind von spruts Homepage, was meinst du mit Vcc verwenden. Sprut h aj aleider nirgends im Schaltplan ein Vcc verwendet aber muss an Pin1 "DIR" 5Volt Versorungsspannung? Pin20 Vcc die Versorungsspannungpin ist gar nicht eingetragen. Pin 19 wird doch mit Masse Verbunden richhtig.

    Bei der Taster Platine Pin10 auch an +5V un dPin1 Masse, kann die Versorgungsspannung 5Volt die ich an den Pic schließe auch mit den versorgungpins für die beiden Platinen?


    Mfg

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    09.07.2007
    Beiträge
    11
    Hi qautonom,

    funktioniert dein Programm? Was ist z.B. mit dem Interrupt-Vektor? Vielleicht bringt dich das ein bisschen weiter……

    org 0x00
    goto main

    org 0x04
    retfie ; return vom Interrupt

    org 0x10

    MfG

  8. #8
    Erfahrener Benutzer Begeisterter Techniker Avatar von µautonom
    Registriert seit
    04.04.2007
    Ort
    Paderborn
    Beiträge
    225
    Hi, hatt enoch nicht die Möglichkeit, da mein Freund den Porgrammer ausgeliehen hat, morgen werd ichs testen, aber vorher wär ich froh wenn mir digger , mobius noch auf meinen letzten Beitrag antworten bevor ichs anschließe

    Mfg

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2007
    Beiträge
    13
    Hallo,
    ja du musst die 5V und Masse sogar vom Pic verwenden!

    Gruß

  10. #10
    Erfahrener Benutzer Begeisterter Techniker Avatar von µautonom
    Registriert seit
    04.04.2007
    Ort
    Paderborn
    Beiträge
    225
    Hab versucht heuet den Quellcode zu übersetzen. Es kamen nen Haufen Fehlermedlungen raus

    Ich hab keien Ahnung was die bedeuten. hab das Projket mit dem Wizzard erstellt und auch die 16f628a.lkr Linker Date unter Linker Source eingefügt

    Bin jede Zeile durchgengangen mir ist nix aufgefallen falsche Schreibweise? Kann mir wer helfen?
    Wenn ich bei gto anf den Doppelpunt wegmache ändert sich auch nix

    Mfg[/code]

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests