0% ont trouvé ce document utile (0 vote)
21 vues4 pages

Rs 232

Le document décrit la norme RS-232 pour la communication série, utilisée sur les PC depuis 1981 jusqu'au milieu des années 2000, ainsi que la configuration de l'USART du microcontrôleur PIC 16F877A. Il détaille les registres nécessaires pour la transmission et la réception de données, ainsi que la mise en place d'interruptions. Enfin, il présente un programme permettant d'afficher les données reçues sur un afficheur 7 segments.

Transféré par

Sef Yous
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues4 pages

Rs 232

Le document décrit la norme RS-232 pour la communication série, utilisée sur les PC depuis 1981 jusqu'au milieu des années 2000, ainsi que la configuration de l'USART du microcontrôleur PIC 16F877A. Il détaille les registres nécessaires pour la transmission et la réception de données, ainsi que la mise en place d'interruptions. Enfin, il présente un programme permettant d'afficher les données reçues sur un afficheur 7 segments.

Transféré par

Sef Yous
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Définition du RS232 PIE1 - Peripheral interrupt enable register

(en banque 1)
RS-232 (parfois appelée EIA RS-232, EIA 232
ou TIA 232) est une norme standardisant une
voie de communication de type série.
Disponible sur presque tous les PC depuis
Utilisation des interruptions de
1981 jusqu'au milieu des années 2000, il est l'USART du microcontrôleur.
communément appelé le « port série ».
Le fil TX de la liaison RS232 est relié à la
La connectique de cette liaison se présente broche RB2/TX/CK du PIC, à travers une
fréquemment sous la forme du connecteur interface (MAX232 ou équivalent).
DE-9 ou DB-25, Les connecteurs DB-9 ont
Configuration du registre TRISC
rapidement remplacé les DB-25, pour des
raisons de taille de connecteur et d'économie broche RC6/RX/DT à configurer en entrée
de câblage.
broche RC7/TX/CK à configurer en entrée
USART = Universal Synchronous (bien que ce soit une sortie)
Asynchronous Receiver Transmitter
Initialisation du registre SPBRG et du bit
L'USART du PIC 16F877A gère deux modes : BRGH

La vitesse de transmission est 9600 bauds /


 mode asynchrone
 mode synchrone seconde, avec un quartz de 4 MHz :

SPBRG = D'25' (valeur du registre SPBRG)


Registres spéciaux utilisés par
l'USART : BRGH = 1 (bit 2 du registre TXSTA)

SPBRG - Baud rate generator (en banque 1) SYNC = 0 (bit 4 du registre TXSTA) : mode
TXSTA- Transmit status and control (en asynchrone
banque 1)
SPEN = 1 (bit 7 du registre RCSTA) :
RCSTA - Receive status and control (en utilisation du port série
banque 0)
Autorisation de l'interruption
TXREG - Transmit data register (en banque
GIE = 1 (bit 7 du registre INTCON) :
0)
autorisation globale des interruptions
RCREG - Receive data register (en banque 0)
PEIE = 1 (bit 6 du registre INTCON) :
Auquels s'ajoutent 3 registres, si les autorisation des interruptions des
interruptions de l'USART sont utilisées : périphériques

INTCON - Interrupt control register (banque RCIE = 1 (bit 4 du registre PIE1) : autorisation
0, 1, 2 ou 3) de l'interruption de l'USART

PIR1 - Peripheral interrupt flag register (en Autorisation de la transmission du port


banque 0) série

TXEN = 1 (bit 5 du registre TXSTA)


ORG 0x00

Dans la routine d'interruption : goto start

Sauvegarde du contexte org 0x04 ; Interrupt Vector

goto RCV_ISA
Ecriture dans le registre TXREG des 8 bits
de données à transmettre start:

Restauration du contexte BANKSEL TRISD

CLRF TRISD

LE TRAVAIL DEMANDE BANKSEL TRISC

BSF TRISC,7;TX

BCF TRISC,6 ;RX


Réaliser a l’aide du pic et la carte easypic un
programme qui permet de faire un affichage BANKSEL PORTD
sur un afficheur 7 segments les donnes MOVLW 0x81
transmises a partir d’un Pc.
MOVWF PORTD

MOVLW D'25'

LE PROGRAMME BANKSEL SPBRG

List p=16F877A ; processeur utilisé MOVWF SPBRG

#include <p16F877A.inc> BSF PIE1,RCIE;

__config _CP_OFF & _WDT_OFF & BSF INTCON,PEIE


_PWRTE_ON & _XT_OSC & _LVP_OFF & _CPD_OFF
& _DEBUG_OFF & _BODEN_ON BSF INTCON,GIE

;---------------------------------------- BCF PIR1,RCIF

TIME: EQU 0x30 BANKSEL PORTC

TIME1: EQU 0x31 CLRF FLAGS

RCV_DATA: EQU 0x20; donnée reçue BANKSEL TXSTA

FLAGS: EQU 0x21 ; drapeaux utilisateurs MOVLW 0x24

W_Save: EQU 0x22 MOVWF TXSTA

STATUS_Save: EQU 0x23 BANKSEL RCSTA

READY: EQU 0 ; Flag: RCV Data Ready MOVLW 0x90

FRAME: EQU 1 ; Flag: Frame Error MOVWF RCSTA

MOVLW 0xFC
BSF PORTA,1

ENVOI: CLRF PORTD

BANKSEL TXREG SWAPF RCV_DATA,W

movwf TXREG ANDLW 0X0F

BANKSEL PIR1 CALL TABLE

WaitTX: BCF STATUS,RP0

btfss PIR1,TXIF MOVWF PORTD

goto WaitTX BCF PORTA,2

BANKSEL FLAGS CALL DELAY5

NO_DATA: BSF PORTA,2

BTFSS FLAGS,READY MOVF RCV_DATA,W

GOTO NO_DATA btfsc STATUS,Z

clrf RCV_DATA

INCF RCV_DATA goto ENVOI

MOVF RCV_DATA,W ; reception donnée RCV_ISA:

BCF FLAGS,READY banksel STATUS_Save

BANKSEL PORTD movwf W_Save

BTFSC RCSTA,FERR movf STATUS,W

BSF FLAGS,FRAME clrf STATUS

BANKSEL RCREG movwf STATUS_Save

MOVF RCREG,W BCF FLAGS,FRAME ;

MOVWF RCV_DATA banksel RCSTA

BSF FLAGS,READY btfsc RCSTA, OERR

ANDLW 0X0F goto Overrunerror

call TABLE BANKSEL STATUS_Save

BCF STATUS,RP0 MOVF STATUS_Save,W

MOVWF PORTD MOVWF STATUS

BCF PORTA,1 SWAPF W_Save,F

CALL DELAY5 SWAPF W_Save,W


GOTO FIN RETLW 0X66

;---------------------------------- RETLW 0X6D

DELAY RETLW 0X7D

MOVLW D'250' RETLW 0X07

MOVWF TIME RETLW 0X7F

LOOP1 RETLW 0X6F

NOP RETLW 0X77

DECFSZ TIME,F RETLW 0X7C

GOTO LOOP1 RETLW 0X58

RETURN RETLW 0X5E

DELAY5 RETLW 0XF9

MOVLW D'255' RETLW 0X71

MOVWF TIME1 RETURN

LOOP5 ;----------------------------------

CALL DELAY

DECFSZ TIME1,F

GOTO LOOP5 FIN:

RETURN RETFIE

;---------------------------------- END

Overrunerror:

BANKSEL RCSTA
Conclusion
BCF RCSTA,CREN
Dans ce TP nous avons appris a configurer et
BSF RCSTA,CREN envoyé des données a travers la liaison USART du
pic en utilisant les interruptions.
TABLE

ADDWF PCL,F

RETLW 0X3F

RETLW 0X06

RETLW 0X5B

RETLW 0X4F

Vous aimerez peut-être aussi