Вы находитесь на странице: 1из 37

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No.1



UNIVERSIDAD NACIONAL DE QUILMES







Diseo de
Microcontroladores
Digitales



Informe Final
Control de velocidad




Profesor: Ing. Jurez, Jos.

Auxiliar: Garca Franchi, Gastn.

Alumnos: Dagand, Javier Leg. 5111
Pepa, Hernn C. Leg. 9098
Tricc, Alexis Leg. 9097



Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No.2

NDI CE GENERAL

Capitulo 1: Introduccin al MC68HC11F1

1. Conceptos Bsicos pagina 03
a. Que es un Microcontrolador? pagina 03
b. Caractersticas generales del MC68HC11F1 pagina 03
2. Estructura del MC68HC11F1 pagina 06
a. Descripcin de los pines pagina 06
3. La CPU pagina 11
a. Modos de funcionamiento pagina 12
b. Registros de la CPU pagina 12
i. Registros de Acumuladores pagina 13
ii. Puntero de Pila (SP) pagina 14
iii. Contador de Programa(P C) pagina 14
iv. Registro de Cdigo de Condicin (CCR) pagina 14
c. Modos de Direccionamiento pagina 14
d. Set de Instrucciones pagina 15
e. Interrupciones pagina 15
i. Clasificacin de la Interrupciones pagina 16
f. Interrupcin de Reset pagina 16

Capitulo 2: Desarrollo del proyecto

1. El proyecto pagina 17
a. Eleccin del proyecto pagina 17
b. Objetivos pagina 17
c. Breve descripcin de la idea a implementada pagina 17
d. Desarrollo del programa pagina 18
2. La planta pagina 18
3. Recursos del MC68HC11 pagina 19
4. Objetivos Alcanzados pagina 19
5. Limitaciones pagina 20
Conclusiones pagina 19
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No.3

Anexo 1 pagina 21
Anexo 2 pagina 22
Anexo 3 CODIGO pagina 23
Anexo 4 DISPLAY pagina 38
Bibliografa Consultada pagina 51

































Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No.4










Un microcontrolador (MCU) es un circuito integrado que incorpora una unidad central de proceso
(CPU) y una serie de recursos internos. La CPU permite que el microcontrolador pueda ejecutar
instrucciones almacenadas en una memoria.

Los recursos internos son memoria RAM, memoria ROM, memoria EEPROM, puerto serie, puertos
de entrada / salida, temporizadores, comparadores, capturadores etc.

Se puede decir que un microcontrolador es una evolucin del microprocesador, al aadirle a este
ltimo las funciones que antes era necesario situar externamente con otros circuitos.

En resumen, un microcontrolador es un circuito integrado independiente, no necesita memoria ni
puertos externos pues ya los tiene incorporados, lo que facilita la tarea de diseo de programacin,
logrando as una aplicacin final mas fiable y econmica.



Las caractersticas principales del Microcontrolador Motorola son:

? 512 bytes EEPROM.
? 1024 bytes RAM.
? Frecuencia de reloj de 2 Mhz.
? Bus de Datos y de Direcciones no multiplexado.
? Timer de 16 bits.
? Tres canales de Entrada/Captura.
? Cuatro canales de Comparacin/Salida.
? Un canal adicional seleccionable como cuarto de Entrada/Captura quinto de
Comparacin/Salida.
? Acumulador de Pulsos de 8 Bits.
1- Conceptos Bsicos


CAPI TULO 1: I nt r oduc c i n al MC68HC11F1

a- Que es un Microcontrolador?

b- Caractersticas generales del 68HC11F1

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No.5

? Circuito de interrupciones de Tiempo Real.
? Watchdog.
? Interfaz Asincrnica Serie de Comunicaciones (SCI).
? Interfaz Sincrnica Serie de Perifricos (SPI).
? Ocho canales de Conversor A/D de 8 bits.
? Cuatro Seal es de Salida Chip-Select.

A continuacin podemos ver un diagrama en bloque general del microcontrolador






















Donde podemos apreciar algunas de las caractersticas mencionadas







Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No.6






A continuacin daremos una clasificacin general de los pines del microcontrolador que permitir
una mejor compresin de los mismos:

? Alimentacin: VDD, VSS.
? Reloj: EXTAL, XTAL, E.
? Reset: RESET.
? Transmisin serie asncrona: TxD, RxD.
? Peticin de interrupciones hardware: IRQ, XIRQ, IC1-3, PAI, STRA.
? Modos de arranque: MODA, MODB.
? Comparadores: OC1- 5.
? Capturadores: IC1-3, PAI.
? Transmisin serie sincrona: SCK, MISO, MOSI, SS.
? Puertos: PA0-7, PB0-7, PC0-7, PD0-3, PE0-3.
? Conversores: AN0-7.
? Buses

Pines de alimentacin

VDD: Es el pin de alimentacin positiva, la cual debe ser el valor estndar de 5v
VSS: Es la masa del MCU.

Pines de reloj

