Sida 1 av 1

Cin- & intenal Cout - nästa steg

Postat: 9 juni 2016, 13:23:27
av Erik M
PIC12F683

Så, Cin- med internal Cout och versus VR är igång och fungerar som det är tänkt.
Tack för hjälpen som behövdes för det. :tumupp:

Nästa steg gäller att växla mellan detta och digital output på pinnen.

Denna väg ser ut vara den att fara...

Kod: Markera allt

PROGRAM			
			
initial_SFR			
	BANKSEL 	BANK_0	
	CLRF 	GPIO 	; initiate GPIO 
			
	BANKSEL 	BANK_1	
	CLRF 	TRISIO	; all I/O output
	CLRF 	ANSEL	; all GPIO digital
			
	BANKSEL 	BANK_0	
	MOVLW 	0x07	
	MOVFW 	CMCON0	; disable comparator 
			
	BANKSEL 	BANK_0	
			
MAIN_LOOP 			
			
start_comparator_GP1			; Cin- & internal Cout

	BANKSEL 	BANK_1	
	BSF 	TRISIO, GP1 	; GP1 input
	BSF 	ANSEL, ANS1	; AN1
			
	BANKSEL 	BANK_0	
	BCF 	CMCON0, CM1	; /Cin+
	BCF 	CMCON0, CM0	; /Cout
			
start_digital_output_GP1 			; I/O & output

	BANKSEL 	BANK_1	
	BCF 	TRISIO, GP1 	; GP1 output
	BCF 	ANSEL, ANS1	; /AN1
			
	BANKSEL 	BANK_0	
	BSF 	CMCON0, CM1	; /Cin+
	BSF 	CMCON0, CM0	; /Cout
			
	GOTO 	MAIN_LOOP 
Frågan är om man istället kan luta sig på databladet, och göra såhär...

Kod: Markera allt

PROGRAM			
			
initial_SFR			
	BANKSEL 	BANK_0	
	CLRF 	GPIO 	; initiate GPIO 
			
	BANKSEL 	BANK_1	
	CLRF 	TRISIO	; all I/O output
	CLRF 	ANSEL	; all GPIO digital
			
	BANKSEL 	BANK_0	
	MOVLW 	0x07	
	MOVFW 	CMCON0	; disable comparator 
			
	BANKSEL 	BANK_0	
			
MAIN_LOOP 			
			
start_comparator_GP1			; Cin- & internal Cout

	BCF 	CMCON0, CM1	; /Cin+
	BCF 	CMCON0, CM0	; /Cout
			
start_digital_output_GP1 			; I/O & output

	BSF 	CMCON0, CM1	; /Cin+
	BSF 	CMCON0, CM0	; /Cout
			
	GOTO 	MAIN_LOOP
Som synes en ordentlig besparing i instruktioner.