Está en la página 1de 20

UNIVERSIDAD FERMIN TORO

VICERECTORADO ACADEMICO
FACULTAD INGENIERIA
ESCUELA DE TELECOMUNICACIONES





Comunicacin serial (USB)







Participantes:
Charli; Ojeda C.I.-21560744
Fatima; Goncalves C.I.-19636618
Juan Gonzalez C.I.-
Docente: Juan Villegas
Acarigua; 26-08-2013

RS232 en el PC
El puerto serie de un ordenador trabaja en modo asncronico. En puerto serie recibe y
enva informacin fuera del ordenador mediante un determinado software de
comunicacin o un driver del puerto serie. La informacin se enva al puerto carcter a
carcter. Cuando se ha recibido un carcter, el puerto serie enva una seal por medio
de una interrupcin indicando que el carcter est listo. Cuando el ordenador ve la
seal, los servicios del puerto serie leen el carcter.
Existen dos tipos de interfaces RS232 puesto que la norma fue diseada para dos tipos
de equipos, el DTE (Equipo Terminal de Datos) y el DCE (Equipo de Comunicacin de
Datos). Existen entonces dos tipos de interfaz RS232, la DTE (conector macho) y la
DCE (conector hembra):
Interfaz DTE (macho) en el PC.
Interfaz DCE (hembra) en los modem, ratones y otros dispositivos.
Por tanto en un PC se utilizan conectores DB9 macho, de 9 patillas, por los que se
conectan los dispositivos al puerto serie. Los conectores hembra que se enchufan
tienen una colocacin de patillas diferente, de manera que se conectan la patilla 1 del
macho con la patilla 1 del hembra, la patilla 2 con el 2, etc...

RS232 no admite comunicaciones a ms de 15 metros y 20 Kbps (se puede utilizar
mayor distancia y velocidad, pero no es el estndar). La comunicacin es efectuada
con 25 terminales diferentes, cada uno con su funcin. RS232 est definida tanto para
la comunicacin sncrona como asncrona, pero cuando se utiliza esta ltima slo se
utiliza un conjunto de los 25 terminales.
Conexin de un microcontrolador al puerto serie del PC
Para conectar el PC a un microcontrolador por el puerto serie se utilizan las seales
TXD, RXD y GND. El PC utiliza la norma RS232, por lo que los niveles de tensin de las
patillas entn comprendidos entre +15 y -15 voltios. Los microcontroladores
normalmente trabajan con niveles TTL (0-5v). Es necesario por tanto intercalar un
circuito que adapte los niveles:

Uno de estos circuitos, que se utiliza mucho, es el MAX232.

Cable de conexin
Para realizar la conexin entre el PC y un microcontrolador circuito podemos usar
diferentes alternativas. Una manera es utilizar un cable serie macho-hembra no
cruzado, y en el circuito un conector hembra DB9 para circuito impreso.

En la placa de circuito impreso donde se encuentra el PIC y donde se colocar el
conector DB9 hembra sera conveniente realizar la interconexin entre patillas que se
describe en la siguiente figura.

