Så när det ska vara hög ut ska den vara en ingång, göres hög av ett yttre motstånd.
När den ska vara låg göres pinnen till en utgång med bitdata=0.
Jag har försökt, jag får inte det att funka, får bara hög ut hela tiden, ser inte vad jag gör för fel.
Kod: Markera allt
list p=16f688
#include "M:\MPASM Suite\P16F688.INC"
__CONFIG _CP_OFF & _CPD_OFF & _BOD_OFF & _PWRTE_ON & _WDT_OFF & _EC_OSC & _MCLRE_OFF & _FCMEN_OFF & _IESO_OFF
;-------------------------------------------------------------
MotorKlarUtOC_L macro
banksel TRISA
bcf TRISA, 0 ; ställ in utgång, bitdata=0 inställ i init
banksel 0
endm
;-------------------------------------------------------------
MotorKlarUtOC_H macro
banksel TRISA
bsf TRISA, 0 ; ställ in ingång
banksel 0
endm
;-------------------------------------------------------------
init
banksel CMCON0
movlw b'00000111' ; Comparator Off (Lowest power)
movwf CMCON0
banksel ANSEL
movlw b'00000010' ; analog in, tempsensor MCP9701
movwf ANSEL
banksel PORTA
clrf PORTA
banksel TRISA
movlw b'00001011'
movwf TRISA
banksel PORTC
clrf PORTC
banksel TRISC
movlw b'00010000'
movwf TRISC
banksel 0
; i huvudprogrammet
slinga
movlw d'5'
call Tid01
MotorKlarUtOC_L
movlw d'5'
call Tid01
MotorKlarUtOC_H
goto slinga