EXTAL y XTAL: Son las conexiones de entrada para la introduccin de una seal de reloj.
L frecuencia de reloj que es introducida en el MCU, es la encargada de regir el
funcionamiento interno de los susbsisitemas que lo componen.
La velocidad mxima aconsejable por el fabricante est en torno a los 8Mhz.

E: Por este pin el MCU genera una seal de reloj, cuatro veces menor, que la que es
introducida por medio del oscilador externo (EXTAL y XTAL). Esta seal, la utiliza el micro
para gestionar todos los dispositivos perifricos del sistema., es decir, la seal E es la
velocidad del bus.

2- Estructura del MC68HC11F1

a- Descripcin de los Pines

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No.7

Pines de reset

RESET: Est seal, activa a nivel bajo, es bidireccional. El 68HC11 est preparado no slo
para recibir seales de "reset" por este pin sino que es el propio dispositivo el que es capaz
de generar dicha seal para todos los perifricos que conformen el sistema digital.
De esta manera es posible que el diseador trate a los subsistemas internos del
microcontrolador del mismo modo que a cualquier dispositivo externo

Generar un "reset" admite una gran cantidad de diseos diferentes. Dependiendo del tipo
de sistema digital conviene uno u otro. Uno de los ms utilizados es la conexin de un
simple pulsador que al presionarlo habilite un camino de masa al pin E.

Pines de transmisin serie asncrona

TxD y RxD: Son los pines de transmisin y recepcin de datos serie asncronos. El
68HC11 trabaja con niveles TTL, por lo que ser necesario un circuito de adaptacin si se
quiere comunicar con un dispositivo que utilice otro tipo de norma como por ejemplo un PC
(norma RS- 232C). Un integrado que realiza esta adaptacin es el MAX232.

Pines de los capturadores

IC1, IC2 e IC3: Estos tres pines representan las tres entradas de los tres capturadores
independientes que incorpora el 68HC11. Mediante ellos, es posible recoger cualquier
cambio de nivel que se produzca en la circuito exterior.

PAI: Este pin representa la entrada a un acumulador de pulsos, mediante el cual es posible
medir la duracin y contar flancos activos de seales externas al microcontrolador.

Pines de peticin de interrupciones externas

IRQ: Este pin provee al microcontrolador de una entrada de interrupcin enmascarable,
activa a nivel bajo, y de colector abierto lo que permite conectar varios dispositivos a la vez.

XIRQ: Del mismo modo que el pin anterior, este permite producir todas las peticiones de
interrupcin con la salvedad de que estas son no enmascarables. Uno de los usos ms
comunes de esta entrada es para activar alguna rutina de servicio referente a cada de la
alimentacin del sistema, o cualquier otra funcin de carcter prioritario como esta ltima.

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No.8

Pines de configuracin de los modos de arranque

MODA y MODB: Estas dos seales son tenidas en cuenta por el microcontrolador
nicamente en el momento del arranque del sistema. Segn el nivel al que se encuentren,
el 68HC11 se configurar en alguno de los 4 modos de que dispone. Mediante software es
posible cambiar de un modo a otro.







Pines de los comparadores

OC2, OC3, OC4 y OC5: Estos cuatro pines representan las respectivas salidas hardware
de cuatro de los cinco comparadores internos de los que est provisto el microcontrolador.
Una vez comparado un valor previamente almacenado en un registro de 16 bits con el
valor del temporizador principal, en el caso de producirse la igualdad y cuando las salidas
hardware estn habilitadas, el pin correspondiente al comparador activado muestra a la
salida el nivel para el cual est configurado.

OC1: Si bien posee un solo nombre, aqu se ven representados nada menos que cinco
pines de salida. Del mismo modo que en el caso anterior se trata de un comparador, pero
que su salida hardware no es de un solo canal, sino de cinco

Pines de transmisiones serie sincrona

SCK: Este pin se refiere a la seal de reloj que comanda cualquier transmisin sincrona.
Puede ser tanto de salida como de entrada, segn que el microcontrolador trabaje como
maestro o esclavo respectivamente.

MISO y MOSI: (Master In Slave Out) (Master Out Slave In), estos dos pines son las dos
vas por donde van a fluir los datos. Para el caso en que se configure el 68HC11 para
trabajar como Maestro frente a otro dispositivo, el cual hace de esclavo, el pin MOSI es el
que funciona como salida de datos desde el maestro al esclavo y el pin MISO es la va
contraria, es decir por donde el maestro recibe los datos del esclavo.

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No.9

Mientras que si el MCU se usa como Esclavo, los datos del Maestro se reciben por el
MOSI y tienen su va contraria por MISO.

SS: Seal que se activa a nivel bajo y que tiene diferentes funciones segn se haya
configurado el micro como Maestro o Esclavo.

68HC11 como esclavo: Cuando SS=0 se activa el sistema de transferencias sncronicas,
en caso contrario la seal SCK no es tenida en cuenta y MISO est en estado de alta
impedancia.

