Autor Thema: Tasterabfrage mit PIC 16F84  (Gelesen 1590 mal)

Offline Shunth

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
Tasterabfrage mit PIC 16F84
« am: Oktober 23, 2016, 14:41:31 Nachmittag »
Hallo im Forum,

ich beschäftige mich ("Beginner") mit dem PIC 16F84 und wollte eine einfache Tastenabfrage realisieren. Also RA0 - RA3 sollen Eingänge sein an denen ein Taster hängt. Bei Tastendruck und gehalten gibt der Taster GND an den Pin. Nun soll an RB0 - RB3 eine LED leuchten. (Vdd wird ausgegeben) Beim loslassen des Tasters soll die LED wieder ausgehen. Für die Abfrage eines Tasters geht das mit:

;----------------------------------------------------------------------
           list          p=16F84A       ; list definiert den Controller
           #include     <p16F84A.inc>  ; Headerdatei mit Registernamen
           errorlevel     -302            ; suppress message 302 
           __CONFIG       _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC
;            Config:     no code protect, no watchdog,
;             power-up timer enabled, 4 MHz .. 20 MHz clock
;----------------------------------------------------------------------
; VARIABLE DEFINITIONS
;----------------------------------------------------------------------
temp_01        equ        0x0C            ; temporäres Zählregister
temp_02        equ        0x0D            ; temporäres Zählregister
;----------------------------------------------------------------------
       ORG       0x000        ; Anfangsadresse 0x000
;----------------------------------------------------------------------
; Hauptprogramm: main
;----------------------------------------------------------------------
main                      ; Ports konfigurieren
            bsf      STATUS, RP0     ; auf Bank 1 schalten
            movlw    0x1f                     
            movwf    TRISA           ; RA0-RA4 Eingänge
            movlw    0x00                 
            movwf    TRISB           ; RB0-RB7 Ausgänge
            bcf      STATUS, RP0     ; auf Bank 0 schalten
                                     ; Initialisierungen:
            clrf     PORTB        ; Port B löschen
;----------------------------------------------------------------------
mainloop    btfsc    PORTA, 0    ; RA1=0 ?
          goto     clrb        ; nein -> clrb
          bsf      PORTB, 7    ; ja -> RB7=1
                  goto     mainloop         
clrb            bcf      PORTB, 7    ; RB7=0
                 goto     mainloop    ; Hauptzyklus
;----------------------------------------------------------------------
            end                  ; Programmende
;----------------------------------------------------------------------

Wie kann mann aber nun die weiteren Taster für die Abfrage einbinden? Habe schon Google probiert, aber eine Lösung nicht gefunden. Bin für jeden Ansatz dankbar!

Offline Darkside

  • Newbie
  • *
  • Beiträge: 45
    • Profil anzeigen
Re: Tasterabfrage mit PIC 16F84
« Antwort #1 am: Februar 11, 2017, 09:57:15 Vormittag »
Hi,
Für einen anderen Schalter verwendest einen anderen Pin vom Pic. Dementsprechend hat dieser einen anderen Namen in der Software. Also vielleicht Etwas zwischen RA0- RA7. Oder RB0-7.
Eigentlich solltest du bei deiner Suche auch über sprut.de gestolpert sein. Ist super zum einstig.

 


* Recent Topics