Forum: Mikrocontroller und Digitale Elektronik 16F84A Hausaufgabe


von Rein_Sch (Gast)


Lesenswert?

Folgende Hausaufgabe muss ich lösen:
Mit PORTA,4 und PORTB,4 wird je ein Stellglied freigeschaltet

Meine Fragen zu dieser Hausaufgabe:

Welcher Wert steht im Register PortA,  1 ???

Loop  movf     PORTA,0
  ANDLW  0X0F

Wie muss das Unterprogramm Init aussehen:


Noch eine Frage ist zu klären:
Schreibe die ISR
Die ISR vergleicht WERTA mit einem Grenzwert (Grenz)
Ist WERTA größer, so soll die angeschlosse LED am letzten PIN PORTB 
aufleuchten

Das ganze Programm


list p = 16f84a
include <p16f84.inc>
WERTA equ 0X30

Org 0
Goto HPR

Org 4
ISR      .
  .
  .
  retfie

HPR  Call Init

Loop  movf     PORTA,0
  ANDLW  0X0F
  movwf    WERTA
  movf    PORTB,0
  ANDLW  0X0F
  subwf    WERTA,0
  btfss    STATUS,Z
  goto    LOOP
  bsf    PORTB,4
  call    AAUS
  movf    WERTA,0
  movwf    PORTA
  bsf    PORTA,4
  nop
  bcf    PORTA,4
  call    AEIN
  bcf    PORTB,4
  goto    LOOP
  goto    ENDE

AAUS      .
      .
      .
      return
AAEIN    .
      .
      .
      return
INIT      .
      .
      .
      return

ENDE      nop
      End

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
Noch kein Account? Hier anmelden.