68HC11 como maestro: SS no repercute dentro de la transmisin propiamente dicha y
puede ser utilizada como deteccin de errores, o de propsito general. Normalmente se
utiliza para activar al esclavo, aunque cualquier bit de cualquier otro puerto sirve para esta
funcin.

Pines de los puertos de E/S

La integracin y la potencia de este microcontrolador obliga a un alto grado de
mltiplexacin de las funciones que soporta, por tanto, si bien la cantidad de puertos
existentes en el chip es grande y variada, estos se ven a veces desactivados ya que son
utilizados para otros fines como comparadores, capturadores, control de transmisiones
asncronas, etc.

En la siguiente figura podemos ver la estructura y tipo de puertos (entrada, salida o
bidireccionales)










Adems los puertos pueden cumplir determinadas otras funciones extras. En la siguiente
figura mostramos la funcin que cumplen los pines de los puertos antes mencionados
segn el modo de funcionamiento del microcontrolador

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 10























Pines de los conversores A/D

AN0-7: Este sistema es uno de los ms populares a la vez que ms delicado. Se basa en
un conversor Anal gico Digital de 8 bits que cuenta con 8 canales a los cuales puede
acceder de 4 en 4.

Las velocidades de muestreo estn sujetas a la velocidad de reloj del microcontrolador, a la
vez que las seales de referencia se pueden fijar externamente, es decir, disponer al micro
para que convierta a digital seales analgicas que varen entre 0 y +6 volts.

Es recomendable la utilizacin precavida del sistema ya que una entrada de tensin fuera
de los niveles de referencia prefijados provoca un corto interno y la alta probabilidad de que
se destruya, al menos, el canal en cuestin.




Funcionamiento de los
pines de los puertos
del MC68HC11F1
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 11

Pines de los buses

Cuando el microcontrolador se configura para funcionar en el modo extendido, es decir,
con la capacidad de redireccionar 64K de memoria, se ve obligado a generar un bus de
direcciones, uno de datos y uno de control. De esta manera, el 68HC11 deja que su CPU
interna tenga acceso al exterior, por lo que a partir de aqu, de alguna manera, el
microcontrolador comienza a funcionar como un microprocesador .
Dicho "nuevo" microprocesador tiene una potencia razonable regida por un bus de datos
de 8 bits, y un bus de direcciones de 16 bits, por lo que su espacio de direccionamiento es
de 64Kbytes de memoria plana.
Este mapa de memoria es plano y comparte espacio con los puertos que se incorporen a
nuestro sistema y todos los registros internos de MCU.

Mediante la utilizacin de la totalidad del PUERTO B, el micro lleva al exterior la PARTE
ALTA DEL BUS DE DIRECCIONES, y por medio del PUERTO C se presenta al exterior de
forma multiplexada la PARTE BAJA DEL BUS DE DIRECCIONES, y el BUS DE DATOS.
Esta multiplexacin obliga a tener que agregar un hardware adicional que permita poder
separar ambos buses.




















Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 12






El MC68HC11F1 posee cuatro mtodos de funcionami ento

? Single Chip
? Expanded
? BootStrap
? Special Test

En cada modo de funcionamiento se dispone de un mapa de memoria diferente como se ve en la
siguiente figura.
























3- La CPU

a- Modos de Funcionamiento



Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 13






La CPU del MCU dispone de 2 registros acumuladores de 8 bits, que se unen para formar el
registro D de 16 bits, siendo el acumulador A la parte alta y el acumulador B la parte baja. Adems
dispone de 2 registros para direccionamiento indexado X,Y ambos de 16 bits. El puntero de pila
(sp ) y el contador de programa (pc) son tambin de 16 bits, lo que permite que la longitud mxima
de un programa sea de 64Kbytes, que es el espacio mximo direccionable por el MCU. El registro
CCR es el llamado registro de estado, que contiene unos bits de especial importancia que reflejan
el estado de la CPU.

Estructura de los acumuladores de la CPU


















Este debe ser inicializado por el usuario.

La pila "crece" desde direcciones altas hacia direcciones bajas, por lo que al introducir un elemento
en la pila, SP se decrement a en 1 2 bytes dependiendo del tamao del dato metido en la pila. Al
sacar un elemento de la pila, SP se incrementa.


b- Registros de la CPU

i- Registros de los acumuladores
ii- Puntero de la Pila (SP)
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 14




El contador de programa se va incrementado segn se van ejecutando las instrucciones. Por tanto,
los programas se ejecutan desde direcciones bajas a altas y la pila crece de direcciones altas a
bajas. Es importante dar a SP un valor "seguro" de tal manera que la pila no se solape con el
cdigo, si es que el cdigo se encuentra en RAM.




El registro es de 8 bits. Cada bit tiene una letra asignada y representa una situacin diferente del
estado de la CPU.

Los bits del CCR son















El MC68HC11F1 posee 6 modos de direccionamiento

