UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
INGENIERÍA ELECTRÓNICA
MICROCONTROLADORES
“DISEÑO DE UN VCO LINEAL EN UN UC89C52”
Lina María Aguilar Javier Mauricio Rolón Luis Javier Martinez
linamaria_a_l@[Link] maorolon2@[Link] javierxito@[Link]
RESUMEN Para obtener los retardos correspondientes a
las frecuencias a mostrar en la salida se
En este proyecto se requiere diseñar e realizó un análisis matemático teniendo en
implementar un oscilador controlado por voltaje cuenta para la frecuencia mínima de
(VCO) utilizando el microcontrolador 8051, operación, el período correspondiente y este
para afianzar los conceptos aprendidos y a la fue finalmente relacionado con el período de
vez poder observar la facilidad que nos un ciclo de máquina del microcontrolador,
presenta un microcontrolador para solucionar mediante la siguiente fórmula:
cualquier tipo de problema. A continuación se
encuentra el desarrollo del proyecto, el
programa que se ensamblo en el períododefrecuenciamínima
microcontrolador y las conclusiones. # Ciclosdemauina =
períododeunciclodemaquina
DESARROLLO
1ms
# Ciclosdemaquina = = 1000ciclos
El diseño del VCO se basó en el 1µs
microcontrolador 89C52 y la frecuencia mínima
que se obtiene es 1KHz. 1000ciclos
El VCO diseñado opera para un rango de = 500ciclos
voltajes entre 0 y 5V, y la frecuencia obtenida 2
se encuentra dentro del rango entre 1KHz t
10KHz. La frecuencia de salida varía
linealmente para cada 0.5V en la entrada, por A partir de este resultado se obtiene que para
esta razón se obtienen 10 frecuencias en la la frecuencia mínima de operación (1KHz), se
salida para el rango del voltaje establecido. debe realizar un retardo igual al número de
ciclos de máquina obtenidos dividido entre 2,
La siguiente tabla muestra los valores debido a que sólo se tiene en cuenta el
preestablecidos de frecuencia presentes en la intervalo que representa el estado lógico alto
salida del VCO correspondiente para cada que es equivalente a medio período.
intervalo de voltaje de entrada.
Partiendo de este resultado se obtienen los
Rango de Voltaje Frecuencia retardos correspondientes a todas las posibles
(V) (KHz) frecuencias en la salida del VCO aplicando el
0 – 0.5 0 mismo concepto.
0.5 – 1 1
1 – 1.5 2 Realizando el análisis matemático planteado
anteriormente se obtienen los siguientes
1.5 – 2 3
valores correspondientes al número de ciclos
2 – 2.5 4
de máquina necesarios para obtener la
2.5 – 3 5
frecuencia deseada.
3 – 3.5 6
3.5 - 4 7
4 – 4.5 8
4.5 - 5 9
5 10
Ing. Gabriel Sánchez Suárez
gsanchez@[Link]
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
INGENIERÍA ELECTRÓNICA
MICROCONTROLADORES
“DISEÑO DE UN VCO LINEAL EN UN UC89C52”
Lina María Aguilar Javier Mauricio Rolón Luis Javier Martinez
linamaria_a_l@[Link] maorolon2@[Link] javierxito@[Link]
Frecuencia Ciclos de máquina La entrada de los datos se realiza a través del
(KHz) # puerto P1.
1 250 La salida se obtiene a través del bit menos
2 125 significativo del puerto P0, es decir el pin P0.1.
3 84
4 63
5 50
6 42
7 36
8 31
9 28
10 25
La implementación del VCO se realizó en un
circuito basado en un microcontrolador 89C52
y un conversor análogo – digital ADC0804.
En la salida del conversor análogo – digital se
obtiene un dato binario correspondiente al nivel
de voltaje en la entrada, y este a su vez
representa el dato binario en el puerto de
entrada del microcontrolador.
La configuración empleada para el conversor
análogo digital es la mostrada en la siguiente
figura, y presenta una resolución de 19.68mV.
El programa diseñado se basó en lo siguiente:
Se toma el dato desde el puerto de entrada y
se almacena en un registro R0, y se envía por
el puerto de salida un dato preestablecido
anteriormente almacenado también en un
registro R1. Se realiza un división entre el
número de entrada R0 y un valor
preestablecido según el rango de voltajes
asignado a cada frecuencia, es decir, como
para cada 0.5V en la señal de entrada se
produce una variación en la frecuencia de
salida, la resolución particular para este diseño
es 500mV y con esta resolución se obtiene un
dato base correspondiente a 25d.
En el microcontrolador 89C52 la configuración
de los puertos es la siguiente:
Ing. Gabriel Sánchez Suárez
gsanchez@[Link]
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
INGENIERÍA ELECTRÓNICA
MICROCONTROLADORES
“DISEÑO DE UN VCO LINEAL EN UN UC89C52”
Lina María Aguilar Javier Mauricio Rolón Luis Javier Martinez
linamaria_a_l@[Link] maorolon2@[Link] javierxito@[Link]
De acuerdo con el resultado obtenido de la INICIO: ANL P0, #00H
división se realiza un salto condicional a la MOV R1,#0AAH
subrutina correspondiente a cada frecuencia
de salida. LEER: MOV R0, P1
MOV A, R0
Debido a que el programa realiza muchas MOV B,#19H
instrucciones antes de realizar la subrutina que DIV AB
genera la frecuencia de salida fue necesario JZ FREC0
obtener un nuevo valor de retardo para cada DEC A
una de estas frecuencias, partiendo desde los JZ FREC1
retardos obtenidos analíticamente y restando DEC A
los ciclos de máquina empleados en cada JZ FREC2
instrucción. Con este procedimiento se obtuvo DEC A
los siguientes valores para el retardo JZ FREC2
correspondiente a cada frecuencia de salida. DEC A
JZ FREC3
Ciclos de Menos # Retardo DEC A
maquina ciclos #0xxH JZ FREC4
# gastados DEC A
250 18 F1 JZ FREC5
125 21 73 DEC A
84 24 48 JZ FREC6
63 27 31 DEC A
50 30 23 JZ FREC7
42 33 19 DEC A
36 36 12 JZ FREC8
31 39 C DEC A
28 42 7 JZ FREC9
DEC A
25 45 3
JZ FREC10
DEC A
Losa valores de estos retardos fueron
modificados disminuyendoles algunos pocos
FREC0: MOV P0,#00H
ciclos de máquina obteniendo estos valores del
AJMP LEER
análisis de prueba y error, y así lograr una
frecuencia de salida muy cercana a la
FREC1: MOV PO, R1
frecuencia de salida obtenida mediante el
MOV R2, #0EDH
análisis previo.
RETAR1:DJNZ R2,RETAR1
MOV A, R1
Finalmente el programa es el siguiente:
RL A
MOV R1, A
AJMP LEER
$TITLE (VCOLINEAL)
FREC2: MOV PO, R1
LJMP INICIO
MOV R2, #6EH
ORG 100H
Ing. Gabriel Sánchez Suárez
gsanchez@[Link]
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
INGENIERÍA ELECTRÓNICA
MICROCONTROLADORES
“DISEÑO DE UN VCO LINEAL EN UN UC89C52”
Lina María Aguilar Javier Mauricio Rolón Luis Javier Martinez
linamaria_a_l@[Link] maorolon2@[Link] javierxito@[Link]
RETAR2:DJNZ R2,RETAR2 FREC8: MOV PO, R1
MOV A, R1 MOV R2, #9H
RL A RETAR8: DJNZ R2,RETAR8
MOV R1, A MOV A, R1
AJMP LEER RL A
MOV R1, A
FREC3: MOV PO, R1 AJMP LEER
MOV R2, #43H
RETAR3:DJNZ R2,RETAR3 FREC9: MOV PO, R1
MOV A, R1 MOV R2, #05H
RL A RETAR9:DJNZ R2,RETAR10
MOV R1, A MOV A, R1
AJMP LEER RL A
MOV R1, A
FREC4: MOV PO, R1 AJMP LEER
MOV R2, #2DH
RETAR4:DJNZ R2,RETAR4 FREC10: MOV PO, R1
MOV A, R1 NOP
RL A MOV A, R1
MOV R1, A RL A
AJMP LEER MOV R1, A
AJMP LEER
FREC5: MOV PO, R1 END
MOV R2, #20H
RETAR1: DJNZ R2,RETAR1
MOV A, R1 CONCLUSIONES
RL A
MOV R1, A • Se observaron las ventajas de utilizar
AJMP LEER un microcontrolador 8051 en sistemas
que requieran un diseño digital
FREC6: MOV PO, R1 complejo como lo es un VCO.
MOV R2, #16H • Se logro un aprendizaje del
RETAR6: DJNZ R2,RETAR6 funcionamiento de algunas de las
MOV A, R1 instrucciones (MOV, INC, DEC, DJNZ,
RL A LJMP, JMP, etc) de programación del
MOV R1, A microcontrolador 8051.
AJMP LEER • Para la implementación del VCO se
utilizo el conversor ADC0804 debido a
FREC7: MOV PO, R1 que sus características como la
MOV R2, #0FH resolución y fácil manejo eran las
RETAR7: DJNZ R2,RETAR7 apropiadas para el circuito diseñado.
MOV A, R1 • Se conocieron las funciones de los
RL A diferentes pines que conforman
MOV R1, A
AJMP LEER
Ing. Gabriel Sánchez Suárez
gsanchez@[Link]
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
INGENIERÍA ELECTRÓNICA
MICROCONTROLADORES
“DISEÑO DE UN VCO LINEAL EN UN UC89C52”
Lina María Aguilar Javier Mauricio Rolón Luis Javier Martinez
linamaria_a_l@[Link] maorolon2@[Link] javierxito@[Link]
• microcontrolador 8051, ya que en el
diseño fueron utilizados el puerto P1
como entrada de datos y el puerto P0
como salida, además de otros pines
como RESET, /AE, etc.
• Se observo la importancia de la
simulación en el diseño de proyectos
con microcontroladores ya que por
medio de esta herramienta se puede
observar el funcionamiento, corrección
de los posibles errores en el programa
y una visión mas clara de lo que desea
programar en el microcontrolador.
BIBLIOGRAFIA
GONZALEZ, José Adolfo Vasquez;
Introducción a los microcontroladores 8X52
8X51. Mac Graw Hill.
Ing. Gabriel Sánchez Suárez
gsanchez@[Link]