hmm
ok, ich kann euch ja den quelltext hohladen :)
; Böttner
; 10.05.2010
; Programmbeschreibung: Frequenzteiler
; ***********************************
; Beschreibung der Ein - Ausgänge
;
; Eingänge: Pin-A-0: 1 = 1Bit hoch zählen
; Pin-A-3: 1 = Rücksetzen / Sprung an anfang des Programmes
; Ausgänge: Pin-B-0 Led - 1 Binärzähler 2hoch0
; Pin-B-1 Led - 2 Binärzähler 2hoch1
; Pin-B-2 Led - 3 Binärzähler 2hoch2
; Pin-B-3 Led - 4 Binärzähler 2hoch3
; Pin-B-4 Led - 5 Blinken wenn F erreicht
; Pin-B-5 Led - 6 Blinken wenn F erreicht
; ***********************************
; ***********************************
; Syntax zur PIC - Programmierung
; Einbindung der Includedatei
#include <P16F84A.INC>
; Konfigurationseinstellungen
List P=16F84A
__CONFIG _PWRTE_ON & _CP_OFF & _WDT_OFF
; ***********************************
; Festlegung der Variablen
Zeit1 equ 0x20
Zeit2 equ 0x21
Zeit3 equ 0x22
bitmuster equ 0x23
teilung equ 0x24
vergleich equ 0x25
x1 equ 0x26
x2 equ 0x27
x3 equ 0x28
x4 equ 0x29
x5 equ 0x30
x6 equ 0x31
x7 equ 0x32
stufe1 equ 0x33
stufe2 equ 0x34
stufe3 equ 0x35
stufe4 equ 0x36
stufe5 equ 0x37
stufe6 equ 0x38
stufe7 equ 0x39
; Festlegung der Konstanten
; Definition einzelner Bits
; ***********************************
; PROGRAMMSTART
org 0x00
goto Init
; Grundinitialisierung
Init
clrw
bsf STATUS,RP0 ;Status-Register auf Ein/Ausgang Port setzen
movlw B'11111111' ;W-Reg mit Konstanter Laden
movwf TRISA ;W-Reg Konstante als Eingang Deklarieren
movlw B'00000010' ;W-Reg mit Konstanter Laden
movwf TRISB
bcf STATUS,RP0 ;Status-Register Rücksetzen
clrf PORTA
clrf PORTB
goto main
; Hauptprogramm
main ;MAIN
btfss PORTA, 0
goto test1
bsf bitmuster, 0
test1
btfss PORTA, 1
goto test2
bsf bitmuster, 1
test2
btfss PORTA,2
goto bit0
bsf bitmuster, 2
goto bit0
; Bitmuster Abfrage + Auswertung
bit0
incf bitmuster
decfsz bitmuster
goto bit1
goto main
bit1
decfsz bitmuster
goto bit2
goto laden1
bit2
decfsz bitmuster
goto bit3
goto laden2
bit3
decfsz bitmuster
goto bit4
goto laden3
bit4
decfsz bitmuster
goto bit5
goto laden4
bit5
decfsz bitmuster
goto bit6
goto laden5
bit6
decfsz bitmuster
goto bit7
goto laden6
bit7
decfsz bitmuster
goto main
goto laden7
;Teiler Einstellen
laden1
movlw B'00000001'
movwf teilung
goto t1.0a
laden2
movlw B'00000010'
movwf teilung
goto t1.0a
laden3
movlw B'00000011'
movwf teilung
goto t1.0a
laden4
movlw B'00000100'
movwf teilung
goto t1.0a
laden5
movlw B'00000101'
movwf teilung
goto t1.0a
laden6
movlw B'00000110'
movwf teilung
goto t1.0a
laden7
movlw B'00000111'
movwf teilung
goto t1.0a
;Frequenz Teilung1
t1.0a
movlw B'00001010'
movwf x1
t1.0b
btfss PORTB, 1
goto t1.0b
t1.0c
btfsc PORTB, 1
goto t1.0c
decfsz x1
goto t1.0b
movlw B'00000001'
xorwf teilung
movwf vergleich
decfsz vergleich
goto t1.0d
goto ausgabe
t1.0d
incf stufe1
decfsz stufe1
goto t2.0b
goto t2.0a
;Frequenz Teilung2
t2.0a
movlw B'00001010'
movwf x2
incf stufe1
t2.0b
btfss PORTB, 1
goto t2.0b
t2.0c
btfsc PORTB, 1
goto t2.0c
decfsz x2
goto t1.0a
movlw B'00000010'
xorwf teilung
movwf vergleich
decfsz vergleich
goto t2.0d
goto ausgabe
t2.0d
incf stufe2
decfsz stufe2
goto t3.0b
goto t3.0a
;Frequenz Teilung3
t3.0a
movlw B'00001010'
movwf x3
incf stufe2
t3.0b
btfss PORTB, 1
goto t3.0b
t3.0c
btfsc PORTB, 1
goto t3.0c
decfsz x3
goto t1.0a
movlw B'00000011'
xorwf teilung
movwf vergleich
decfsz vergleich
goto t3.0d
goto ausgabe
t3.0d
incf stufe3
decfsz stufe3
goto t4.0b
goto t4.0a
;Frequenz Teilung4
t4.0a
movlw B'00001010'
movwf x4
incf stufe3
t4.0b
btfss PORTB, 1
goto t4.0b
t4.0c
btfsc PORTB, 1
goto t4.0c
decfsz x4
goto t1.0a
movlw B'00000100'
xorwf teilung
movwf vergleich
decfsz vergleich
goto t4.0d
goto ausgabe
t4.0d
incf stufe4
decfsz stufe4
goto t5.0b
goto t5.0a
;Frequenz Teilung5
t5.0a
movlw B'00001010'
movwf x5
incf stufe4
t5.0b
btfss PORTB, 1
goto t5.0b
t5.0c
btfsc PORTB, 1
goto t5.0c
decfsz x5
goto t1.0a
movlw B'00000101'
xorwf teilung
movwf vergleich
decfsz vergleich
goto t5.0d
goto ausgabe
t5.0d
incf stufe5
decfsz stufe5
goto t6.0b
goto t6.0a
;Frequenz Teilung6
t6.0a
movlw B'00001010'
movwf x6
incf stufe5
t6.0b
btfss PORTB, 1
goto t6.0b
t6.0c
btfsc PORTB, 1
goto t6.0c
decfsz x6
goto t1.0a
movlw B'00000110'
xorwf teilung
movwf vergleich
decfsz vergleich
goto t6.0d
goto ausgabe
t6.0d
incf stufe6
decfsz stufe6
goto t7.0b
goto t7.0a
;Frequenz Teilung7
t7.0a
movlw B'00001010'
movwf x7
incf stufe6
t7.0b
btfss PORTB, 1
goto t7.0b
t7.0c
btfsc PORTB, 1
goto t7.0c
movlw B'00000111'
xorwf teilung
movwf vergleich
decfsz vergleich
goto t7.0d
goto ausgabe
t7.0d
incf stufe7
decfsz stufe7
goto ausgabe
goto ausgabe
ausgabe
btfss PORTB, 2
goto hoch
goto runter
hoch
bsf PORTB, 2
goto main
runter
bcf PORTB, 2
goto main
end ;ENDE
habe nun zum testen einfach mal ein bitmuster 0 0 1 angelegt
:-/
lg