RS232 A/D feldolgozás PC-vel (16F873)

Az alábbi PIC program az analóg csatornák eredményeit átküldi a PC-re az eredmény további feldolgozására illetve megjelenítésére. A program inicializálása után - FOPROG - várakozik a PC-ről jövő aktív csatorna kijelölő értékre, ha ezt megkapta, akkor kezdődik az analóg jel feldogozása, ezután az eredmény át kerül a PC-re, ahol a 10 bites érték alapján kiszámításra kerül a tényeleges érték a VREF-hez viszonyítva. A PC-s program a COM1 portról várja, az eredményeket, és a kommunikáció működést a "zöd ledecske" villogása jelzi.


PC PROGRAM LETÖLTÉSE (360 KB)

 


; PIC16F873 4MHz
; ANALÓG CSATORNÁK FELDOLGOZÁSA PC-VEL 
; JErvin © 2004


list P = 16F873 
include "P16f873.inc" 
__config  _CP_OFF & _XT_OSC & _WDT_OFF & _PWRTE_ON & _LVP_OFF & _BODEN_ON 


BANK0:		MACRO
		BCF		STATUS, RP0
		BCF		STATUS, RP1
		ENDM

BANK1:		MACRO
		BSF		STATUS, RP0
		BCF		STATUS, RP1
		ENDM
		;
		; VEKTOROK
		;
		ORG		0x0000
		GOTO		GYI
		ORG		0x0004
		RETFIE
		;
		; PORTOK ÉS ANALÓG BEÁLLÍTÁSOK
		;
GYI:
		BANK0
		CLRF	PORTA		; PORTOK TÖRLÉSE
		CLRF	PORTB
		CLRF	PORTC
		BANK1	
		CLRF	TRISB		; PORTB MIND KIMENETRE
		MOVLW	0x80		; PORTC RC0..RC6/TX KIMENETRE RC7/RX-BEMENETRE
		MOVWF	TRISC		; SET
		MOVLW	0x2F		; PORTA ANALÓGNAK BEMENTRE
		MOVWF	TRISA		; SET
		MOVLW	0x02		; BALRA IGAZÍTÁS, MINDEN ANALÓG, VREF A TÁP
		MOVWF	ADCON1		; SET 
		BANK0
		MOVLW	B'00000001'	; FOSC/2, AKTÍVCSATORNA RA0 , BEKAPCS.
		MOVWF	ADCON0		; SET
		;
		;KOMMUNIKÁCIÓ BEÁLLÍTÁSA		
		;
		BANK1				
		MOVLW	0x19		; 9600 BAUD
		MOVWF	SPBRG		; SET
		BSF	TXSTA, BRGH	; HIGH SPEED
		BSF	TXSTA, TXEN	; ADÁS ENGED
		BANK0
		BSF	RCSTA, CREN	; VÉTEL ENGED
		BSF	RCSTA, SPEN	; SOROS PORT ENGED

		MOVLW	0x80
		MOVWF	PORTB		; PIC MŰKÖDIK JELZÉS RB7-RE
		;
		; FŐPROGRAM
		;		
FOPROG:
		BCF	RCSTA, OERR 	; RÁFUTÁSI HIBA TÖRLÉSE
		BTFSS	PIR1, RCIF	; VAN VÉTEL?
		GOTO	$-1		; HA NINCS, VÁRAKOZÁS
		MOVFW	RCREG		; VEVŐREGISZTER KIOLVASÁSA
		MOVWF	ADCON0		; SET A PC-RŐL KAPOTT AKTÍVCSATORNA		
		BSF	ADCON0, GO	; AD START
		BTFSC	ADCON0, GO	; A/D KÉSZ ?
		GOTO	$-1		; HA NEM, VISSZA
		MOVFW	ADRESH		; AD EREDMÉNY HI-BYTE
		CALL	SEND		; KÜLDÉS
		BANK1				
		MOVFW	ADRESL		; AD EREDMÉNY LO-BYTE
		BANK0
		CALL	SEND		; KÜLDÉS
		GOTO	FOPROG		; MÉG, MÉG...

SEND:	
		BTFSS	PIR1, TXIF	; TX PUFFER ÜRES?
		GOTO	$-1		; HA NEM, VÁRAKOZÁS 
		MOVWF	TXREG		; KÜLDÉS
		RETURN

END

Lsd még:
Mikrovezérlő-Áramkörök