SlideShare una empresa de Scribd logo
SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del
USART
                              Página 1

                  TRANSMISIÓN DE TEXTOS
Programa para comprobar la transmisión de textos, a través uno de los USART
(Receptor y Transmisor Universal Sincrónico y Asincrónico) que posee el ATmega164,
sin utilizar interrupciones y configurado en el modo asincrónico, la comprobación se
realiza mediante el Hyper Terminal que poseen las computadoras personales.
En este caso es necesario implementar el conversor entre niveles TTL y RS-232,
utilizando el circuito integrado MAX232 con 4 capacitores de 10μF como se indica en
el circuito.



                                                                       Conector
                                                                     para el cable
                                                                       de la PC




CÓDIGO DEL PROGRAMA PARA ENVIAR TEXTOS:
.NOLIST
.INCLUDE "m164pdef.inc"
.LIST
;
.DEF    AUX1 = R16
.DEF    AUX2 = R17
.DEF    AUX3 = R18
;
.CSEG
        JMP       PROGP
;
PROGP:
; CONFIGURACIÓN DEL USART 0
; PROGRAMACIÓN DEL REGISTRO DE CONTROL C
; UMSEL01:0=00 TRABAJAR EN EL MODO ASINCRÓNICO
; UPM01:0=00 DESHABILITAR LA PARIDAD
; USBS0=1 DOS BITS DE PARADA
; UCSZ01:0=11 TAMAÑO DEL CARACTER DE 8 BITS
; UCPOL0=0 POLARIDAD DEL RELOJ NO SE USA EN ASINCRÓNICO
        LDI       AUX1,0B00001110
        STS       UCSR0C,AUX1
; PROGRAMACIÓN DEL REGISTRO DE CONTROL B
; RXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA RECEPCIÓN
; TXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA TRANSMISIÓN

Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes
de Información
SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del
USART
                              Página 2
; UDRIE0=0 DESHABILITA LAS INTERRUPCIONES DATOS VACÍO
; RXEN0=1 HABILITA LA RECEPCIÓN
; TXEN0=1 HABILITA LA TRANSMISIÓN
; UCSZ02=0 TAMAÑO DEL CARACTER DE 8 BITS
; RXB80=0 NOVENO BIT DE LA RECEPCIÓN
; TXB80=0 NOVENO BIT DE LA TRANSMISIÓN
        LDI       AUX1,0B00011000
        STS       UCSR0B,AUX1
; PROGRAMACIÓN DE LA VELOCIDAD DE TRANSMISIÓN
; UBRR0H REGISTRO DEL BAUD RATE CON 1 MHz
        LDI       AUX1,0B00000000
        STS       UBRR0H,AUX1
; UBRR0L REGISTRO DEL BAUD RATE CON 1 MHz
        LDI       AUX1,25           ;BR=2400 CON U2X=0
        STS       UBRR0L,AUX1
; PARA ENVIAR UN MENSAJE
SEND:   LDI       ZL,LOW(MSJ<<1)
        LDI       ZH,HIGH(MSJ<<1)
SEND1: LPM        AUX2,Z+
        STS       UDR0,AUX2
; LAZO HASTA QUE ENCIENDA LA BANDERA TRANSMISIÓN COMPLETA
SEND2: LDS        AUX1,UCSR0A
        SBRS      AUX1,TXC0
        RJMP      SEND2
; BORRAR LA BANDERA DE TRANSMISIÓN COMPLETA
; MANTENER EL VALOR DE U2X
        LDI       AUX1,0B01100000         ;U2X=0
        STS       UCSR0A,AUX1
; ÚLTIMO CARACTER
        CPI       AUX2,0x0A
        BRNE      SEND1
; LAZO HASTA QUE ENCIENDA LA BANDERA RECEPCIÓN COMPLETA
RECIBE: LDS       AUX1,UCSR0A
        SBRS      AUX1,RXC0
        RJMP      RECIBE
        LDS       AUX1,UDR0
;
        RJMP      SEND
;
MSJ:    .DB       "EJEMPLO DE TRANSMISION",0x0D,0x0A
;
.EXIT             ; FIN DEL MODULO FUENTE

RESULTADOS CON EL HYPER TERMINAL:




Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes
de Información
SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del
USART
                              Página 3
Al cambiar la velocidad en la PC, por ejemplo a 4800 baudios, los datos que se reciben
son diferentes a los que se envían.




Igual sucede cuando la velocidad en la PC es menor, ejemplo a 1200 baudios.




El simulador del PROTEUS tiene un error en el funcionamiento del USART, por lo que
es necesario introducir un lazo de espera al enviar los datos, para poder mostrar el
funcionamiento del programa en el Terminal Virtual y en el Analizador Lógico del
simulador, que se conectan como se indica a continuación.




Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes
de Información
SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del
USART
                              Página 4
La modificación en el programa es la siguiente:
; BORRAR LA BANDERA DE TRANSMISIÓN COMPLETA
; MANTENER EL VALOR DE U2X
        LDI       AUX1,0B01100000        ;U2X=0
        STS       UCSR0A,AUX1
        RCALL     DELAY                  ; PARA VER EN EL PROTEUS
; ÚLTIMO CARACTER
        CPI       AUX2,0x0A
        BRNE      SEND1

Donde:
; ESPERA ANTES DE CONTINUAR
DELAY: LDI        AUX1,8
        CLR       R15
DELAY1: DEC       R15
        BRNE      DELAY1
        DEC       AUX1
        BRNE      DELAY1
        RET

SIMULACIÓN CON EL PROTEUS:




           “A” que
          se recibe                       “J”     “E”

                      “E” que se
                      transmite




Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes
de Información
SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del
USART
                              Página 5

