PIC 16F870 / glitches / artefakte na PORTA, PORTB in PORTC

R

ripkars

Guest
Hi all,
Jaz sem se srečujejo glitching / artefakt učinki na izhod ključavnice, povezanih s PORTA, PORTB in PORTC registri PIC 16F870.
Kodo, ki piše za ta pristanišča, je:

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 BUTTON

; PORTB -> DATA (SDA)

; PORTC -> CLOCK (SCK)BCF STATUS, 7, onemogočite vse interruptsBSF STATUS, 5; Switch to Bank 1

MOVLW b'00000111 "iz Porta zatiči na digitalno

MOVWF ADCON1; i / o (namesto analogni)

MOVLW b'00000001 "Set Port pins

MOVWF TRISA; v izhod (razen RA0).

BSF STATUS, 5; Switch banki 1 spet (ni nujno?)

MOVLW b'00000000 '; Nastavi Port B za izhod

MOVWF TRISB;

BSF STATUS, 5; Switch banki 1 spet (ni nujno?)

MOVLW b'00000000 '; Nastavi Port C na izhod

MOVWF TRISC;

BCF STATUS, 5; preklopite nazaj v 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 naslov register

MOVWF TBYTE

CLRW; Main cikel

Zopet začeti

BSF PORTA, 2; vklopite RA2 (Led GREEN)

CALL GENERIC_DELAY

BCF PORTA, 2; zapreti RA2

BTFSS PORTA, 0; če RA0 je UP -> začetek

Pojdi zopet začeti

BCF PORTA, 2

; GoTo (OTHER_CODE_NOT_POSTED_BUT_FOR_SURE_NOT_IMPORTANT); Utripa Loop Led

GENERIC_DELAY

CLRW

DLY_GEN DECFSZ LAMP1, 1

Pojdi na DLY_GEN

DECFSZ LAMP2, 1

Pojdi na DLY_GEN

; RICARICO LAMP1 E LAMP2

MOVF T_LAMP1, 0

MOVWF LAMP1

MOVF T_LAMP2, 0

MOVWF LAMP2

RETURN

 
Vodila utripa, ampak čas, ki ostane v off stanju traja približno 2 ali 3 navodila čas, in o stanju, kaj se pravi splošne zamude.
morate uporabiti simulator, tako da lahko najdete napake, kot je ta z lahkoto.

s spoštovanjem.

 
narcizzo u imeli prav: po gori pic s to kodo
Code:

Zopet začeti

BSF PORTA, 2; accendo RA2 (Led VERDE)

CALL GENERIC_DELAY

BCF PORTA, 2; spengo RA2

CALL GENERIC_DELAY

BTFSS PORTA, 0; se RA0 č UP -> Cominicia

Pojdi zopet začeti

BCF PORTA, 2

Pojdi na MAIN_LOOP
 

Welcome to EDABoard.com

Sponsor

Back
Top