? Inmediato
? Directo
? Expandido
? Indexado
? Relativo
? Inherente
iii- Contador de Programa (PC)
iv- Registro de Cdigo de Condicin

c- Modos de Direccionamiento
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 15




El set de Instrucciones del MC68HC11F1 es del tipo CISC (Complex Instruction Set Computer)
que un repertorio de instrucciones de gran cantidad, lo cual facilita la programacin.

El set del microcontrolador esta compuesto por 308 operaciones

Podemos clasificar a las instrucciones como instrucciones de:

? Carga, almacenamiento y transferencia.
? Aritmticas.
? Operaciones aritmticas y manipulacin de bits.
? Desplazamiento y rotaciones.
? Bifurcaciones y saltos.
? Instrucciones de modificacin de los bits del CCR.
? Otras ( por ejemplo retorno de subrutina, retorno de interrupcin, etc).




Las interrupciones son seales generadas interna o externamente al microcontrolador que
provocan que la CPU deje de ejecutar el programa en curso y ejecute una rutina especfica para
atender a la interrupcin. Una vez ejecutada la rutina de servicio de la interrupcin, la CPU
contina con el programa que estaba ejecutando antes de producirse la interrupcin.

Las direcciones de las rutinas de servicio de las interrupciones se encuentran en una tabla en
memoria, denominada tabla de vectores de interrupcin. Existen dos tablas de vectores de
interrupcin segn el modo de funcionamiento del MCU. Si el modo de funcionamiento es el
especial de arranque, la tabla se encuentra en memoria ROM en las direcciones $BFD6-$BFFE. Si
funciona en modo normal o extendido, la tabla se encuentra en las direcciones $FFC0-$FFFE. En
la tabla hay 21 vectores.






d- Set de Instrucciones
e- Interrupciones
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 16




Una de las posibles clasificaciones para las interrupciones es:

? Enmascarables
Se pueden inhibir actuando sobre el CCR
? No enmascarables
No se pueden inhibir
? Por software
Son producidas por el programador

Otra posible clasificacin es en:

? Externas
Son producidas por circuitos o perifricos externos al microcontrolador
? Internas
Son producidas por circuitos o perifricos del microcontrolador

Cabe aclarar que no todas las interrupciones tiene la misma prioridad. Si se producen 2
interrupciones de manera simultanea primero se ejecutara la de mayor prioridad y luego la de
menor. Se recomienda ver el anexo 2



Esta interrupcin ocurre cada vez que se recibe un nivel bajo en el pin de RESET del
microcontrolador o sea cada vez que se pulsa el botn de reset.
Al producirse esta interrupcin, la CPU toma de la tabla de vectores de interrupcin la direccin de
la rutina que tiene que empezar a ejecutar. Si el microcontrolador funciona en modo especial de
arranque, se empezar a ejecutar un programa en ROM, llamado BOOTSTRAP, que permite
cargar un programa cualquiera procedente del exterior en la memoria RAM. Si el MCU funciona en
modo normal o expandido, se ejecuta la rutina indicada por su correspondiente vector de
interrupcin.





i- Clasificacin de las Interrupciones
f- Interrupcin de Reset
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 17










La eleccin del proyecto se realizo con el fin de implementar la mayora de los conocimientos
adquiridos en las clases tericas y en las prcticas realizadas a lo largo de la cursada .
Con este fin se implemento para el proyecto el manejo de subrutinas, interrupciones, variables de
programa, comunicacin serie con la pc, la generacin de un PWM, adquisicin de datos mediante
deteccin de flancos y el manejo de un display



La idea bsica del proyecto es implementar un control a lazo cerrado de la velocidad de salida de
un motor de corriente continua y mostrar la misma en un display.

Los objetivos del proyecto pueden separase en dos:

? Lograr realizar un control de velocidad de un motor.
? Implementacin de un display LCD MODULE S162F SERIES




Por medio de una interfaz de usuario desarrollada en Visual Basic se elige un ciclo de trabajo para
la seal PWM.

Gracias a la interfaz de comunicacin serie asincrnica que posee que el microcontrolador y por
medio de una rutina de atencin de interrupciones se lleva a cabo el almacenamiento del ciclo de
trabajo.

La seal del PWM es generado en el microcontrolador e implementado por medio de una de las
salidas de comparacin que posee ste, la seal del PWM es amplificada en la interfaz de potencia

CAPI TULO 2: Desar r ol l o del pr oyec t o

a- El porque de la eleccin
c- Breve descripcin de la idea implementada
b- Objetivos
1- El Proyecto
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 18

de la planta, finalmente la seal acta directamente sobre el motor aumentando o disminuyendo la
velocidad del mismo.

A si mismo a medida que la velocidad del motor cambie sta es escrita, a travs de una rutina, en
el display y en la interfaz de usuario con el fin de mostrar la variacin que se produce.

Cabe aclarar que fsicamente la realimentacin de la velocidad del motor se logro contando la
cantidad de pulsos que entrega un encoder, ya que este es indicativo de la velocidad del motor.
Para implementar en el microcontrolador la realimentacin, se realizo una subrutina que durante un
cierto intervalo de tiempo cuenta la cantidad de pulsos entregados por el encoger.