IDENTIFICAR UN CARACTER ESPECÍFICO QUE
               SE RECIBE
El siguiente programa sirve para comprobar el instante en que mediante el Hyper
Terminal de la computadora personal se envía al microcontrolador un caracter
específico; como por ejemplo la letra Z mayúscula.

CÓDIGO DEL PROGRAMA PARA IDENTIFICAR UN CARACTER:
.NOLIST
.INCLUDE "m164pdef.inc"
.LIST
;
.DEF    AUX1 = R16
.DEF    AUX2 = R17
.DEF    AUX3 = R18
;
.CSEG
        JMP       PROGP
;
PROGP:
; PROGRAMACIÓN DEL REGISTRO DE CONTROL C
; UMSEL01:00=00 TRABAJAR EN EL MODO ASINCRÓNICO
; UPM01:00=00 DESHABILITAR LA PARIDAD
; USBS0=1 DOS BITS DE PARADA
; UCSZ01:00=11 TAMAÑO DEL CARACTER DE 8 BITS
; UCPOL0=0 POLARIDAD DEL RELOJ NO SE USA EN ASINCRÓNICO
        LDI       AUX1,0B00000110
        STS       UCSR0C,AUX1
; PROGRAMACIÓN DEL REGISTRO DE CONTROL B
; RXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA RECEPCIÓN
; TXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA TRANSMISIÓN
; UDRIE0=0 DESHABILITA LAS INTERRUPCIONES DATOS VACÍO
; RXEN0=1 HABILITA LA RECEPCIÓN
; TXEN0=1 HABILITA LA TRANSMISIÓN
; UCSZ02=0 TAMAÑO DEL CARACTER DE 8 BITS
; RXB80=0 NOVENO BIT DE LA RECEPCIÓN
; TXB80=0 NOVENO BIT DE LA TRANSMISIÓN
        LDI       AUX1,0B00011000
        STS       UCSR0B,AUX1
; PROGRAMACIÓN DE LA VELOCIDAD DE TRANSMISIÓN
; CUATR0 BITS RESERVADOS EN 0000
; UBRR011:8=0000 REGISTRO DEL BAUD RATE CON 1 MHz
        LDI       AUX1,0B00000000
        STS       UBRR0H,AUX1
; UBRR07:0 REGISTRO DEL BAUD RATE CON 1 MHz
        LDI       AUX1,25          ;BR=2400 CON U2X0=0
        STS       UBRR0L,AUX1
; PARA ENVIAR UN MENSAJE
SEND:   LDI       ZL,LOW(MSJ<<1)
        LDI       ZH,HIGH(MSJ<<1)
SEND1: LPM        AUX2,Z+
        STS       UDR0,AUX2
; LAZO HASTA QUE ENCIENDA LA BANDERA TRANSMISIÓN COMPLETA
SEND2: LDS        AUX1,UCSR0A
        SBRS      AUX1,TXC0
        RJMP      SEND2
; BORRAR LA BANDERA DE TRANSMISIÓN COMPLETA
; MANTENER EL VALOR DE U2X0


Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes
de Información
SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del
USART
                              Página 6
        LDI       AUX1,0B01100000         ;U2X0=0
        STS       UCSR0A,AUX1
; ULTIMO CARACTER
        CPI       AUX2,0x0A
        BRNE      SEND1
; LAZO HASTA QUE ENCIENDA LA BANDERA RECEPCIÓN COMPLETA
RECIBE: LDS       AUX1,UCSR0A
        SBRS      AUX1,RXC0
        RJMP      RECIBE
        LDS       AUX1,UDR0
; COMPRUEBA QUE SEA UNA LETRA ESPECÍFICA
        CPI       AUX1,'Z'
        BRNE      RECIBE
;
        RJMP      SEND
;
MSJ:    .DB       "EJEMPLO: RECEPCION DE UNA LETRA ESPECIFICA"
        .DB       0x0D,0x0A
;
.EXIT             ; FIN DEL MODULO FUENTE

RESULTADOS CON EL HYPER TERMINAL:




Con la misma modificación mencionada anteriormente, se puede comprobar el
funcionamiento del programa con el simulador del PROTEUS.
En los dos gráficos de la siguiente página, se comprueba que el microcontrolador no
transmite cuando recibe desde el Terminal Virtual un caracter diferente a la Z
mayúscula y transmite cuando la recibe.




Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes
de Información
SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del
USART
                              Página 7




                    “z”         El microcontrolador
                                    no transmite




                    El microcontrolador recibe una z minúscula




                    “Z”
                               El microcontrolador
                                    transmite




                   El microcontrolador recibe una Z mayúscula


Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes
de Información
SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del
USART
                              Página 8

RETRANSMISIÓN DE UN TEXTO QUE SE RECIBE
Programa que recibe un texto, lo almacena en la SRAM y vuelve a retransmitirlo.

CÓDIGO DEL PROGRAMA PARA RETRANSMITIR:
.NOLIST
.INCLUDE "m164pdef.inc"
.LIST
;
.DEF    AUX1 = R16
.DEF    AUX2 = R17
.DEF    AUX3 = R18
;
.DSEG
HEADER: .BYTE 3
BUFFER: .BYTE 100
;
.CSEG
        JMP       PROGP
;
PROGP: LDI        AUX1,LOW(RAMEND)
        OUT       SPL,AUX1
        LDI       AUX1,HIGH(RAMEND)
        OUT       SPH,AUX1
