Академический Документы
Профессиональный Документы
Культура Документы
rutina:
movlw 0xFF
movlw b’00010000
movlw b’00000000’
;uno quiera.
Aviso de responsabilidad.
Pagina articulos
pagina inicio
asociados
microcontroladores y robotica
el control del tiempo en un microcontrolador
1 microsegundo = 0,000001
segundos
1- El oscilador externo
2- El TMR0
3- El Divisor de frecuencias
Explicación:
list p=16c84
radix hex
org 0
goto inicio
org 5
movwf aux ;Carga el registro aux (0x0e) con el valor 0x64 (100)
end
resumiendo
Aviso de responsabilidad.
microcontroladores y robotica
Calculo de tiempo en bucles de retardo
anidados
Realizado por A. Marin
TR en nanosegundos=
1.000.000.000/4.000.000=250 nanosegundos
---------------------------goto bucle
---------------------------decfsz cont2,1
---------------------------goto bucle
Aviso de responsabilidad.
MO TORE S
Nosotros tenemos dos placas una la MT293 basada en el chip L293 y la MT2803
basada en el chip ULN2803. (Ver materiales).
5 Tierra
13 Tierra
Sencillo no?. Un ejemplo tipico de orden seria mandar una señal por las patitas de
un PIC de la siguiente forma:
11100000
Salida clasica de una puerta. El bit 5 al pin 9, el bit 6 al pin 10 y el bit 7 al pin 15
sobre nuestra placa o sobre un L293 daria como resultado el paro inmediato del
motor.
10100000
motor 1 motor 2
aqui como se observa se pueden controlar dos cargas (motores, reles, etc)
haciendo que funcionen independientemente, las dos cargas se pueden conectar
asi o las dos a la fuente de alimentacion y a masa pero de esta forma lo que se
consigue es que los motores funcionen cada uno en direccion contraria al otro, si
se unen a la misma fuente los dos funcionaran pero en el mismo sentido segun se
apliquen ordenes a los pines 10 y 15, Se entiende que como esta rutina es para
1/2 del Chip L293 en realidad con la placa MT293 se pueden controlar 4 motores
independientes.
--------
Aviso de responsabilidad.
Las señales con la que actua el puerto son digitales (0 - 1) y la tension a la que
trabaja es de 12 Voltios, resumiendo:
Existen hasta practicamente 25 mas señales pero no son muy usadas y para usos
con el microcontrolador generalmente no son necesarias. En caso de mayor interes
en el Puerto RS232C hay otras paginas mucho mas profundas en cuanto a su
desarrollo.
Con los puertos de E/S se pueden intercambiar datos mientras que las IRQ producen
las interrupciones para indicar a la CPU que ha ocurrido un acontecimiento (ha
cambiado el estado de alguna señal de entrada)
Cuando ocurre un evento en un puerto serie se activa la IRQ que avisa a la CPU que
debe recoger el dato lo antes posible, pues se puede anular con un nuevo dato, para
eso esta la UART 16550A que incluye 2 buffers o almacenes de informacion de tipo
FIFO (First In Firts Out) uno para entrada y otro para salida de 16 bytes que puede
guardar los datos antes de que la CPU los recoja.
Velocidad de puerto
Dado que tenemos una ligera idea de como funciona un puerto serie RS-232, ahora
vamos a conectar el puerto serie con el microcontrolador.
Nosotros nos vamos a dedicar a mi micro estrella por ahora el PIC 16F84, este no
incorpora el USART por ello las comunicciones con el puerto deben de hacerse
mediante rutinas de software.
El primer problema es que los niveles logicos TTL que salen del micro no son
compatibles con los niveles logicos del puerto, para ello debemos introducir en el
circuito un puente que nos traduzca los datos del micro al puerto y viceversa, este
puente es el micro MAX232 o el ICL232 (son exactamente iguales).
Nosotros hemos creado la placa PL232 que facilita esta transmision cambiando las
señales logicas del micro adaptadas al puerto y viceversa.
El programa para controlar el PC sirve cualquiera que gestione el puerto serie. Uno
muy comun es el programa TERMINAL en DOS (que se encuentra en la red) aunque
los hay mejores este es bastante bueno por su sencillez y facilidad de uso.
Aviso de responsabilidad.