Las conexiones que presenta la figura garantizan que cualquier programa de
comunicacin acepte la transmisin del PIC, si bien se realizar sin control de flujo. La
salida DTR (patilla 4, Terminal de Datos Preparado) entrega seal a la entrada DCD
(patilla 1, Deteccin de Portadora) y a la entrada DSR (patilla 6, Dispositivo
Preparado). Por otro lado la salida RTS (patilla 7, Peticin de Envo), entraga seal a la
entrada CTS (patilla 8, Preparado para el Envo).
La transmisin de datos
Debe realizarse una rutina que permita la transmisin de datos por la patilla RA0 del
microcontrolador.
La rutina de transmisin puede ser llamada por interrupcin, cada vez que un dato
serie quiera ser transmitido o por que se establezca en una o varias partes del flujo del
programa que ejecuta el microcontrolador.
Se asumir que sern transmitidos 11 bits. Un bit de inicio, 8 bits de datos y 2 bits de
parada. Se asumir que los 8 bits a transmitir estarn en el registro de trabajo o
acumulador y que la frecuencia de transmisin ser de 300 baudios.
La rutina debe en primer lugar colocar la lnea a cero (que debe previamente estar en
"1") durante el tiempo de un bit para establecer el bit de inicio, posteriormente el
acumulador ser enviado a puerto RA0, lo que transmitir el bit menos significativo de
datos a travs de RA0.
Despus de un tiempo equivalente a la duracin de 1 bit, un contador debe ser
establecido para controlar el nmero de veces que el acumulador debe ser rotado a la
derecha para transmitir cada bit, el acumulador es entonces rotado a la derecha y se
envia a RA0 su contenido para transmitir el segundo bit de dato. El bit a ser
transmitido estar siempre en el bit menos significativo del acumulador. El
procedimiento de rotacin y demora ser repetido hasta que los 8 bits de datos sean
transmitidos, finalmente la lnea (RA0) ser colocada a 1 lgico durante el tiempo de
dos bits.
La recepcin de datos
Una rutina de recepcin por software puede ser llamada cada un milisegundo para
detectar la presencia de un bit de inicio, o por interrupcin. La rutina lee la entrada
RA1 y monitoriza su estado. Si el valor en RA1 es "1", se debe retornar al programa
principal, si es "0", es indicador de la presencia de un bit de inicio y se deber
comenzar el ensamblaje del carcter que est transmitiendo el perifrico remoto.
Cuando el bit de inicio es detectado, se espera el intervalo de tiempo equivalente a la
duracin de 1/2 bit para comprobar nuevamente la entrada RA1, esto se realiza para
asegurar el muestreo del bit de inicio en el centro de su intervalo y evitar iniciar la
recepcin cuando el "0" haya sido provocado por ruidos en la lnea. Para obtener el
tiempo de 1/2 bit se tiene en consideracin la frecuencia de transmisin. La duracin
de un simbolo a transmitir a 300 bauds ser 1/300 de segundo, o lo que es lo mismo
3,33 mseg; por ello la duracin de 1/2 bit ser de 1,667 mseg.
Despus de haberse asegurado la presencia del bit de inicio, se espera el tiempo de
duracin de 1 bit para encuestar la primera unidad de informacin del dato a recibir en
la mitad de su intervalo. Posteriormente, un contador es establecido con el nmero de
bits de datos que sern recibidos, el cual decrementar con cada bit recibido.
El bit ledo en PA1 pasa al acumulador y se rota a la izguierda a travs del acarreo,
posteriormente se realiza una rotacin a la derecha con el acarreo al registro donde
debe almacenarse el resultado de la recepcin. Esta operacin de doble rotacin
permite que un bit sea recibido sin que el bit previo sea destrudo. El acarreo acta
como almacenador intermedio entre el acumulador y el registro.
Despus que el primer bit de dato es recibido, el contador ser decrementado despus
de una demora de un bit, que permitir comprobar el prximo bit de dato a recibir en
la mitad del intervalo. Este proceso contina hasta que los 8 bits de datos queden
almacenados en el registro. Cuando el proceso se ha completado, el primer bit recibido
estar almacenado en el bit menos significativo del registro y el ltimo dato en el bit
ms significativo del registro.
Despus de que los bits de datos han sido recibidos, el programa debe chequear los
bits de parada. Para ello el valor presente en RA1 ser rotado dos veces a la izquierda
con acarreo, si en algn momento el acarreo no vale "1", habr existido un error de
encuadre (framing) y deber ser abortada la recepcin. Si los dos bits estn presentes,
el dato presente en el registro debe ser salvado por el microcontrolador y retornar al
programa principal.
A rutina se le puede aadir una seccin que compruebe un bit de paridad. Despus de
aceptar los 8 datos, se puede tomar un noveno (con informacin de paridad) y
comprobar su estado de manera tal que si es detectada una paridad incorrecta, sea
generado un mensaje de error y el dato se ignore.La ventaja de la conversin por
software es la simplicidad en el hardware. La desventaja radica en que existe una
prdida en la eficiencia del trabajo del sistema por el tiempo que se debe tomar en la
ejecucin de estas rutinas. Tambin la velocidad de transmisin puede quedar
comprometida. Por todo ello, en la mayora de los sistemas la conversin serie/paralelo
es implementada en trminos de hardware.
Norma RS232
La norma RS232 es una de las ms populares que se utilizan en la comunicacin serie,
y es la que se utiliza en los PC's, si bien hoy da est ampliamente superada por la
transmisin serei a travs de USB, de manera que est remitiendo su uso (por
ejemplo, ya no se implementa en ordenadores porttiles). Se desarroll en la dcada
de los 60 para gobernar la interconexin de terminales y MODEM.
La norma RS232 resuelve tres aspectos en la comunicacin que se establece entre
el DTE, Equipo Terminal de Datos, por ejemplo un PC y el DCE, Equipo para la
comunicacion de datos, por ejemplo un ratn:
1. Caractersticas elctricas de la seal: Se desarrolla a continuacin.
2. Caractersticas mecnicas de los conectores: Se utiliza un conector de 25
patillas, DB 25, o de 9 patillas, DB 9, donde el conector macho identifica al DTE
y el conector hembra al DCE.
3. Descripcin funcional de las seales usadas: Las seales estn bsicamente
divididas en dos grupos:
a. Seales primarias, que son normalmente utilizadas para la
transferencias de datos
b. Seales secundarias, utilizadas para el control de la informacin que
ser transferida.
La norma RS232 est definida tanto para la transmisin sncrona como para la
asncrona, pero cuando se utiliza esta ltima, slo un conjunto de terminales (de los
25), es utilizado.
Interface RS232