; PROGRAMACIÓN DEL REGISTRO DE CONTROL C
; URSEL0=1 PARA ACCEDER AL REGISTRO UCSRC
; UMSEL0=0 TRABAJAR EN EL MODO ASINCRÓNICO
; UPM01:0=00 DESHABILITAR LA PARIDAD
; USBS0=1 DOS BITS DE PARADA
; UCSZ01:0=11 TAMAÑO DEL CARACTER DE 8 BITS
; UCPOL0=0 POLARIDAD DEL RELOJ NO SE USA EN ASINCRÓNICO
        LDI       AUX1,0B00001110
        STS       UCSR0C,AUX1
; PROGRAMACIÓN DEL REGISTRO DE CONTROL B
; RXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA RECEPCIÓN
; TXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA TRANSMISIÓN
; UDRIE0=0 DESHABILITA LAS INTERRUPCIONES DATOS VACÍO
; RXEN0=1 HABILITA LA RECEPCIÓN
; TXEN0=1 HABILITA LA TRANSMISIÓN
; UCSZ20=0 TAMAÑO DEL CARACTER DE 8 BITS
; RXB80=0 NOVENO BIT DE LA RECEPCIÓN
; TXB80=0 NOVENO BIT DE LA TRANSMISIÓN
        LDI       AUX1,0B00011000
        STS       UCSR0B,AUX1
; DUPLICACIÓN DE LA VELOCIDAD
        LDI       AUX1,0B00000010 ;U2X0=1
        STS       UCSR0A,AUX1
; PROGRAMACIÓN DE LA VELOCIDAD DE TRANSMISIÓN
; TRES BITS RESERVADOS EN 0000
; UBRR011:8=0000 REGISTRO DEL BAUD RATE CON 1 MHz
        LDI       AUX1,0B00000000
        STS       UBRR0H,AUX1
;UBRR7:0 REGISTRO DEL BAUD RATE CON 1 MHz
        LDI       AUX1,12 ; BR=9600 CON U2X0=1
        STS       UBRR0L,AUX1
; ENCABEZADO DE LA RETRANSMISIÓN
        LDI       AUX1,'/'
        STS       HEADER+0,AUX1
        STS       HEADER+1,AUX1


Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes
de Información
SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del
USART
                              Página 9
        STS       HEADER+2,AUX1
; PARA ENVIAR EL MENSAJE DE INICIO
INICIO: LDI       ZL,LOW(MSJ01<<1)
        LDI       ZH,HIGH(MSJ01<<1)
        RCALL     SEND
; PARA ALMACENAR EL MENSAJE QUE LLEGA SERIALMENTE
        LDI       XL,LOW(BUFFER)
        LDI       XH,HIGH(BUFFER)
RECIBE: LDS       AUX1,UCSR0A
        SBRS      AUX1,RXC0
        RJMP      RECIBE
; ALMACENA LOS CARACTERES
        LDS       AUX1,UDR0
        ST        X+,AUX1
; COMPRUEBA QUE SEA FIN DEL MENSAJE
        CPI       AUX1,0x0A
        BRNE      RECIBE
; PARA CONFIRMAR LA RECEPCIÓN
        LDI       ZL,LOW(MSJ02<<1)
        LDI       ZH,HIGH(MSJ02<<1)
        RCALL     SEND
; PARA SEPARAR
        LDI       ZL,LOW(MSJ04<<1)
        LDI       ZH,HIGH(MSJ04<<1)
        RCALL     SEND
; PARA RE-ENVIAR EL MENSAJE
        LDI       XL,LOW(HEADER)
        LDI       XH,HIGH(HEADER)
RSND:   LD        AUX2,X+
        STS       UDR0,AUX2
; LAZO HASTA QUE ENCIENDA LA BANDERA TRANSMISIÓN COMPLETA
RSND1: LDS        AUX1,UCSR0A
        SBRS      AUX1,TXC0
        RJMP      RSND1
; BORRAR LA BANDERA DE TRANSMISIÓN COMPLETA
; MANTENER EL VALOR DE U2X0
        LDI       AUX1,0B01100010
        STS       UCSR0A,AUX1
; ÚLTIMO CARACTER
        CPI       AUX2,0x0A
        BRNE      RSND
; PARA CONFIRMAR LA TRANSMISIÓN
        LDI       ZL,LOW(MSJ03<<1)
        LDI       ZH,HIGH(MSJ03<<1)
        RCALL     SEND
; PARA SEPARAR
        LDI       ZL,LOW(MSJ04<<1)
        LDI       ZH,HIGH(MSJ04<<1)
        RCALL     SEND
;
        RJMP      INICIO
; SUBRUTINA PARA ENVIAR UN MENSAJE
SEND:   LPM       AUX2,Z+
        STS       UDR0,AUX2
; LAZO HASTA QUE ENCIENDA LA BANDERA TRANSMISIÓN COMPLETA
SEND1: LDS        AUX1,UCSR0A
        SBRS      AUX1,TXC0
        RJMP      SEND1
; BORRAR LA BANDERA DE TRANSMISIÓN COMPLETA
; MANTENER EL VALOR DE U2X
        LDI       AUX1,0B01100010


Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes
de Información
SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del
USART
                              Página 10
        STS       UCSR0A,AUX1
; ÚLTIMO CARACTER
        CPI       AUX2,0x0A
        BRNE      SEND
        RET
;
MSJ01: .DB "EJEMPLO: PARA LA RETRANSMISION",0x0D,0x0A
MSJ02: .DB "MENSAJE RECIBIDO",0x0D,0x0A
MSJ03: .DB "MENSAJE RETRANSMITIDO ",0x0D,0x0A
MSJ04: .DB 0x0D,0x0A
;
.EXIT                   ; FIN DEL MODULO FUENTE

RESULTADOS CON EL HYPER TERMINAL:




También se puede comprobar con el simulador del PROTEUS modificando el programa
como se indicó anteriormente y considerando que el Terminal Virtual no envía el
código de Avance de Línea cuando de presiona la tecla “ENTER”.




Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes
de Información

