Microcontroladores 5ra Parte

  • Uploaded by: Jair Eviel Barrios Deluquez
  • 0
  • 0
  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Microcontroladores 5ra Parte as PDF for free.

More details

  • Words: 1,389
  • Pages: 26
MICROCONTROLADORES M.Sc. César Augusto Peña C. Profesor de planta – Ingeniería mecatrónica Universidad de Pamplona

COMUNICACIÓN SERIAL RS232 (ASINCRÓNICA) UART: Transmisión/Recepción Asíncrona Universal

Niveles

Niveles INTERFAZ

RS232

PIC TTL

NIVELES RS232 25 v 15 v

0 Lógico

0 Lógico 3v

5v 0v

Indeterminado

0v

Indeterminado

-3 v

-5 v 1 Lógico

1 Lógico

-15 v -25 v

Transmisor

Receptor

ESTRUCTURA DE UN CARÁCTER

INTERFAZ PC-PIC

LECTURA DE DATOS

T2 = 1 /Velocidad de transmisión T1 = 1.5 T2 Velocidad de transmisión = 1200 Bps T2 = 833 µS T = 1.5 * 833 µS = 1249.5 µS

RECEPCIÓN DE UN BYTE Verificar Rx • Si esta en Rx = 1 significa que NO se están transmitiendo datos

RECEPCIÓN DE UN BYTE Si Rx cambia a “0” significa que el PIC esta recibiendo un dato (este cambio) ocurre puesto que esta leyendo el comienzo del bit de indicio

NBITS = 8

0 Bit de acarreo

0 0 0 0 0 0 0 0 RECEP

RECEPCIÓN DE UN BYTE Se realiza un retardo equivalente a 1.5 bits, se limpia el carry, se rota el registro auxiliar RECEP, se pone en 1 el bit 7 del mismo en caso que Rx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

NBITS = 7

0 Bit de acarreo

0 0 0 0 0 0 0 0 RECEP

RECEPCIÓN DE UN BYTE Se realiza un retardo equivalente a 1 bits, se limpia el carry, se rota el registro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso que Rx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

NBITS = 6

0 Bit de acarreo

1 0 0 0 0 0 0 0 RECEP

RECEPCIÓN DE UN BYTE Se realiza un retardo equivalente a 1 bits, se limpia el carry, se rota el registro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso que Rx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

NBITS = 5

0 Bit de acarreo

1 1 0 0 0 0 0 0 RECEP

RECEPCIÓN DE UN BYTE Se realiza un retardo equivalente a 1 bits, se limpia el carry, se rota el registro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso que Rx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

NBITS = 4

0 Bit de acarreo

0 1 1 0 0 0 0 0 RECEP

RECEPCIÓN DE UN BYTE Se realiza un retardo equivalente a 1 bits, se limpia el carry, se rota el registro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso que Rx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

NBITS = 3

0 Bit de acarreo

1 0 1 1 0 0 0 0 RECEP

RECEPCIÓN DE UN BYTE Se realiza un retardo equivalente a 1 bits, se limpia el carry, se rota el registro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso que Rx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

NBITS = 2

0 Bit de acarreo

1 1 0 1 1 0 0 0 RECEP

RECEPCIÓN DE UN BYTE Se realiza un retardo equivalente a 1 bits, se limpia el carry, se rota el registro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso que Rx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

NBITS = 1

0 Bit de acarreo

0 1 1 0 1 1 0 0 RECEP

RECEPCIÓN DE UN BYTE Se realiza un retardo equivalente a 1 bits, se limpia el carry, se rota el registro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso que Rx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

NBITS = 0

0 Bit de acarreo

1 0 1 1 0 1 1 0 RECEP

RECEPCIÓN DE UN BYTE Al detectar que el registro NBITS es igual a cero el PIC reconoce que la transmisión del dato ha finalizado

NBITS = 0

0 Bit de acarreo

1 0 1 1 0 1 1 0 RECEP

PROGRAMA DE RECEPCIÓN DE DATOS ;AUTOR: CÉSAR AUGUSTO PEÑA c ;PIC: 16F84A ;FUNCION: ;ESTE PROGRAMA RECIBE DATOS (BYTE DE 8 BITS) SERIALMENTE ENVIADOS ; POR LA COMPUTADORA A LA PATILLA DE RA0 Y POSTERIORMENTE MUESTRA LOS DATOS EN EL PUERTO B ;CARACTERISTICAS: ;OSCILLATOR: ;WATCHDOG TIMER: ;POWER UP TIMER: ;CODE PROTECT:

XT OFF ON OFF

INCLUDE "P16F84A.Inc" ;*******DEFINICION DE REGISTROS********************************** CBLOCK .12 REG1, REG2, REG3, RECEP, NBITS ENDC RX equ 0h ;PATILLA QUE RECIBE LOS DATOS ;*******DEFINICION DE DATOS************************************** VALOR1 EQU .7 ;para controlar numero de ciclos del retardo bymedio VALOR2 EQU .1 ;1246 CICLOS DE RETARDO VALOR3 EQU .56 VALOR4 EQU .5 ;para controlar numero de ciclos del retardo by VALOR5 EQU .1 ;830 CICLOS DE RETARDO VALOR6 EQU .52 ;*******PROGRAMA************************************************* ORG 00 goto INICIO

