SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances (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
 

Similaire à 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
 

Plus de Jaime E. Velarde

16 Instrucciones de Subrutinas
16 Instrucciones de Subrutinas16 Instrucciones de Subrutinas
16 Instrucciones de SubrutinasJaime E. Velarde
 
15 Instrucciones Aritmeticas y Logicas
15 Instrucciones Aritmeticas y Logicas15 Instrucciones Aritmeticas y Logicas
15 Instrucciones Aritmeticas y LogicasJaime E. Velarde
 
13 Instrucciones de manejo de bits
13  Instrucciones de manejo de bits13  Instrucciones de manejo de bits
13 Instrucciones de manejo de bitsJaime 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 AtmegaJaime E. Velarde
 
10 Instrucciones de Transferencia
10  Instrucciones  de Transferencia10  Instrucciones  de Transferencia
10 Instrucciones de TransferenciaJaime 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 AtmegaJaime E. Velarde
 
08 Memoria de los Atmega164P
08 Memoria de los Atmega164P08 Memoria de los Atmega164P
08 Memoria de los Atmega164PJaime E. Velarde
 

Plus 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
 

Dernier

Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesLauraColom3
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 

Dernier (20)

Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reacciones
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 

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