Modos de transmisin
Existen dos modos bsicos para realizar la transmisin de datos y son:
Modo asncrono.
Modo sncrono.
Las transmisiones asncronas son aquellas en que los bits que constituyen el cdigo de
un caracter se emiten con la ayuda de impulsos suplementarios que permiten
mantener en sincronismo los dos extremos.
En las transmisiones sncronas los caracteres se transmiten consecutivamente, no
existiendo ni bit de inicio ni bit de parada entre los caracteres, estando dividida la
corriente de caracteres en bloques, envindose una secuencia de sincronizacin al
inicio de cada bloque.
Transmisin asncrona
Cuando se opera en modo asncrono no existe una lnea de reloj comn que establezca
la duracin de un bit y el caracter puede ser enviado en cualquier momento. Esto
conlleva que cada dispositivo tiene su propio reloj y que previamente se ha acordado
que ambos dispositivos transmitirn datos a la misma velocidad.
No obstante, en un sistema digital, un reloj es normalmente utilizado para sincronizar
la transferencia de datos entre las diferentes partes del sistema. El reloj definir el
inicio y fin de cada unidad de informacin as como la velocidad de transmisin. Si no
existe reloj comn, algn modo debe ser utilizado para sincronizar el mensaje.
En realidad, la frecuencia con que el reloj muestrea la lnea de comunicacin es mucho
mayor que la cadencia con que llegan los datos. Por ejemplo, si los datos estn
llegando a una cadencia de 2400 bps, el reloj examinar la lnea unas 19200 veces por
segundo, es decir, ocho veces la cadencia binaria. La gran rapidez con que el reloj
muestrea la lnea, permite al dispositivo receptor detectar una transmisin de 1 a 0 o
de 0 a 1 muy rpidamente, y mantener as la mejor sincronizacin entre los
dispositivos emisor y receptor.
El tiempo por bit en una lnea en que se transfiere la informacin a 2400 bps es de
unos 416 microsegundos (1 seg/2400). Una frecuencia de muestreo de 2400 veces por
segundo nos permitir muestrear el principio o el final del bit. En ambos casos
detectaremos el bit, sin embargo, no es extrao que la seal cambie ligeramente, y
permanezca la lnea con una duracin un poco ms larga o ms corta de lo normal. Por
todo ello, una frecuencia de muestreo lenta no sera capaz de detectar el cambio de
estado de la seal a su debido tiempo, y esto dara lugar a que la estacin terminal no
recibiera los bits correctamente.
Transmisin sncrona
Es un mtodo ms eficiente de comunicacin en cuanto a velocidad de transmisin.
Ello viene dado porque no existe ningn tipo de informacin adicional entre los
caracteres a ser transmitidos.

