16F84A Hausaufgabe

Gast #1128227
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren