comunicación serie (sci) y teclado práctica 5 cdm - 2010 1 autores: jorge osio 31/05/2014
TRANSCRIPT
Comunicación serie (SCI)Comunicación serie (SCI)Y TecladoY Teclado
Práctica 5 CDM - 2010
1Autores: Jorge Osio10/04/23
Subrutina serial TxSubrutina serial Tx
Descripción de la comunicación serial
Para el Kit EVALQTY
10/04/23 Autor: Jorge Osio 2
Terminologías y ConceptosTerminologías y Conceptos
Operación Half-Duplex.Formato de Transmisión.Detección de error de Trama.
Transmisión Half-DuplexTransmisión Half-Duplex
Solo transmite un nodo a la vez.El MCU no puede transmitir mientras
está recibiendo, ni recibir mientras transmite.
Formato de transmisiónFormato de transmisión
Formato estándar de transmisión non-return-to-zero (NRZ) Formato 8-N-1 (8 bits de datos, sin bit de paridad, un bit de
parada)
tp = periodo de un bit = 1/ tasa de baudio
Detección de Error de TramaDetección de Error de Trama
El bit de parada está definido como un uno lógico, si el bit de parada recibido es un cero, quiere decir que ocurrió un error de Trama.
Descripción de la Comunicación Descripción de la Comunicación Serie en el MCU.Serie en el MCU.
Descripción de las subrutinas.Transmisión.Aplicación.
Descripción de las subrutinasDescripción de las subrutinas
• Estás subrutinas se deberán hacer para una frecuencia de Bus de 2,45 MHz y un periodo T=0,406 useg.
• La rutina de comunicación se dividirá en tres subrutinas; inicializa_cristal, Saca_caracter, delay
TransmisiónTransmisión
Características principales:
1. Se envía el bit de inicio.
2. Se cuenta el tiempo equivalente a 1 bit de datos y se envían el primer bit,
3. Luego se cuenta nuevamente y se envía el segundo, hasta enviar los 8 bits.
4. Por último se pone el pin TDX a 1 (bit de parada).
TransmisiónTransmisión
Formato de transmisión: El formato de transmisión es estándar NRZ
n,8,1 posee una estructura configurable. El orden de los bits es el siguiente: - bit START
- bit 0 – bit 1 – bit 2 – bit 3 – bit 4 – bit 5 – bit 6 – bit 7
- bit STOP.
Características de un bit de TxCaracterísticas de un bit de Tx
10/04/23 Autores: Jorge Osio 11
TransmisiónTransmisión
Implementación en el KitImplementación en el Kit
Configuración de HW Pin PTA0 como Tx serial Configuración de jumpers en
modo usuario 1. JP2(1-2), JP3 (2-3), JP4(2-3), JP5(1-2), JP6(2-3), JP7(1-2) y JP8(2-3)
Configuración de oscilador externo de 9,8304 Mhz
Para transmitir un “0” poner el PTA0 como salida y e cero.
Para transmitir un 1 poner el PTA0 como entrada.
Configuración de Hiperterminal Se debe configurar con un bit
de inicio, 8 bits de datos y uno de parada.
Sin paridad y sin control de flujo
Cuando se inicie la comunicación se encenderá el led amarillo del kit lo que indica que la placa está alimentada.
Los datos se muestran en ASCII
10/04/23 Autor: Jorge Osio 13
ConclusionesConclusiones
El objetivo de esta Aplicación es realizar un Modulo SCI “virtual” en microcontroladores de muy bajo costo que no poseen un módulo “real”.
ReferenciasReferencias
Nota de Aplicación NA_SyHDe - SyHDe, Soft y Hard Desarrollos.
Nota de Aplicación AN1240 – Motorola Semiconductor by Scott George, CSIC MCU Product Engineering.
Implementación del TecladoImplementación del Teclado
Implementación del Teclado mediante el Kit EvalQTY
10/04/23 Autor: Jorge Osio 16
Conexiones de HardwareConexiones de Hardware
10/04/23 Autor: Jorge Osio 17
Configuración del Puerto BConfiguración del Puerto B
Se deberán configurar 4 pines como entrada interrumpibles KBI Se deberán configurar 4 pines como salida normalmente en alto Una subrutina que ponga a ‘0’ uno de los pines de salida durante
cierto tiempo, (ej. 100ms) y verifique el estado de los pines de entrada.
Cuando se verifique un ‘0’ en una entrada y una salida se deberá ir a la tabla para determinar que tecla se presionó
Se deberá hacer circular el “cero” por los 4 pines de salida.
10/04/23 Autor: Jorge Osio 18
Subrutina de retardoSubrutina de retardo
void espera(int micros) { TMOD=micros; /*configura el là mite del contador*/ TSC=0x02; /*arranca el contador con un prescaler de 4*/ while(TSC_TOF==0){ /*espera el desborde del contador*/ ; } TSC=0x32; /*detiene el contador y borra su cuenta*/}
10/04/23 Autor: Jorge Osio 19
Rutina del TecladoRutina del Teclado
interrupt void isrINT_KBI(void){ /*funcion que atiende las interrupciones por teclado*/
//El nibble bajo del puerto B se se usa como selector de filas
//El nibble bajo del puerto A se se usa como detector de columnas (entradas)
10/04/23 Autor: Jorge Osio 20
Rutina del TecladoRutina del Teclado
temp=PTA;
temp=temp & 0x0f;/*se aisla el nibble bajo del PTA*/
car=0;
for(car=0;-----;car++){
;
}
temp=PTB;
temp=temp & 0x0f;/*se aisla el nibble
bajo del PTB*/
for(;--------;------){
;
}
car=car+0x30;/*el primer caracter del teclado es el 0 (0x30 en ASCII)*/
10/04/23 Autores: Jorge Osio, 21
BibliografíaBibliografía
b) AN1239r1 MOTOROLA SEMICONDUCTOR APPLICATION NOTE (HC05 MCU Keypad Decoding Techniques Using the MC68HC705J1A).
10/04/23Autores: Jorge Osio, Jose Rapallini,
Federico costantino, sebastian Ledesma
22