La metodologa utilizada para la programacin del proyecto consisti en dividir al mismo en
diferentes etapas. Consiguiendo de esta forma tener cdigos independientes que realizaran alguna
de las tareas antes mencionadas.
Una vez que se lograron los objetivos (generar el PWM, comunicacin serie, escribir el display,
etc.) se compagino un nico cdigo que paso a ser el cdigo para realizar el control de velocidad
sobre el motor.




La planta utilizada esta formada por un motor de CC (corriente continua) con eje flexible, un
encoder y una interfaz de potencia para el PWM

El encoder con que contaba la planta fue reemplazado por un encoger Rotary Encoger OEW2-
036-2NHT de 360 P/R

Caractersticas del motor de CC

? Motor IGNIS 5-380-K
? Alimentacin 24 volts
? Corriente nominal de 1.4 amperes
? Corriente de salida de 0.5 amperes
? 380 RPM nominales


2- La planta Utilizada
c- Desarrollo del programa
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 19




Los recursos que se utilizaron del MC68HC11F1 son

Puertos

Puerto A ? Utilizado como salida, implementa el PWM (bit6)
Puerto B ? Implementacin para mascara de control
Puerto C ? Utilizado como salida de bus de datos para el display
Puerto F ? Utilizado como salida de bus de control del display


Interrupciones

Entradas de captura (TIC)

TIC1 ? Utilizado para capturar los pulsos del encoder

Salidas de comparacin (TOC)

TOC2 ? Utilizado para generar el PWM
TOC3 ? Utilizado para realizar la ventana de tiempo

Comunicacin Serie

SCDR ? Recepcin y transmisin de datos serie

Sub rutinas

Free Running Counter (TCNT)




Hemos alcanzado los objetivos planteados a excepcin de implementar un lazo cerrado de control.
No hemos encontrado la manera de poder realizar dicho lazo tanto por falta de tiempo como por
dificultad.
3- Recursos utilizados
4- Objetivos Alcanzados
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 20

Por otra parte hemos conseguido escribir el display. Sin embargo no hemos podido anexar este
cdigo al proyecto, aunque cabe aclara que el cdigo de escritura funciona correctamente .




Las limitaciones con las que nos encontramos fueron

Exceso en la cantidad de pulsos que entregaba el encoder, ste ent regaba 2500 pulsos/vuelta lo
que generaba una frecuencia a mxima velocidad de 15.8 Khz. Esta frecuencia exceda la
capacidad de procesamiento del microcontrolador. La solucin hallada consisti en reemplazarlo
por uno de menor resolucin, como ya lo hemos comentado.

Problemas para implementar las interrupciones del TIC1 y TOC2, este problema fue consecuencia
de la alta frecuencia que segua entregando el encoder de baja resolucin ya que seguamos
teniendo inconvenientes para el conteo de pulsos. La sol ucin a este problema fue aumentar el
periodo de la seal PWM. En un principio dicho periodo era de 2.5 milisegundos pasando luego a
ser de 12. 5 milisegundos con lo cual el inconveniente fue superado. Adems se implement una
ventana de tiempo por medio del TOC3 para contar N flancos ascendentes durante un tiempo de
25 milisegundos y as obtener la velocidad del motor en RPM






A pesar de no haberse logrado la totalidad de los objetivos propuestos se utilizaron varios de los
perifricos y recursos ms trascendentes del microcontrolador, como ser la comunicacin serie,
temporizadores, interrupciones, etc.

La configuracin empleada para el LCD es satisfactoria, faltando solamente la impresin de la
velocidad real del motor en el LCD.

Se podra mencionar como mejora a futuro y como fin ultimo la implementacin del lazo de control
para control de la velocidad del motor as como poder escribir la velocidad del motor en el display.




CONCLUSI ONES

5- Limitaciones
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 21









































ANEXOS

ANEXO 1 : TABLA DE INTERRUPCIONES
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 22




A continuacin detallamos la prioridades de las interrupciones. Recordar que una interrupcin NO
enmascarable puede interrumpir a una que si lo pero no viceversa.

? Interrupciones NO enmascarables:

1. POR or RESET pin
2. Clock monitor reset
3. COP watchdog reset
4. XIRQ interrupt
5. Illegal opcode interrupt
6. Software interrupt (SWI)

? Interrupciones enmascarables

1. IRQ
2. Real-time interrupt
3. Timer input capture 1
4. Timer input capture 2
5. Timer input capture 3
6. Timer output compare 1
7. Timer output compare 2
8. Timer output compare 3
9. Timer output compare 4
10. Timer input capture 4/output compare 5
11. Timer overflow
12. Pulse accumulator overflow
13. Pulse accumulator input edge
14. SPI transfer complete
15. SCI system






ANEXO 2 : NIVEL DE PRIORIDAD DE INTERRUPCIONES
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 23





