R
ripkars
Guest
Hei alle,
Jeg opplever glitching / gjenstand effekter på produksjonen låsene knyttet til PORTA, PORTB og PORTC registre av en PIC 16F870.
Koden som skriver til disse havnene er:
Code:SCL_UP EQU H'0020 '
SCL_DN EQU H'0021 '
SDA_ORG EQU H'0022 '
TBYTE EQU H'0023 '
LAMP1 EQU H'0024 '
LAMP2 EQU H'0025 '
T_LAMP1 EQU H'0026 '
T_LAMP2 EQU H'0027 '
TEMPB EQU H'0028 '
TEMPC EQU H'0029 'ORG 00h
; PORTA -> LEDS -knappen
; PORTB -> DATA (SDA)
; PORTC -> Klokke (SCK)BCF STATUS, 7; deaktivere alle avbruddBSF STATUS, 5; Bytt til Bank 1
MOVLW b'00000111 '; satt Porta pins til digitale
MOVWF ADCON1; i / o (i stedet for analog)
MOVLW b'00000001 '; Sett port A pins
MOVWF Trisa; til utgang (unntatt RA0).
BSF STATUS, 5; Bytt til Bank 1 igjen (ikke nødvendig?)
MOVLW b'00000000 '; Sett Port B til utgang
MOVWF TRISB;
BSF STATUS, 5; Bytt til Bank 1 igjen (ikke nødvendig?)
MOVLW b'00000000 '; Sett Port C til utgang
MOVWF TRISC;
BCF STATUS, 5; bytte tilbake til Bank 0MOVLW d'5 '
MOVWF SCL_UP
MOVLW d'5 '
MOVWF SCL_DN
MOVLW d'150 '
MOVWF LAMP1
MOVLW d'150 '
MOVWF LAMP2
MOVF LAMP1, 0
MOVWF T_LAMP1
MOVF LAMP2, 0
MOVWF T_LAMP2
MOVLW B'00000000 '; initialize adresse register
MOVWF TBYTE
CLRW; Main syklus
Hvile
BSF PORTA, 2; slå på RA2 (Led GREEN)
CALL GENERIC_DELAY
BCF PORTA, 2; slå RA2
BTFSS PORTA, 0; hvis RA0 er UP -> begin
GOTO hvile
BCF PORTA, 2
; GOTO (OTHER_CODE_NOT_POSTED_BUT_FOR_SURE_NOT_IMPORTANT); Loop Blinkende Led
GENERIC_DELAY
CLRW
DLY_GEN DECFSZ LAMP1, 1
GOTO DLY_GEN
DECFSZ LAMP2, 1
GOTO DLY_GEN
; RICARICO LAMP1 E LAMP2
MOVF T_LAMP1, 0
MOVWF LAMP1
MOVF T_LAMP2, 0
MOVWF LAMP2
RETURN
Jeg opplever glitching / gjenstand effekter på produksjonen låsene knyttet til PORTA, PORTB og PORTC registre av en PIC 16F870.
Koden som skriver til disse havnene er:
Code:SCL_UP EQU H'0020 '
SCL_DN EQU H'0021 '
SDA_ORG EQU H'0022 '
TBYTE EQU H'0023 '
LAMP1 EQU H'0024 '
LAMP2 EQU H'0025 '
T_LAMP1 EQU H'0026 '
T_LAMP2 EQU H'0027 '
TEMPB EQU H'0028 '
TEMPC EQU H'0029 'ORG 00h
; PORTA -> LEDS -knappen
; PORTB -> DATA (SDA)
; PORTC -> Klokke (SCK)BCF STATUS, 7; deaktivere alle avbruddBSF STATUS, 5; Bytt til Bank 1
MOVLW b'00000111 '; satt Porta pins til digitale
MOVWF ADCON1; i / o (i stedet for analog)
MOVLW b'00000001 '; Sett port A pins
MOVWF Trisa; til utgang (unntatt RA0).
BSF STATUS, 5; Bytt til Bank 1 igjen (ikke nødvendig?)
MOVLW b'00000000 '; Sett Port B til utgang
MOVWF TRISB;
BSF STATUS, 5; Bytt til Bank 1 igjen (ikke nødvendig?)
MOVLW b'00000000 '; Sett Port C til utgang
MOVWF TRISC;
BCF STATUS, 5; bytte tilbake til Bank 0MOVLW d'5 '
MOVWF SCL_UP
MOVLW d'5 '
MOVWF SCL_DN
MOVLW d'150 '
MOVWF LAMP1
MOVLW d'150 '
MOVWF LAMP2
MOVF LAMP1, 0
MOVWF T_LAMP1
MOVF LAMP2, 0
MOVWF T_LAMP2
MOVLW B'00000000 '; initialize adresse register
MOVWF TBYTE
CLRW; Main syklus
Hvile
BSF PORTA, 2; slå på RA2 (Led GREEN)
CALL GENERIC_DELAY
BCF PORTA, 2; slå RA2
BTFSS PORTA, 0; hvis RA0 er UP -> begin
GOTO hvile
BCF PORTA, 2
; GOTO (OTHER_CODE_NOT_POSTED_BUT_FOR_SURE_NOT_IMPORTANT); Loop Blinkende Led
GENERIC_DELAY
CLRW
DLY_GEN DECFSZ LAMP1, 1
GOTO DLY_GEN
DECFSZ LAMP2, 1
GOTO DLY_GEN
; RICARICO LAMP1 E LAMP2
MOVF T_LAMP1, 0
MOVWF LAMP1
MOVF T_LAMP2, 0
MOVWF LAMP2
RETURN