Más contenido relacionado

La actualidad más candente

Display de cristal líquido grágico GLCD
Display de cristal líquido grágico GLCDDisplay de cristal líquido grágico GLCD
Display de cristal líquido grágico GLCD
Jaime E. Velarde
 
Ejercicios 04 cálculo continuación
Ejercicios 04 cálculo continuaciónEjercicios 04 cálculo continuación
Ejercicios 04 cálculo continuación
Jaime E. Velarde
 
12 Pórticos de los Atmega
12 Pórticos de los Atmega12 Pórticos de los Atmega
12 Pórticos de los Atmega
Jaime E. Velarde
 
Ejercicio 04 Calculos
Ejercicio 04 CalculosEjercicio 04 Calculos
Ejercicio 04 Calculos
Jaime E. Velarde
 
18 Timers
18 Timers18 Timers
18 Timers
Jaime E. Velarde
 
Ejercicio 02 Tablas
Ejercicio 02 TablasEjercicio 02 Tablas
Ejercicio 02 Tablas
Jaime E. Velarde
 
Funcionamiento del Timer 0
Funcionamiento del Timer 0Funcionamiento del Timer 0
Funcionamiento del Timer 0
Jaime E. Velarde
 
19 Conversor A/D
19 Conversor A/D19 Conversor A/D
19 Conversor A/D
Jaime E. Velarde
 
Ejercicio 07 adicionales de Interrupciones
Ejercicio 07 adicionales de InterrupcionesEjercicio 07 adicionales de Interrupciones
Ejercicio 07 adicionales de Interrupciones
Jaime E. Velarde
 
14 Fusibles Programables
14 Fusibles Programables14 Fusibles Programables
14 Fusibles Programables
Jaime E. Velarde
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
Hamiltonn Casallas
 
Conversor ADC
Conversor ADCConversor ADC
Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12
Hamiltonn Casallas
 
Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08
Hamiltonn Casallas
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
Omar Ruiz
 
Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887
Fernando Aparicio Urbano Molano
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
Lopez Guzman
 
Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07
Hamiltonn Casallas
 

La actualidad más candente (20)

Display de cristal líquido grágico GLCD
Display de cristal líquido grágico GLCDDisplay de cristal líquido grágico GLCD
Display de cristal líquido grágico GLCD
 
Ejercicios 04 cálculo continuación
Ejercicios 04 cálculo continuaciónEjercicios 04 cálculo continuación
Ejercicios 04 cálculo continuación
 
12 Pórticos de los Atmega
12 Pórticos de los Atmega12 Pórticos de los Atmega
12 Pórticos de los Atmega
 
Ejercicio 04 Calculos
Ejercicio 04 CalculosEjercicio 04 Calculos
Ejercicio 04 Calculos
 
18 Timers
18 Timers18 Timers
18 Timers
 
Ejercicio 02 Tablas
Ejercicio 02 TablasEjercicio 02 Tablas
Ejercicio 02 Tablas
 
Funcionamiento del Timer 0
Funcionamiento del Timer 0Funcionamiento del Timer 0
Funcionamiento del Timer 0
 
19 Conversor A/D
19 Conversor A/D19 Conversor A/D
19 Conversor A/D
 
Ejercicio 07 adicionales de Interrupciones
Ejercicio 07 adicionales de InterrupcionesEjercicio 07 adicionales de Interrupciones
Ejercicio 07 adicionales de Interrupciones
 
14 Fusibles Programables
14 Fusibles Programables14 Fusibles Programables
14 Fusibles Programables
 
Sistemas Microprocesados I
Sistemas Microprocesados ISistemas Microprocesados I
Sistemas Microprocesados I
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Conversor ADC
Conversor ADCConversor ADC
Conversor ADC
 
Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12
 
Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
 
Cables
CablesCables
Cables
 
Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
 
Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07
 

Similar a Funcionamiento del USART

Comunicación RS-232
Comunicación RS-232Comunicación RS-232
Comunicación RS-232Rubén Loredo
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
Melvin Gustavo Balladares Rocha
 
Comunicación Serial
Comunicación SerialComunicación Serial
Comunicación Serial
SistemadeEstudiosMed
 
Unidad V
Unidad VUnidad V
Clase USART
Clase USARTClase USART
Usart PIC config LANDA
Usart PIC config LANDAUsart PIC config LANDA
Usart PIC config LANDA
dave
 
Sensores de luz
Sensores de luzSensores de luz
Sensores de luzBetty_87
 
Puertoserial[1]
Puertoserial[1]Puertoserial[1]
Puertoserial[1]
henrymiranda00
 
Comunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PCComunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PC
Fernando Cahueñas
 
Receptor Universal doble banda
Receptor Universal doble banda Receptor Universal doble banda
Receptor Universal doble banda
Roberto Torreggiani
 
Control nivel luz
Control nivel luzControl nivel luz
Control nivel luz
Fernando Venegas Riera
 
Adc y usart pic16 f887
Adc y usart pic16 f887Adc y usart pic16 f887
Adc y usart pic16 f887
Derlis Hernandez Lara
 
Introduccion al msp430
Introduccion al msp430Introduccion al msp430
Introduccion al msp430
Cesar MARTI
 
Hoja de datos USB2TTL
Hoja de datos USB2TTLHoja de datos USB2TTL
Hoja de datos USB2TTL
alepusto
 
Seminario_audio_panasonic_AKX10-30-50-70-90.pdf
Seminario_audio_panasonic_AKX10-30-50-70-90.pdfSeminario_audio_panasonic_AKX10-30-50-70-90.pdf
Seminario_audio_panasonic_AKX10-30-50-70-90.pdf
tecsen1
 
Tutorial micro MSP430
Tutorial micro MSP430Tutorial micro MSP430
Tutorial micro MSP430
Julio Jornet Monteverde
 
Cubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesadorCubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesador
Marcelo Mendoza
 

Similar a Funcionamiento del USART (20)

Micro2 tema 5
Micro2 tema 5Micro2 tema 5
Micro2 tema 5
 
Comunicación RS-232
Comunicación RS-232Comunicación RS-232
Comunicación RS-232
 
Usart 3
Usart 3Usart 3
Usart 3
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
 
Comunicación Serial
Comunicación SerialComunicación Serial
Comunicación Serial
 
Unidad V
Unidad VUnidad V
Unidad V
 
Clase USART
Clase USARTClase USART
Clase USART
 
Usart PIC config LANDA
Usart PIC config LANDAUsart PIC config LANDA
Usart PIC config LANDA
 
Sensores de luz
Sensores de luzSensores de luz
Sensores de luz
 
Puertoserial[1]
Puertoserial[1]Puertoserial[1]
Puertoserial[1]
 
Comunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PCComunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PC
 
Receptor Universal doble banda
Receptor Universal doble banda Receptor Universal doble banda
Receptor Universal doble banda
 
Control nivel luz
Control nivel luzControl nivel luz
Control nivel luz
 
Adc y usart pic16 f887
Adc y usart pic16 f887Adc y usart pic16 f887
Adc y usart pic16 f887
 
Introduccion al msp430
Introduccion al msp430Introduccion al msp430
Introduccion al msp430
 
Hoja de datos USB2TTL
Hoja de datos USB2TTLHoja de datos USB2TTL
Hoja de datos USB2TTL
 
Seminario_audio_panasonic_AKX10-30-50-70-90.pdf
Seminario_audio_panasonic_AKX10-30-50-70-90.pdfSeminario_audio_panasonic_AKX10-30-50-70-90.pdf
Seminario_audio_panasonic_AKX10-30-50-70-90.pdf
 
Proyecto de micros
Proyecto de microsProyecto de micros
Proyecto de micros
 
Tutorial micro MSP430
Tutorial micro MSP430Tutorial micro MSP430
Tutorial micro MSP430
 
Cubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesadorCubo de LEDs controlado por microprocesador
Cubo de LEDs controlado por microprocesador
 

Más de Jaime E. Velarde

20 Portico Serial
20 Portico Serial20 Portico Serial
20 Portico Serial
Jaime E. Velarde
 
17 Interrupciones
17 Interrupciones17 Interrupciones
17 Interrupciones
Jaime E. Velarde
 
16 Instrucciones de Subrutinas
16 Instrucciones de Subrutinas16 Instrucciones de Subrutinas
16 Instrucciones de Subrutinas
Jaime E. Velarde
 
Ejercicio 05 Subrutinas
Ejercicio 05 SubrutinasEjercicio 05 Subrutinas
Ejercicio 05 Subrutinas
Jaime E. Velarde
 
15 Instrucciones Aritmeticas y Logicas
15 Instrucciones Aritmeticas y Logicas15 Instrucciones Aritmeticas y Logicas
15 Instrucciones Aritmeticas y Logicas
Jaime E. Velarde
 
Ejercicio 03 Porticos
Ejercicio 03 PorticosEjercicio 03 Porticos
Ejercicio 03 Porticos
Jaime E. Velarde
 
13 Instrucciones de manejo de bits
13  Instrucciones de manejo de bits13  Instrucciones de manejo de bits
13 Instrucciones de manejo de bits
Jaime E. Velarde
 
11 Instrucciones de Salto de los Atmega
11  Instrucciones de Salto  de los Atmega11  Instrucciones de Salto  de los Atmega
11 Instrucciones de Salto de los Atmega
Jaime E. Velarde
 
10 Instrucciones de Transferencia
10  Instrucciones  de Transferencia10  Instrucciones  de Transferencia
10 Instrucciones de Transferencia
Jaime E. Velarde
 
09 Conjunto de Instrucciones de los Atmega
09 Conjunto de Instrucciones  de los Atmega09 Conjunto de Instrucciones  de los Atmega
09 Conjunto de Instrucciones de los Atmega
Jaime E. Velarde
 
08 Memoria de los Atmega164P
08 Memoria de los Atmega164P08 Memoria de los Atmega164P
08 Memoria de los Atmega164P
Jaime E. Velarde
 
07 Familia Atmega
07 Familia Atmega07 Familia Atmega
07 Familia Atmega
Jaime E. Velarde
 

Más de Jaime E. Velarde (12)

20 Portico Serial
20 Portico Serial20 Portico Serial
20 Portico Serial
 
17 Interrupciones
17 Interrupciones17 Interrupciones
17 Interrupciones
 
16 Instrucciones de Subrutinas
16 Instrucciones de Subrutinas16 Instrucciones de Subrutinas
16 Instrucciones de Subrutinas
 
Ejercicio 05 Subrutinas
Ejercicio 05 SubrutinasEjercicio 05 Subrutinas
Ejercicio 05 Subrutinas
 
15 Instrucciones Aritmeticas y Logicas
15 Instrucciones Aritmeticas y Logicas15 Instrucciones Aritmeticas y Logicas
15 Instrucciones Aritmeticas y Logicas
 
Ejercicio 03 Porticos
Ejercicio 03 PorticosEjercicio 03 Porticos
Ejercicio 03 Porticos
 
13 Instrucciones de manejo de bits
13  Instrucciones de manejo de bits13  Instrucciones de manejo de bits
13 Instrucciones de manejo de bits
 
11 Instrucciones de Salto de los Atmega
11  Instrucciones de Salto  de los Atmega11  Instrucciones de Salto  de los Atmega
11 Instrucciones de Salto de los Atmega
 
10 Instrucciones de Transferencia
10  Instrucciones  de Transferencia10  Instrucciones  de Transferencia
10 Instrucciones de Transferencia
 
09 Conjunto de Instrucciones de los Atmega
09 Conjunto de Instrucciones  de los Atmega09 Conjunto de Instrucciones  de los Atmega
09 Conjunto de Instrucciones de los Atmega
 
08 Memoria de los Atmega164P
08 Memoria de los Atmega164P08 Memoria de los Atmega164P
08 Memoria de los Atmega164P
 
07 Familia Atmega
07 Familia Atmega07 Familia Atmega
07 Familia Atmega
 

Último

FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
QuispeJimenezDyuy
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
eliecerespinosa
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
Mercedes Gonzalez
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
nievesjiesc03
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
YasneidyGonzalez
 

Último (20)

FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
 

Funcionamiento del USART

  • 1. SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del USART Página 1 TRANSMISIÓN DE TEXTOS Programa para comprobar la transmisión de textos, a través uno de los USART (Receptor y Transmisor Universal Sincrónico y Asincrónico) que posee el ATmega164, sin utilizar interrupciones y configurado en el modo asincrónico, la comprobación se realiza mediante el Hyper Terminal que poseen las computadoras personales. En este caso es necesario implementar el conversor entre niveles TTL y RS-232, utilizando el circuito integrado MAX232 con 4 capacitores de 10μF como se indica en el circuito. Conector para el cable de la PC CÓDIGO DEL PROGRAMA PARA ENVIAR TEXTOS: .NOLIST .INCLUDE "m164pdef.inc" .LIST ; .DEF AUX1 = R16 .DEF AUX2 = R17 .DEF AUX3 = R18 ; .CSEG JMP PROGP ; PROGP: ; CONFIGURACIÓN DEL USART 0 ; PROGRAMACIÓN DEL REGISTRO DE CONTROL C ; UMSEL01:0=00 TRABAJAR EN EL MODO ASINCRÓNICO ; UPM01:0=00 DESHABILITAR LA PARIDAD ; USBS0=1 DOS BITS DE PARADA ; UCSZ01:0=11 TAMAÑO DEL CARACTER DE 8 BITS ; UCPOL0=0 POLARIDAD DEL RELOJ NO SE USA EN ASINCRÓNICO LDI AUX1,0B00001110 STS UCSR0C,AUX1 ; PROGRAMACIÓN DEL REGISTRO DE CONTROL B ; RXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA RECEPCIÓN ; TXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA TRANSMISIÓN Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
  • 2. SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del USART Página 2 ; UDRIE0=0 DESHABILITA LAS INTERRUPCIONES DATOS VACÍO ; RXEN0=1 HABILITA LA RECEPCIÓN ; TXEN0=1 HABILITA LA TRANSMISIÓN ; UCSZ02=0 TAMAÑO DEL CARACTER DE 8 BITS ; RXB80=0 NOVENO BIT DE LA RECEPCIÓN ; TXB80=0 NOVENO BIT DE LA TRANSMISIÓN LDI AUX1,0B00011000 STS UCSR0B,AUX1 ; PROGRAMACIÓN DE LA VELOCIDAD DE TRANSMISIÓN ; UBRR0H REGISTRO DEL BAUD RATE CON 1 MHz LDI AUX1,0B00000000 STS UBRR0H,AUX1 ; UBRR0L REGISTRO DEL BAUD RATE CON 1 MHz LDI AUX1,25 ;BR=2400 CON U2X=0 STS UBRR0L,AUX1 ; PARA ENVIAR UN MENSAJE SEND: LDI ZL,LOW(MSJ<<1) LDI ZH,HIGH(MSJ<<1) SEND1: LPM AUX2,Z+ STS UDR0,AUX2 ; LAZO HASTA QUE ENCIENDA LA BANDERA TRANSMISIÓN COMPLETA SEND2: LDS AUX1,UCSR0A SBRS AUX1,TXC0 RJMP SEND2 ; BORRAR LA BANDERA DE TRANSMISIÓN COMPLETA ; MANTENER EL VALOR DE U2X LDI AUX1,0B01100000 ;U2X=0 STS UCSR0A,AUX1 ; ÚLTIMO CARACTER CPI AUX2,0x0A BRNE SEND1 ; LAZO HASTA QUE ENCIENDA LA BANDERA RECEPCIÓN COMPLETA RECIBE: LDS AUX1,UCSR0A SBRS AUX1,RXC0 RJMP RECIBE LDS AUX1,UDR0 ; RJMP SEND ; MSJ: .DB "EJEMPLO DE TRANSMISION",0x0D,0x0A ; .EXIT ; FIN DEL MODULO FUENTE RESULTADOS CON EL HYPER TERMINAL: Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
  • 3. SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del USART Página 3 Al cambiar la velocidad en la PC, por ejemplo a 4800 baudios, los datos que se reciben son diferentes a los que se envían. Igual sucede cuando la velocidad en la PC es menor, ejemplo a 1200 baudios. El simulador del PROTEUS tiene un error en el funcionamiento del USART, por lo que es necesario introducir un lazo de espera al enviar los datos, para poder mostrar el funcionamiento del programa en el Terminal Virtual y en el Analizador Lógico del simulador, que se conectan como se indica a continuación. Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
  • 4. SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del USART Página 4 La modificación en el programa es la siguiente: ; BORRAR LA BANDERA DE TRANSMISIÓN COMPLETA ; MANTENER EL VALOR DE U2X LDI AUX1,0B01100000 ;U2X=0 STS UCSR0A,AUX1 RCALL DELAY ; PARA VER EN EL PROTEUS ; ÚLTIMO CARACTER CPI AUX2,0x0A BRNE SEND1 Donde: ; ESPERA ANTES DE CONTINUAR DELAY: LDI AUX1,8 CLR R15 DELAY1: DEC R15 BRNE DELAY1 DEC AUX1 BRNE DELAY1 RET SIMULACIÓN CON EL PROTEUS: “A” que se recibe “J” “E” “E” que se transmite Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
  • 5. SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del USART Página 5 IDENTIFICAR UN CARACTER ESPECÍFICO QUE SE RECIBE El siguiente programa sirve para comprobar el instante en que mediante el Hyper Terminal de la computadora personal se envía al microcontrolador un caracter específico; como por ejemplo la letra Z mayúscula. CÓDIGO DEL PROGRAMA PARA IDENTIFICAR UN CARACTER: .NOLIST .INCLUDE "m164pdef.inc" .LIST ; .DEF AUX1 = R16 .DEF AUX2 = R17 .DEF AUX3 = R18 ; .CSEG JMP PROGP ; PROGP: ; PROGRAMACIÓN DEL REGISTRO DE CONTROL C ; UMSEL01:00=00 TRABAJAR EN EL MODO ASINCRÓNICO ; UPM01:00=00 DESHABILITAR LA PARIDAD ; USBS0=1 DOS BITS DE PARADA ; UCSZ01:00=11 TAMAÑO DEL CARACTER DE 8 BITS ; UCPOL0=0 POLARIDAD DEL RELOJ NO SE USA EN ASINCRÓNICO LDI AUX1,0B00000110 STS UCSR0C,AUX1 ; PROGRAMACIÓN DEL REGISTRO DE CONTROL B ; RXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA RECEPCIÓN ; TXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA TRANSMISIÓN ; UDRIE0=0 DESHABILITA LAS INTERRUPCIONES DATOS VACÍO ; RXEN0=1 HABILITA LA RECEPCIÓN ; TXEN0=1 HABILITA LA TRANSMISIÓN ; UCSZ02=0 TAMAÑO DEL CARACTER DE 8 BITS ; RXB80=0 NOVENO BIT DE LA RECEPCIÓN ; TXB80=0 NOVENO BIT DE LA TRANSMISIÓN LDI AUX1,0B00011000 STS UCSR0B,AUX1 ; PROGRAMACIÓN DE LA VELOCIDAD DE TRANSMISIÓN ; CUATR0 BITS RESERVADOS EN 0000 ; UBRR011:8=0000 REGISTRO DEL BAUD RATE CON 1 MHz LDI AUX1,0B00000000 STS UBRR0H,AUX1 ; UBRR07:0 REGISTRO DEL BAUD RATE CON 1 MHz LDI AUX1,25 ;BR=2400 CON U2X0=0 STS UBRR0L,AUX1 ; PARA ENVIAR UN MENSAJE SEND: LDI ZL,LOW(MSJ<<1) LDI ZH,HIGH(MSJ<<1) SEND1: LPM AUX2,Z+ STS UDR0,AUX2 ; LAZO HASTA QUE ENCIENDA LA BANDERA TRANSMISIÓN COMPLETA SEND2: LDS AUX1,UCSR0A SBRS AUX1,TXC0 RJMP SEND2 ; BORRAR LA BANDERA DE TRANSMISIÓN COMPLETA ; MANTENER EL VALOR DE U2X0 Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
  • 6. SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del USART Página 6 LDI AUX1,0B01100000 ;U2X0=0 STS UCSR0A,AUX1 ; ULTIMO CARACTER CPI AUX2,0x0A BRNE SEND1 ; LAZO HASTA QUE ENCIENDA LA BANDERA RECEPCIÓN COMPLETA RECIBE: LDS AUX1,UCSR0A SBRS AUX1,RXC0 RJMP RECIBE LDS AUX1,UDR0 ; COMPRUEBA QUE SEA UNA LETRA ESPECÍFICA CPI AUX1,'Z' BRNE RECIBE ; RJMP SEND ; MSJ: .DB "EJEMPLO: RECEPCION DE UNA LETRA ESPECIFICA" .DB 0x0D,0x0A ; .EXIT ; FIN DEL MODULO FUENTE RESULTADOS CON EL HYPER TERMINAL: Con la misma modificación mencionada anteriormente, se puede comprobar el funcionamiento del programa con el simulador del PROTEUS. En los dos gráficos de la siguiente página, se comprueba que el microcontrolador no transmite cuando recibe desde el Terminal Virtual un caracter diferente a la Z mayúscula y transmite cuando la recibe. Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
  • 7. SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del USART Página 7 “z” El microcontrolador no transmite El microcontrolador recibe una z minúscula “Z” El microcontrolador transmite El microcontrolador recibe una Z mayúscula Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
  • 8. SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del USART Página 8 RETRANSMISIÓN DE UN TEXTO QUE SE RECIBE Programa que recibe un texto, lo almacena en la SRAM y vuelve a retransmitirlo. CÓDIGO DEL PROGRAMA PARA RETRANSMITIR: .NOLIST .INCLUDE "m164pdef.inc" .LIST ; .DEF AUX1 = R16 .DEF AUX2 = R17 .DEF AUX3 = R18 ; .DSEG HEADER: .BYTE 3 BUFFER: .BYTE 100 ; .CSEG JMP PROGP ; PROGP: LDI AUX1,LOW(RAMEND) OUT SPL,AUX1 LDI AUX1,HIGH(RAMEND) OUT SPH,AUX1 ; PROGRAMACIÓN DEL REGISTRO DE CONTROL C ; URSEL0=1 PARA ACCEDER AL REGISTRO UCSRC ; UMSEL0=0 TRABAJAR EN EL MODO ASINCRÓNICO ; UPM01:0=00 DESHABILITAR LA PARIDAD ; USBS0=1 DOS BITS DE PARADA ; UCSZ01:0=11 TAMAÑO DEL CARACTER DE 8 BITS ; UCPOL0=0 POLARIDAD DEL RELOJ NO SE USA EN ASINCRÓNICO LDI AUX1,0B00001110 STS UCSR0C,AUX1 ; PROGRAMACIÓN DEL REGISTRO DE CONTROL B ; RXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA RECEPCIÓN ; TXCIE0=0 DESHABILITA LAS INTERRUPCIONES EN LA TRANSMISIÓN ; UDRIE0=0 DESHABILITA LAS INTERRUPCIONES DATOS VACÍO ; RXEN0=1 HABILITA LA RECEPCIÓN ; TXEN0=1 HABILITA LA TRANSMISIÓN ; UCSZ20=0 TAMAÑO DEL CARACTER DE 8 BITS ; RXB80=0 NOVENO BIT DE LA RECEPCIÓN ; TXB80=0 NOVENO BIT DE LA TRANSMISIÓN LDI AUX1,0B00011000 STS UCSR0B,AUX1 ; DUPLICACIÓN DE LA VELOCIDAD LDI AUX1,0B00000010 ;U2X0=1 STS UCSR0A,AUX1 ; PROGRAMACIÓN DE LA VELOCIDAD DE TRANSMISIÓN ; TRES BITS RESERVADOS EN 0000 ; UBRR011:8=0000 REGISTRO DEL BAUD RATE CON 1 MHz LDI AUX1,0B00000000 STS UBRR0H,AUX1 ;UBRR7:0 REGISTRO DEL BAUD RATE CON 1 MHz LDI AUX1,12 ; BR=9600 CON U2X0=1 STS UBRR0L,AUX1 ; ENCABEZADO DE LA RETRANSMISIÓN LDI AUX1,'/' STS HEADER+0,AUX1 STS HEADER+1,AUX1 Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
  • 9. SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del USART Página 9 STS HEADER+2,AUX1 ; PARA ENVIAR EL MENSAJE DE INICIO INICIO: LDI ZL,LOW(MSJ01<<1) LDI ZH,HIGH(MSJ01<<1) RCALL SEND ; PARA ALMACENAR EL MENSAJE QUE LLEGA SERIALMENTE LDI XL,LOW(BUFFER) LDI XH,HIGH(BUFFER) RECIBE: LDS AUX1,UCSR0A SBRS AUX1,RXC0 RJMP RECIBE ; ALMACENA LOS CARACTERES LDS AUX1,UDR0 ST X+,AUX1 ; COMPRUEBA QUE SEA FIN DEL MENSAJE CPI AUX1,0x0A BRNE RECIBE ; PARA CONFIRMAR LA RECEPCIÓN LDI ZL,LOW(MSJ02<<1) LDI ZH,HIGH(MSJ02<<1) RCALL SEND ; PARA SEPARAR LDI ZL,LOW(MSJ04<<1) LDI ZH,HIGH(MSJ04<<1) RCALL SEND ; PARA RE-ENVIAR EL MENSAJE LDI XL,LOW(HEADER) LDI XH,HIGH(HEADER) RSND: LD AUX2,X+ STS UDR0,AUX2 ; LAZO HASTA QUE ENCIENDA LA BANDERA TRANSMISIÓN COMPLETA RSND1: LDS AUX1,UCSR0A SBRS AUX1,TXC0 RJMP RSND1 ; BORRAR LA BANDERA DE TRANSMISIÓN COMPLETA ; MANTENER EL VALOR DE U2X0 LDI AUX1,0B01100010 STS UCSR0A,AUX1 ; ÚLTIMO CARACTER CPI AUX2,0x0A BRNE RSND ; PARA CONFIRMAR LA TRANSMISIÓN LDI ZL,LOW(MSJ03<<1) LDI ZH,HIGH(MSJ03<<1) RCALL SEND ; PARA SEPARAR LDI ZL,LOW(MSJ04<<1) LDI ZH,HIGH(MSJ04<<1) RCALL SEND ; RJMP INICIO ; SUBRUTINA PARA ENVIAR UN MENSAJE SEND: LPM AUX2,Z+ STS UDR0,AUX2 ; LAZO HASTA QUE ENCIENDA LA BANDERA TRANSMISIÓN COMPLETA SEND1: LDS AUX1,UCSR0A SBRS AUX1,TXC0 RJMP SEND1 ; BORRAR LA BANDERA DE TRANSMISIÓN COMPLETA ; MANTENER EL VALOR DE U2X LDI AUX1,0B01100010 Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
  • 10. SISTEMAS MICROPROCESADOS: Programas para comprobar el funcionamiento del USART Página 10 STS UCSR0A,AUX1 ; ÚLTIMO CARACTER CPI AUX2,0x0A BRNE SEND RET ; MSJ01: .DB "EJEMPLO: PARA LA RETRANSMISION",0x0D,0x0A MSJ02: .DB "MENSAJE RECIBIDO",0x0D,0x0A MSJ03: .DB "MENSAJE RETRANSMITIDO ",0x0D,0x0A MSJ04: .DB 0x0D,0x0A ; .EXIT ; FIN DEL MODULO FUENTE RESULTADOS CON EL HYPER TERMINAL: También se puede comprobar con el simulador del PROTEUS modificando el programa como se indicó anteriormente y considerando que el Terminal Virtual no envía el código de Avance de Línea cuando de presiona la tecla “ENTER”. Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información