PROGRAMA DE RECEPCIÓN DE DATOS INICIO

RECIBIR

RNEXT

org bsf movlw movwf clrf bcf clrf clrf

05 STATUS,RP0 b'00000001' TRISA TRISB STATUS,RP0 PORTA PORTB

movlw movwf

b'00000101' ;Carga un dato por defecto en el puerto B PORTB

nop btfsc goto call movlw movwf clrf bcf rrf btfsc bsf call decfsz goto movf movwf goto

PORTA,RX RECIBIR BYMEDIO 8 NBITS RECEP STATUS,C RECEP,1 PORTA,RX RECEP,7 BY NBITS RNEXT RECEP,w PORTB RECIBIR

;PASA AL BANCO 1

;PASA AL BANCO 0

;linea de recepcion esta en bajo? ;ciclo hasta recibir bit de comienzo ;llama rutina de bymedio ;carga contador con el numero de bits

;limpia carry ;pregunta por el estado de la linea ;si rx esta en alto pone el bit 7 de RECEP

;pasa el dato del registro RECEP al PORTB

PROGRAMA DE RECEPCIÓN DE DATOS BYMEDIO TRES DOS UNO

BY TRES2 DOS2 UNO2

movlw movwf movlw movwf movlw movwf decfsz goto decfsz goto decfsz goto retlw

VALOR1 REG1 VALOR2 REG2 VALOR3 REG3 REG3 UNO REG2 DOS REG1 TRES 0

;retardo de bit y medio

movlw movwf movlw movwf movlw movwf decfsz goto decfsz goto decfsz goto retlw end

VALOR4 REG1 VALOR5 REG2 VALOR6 REG3 REG3 UNO2 REG2 DOS2 REG1 TRES2 0

;retardo de bit

PROGRAMA DE TRANSMISIÓN DE DATOS ;AUTOR: CÉSAR AUGUSTO PEÑA c ;PIC: 16F84A ;FUNCION: ;ESTE PROGRAMA ENVIA DATOS (BYTE DE 8 BITS) SERIALMENTE HACIA LA COMPUTADORA ;POR LA PATILLA DE RA1 ;CARACTERISTICAS: ;OSCILLATOR: ;WATCHDOG TIMER: ;POWER UP TIMER: ;CODE PROTECT:

XT OFF ON OFF

INCLUDE "P16F84A.Inc" ;*******DEFINICION DE REGISTROS********************************** CBLOCK .12 REG1, REG2, REG3, TRANS, NBITS ENDC RX equ 0h ;PATILLA QUE RECIBE LOS DATOS TX equ 1h ;PATILLA QUE TRANSMITE DATOS ;*******DEFINICION DE DATOS************************************** VALOR4 EQU .5 ;para controlar numero de ciclos del retardo by VALOR5 EQU .1 ;830 CICLOS DE RETARDO VALOR6 EQU .52 ;*******PROGRAMA************************************************* ORG 00 goto INICIO

PROGRAMA DE TRANSMISIÓN DE DATOS INICIO

NADA

ENVIAR

org bsf movlw movwf clrf bcf clrf clrf

05 STATUS,RP0 b'00000001' TRISA TRISB STATUS,RP0 PORTA PORTB

movlw movwf

b'00000101' ;Carga un dato por defecto en el puerto B PORTB

movlw addlw call nop goto

.7 30h ENVIAR NADA

movwf movlw movwf bcf call

TRANS .8 NBITS PORTA,TX BY

;PASA AL BANCO 1

;PASA AL BANCO 0

;Dato a transmitir ;convierte caracter PC

;Carga dator en el registro a transmitir ;Carga el número de bits ;Carga el contador ;Pone la línea en bajo ;Retardo que genera el bit de arranque

PROGRAMA DE TRANSMISIÓN DE DATOS OTROBIT

bcf bcf rrf btfsc bsf call decfsz goto bsf call retlw goto

PORTA,TX STATUS,C TRANS STATUS,C PORTA,TX BY NBITS OTROBIT PORTA,TX BY 0 INICIO

;Pone la línea en bajo ;Limpia el carry ;Rota el registro de transmision ;verifica el estado del bit de acarreo ;Pone la línea en alto ;Retardo que genera el bit de datos ;Decrementa el contador ;Transmitir el siguiente bit ;Pone la línea en alto ;Retardo que genera el bit de parada

BY

movlw movwf movlw movwf movlw movwf decfsz goto decfsz goto decfsz goto retlw

VALOR4 REG1 VALOR5 REG2 VALOR6 REG3 REG3 UNO2 REG2 DOS2 REG1 TRES2 0

;retardo de bit

TRES2 DOS2 UNO2

end

PROGRAMA DE TRASMISIÓN Y RECEPCIÓN DE DATOS DEL PC

PROGRAMA DE TRASMISIÓN Y RECEPCIÓN DE DATOS DEL PC

PROGRAMA DE TRASMISIÓN Y RECEPCIÓN DE DATOS DEL PC

Related Documents


More Documents from "Jair Eviel Barrios Deluquez"

El Entorno Del Plc
October 2019 22
Topografia
October 2019 37