Communication pic16F84 RS-232
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Communication pic16F84 RS-232



  1. #1
    invitea0a062f4

    Communication pic16F84 RS-232


    ------

    bonjour,

    Je suis un étudiant en génie électromécanique , et autant que bricoleur et électronicien amateur , je cherche à communiquer avec un pic 16f84 par le billet d'une liaisons RS-232 .

    Pour cela , il me faut un convertisseur TTL (Max 232) , pas de problème, mais le casse-tête c'est la fonction le programme même ,
    oui vous vous dites pourquoi ne pas travailler avec un 16f628 ou bien un 16f877.

    Mais moi je voudrais bien la programmer .

    Voila mon programme , il se compile pas d erreur mais il n y a aucune reponse du pic lors de l envoi par rs-232

    ;***************************** **********************
    ; Nom : RS-232.pin.RA0
    ; date : 07/05/2010
    ; PIC : 16F84A
    ;***************************** **********************


    LIST p=16F84A ; Définition de processeur
    #include <p16F84A.inc> ; Définitions de variables
    __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC
    ;*********** signature Eprom **************
    org 0x2100
    DE 'K','i','l','l','e','r'


    ;************** variable ************

    CBLOCK 0x00c
    temp52:1
    temp104:1
    cmpt_donné:1
    don:1
    donnée:1
    compt:1
    endc
    ;************** macro ***************

    bank0 macro
    bcf STATUS,RP0
    endm

    bank1 macro
    bsf STATUS,RP0
    endm

    ;******* declaration du reset ********

    org 0x000
    goto init

    ;************* initialisation ********
    init

    bank0

    clrf PORTA
    clrf PORTB

    bank1
    ;*** RX ******

    bsf TRISA,0

    ;*************
    bcf TRISB,0
    bcf TRISB,1
    bcf TRISB,2
    bcf TRISB,3
    bcf TRISB,4
    bcf TRISB,5
    bcf TRISB,6
    bcf TRISB,7



    bank0
    clrf PORTB
    clrf donnée
    movlw d'9'
    movwf compt
    movlw D'9'
    movwf temp52
    movlw D'19'
    movwf temp104

    ; ****************************** ****************************** ******
    ; routine de temporisation de 52 µs (52 cycles avec un quartz 4 MHz)
    tempo52

    decf temp52 , f
    movf temp52 , f
    btfss STATUS , Z
    goto tempo52 ; temp52 <> 0
    nop
    nop
    movlw D'9'
    movwf temp52
    return

    ; ****************************** ****************************** *******
    ; routine de temporisation de 104 µs (104 cycles avec un quartz 4 MHz)
    tempo104

    decf temp104 , f
    movf compteur_temp104 , f
    btfss STATUS , Z
    goto temp104 ; temp104 <> 0
    movlw D'19'
    movwf temp104
    nop
    nop
    nop
    return





    ;********** progarmme *******************
    start

    reception
    btfsc PORTA,0
    goto reception
    call tempo52
    do
    clrf don
    call tempo104
    decf compt ,f
    btfss STATUS , Z
    goto affiche
    movf PORTA,w
    movwf don
    rlf don
    movlw don
    addwf donnée
    rlf donnée ,f
    goto do

    affiche

    movlw donnée
    movwf PORTB
    clrf donnée
    movlw d'9'
    movwf compt

    goto reception




    goto start


    end

    ****************************** *********************

    Merci de votre aide .

    -----

  2. #2
    invite7a49d0d5

    Cool Re : Communication pic16F84 RS-232

    Bonsoir,

    niveau vitesse (TX et RX), c'est réglé comment...théoriquement? (9600 bauds, 19200... )?
    rapport aux tempos 52 et 104...

    vede
    ;O]
    _____________________
    ...

  3. #3
    invitea0a062f4

    Re : Communication pic16F84 RS-232

    bsr ,

    la vitesse de transmition est de 9600. donc une periode 1/9600 = 104 µs ,
    et 52µs est la moitier .

    merci

Discussions similaires

  1. Réponses: 13
    Dernier message: 05/12/2008, 09h50
Découvrez nos comparatifs produits sur l'informatique et les technologies.