INTRODUCCION

CARACTERISTICAS DEL DISPLAY

1_ ALIMENTACION

La tensin nominal de alimentacin es de 5V,
con un consumo menor de 5mA.

2_LOS CARACTERES DEL LCD

El LCD dispone de una matriz de 5x8 puntos para representar cada carcter. En total se pueden
representar 256 caracteres diferentes. 240 caracteres estan grabados dentro del LCD y
representan las
letras maysculas, minsculas, signos de puntuacin, nmeros, etc... Existen 8 caracteres que
pueden ser
definidos por el usuario. En la figura 3 se muestra grficamente cmo es la matriz de
representacin de
los caracteres. Se ha dibujado el carcter A y un carcter definido por el usuario.






ANEXO 4: DSIPLAY
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 24





3_LA MEMORIA DEL LCD

El LCD dispone de dos tipos de memorias independientes: la DD RAM y la CG RAM

Debido a esta pecualiar disposicin de la DD RAM se puede pensar en el display como un display
virtual constituido por dos lneas de 40 caracteres cada una . La posicin situada ms a la
izquierda de cada lnea es la posicin 1 y la situada ms a la derecha es la posicin 40. Para
localizar los elementos dentro del display virtual se va a utilizar un par de coordenadas (x,y) donde
x representa la posicin horizontal (comprendida entre 1-40) e y representa la lnea (1-2). El display
real es una ventana en la que se visualizan dos lneas de 16 caracteres. Es lo que el usuario est
viendo. En el ejemplo de la figura se encuentra almacenado en la lnea 1 del display virtual el
mensaje: ESTO ES UNA PRUEBA DE UN MENSAJE. Sin embargo, en este ejemplo, el usuario
slo ver en el display el mensaje PRUEBA DE UN MEN que tiene exactamente 16 caracteres de
longitud. Ms adelante se ver cmo es posible mover el display real para que se desplace a lo
largo del display virtual. Tal y como se encuentra configurado el display real en la figura 4, la
posicin (14,1) se corresponde con la letra P, la posicin (15,1) con la letra R, ....., y la posicin
(29,1) con la letra N. Cuando se inicializa el LCD, el display real se sita en el extremo ms
izquierdo del display virtual, que se corresponde con los valores de x comprendidos entre 1 y 16.

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 25





A_ DD RAM (Display Data Ram)

En esta memoria se almacenan los caracteres que estn siendo visualizados o que se encuentran
en posiciones no visibles. El display almacena en esta memoria dos lneas de 40 caracteres pero
slo se
visualizan 2 lneas de 16 caracteres. Por ello la DD RAM tiene un tamao de 2x40=80 bytes.

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 26

Las operaciones de escritura en el display, en realidad son operaciones de escritura en la memoria
DD RAM. Segn en la posicin de esta memoria en la que se escriba el carcter, aparecer en una
posicin u otra en el display real. Los caracteres enviados al display pueden ser visibles si se
encuentran en posiciones que caen dentro del display real o pueden ser no visibles. En la figura 5,
las posiciones (1,1)-(16,1) y (1,2)-(16,2) son visibles. Todas los caracteres enviados a esas
posiciones sern visibles. Si se enva un carcter a cualquiera de las otras posiciones no ser
visible.

B_LA CG RAM (Character Generator RAM)

La CG RAM es la memoria que contiene los caracteres definibles por el usuario. Est formada
por 64 posiciones, con direcciones $00-$3F. Cada posicin es de 5 bits.

La memoria est dividida en 8 bloques, correspondiendo cada bloque a un carcter definible por el
usuario. Por ello el usuario puede definir como mximo 8 caracteres, cuyos cdigos van del 0 al 7.


Como se represent en la figura anteriormente vista, cada carcter est constituido por una matriz
de 5 columnas x 8 filas. Para definir un carcter y asignarle por ejemplo el cdigo 0 habr que
almacenar en las posiciones $00-$07 los valores binarios de las 8 filas del carcter del usuario. Un
bit con valor 1 representa un punto encendido. Un bit con valor 0 es un punto apagado.

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 27




INTERFAZ HARDWARE

El interfaz del display con el mundo exterior

Los datos se transmiten por un bus de datos de 8 bits de anchura (El display ofrece la posibilidad
de trabajar con este bus multiplexado en dos grupos de 4 bits)
Para el control del display son necesarios 3 bits: una seal de enable (E), una para indicar
lectura/escritura (R/W) y otra para seleccionar uno de los dos registros internos (RS). Por ello, en
el caso peor, el sistema de control del display necesitar utilizar 8+3=11 bits.

Asignacin de pines

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 28

Interfaz del display con el mundo exterior


Bus de datos
El bus de datos del display se puede configurar para funcionar de dos formas diferentes. Bien
como un bus de 8 bits o bien como un bus multiplexado de 4 bits. El utilizar el bus multiplexado de
4 bits es una opcin muy til para ahorrar bits en el sistema de control. En vez de utilizar 11 bits en
total, se utilizan 7.

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 29

Bus de control

El bus de control est formado por 3 seales: RS, R/W y E. La seal E es la seal de validacin de
los datos. Cuando no se utiliza el display esta seal debe permanecer a 0. Slo en las
transferencias de informacin (lecturas o escrituras) es cuando se pone a nivel 1 para validar los
datos, pasando despus de un tiempo a nivel 0. En la siguiente seccin se explican detalladamente
las temporizaciones. La seal R/W permite seleccionar si la operacin que se va a realizar sobre el
display es una lectura o una escritura. Cuando R/W=1 se realizan lecturas y cuando R/W=0
escrituras. Lo normal siempre es realizar escrituras, no obstante, el display ofrece la posibilidad de
poder leer los contenidos de la memoria CG RAM y DD RAM as como leer el estado interno del
display (ocupado o disponible) y el contador de direcciones. Con RS (Register Select) se
selecciona el registro interno del display sobre el que se va a leer/escribir. El LCD dispone de dos
registros internos: Registro de control y registro de datos.


Ambos registros son de lectura y escritura. RS=0 selecciona el registro de control. RS=1 el registro
de datos.






Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 30










Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 31

Operaciones a realizar para el caso de 8 bits.

1. La seal E se encuentra siempre a 0 antes de realizar cualquier operacin
2. Poner RS=1 y R/W=0
3. Situar el dato a imprimir en el bus de datos del LCD (En este ejemplo se enviara $41)
4. E=1
5. E=0
6. El carcter ha sido impreso en el LCD.


Operaciones a realizar para el caso de 4 bits:

1. Poner RS=1 y R/W=0
2. Situar el valor 4 en el bus de datos del LCD (4 bits ms significativos)
3. E=1
4. E=0
5. Situar el valor 1 en el bus de datos del LCD (4 bits menos significativos)
6. E=1
7. E=0
8. El carcter ha sido impreso en el LCD

COMANDOS DEL LCD

Introduccin
El LCD se controla mediante comandos que se envan al registro de control del LCD, seleccionado
al poner la seal RS a nivel bajo (0). Cuando lo que se quiere es imprimir caracteres en el display o
enviar informacin a la CG RAM para definir caracteres se selecciona el registro de datos poniendo
RS a nivel alto (1).










Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 32

Resumen de comandos del LCD






Existe un contador de direcciones para la DD RAM y otro para la CG RAM, el cual contiene la
direccin a la que se va a acceder. Modificando el contador de direcciones es posible acceder a
cualquier posicin tanto de la CG RAM como de la DD RAM. Con ello se consigue por ejemplo
imprimir caracteres en cualquier posicin del LCD. Cada vez que se realiza un acceso a memoria,
el contador de direcciones se incrementa o decrementa automticamente, segn cmo se haya
configurado el LCD.
Al LCD le lleva un cierto tiempo procesar cada comando enviado. Por ello, para que se ejecute el
comando especificado es necesario asegurarse de que el comando anterior ha finalizado. Existen
dos estrategias para realizar esto. La primera se basa en leer del display el bit de ocupado. Si
este bit se encuentra a 1 quiere decir que el LCD est ocupado procesando el comando anterior y
Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 33

por tanto no puede procesar nuevos comandos. La segunda estrategia, menos elegante pero ms
cmoda de implementar, consiste en realizar una pausa antes de volver a enviar el siguiente
comando. Los tiempos mximos que tarda el display en procesar los comandos estn
especificados por el fabricante y tienen un valor tpico de 40 s. Si se realiza una pausa mayor o
igual a esta se tiene garanta de que el display ha terminado de ejecutar el comando.

Descripcin de los comandos

1.- Borrar el display

DESCRIPCION: Este comando borra todas las posiciones del display virtual y sita el display real
en la posicin inicial (Figura 5), en la que se visualizan las posiciones desde la
(1,1) hasta la (16,1) y desde la (1,2) hasta la (16,2). El cursor se sita en la posicin (1,1)
(Direccin 0 de la DD RAM).
CODIGO: $01
TIEMPO DE EJECUCION: 1.64ms

2.- Cursor a HOME

DESCRIPCION: Enviar el cursor a la posicin (1,1). El display real se sita en la posicin inicial.
(Figura 5).
CODIGO: $02
TIEMPO DE EJECUCION: 1.64ms

3._Establecer modo de funcionamiento

CODIGO: 0 0 0 0 0 1 I/D S
DESCRIPCION: Actualizar el contador de direcciones en la forma especificada y establecer si el
display realiza desplazamientos o no. Estas acciones se llevan a cabo cada
vez que se realiza una lectura o escritura en el display. Cuando I/D=1, el contador de direcciones
se incrementa, lo que provoca que el cursor avance hacia la derecha cada vez que se imprime un
carcter en el display. Cuando I/D=0 el contador se decrementa y el cursor se mueve hacia la
izquierda al imprimir. Con S=1 se indica al LCD que debe mover el display real una posicin a la
derecha cada vez que se imprime un carcter. Con S=0 el display debe permanecer quieto al
imprimir. (Normalmente se utiliza I/D=1 y S=0, por lo que el comando tpico es 0x06)



Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 34