Cuando se transmite de manera sncrona lo primero que se enva es un octeto de
sincronismo ("sync"). El octeto de sincronismo realiza la misma funcin que el bit de
inicio en la transmisin asncrona, indicando al receptor que va ha ser enviado un
mensaje. Este carater, adems, utiliza la seal local de reloj para determinar cundo y
con qu frecuencia ser muestreada la seal, es decir, permite sincronizar los relojes
de los dispositivos transmisor y receptor. La mayora de los dispositivos de
comunicacin llevan a cabo una resincronizacin contra posibles desviaciones del reloj,
cada uno o dos segundos, insertando para ello caracteres del tipo "sync"
peridicamente dentro del mensaje.
Los carcteres de sincronismo deben diferenciarse de los datos del usuario para
permitir al receptor detectar los caracteres "sync". Por ejemplo, el cdigo ASCII utiliza
el octeto 10010110.
Existen ocasiones en que son definidos dos caracteres de sincronismo, ello puede ser
necesario si, por cualquier motivo el caracter "sync" original se desvirtuara, el siguiente
permitir la reinicializacin del receptor. En segundo lugar, puede ocurrir que el equipo
receptor necesite un tiempo adicional para adaptarse a la seal entrante.
Cuando se transmite de forma sncrona, es necesario mantener el sincronismo entre el
trasnmisor y el receptor cuando no se envan caracteres, para ello son insertados
caracteres de sincronismo de manera automtica por el dispositivo que realiza la
comunicacin.

El receptor/transmisor sncrono debe indicar adems cundo el sincronismo ha sido
logrado por parte del receptor.

Dentro de los componentes que se van a utilizar tenemos:

Motor paso a paso

Es un dispositivo electromecnico que convierte una serie de impulsos elctricos en
desplazamientos angulares discretos, lo que significa es que es capaz de avanzar una
serie de grados (paso) dependiendo de sus entradas de control.

Teclado matricial de 4x4

Son los ms utilizados en el desarrollo de proyectos con microcontroladores PIC y que
tienen su aplicacin en el ingreso de datos de manera manual por parte del usuario, en
aquellos casos en que el empleo de pulsadores simples no es lo ms apropiado, ya sea
por la presentacin final del producto o por la restriccin del nmero de lneas de
entrada de los microcontroladores PIC.
El teclado matricial 4x4 est constituido por una matriz de pulsadores dispuestos en
filas (A,B,C,D) y columnas (1,2,3,4), con la intencin de reducir el nmero de pines
necesarios para su conexin. Las 16 teclas necesitan slo 8 pines, en lugar de los 16
que se requeriran para 16 teclas independientes. Su funcionamiento es muy sencillo,
cuando se presiona una tecla, se conectan internamente la fila y columna
correspondientes; por ejemplo, al presionar la tecla 7 se conectan la fila C y la
columna 1. Si no hay ninguna tecla presionada, las filas estn desconectadas de las
columnas.





Pantalla LCD 16x2

Este es un Shield de Arduino muy popular que contiene un LCD de 16x2 (con luz de
fondo) y 6 botones pulsadores. Este es un Shield de Arduino muy popular que contiene
un LCD de 16x2 (con luz de fondo) y 6 botones pulsadores.



Integrado MAX232

Es un circuito integrado de Maxim que convierte las seales de un puerto serie RS-
232 a seales compatibles con los niveles TTL de circuitos lgicos. El MAX232 sirve
como interfaz de transmisin y recepcin para las seales RX, TX, CTS y RTS.
El circuito integrado tiene salidas para manejar niveles de voltaje del RS-232 (aprox.
7.5 V) que las produce a partir de un voltaje de alimentacin de + 5 V
utilizando multiplicadores de voltaje internamente en el MAX232 con la adicin de
condensadores externos. Esto es de mucha utilidad para la implementacin de puertos
serie RS-232 en dispositivos que tengan una alimentacin simple de + 5 V.
Las entradas de recepcin de RS-232 (las cuales pueden llegar a 25 V), se
convierten al nivel estndar de 5 V de la lgica TTL. estos receptores tienen un umbral
tpico de 1.3 V, y una histresis de 0.5 V.
La versin MAX232A es compatible con la original MAX232, y tiene la mejora de
trabajar con mayores velocidades de transferencia de informacin (mayor tasa
de baudios), lo que reduce el tamao de los condensadores externos utilizados por el
multiplicador de voltaje, 0.1 F en lugar del 1.0 F usado en el dispositivo original.
1

Una versin ms nueva de este circuito integrado, el MAX3232 tambin es compatible
con el original, pero opera en un rango ms amplio, de 3 a 5.5 V.




Microcontrolador PIC16F877