4.- Control ON/OFF

CODIGO: 0 0 0 0 1 D C B
CODIGO TIPICO: $0E
DESCRIPCION: Activar o desactivar el display, el cursor y el parpadeo
1. Display ON/OFF: D=1 activar el LCD. Cuando D=0 el LCD funciona normalmente pero no se
visualiza ninguna informacin. Es posible realizar impresiones, enviar comandos, pero nada
quedar reflejado en pantalla. Slo cuando D=1 se puede ver algo en el display.
2. Cursor ON/OFF: C=1 activa el cursor. Con C=0 el cursor no se ve.
3. Parpadeo ON/OFF: B=1 hace que los caracteres situados en la posicin del cursor parpadeen.
Con B=0 no hay parpadeo.
TIEMPO DE EJECUCION: 40


5.- Desplazamiento del cursor/display

CODIGO: 0 0 0 1 S/C R/L 0 0
DESCRIPCION: Desplazar una posicin el cursor o el diplay real. Con S/C=1 se mueve el display,
con S/C=0 el cursor. R/L=1 desplaza a la derecha y R/L=0 a la izquierda.
TIEMPO DE EJECUCION: 40


6.- Modo de transferencia de la informacin

CODIGO: 0 0 1 DL 1 0 0 0
DESCRIPCION: Seleccionar el bus de datos del display para trabajar a 8 bits (DL=1) o a 4
bits (DL=0)
TIEMPO DE EJECUCION: 40

Acceso a posiciones concretas de la CG RAM
CODIGO: 0 1 A5 A4 A3 A2 A1 A0
CODIGO TIPICO: 0 1 0 0 0 0 0 0 (Acceso a la posicin 0 de la CG RAM)
DESCRIPCION: Acceder a la direccin A5 A4 A3 A2 A1 A0 de la CG RAM. Esta es la direccin
que se copia en el contador de direcciones de la CG RAM. La siguiente escritura en el registro de
datos del display (RS=1) se copiar en la posicin indicada de la CG RAM
TIEMPO DE EJECUCION: 40


Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 35

Acceso a posiciones concretas de la DD RAM

CODIGO: 1 A6 A5 A4 A3 A2 A1 A0
CODIGO TIPICO: 1 0 0 0 0 0 0 0 (Acceso a la posicin 0 de la DD RAM)
DESCRIPCION: La direccin A6 A5 A4 A3 A2 A1 A0 se copia en el contador de direcciones de la
DD RAM. La siguiente escritura en el registro de datos (RS=1) se grabar en la posicin indicada
de la DD RAM.
TIEMPO DE EJECUCION: 40

Enviar datos a la CG RAM o a la DD RAM

TIEMPO EJECUCION: 40
DESCRIPCION: Enviar un dato a la DD RAM o a la CG RAM. Por defecto se accede a la DD RAM,
con lo que se imprimen los caracteres especificados en el display. La seleccin de una u otra
memoria se realiza mediante los comandos descritos en los apartados 4.3.7 y 4.3.8. A la CG RAM
se accede para definir caracteres especiales. Lo normal es acceder siempre a la DD RAM, porque
es donde se va a realizar la impresin de caracteres en el display.
TIEMPO DE EJECUCION: 40

Encendido del display


Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 36

Fuente de alimentacin:

Debido a la alta sensibilidad ante la presencia de ruido del display, se opto por utilizar la fuente del
kit integrado del microcontrolador hc11.
Cableado del display:
El display consta de 14 pines de conexin, de los cuales tenemos :
8 bits de datos
3 bits de control
2 bits de alimentacin
1 bit de control de contraste del display

Se necesitaron dos cables planos para el conexionado a la tarjeta hc11 , en uno los ocho bits de
datos y en otro los 3 bits de control. Los pines de alimentacin se conexionan aparte con la fuente
antes mencionada.

Para el conexionado a la tarjeta del hc11 se necesitan dos ports de comunicacin:

En uno tenemos los 8 bits de datos (PORTC) y en otro tenemos los 3 bits de control (PORTB).

Objetivo:
El objetivo principal de la utilizacin del display es imprimir en pantalla la velocidad real del motor
de cc .
La programacin del display es secuencial, el proceso de configuracin e inicializacin se lleva a
cabo mediante el uso de subrutinas.








? Apuntes del curso Diseo de Microcontroladores ao 2007 (UNQ)
? Manual del MC68HC11F1 (Technical Data)
? MicroControlador MC68HC11F1-Fundamentos, Recursos y Programacin - Microbotica




BI BLI OGRAF A CONSULTADA

Universidad Nacional de Quilmes Diseo de MicroControldadores Informe Proyecto Final

Control de Velocidad Pgina No. 37

Вам также может понравиться