El PIC16F877 es un microcontrolador con memoria de programa tipo FLASH, lo que
representa gran facilidad en el desarrollo de prototipos y en su aprendizaje ya que no
se requiere borrarlo con luz ultravioleta como las versiones EPROM, sino que permite
reprogramarlo nuevamente sin ser borrado con anterioridad.
El PIC16F877 es un microcontrolador de Microchip Technology fabricado en tecnologa
CMOS, su consumo de potencia es muy bajo y adems es completamente esttico,
esto quiere decir que el reloj puede detenerse y los datos de la memoria no se pierden.
El encapsulado ms comn para este microcontrolador es el DIP (Dual In-line Pin) de
40 pines, propio para usarlo en experimentacin. La referencia completa es
PIC16F877-04 para el dispositivo que utiliza cristal oscilador de hasta 4 MHz,
PIC16F877-20 para el dispositivo que utiliza cristal oscilador de hasta 20 MHz o
PIC16F877A-I para el dispositivo tipo industrial que puede trabajar hasta a 20 MHz. Sin
embargo, hay otros tipos de encapsulado que se pueden utilizar segn el diseo y la
aplicacin que se quiere realizar. Por ejemplo, el encapsulado tipo surface mount
(montaje superficial) tiene un reducido tamao y bajo costo, que lo hace propio para
producciones en serie o para utilizarlo en lugares de espacio muy reducido.
















Descripcin de los pines del microcontrolador





Programacin
LIST P=16F877A, R=DEC ;pic16f877a y sistema decimal

#include "P16F877A.INC" ; Include archivo cabecera

__CONFIG _WDT_OFF & _PWRTE_OFF & _CP_OFF & _XT_OSC &
_BODEN_OFF & _LVP_OFF

CBLOCK 0x20 ; declaracion de variables inicia 0x20
dataL
acumulador
ENDC



ORG 0x000 ; Programa inicia en 0x000
;/////////////// VARIABLES ////////////////////
;Guarda el nmero de tecla pulsada
numTecla equ h'30'

;Para el DELAY (Estabilizacin de la Seal ENABLE-LCD)
cont1 equ 0x31
cont2 equ 0x32

;Contador de caracteres
caracter equ h'33'

; --------------------------------
; Configuracion entrada/salids digitales PoRTA
; --------------------------------
;
movlw 7
movwf CMCON ; CMCON=7 set comperators off
;
; ----------------
; Inicializar puertos
; ----------------
;
clrf PORTB ; Limpia PORTB
clrf PORTD ; Limpia PORTD
bsf STATUS,RP0 ; Selecciona banco 1
movlw 0xF0 ; PortB0-3 Salidas
movwf TRISB ; PortB4-7 Entradas
clrf TRISD ; PortD0-7 Salidas
bcf OPTION_REG,7 ; Habilita Resistencias de
; polarizacin en entradas
bcf STATUS,RP0 ; Selecciona banco 0




bsf STATUS,RP0 ; RAM PAGE 1

movlw b'10000000'
movwf TRISC

clrf TRISD
clrf PORTD


; ------------------------------------
; Comunicacion
; ------------------------------------
; Boot Baud Rate = 9600, No Parity, 1 Stop Bit
;
movlw 0x19 ; 0x19=9600 bps (0x0C=19200 bps)
movwf SPBRG
movlw b'00100100' ; brgh = high (2)
movwf TXSTA ; habilitada comunicacion asincrona, set brgh

bcf STATUS,RP0 ; RAM PAGE 0

movlw b'10010000' ; habilitadad comunicacion recepcion asincrona
movwf RCSTA
;
; ------------------------------------
; registros
; ------------------------------------
;
clrf dataL
settle decfsz dataL,F
goto settle

movf RCREG,W
movf RCREG,W
movf RCREG,W ; buffer recepcion
;
; ---------
; MAIN LOOP
; ---------
;
bcf PORTC,4
bcf PORTC,5
clrf caracter
call INICIA_LCD ;Configura el LCD
call DELAY ; Espera estabilizar la SEAL
call DELAY
goto loop
loop
goto receive ; wait for a char
goto loop
;
; -------------------------------------------
; recibe y almacena en w
; -------------------------------------------
; esto no saldra de aqui hasta recibir algo
;
receive btfss PIR1,RCIF ; (5) check data entrante
goto receive

movf RCREG,W ; almacena en w

movlw '1'
subwf RCREG,W
btfsc STATUS,Z ;Son distintos?
goto izquierda ;No.Entonces son iguales.
movlw '2'
subwf RCREG,W
btfsc STATUS,Z ;Son distintos?
goto derecha ;No.Entonces son iguales.
movlw '3'
subwf RCREG,W
btfsc STATUS,Z ;Son distintos?
goto detener ;No.Entonces son iguales.
goto nulo
izquierda
call INICIA_LCD ;Configura el LCD
bsf PORTC,4
bcf PORTC,5
movlw 'g'
movwf PORTD
call ENVIA
movlw 'i'
movwf PORTD
call ENVIA
movlw 'r'
movwf PORTD
call ENVIA
movlw 'o'
movwf PORTD
call ENVIA
movlw ' '
movwf PORTD
call ENVIA

movlw 'I'
movwf PORTD
call ENVIA
movlw 'z'
movwf PORTD
call ENVIA
movlw 'q'
movwf PORTD
call ENVIA
movlw '.'
movwf PORTD
call ENVIA
goto loop
derecha
call INICIA_LCD ;Configura el LCD
bcf PORTC,4
bsf PORTC,5
movlw 'g'
movwf PORTD
call ENVIA
movlw 'i'
movwf PORTD
call ENVIA
movlw 'r'
movwf PORTD
call ENVIA
movlw 'o'
movwf PORTD
call ENVIA
movlw ' '
movwf PORTD
call ENVIA

movlw 'D'
movwf PORTD
call ENVIA
movlw 'e'
movwf PORTD
call ENVIA
movlw 'r'
movwf PORTD
call ENVIA
movlw '.'
movwf PORTD
call ENVIA
GOTO loop
detener
call INICIA_LCD ;Configura el LCD
bcf PORTC,4
bcf PORTC,5
movlw 'D'
movwf PORTD
call ENVIA
movlw 'e'
movwf PORTD
call ENVIA
movlw 't'
movwf PORTD
call ENVIA
movlw 'e'
movwf PORTD
call ENVIA
movlw 'n'
movwf PORTD
call ENVIA
movlw 'e'
movwf PORTD
call ENVIA
movlw 'r'
movwf PORTD
call ENVIA
movlw '.'
movwf PORTD
call ENVIA
movlw ' '
movwf PORTD
call ENVIA
GOTO loop



nulo
call INICIA_LCD ;Configura el LCD
movlw 'N'
movwf PORTD
call ENVIA
movlw 'u'
movwf PORTD
call ENVIA
movlw 'l'
movwf PORTD
call ENVIA
movlw 'o'
movwf PORTD
call ENVIA
GOTO loop
;
; -------------------------------------------------------------
; envio informacion en el momento que termina recepcion
; -------------------------------------------------------------
;


INICIA_LCD:
bcf PORTC,0 ; RS=0 MODO INSTRUCCION
movlw 0x01 ; El comando 0x01 limpia la pantalla en el LCD
movwf PORTD
call COMANDO ; Se da de alta el comando
movlw 0x0C ; Selecciona la primera lnea
movwf PORTD
call COMANDO ; Se da de alta el comando

movlw 0x3C ; Se configura el cursor
movwf PORTD
call COMANDO ; Se da de alta el comando
bsf PORTC, 0 ; Rs=1 MODO DATO
return


;Subrutina para enviar INST. DATOS
COMANDO:
bsf PORTC, 1 ; Pone la seal ENABLE en 1
call DELAY ; Espera estabilizar la SEAL
call DELAY ; Espera estabilizar la SEAL
bcf PORTC, 1 ; ENABLE=0
call DELAY ; Espera estabilizar la SEAL
return
;Configuracin Lineal 2 LCD
LINEA2:
bcf PORTC,0 ; RS=0 MODO INSTRUCCION
movlw 0xC0 ; Selecciona linea 2 pantalla en el LCD
movwf PORTD
call COMANDO ; Se da de alta el comando
return

; Subrutina de retardo
; Para estabilizar la seal de ENABLE
DELAY:
movlw 0xFF
movwf cont2
loop1:
movlw 0xFF
movwf cont1

loop2:
decfsz cont1,1
goto loop2
decfsz cont2,1
goto loop1
return


;Subrutina para enviar un dato
ENVIA:
bsf PORTC, 0 ; RS=1 MODO DATO
call COMANDO ; Se da de alta el comando
return
; Rutina de conversin que retorna el valor en ASCII de
; numTecla en W


END

También podría gustarte