Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pic16f873 Control de Velocidad Motor
Pic16f873 Control de Velocidad Motor
Universidad de Guanajuato
FIMEE
Barron Zambrano Jose Hugo
Dr. Gustavo Cerda Villafa
na
Indice general
Indice de cuadros
III
Indice de figuras
IV
1. Introducci
on
1.1. Controlador y microcontrolador . . . . . . . . . . . . . .
1.2. Diferencia entre microprocesador y microcontrolador . .
1.3. Aplicaciones de los microcontroladores . . . . . . . . . .
1.4. El mercado de los microcontroladores . . . . . . . . . . .
1.5. Que microcontrolador emplear? . . . . . . . . . . . . . .
1.6. Recursos comunes a todos los microcontroladores . . . .
1.6.1. Arquitectura basica . . . . . . . . . . . . . . . . .
1.6.2. El procesador o CPU . . . . . . . . . . . . . . . .
1.6.3. Memoria . . . . . . . . . . . . . . . . . . . . . . .
1.6.4. Puertas de Entrada y Salida . . . . . . . . . . . .
1.6.5. Reloj principal . . . . . . . . . . . . . . . . . . .
1.7. Recursos especiales . . . . . . . . . . . . . . . . . . . . .
1.7.1. Temporizadores o Timers . . . . . . . . . . . . . .
1.7.2. Perro guardian o Watchdog . . . . . . . . . . . .
1.7.3. Proteccion ante fallo de alimentacion o Brownout
1.7.4. Estado de reposo o de bajo consumo . . . . . . .
1.7.5. Conversor A/D (CAD) . . . . . . . . . . . . . . .
1.7.6. Conversor D/A (CDA) . . . . . . . . . . . . . . .
1.7.7. Comparador analogico . . . . . . . . . . . . . . .
1.7.8. Modulador de anchura de pulso o PWM . . . . .
1.7.9. Puertos de E/S digitales . . . . . . . . . . . . . .
1.7.10. Puertos de comunicacion . . . . . . . . . . . . . .
1.8. Herramientas para el desarrollo de aplicaciones . . . . . .
I
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
2
4
4
5
8
8
9
10
12
12
13
13
14
14
14
14
15
15
15
15
16
16
INDICE GENERAL
II
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3. Algoritmos implementados
3.1. Control de velocidad . . . . . . . . . . . . . . .
3.1.1. Driver L293D . . . . . . . . . . . . . . .
3.1.2. Programa para control de velocidad . . .
3.1.3. Diagrama de implementacion . . . . . .
3.2. Medidor de distancia con un sensor infrarrojo .
3.2.1. Convertidor Analogico-Digital . . . . . .
3.2.2. Sensor infrarrojo GP2D12. . . . . . . . .
3.2.3. Programa para la medicion de distancia
3.3. Implementacion . . . . . . . . . . . . . . . . . .
Universidad de Guanajuato
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
20
21
21
23
23
23
23
24
.
.
.
.
.
.
.
.
.
26
26
27
30
32
33
33
37
39
41
FIMEE
Indice de cuadros
2.1. Caractersticas del PIC16F873 . . . . . . . . . . . . . . . . . 19
2.2. Descripcion de pines del 16F873 . . . . . . . . . . . . . . . . . 25
3.1. Descripcion de funcionamiento del L293D . . . . . . . . . . . . 29
3.2. Maximas frecuencias de operacion . . . . . . . . . . . . . . . . 37
III
Indice de figuras
1.1. Estructura de un sistema abierto basado en un microprocesador.
1.2. El microcontrolador es un sistema cerrado. . . . . . . . . . . .
3
4
IV
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
de distancia.
.
.
.
.
.
.
.
.
.
.
.
27
28
28
29
33
34
35
37
38
38
41
Captulo 1
Introducci
on
Los microcontroladores estan conquistando el mundo. Estan presentes
en nuestro trabajo, en nuestra casa y en nuestra vida, en general. Se pueden
encontrar controlando el funcionamiento de los ratones y teclados de las computadoras, en los telefonos, en los hornos de microondas y los televisores de
nuestro hogar. Pero la invasion acaba de comenzar y el nacimiento del siglo
XXI sera testigo de la conquista masiva de estas diminutas computadoras,
que gobernaran la mayor parte de los aparatos que fabricaremos y usemos
los humanos.
1.1.
Controlador y microcontrolador
Recibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios procesos. Por ejemplo, el controlador que regula el
funcionamiento de un horno dispone de un sensor que mide constantemente
su temperatura interna y, cuando traspasa los lmites prefijados, genera las
se
nales adecuadas que accionan los actuadores que intentan llevar el valor de
la temperatura dentro del rango estipulado.
Aunque el concepto de controlador ha permanecido invariable a traves
del tiempo, su implementacion fsica ha variado frecuentemente. Hace tres
decadas, los controladores se construan exclusivamente con componentes de
logica discreta, posteriormente se emplearon los microprocesadores, que se
rodeaban con chips de memoria y E/S sobre una tarjeta de circuito impreso.
1
1.2.
El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (CPU), tambien llamada procesador, de una computadora. La
Universidad de Guanajuato
FIMEE
UCP esta formada por la Unidad de Control, que interpreta las instrucciones,
y el Camino de Datos, que las ejecuta. Las patitas de un microprocesador
sacan al exterior las lneas de sus buses de direcciones, datos y control, para
permitir conectarle con la Memoria y los Modulos de E/S y configurar una
computadora implementada por varios circuitos integrados. Se dice que un
microprocesador es un sistema abierto porque su configuracion es variable de
acuerdo con la aplicacion a la que se destine. (Figura 1.1)
Universidad de Guanajuato
FIMEE
1.3.
1.4.
Aunque en el mercado de la microinformatica la mayor atencion la acaparan los desarrollos de los microprocesadores, lo cierto es que se venden
Universidad de Guanajuato
FIMEE
1.5. Qu
e microcontrolador emplear?
cientos de microcontroladores por cada uno de aquellos. Existe una gran diversidad de microcontroladores. Quiza la clasificacion mas importante sea
entre microcontroladores de 4, 8, 16 o 32 bits. Aunque las prestaciones de
los microcontroladores de 16 y 32 bits son superiores a los de 4 y 8 bits, la
realidad es que los microcontroladores de 8 bits dominan el mercado y los
de 4 bits se resisten a desaparecer. La razon de esta tendencia es que los
microcontroladores de 4 y 8 bits son apropiados para la gran mayora de
las aplicaciones, lo que hace absurdo emplear micros mas potentes y consecuentemente mas caros.
Uno de los sectores que mas tira del mercado del microcontrolador es el
mercado automovilstico. De hecho, algunas de las familias de microcontroladores actuales se desarrollaron pensando en este sector, siendo modificadas
posteriormente para adaptarse a sistemas mas genericos. El mercado del automovil es ademas uno de los mas exigentes: los componentes electronicos
deben operar bajo condiciones extremas de vibraciones, choques, ruido, etc.
y seguir siendo fiables. El fallo de cualquier componente en un automovil
puede ser el origen de un accidente.
En cuanto a las tecnicas de fabricacion, cabe decir que practicamente
la totalidad de los microcontroladores actuales se fabrican con tecnologa
CMOS (Complementary Metal Oxide Semiconductor). Esta tecnologa supera las tecnicas anteriores por su bajo consumo y alta inmunidad al ruido.
La distribucion de las ventas seg
un su aplicacion es la siguiente: Una tercera parte se absorbe en las aplicaciones relacionadas con las computadoras
y sus perifericos. La cuarta parte se utiliza en las aplicaciones de consumo
(electrodomesticos, juegos, TV, vdeo, etc.). Tambien los modernos microcontroladores de 32 bits van afianzando sus posiciones en el mercado, siendo
las areas de mas interes el procesamiento de imagenes, las comunicaciones, las
aplicaciones militares, los procesos industriales y el control de los dispositivos
de almacenamiento masivo de datos.
1.5.
Qu
e microcontrolador emplear?
FIMEE
1.5. Qu
e microcontrolador emplear?
FIMEE
1.5. Qu
e microcontrolador emplear?
FIMEE
1.6.
1.6.1.
Arquitectura b
asica
Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clasica de von Neumann, en el momento presente se impone la arquitectura Harvard.
La arquitectura de von Neumann se caracteriza por disponer de una sola
memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a traves de un sistema de buses u
nico
(direcciones, datos y control). La arquitectura Harvard dispone de dos memorias independientes, una que contiene solo instrucciones y otra, solo datos.
Universidad de Guanajuato
FIMEE
1.6.2.
El procesador o CPU
Es el elemento mas importante del microcontrolador y determina sus principales caractersticas, tanto a nivel hardware como software. Se encarga de
direccionar la memoria de instrucciones, recibir el codigo de la instruccion
en curso, su decodificacion y la ejecucion de la operacion que implica la instruccion, as como la b
usqueda de los operandos y el almacenamiento del
resultado. Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales.
CISC: Un gran n
umero de procesadores usados en los microcontroladores
estan basados en la filosofa CISC (Computadoras de Juego de Instrucciones Complejo). Disponen de mas de 80 instrucciones maquina en
su repertorio, algunas de las cuales son muy sofisticadas y potentes,
requiriendo muchos ciclos para su ejecucion. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas
que act
uan como macros.
RISC: Tanto la industria de los computadores comerciales como la de los
microcontroladores estan decantandose hacia la filosofa RISC (Computadoras de Juego de Instrucciones Reducido). En estos procesadores
el repertorio de instrucciones maquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. La sencillez
y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador.
SISC: En los microcontroladores destinados a aplicaciones muy concretas,
el juego de instrucciones, ademas de ser reducido, es especfico, o sea,
las instrucciones se adaptan a las necesidades de la aplicacion prevista.
Esta filosofa se ha bautizado con el nombre de SISC (Computadoras
de Juego de Instrucciones Especfico).
Universidad de Guanajuato
FIMEE
1.6.3.
10
Memoria
En los microcontroladores la memoria de instrucciones y datos esta integrada en el propio chip. Una parte debe ser no volatil, tipo ROM, y se
destina a contener el programa de instrucciones que gobierna la aplicacion.
Otra parte de memoria sera tipo RAM, volatil, y se destina a guardar las
variables y los datos.
Hay dos peculiaridades que diferencian a los microcontroladores de las
computadoras personales: No existen sistemas de almacenamiento masivo
como disco duro o disquetes. Como el microcontrolador solo se destina a una
tarea en la memoria ROM, solo hay que almacenar un u
nico programa de
trabajo. La RAM en estos dispositivos es de poca capacidad pues solo debe
contener las variables y los cambios de informacion que se produzcan en el
transcurso del programa.
Por otra parte, como solo existe un programa activo, no se requiere
guardar una copia del mismo en la RAM pues se ejecuta directamente desde la
ROM. Los usuarios de computadoras personales estan habituados a manejar
Megabytes de memoria, pero, los dise
nadores con microcontroladores trabajan con capacidades de ROM comprendidas entre 512 bytes y 8 k bytes y de
RAM comprendidas entre 20 y 512 bytes.
Seg
un el tipo de memoria ROM que dispongan los microcontroladores,
la aplicacion y utilizacion de los mismos es diferente. Se describen las cinco
versiones de memoria no volatil que se pueden encontrar en los microcontroladores del mercado.
ROM: con mascara Es una memoria no volatil de solo lectura cuyo contenido se graba durante la fabricacion del chip. El elevado costo del
dise
no de la mascara solo hace aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se precisan cantidades
superiores a varios miles de unidades.
OTP: El microcontrolador contiene una memoria no volatil de solo lectura
programable una sola vezpor el usuario. Es el usuario quien puede
escribir el programa en el chip mediante un sencillo grabador controlado por un programa desde una PC. La version OTP es recomendable
cuando es muy corto el ciclo de dise
no del producto, o bien, en la consUniversidad de Guanajuato
FIMEE
11
FIMEE
12
1.6.4.
1.6.5.
Reloj principal
Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que configura los pulsos de reloj
usados en la sincronizacion de todas las operaciones del sistema. Generalmente, el circuito de reloj esta incorporado en el microcontrolador y solo se
necesitan unos pocos componentes exteriores para seleccionar y estabilizar
la frecuencia de trabajo. Dichos componentes suelen consistir en un cristal
de cuarzo junto a elementos pasivos o bien un resonador ceramico o una red
RC. Aumentar la frecuencia de reloj supone disminuir el tiempo en que se
ejecutan las instrucciones pero lleva aparejado un incremento del consumo
de energa.
Universidad de Guanajuato
FIMEE
1.7.
13
Recursos especiales
1.7.1.
Temporizadores o Timers
Universidad de Guanajuato
FIMEE
1.7.2.
14
Perro guardi
an o Watchdog
1.7.3.
Protecci
on ante fallo de alimentaci
on o Brownout
1.7.4.
Estado de reposo
o de bajo consumo
Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin hacer nada, a que se produzca alg
un acontecimiento
externo que le ponga de nuevo en funcionamiento. Para ahorrar energa, (factor clave en los aparatos portatiles), los microcontroladores disponen de una
instruccion especial (SLEEP en los PIC), que les pasa al estado de reposo o
de bajo consumo, en el cual los requerimientos de potencia son mnimos. En
dicho estado se detiene el reloj principal y se detienen sus circuitos asociados,
quedando sumido en un profundo sue
no el microcontrolador. Al activarse una
interrupcion ocasionada por el acontecimiento esperado, el microcontrolador
se despierta y reanuda su trabajo.
1.7.5.
FIMEE
15
diversas se
nales analogicas desde las patitas del circuito integrado.
1.7.6.
Transforma los datos digitales obtenidos del procesamiento de una computadora en su correspondiente se
nal analogica que saca al exterior por una
de las patitas de la capsula. Existen muchos dispositivos que trabajan con
se
nales analogicas.
1.7.7.
Comparador anal
ogico
1.7.8.
1.7.9.
Universidad de Guanajuato
FIMEE
1.7.10.
16
Puertos de comunicaci
on
1.8.
1.8.1.
FIMEE
17
FIMEE
18
Universidad de Guanajuato
FIMEE
Captulo 2
Introducci
on al PIC16F873
En este capitulo se trataran las diversas caractersticas de este microcontrolador. Tambien se trataran las funciones basica como lo es la configuracion
para la entrada y salida de informacion.
2.1.
Descripci
on del PIC16F873
2.2. Encapsulado
20
2.2.
Encapsulado
Universidad de Guanajuato
FIMEE
2.3. Organizaci
on de memoria
2.3.
21
Organizaci
on de memoria
Hay tres bloques de memoria en este PIC los cuales son: memoria FLASH
de programa , memoria de Datos (RAM) y memoria EEPROM de datos.
Debido a las aplicaciones que se tratan , solo es necesario conocer la memoria
de Datos (RAM).
2.3.1.
Banco
0
1
2
3
Cada banco se extiende hasta la direccion 7Fh (128 bytes). La parte baja
de cada banco es reservada para los Registros de Funciones Especiales. Los
Registro de Proposito General pueden ser accesados cada uno directamente,
o indirectamente.
La conformacion de los bancos se muestra en la Figura 2.2.
Universidad de Guanajuato
FIMEE
2.3. Organizaci
on de memoria
22
Universidad de Guanajuato
FIMEE
2.4.
23
Puertos de Entrada/Salida
Los PICs tiene la caractersticas de que sus pines pueden ser todos configurados de acuerdo a la necesidad de la aplicacion, es decir, que lo pines de un
mismo puerto pueden ser usados unos como entradas y otros como salidas.
Ademas, algunos pines E/S de los puertos son multiplexados a una funciona alternativa de caractersticas perifericas. En general, cuando una funcion de estas es habilitada, ese pin tal vez no pueda ser usado como un pin
de proposito de E/S.
2.4.1.
El puerto A es un puerto bidireccional con un ancho de 6 bits. La correspondiente direccion de datos es el registro TRISA. Al puerto A le corresponde la direccion 05h del banco 0, en tanto que al registro TRISA le
corresponde la misma direccion pero del banco 1. Si queremos que el puerto
A funcione como entrada de datos debemos poner los correspondientes bits
del registro TRISA en 1, en cambio, si queremos que dicho puertos funcione
como salida debemos colocar los del registro TRISA a 0.
2.4.2.
El puerto B es un puerto bidireccional con un ancho de 8 bits. La correspondiente direccion de datos es el registro TRISB. Al puerto B le corresponde la direccion 06h del banco 0, en tanto que al registro TRISB le
corresponde la misma direccion pero del banco 1.
La configuracion del puerto B se realiza de la misma forma que el puerto
A, solo que ahora se manipula el registro TRISB.
2.4.3.
El puerto C es un puerto bidireccional con un ancho de 8 bits. La correspondiente direccion de datos es el registro TRISC. Al puerto A le corresponde la direccion 07h del banco 0, en tanto que al registro TRISC le
corresponde la misma direccion pero del banco 1.
Universidad de Guanajuato
FIMEE
24
2.5.
Ejemplo de configuraci
on para E/S
P=16F873;Usaremos el PIC16F873A-04/P
HEX
;Todo en hexadecimal
EQU 0
EQU 1
;Declaraci
on de las variables
PUERTOA EQU 05
PUERTOB EQU 06
ESTADO EQU 03
ORG
goto
ORG
0
inicio
5
;Direcci
on del Puerto A
;Direcci
on del Puerto B
;Control de los bancos
;Configuraci
on de los puertos A como Entrada y B como Salida
inicio bsf
ESTADO,5
;Apertura del banco 1
movlw
0x3Fh
movwf
PUERTOA
;se configuran PUERTOA como entradas
clrw
movwf
PUERTOB
;y configuran PUERTOB como salidas
bcf
ESTADO,5
;Cierre del banco 1
;Inicio de programa
clrf
PUERToB
CICLO
movf
PUERTOA,w
movwf
PUERTOB
goto
CICLO
END
Universidad de Guanajuato
;Todo a pagado
;Lleva lo del puerto A a W
;Lleva W al puerto B
;Fin del programa
FIMEE
Cuadro
Pin
OSC1/CLKIN
OSC2/CLKOUT
MCLR/VPP/THV
25
RA0/AN0
RA1/AN1 3 3
RA2/AN2/VREF
E/S
E/S
E/S
RA3/AN3/VREF+
E/S
RA4/T0CKI
E/S
RA5/SS/AN4
E/S
RB0/INT
RB1, RB2
RB3/PGM
RB4, RB5
RB6/PGC
RB7/PGD
E/S
E/S
E/S
E/S
E/S
E/S
RC0/T1OSO/T1CKI
E/S
RC1/T1OSI/CCP2
E/S ST
RC2/CCP1
RC3/SCK/SCL
RC4
RC5
RC6/TX/CK
RC7/RX/DT
VSS
VDD
E/S
E/S
E/S
E/S
E/S
E/S
G
V
Universidad de Guanajuato
Referencia de tierra
Fuente positiva .
FIMEE
Captulo 3
Algoritmos implementados
En este capitulo se describiran la algoritmos implementados, as como
los diagramas para implementarlos fsicamente. Ademas, se describiran los
dispositivos ajenos al microcontrolador que se usaron para el desarrollo de la
aplicaciones.
3.1.
Control de velocidad
26
27
3.1.1.
Driver L293D
El L293 es un driver en circuito integrado para control de motores simultaneos en forma bidireccional, el circuito usa dos puentes cada uno con
un par de canales y equipado con una entrada de habilitacion o enable (Figura 3.2) .
EL L293D esta limitado a 600 mA, pero se recomienda para motores con
menor demanda de corriente, sino no se quiere tener problema con el calentamiento del driver. Ademas, como se ve en la Figura cuenta con unos diodos
para minimizar picos inducidos de voltaje. Este dispositivo se recomienda
para aplicaciones donde la velocidad de switcheo no es mayor a 5 KHz.
El L293 es un circuito integrado estandar de 16 pines como se observa en
la Figura 3.3.
Universidad de Guanajuato
FIMEE
28
Universidad de Guanajuato
FIMEE
29
Universidad de Guanajuato
FIMEE
3.1.2.
30
w
f
LIST
RADIX
EQU 0
EQU 1
P=16F873
HEX
;Usaremos el PIC16F873-04/P
;Todo en hexadecimal
;Cuando d=0 el destino es w
;Cuando d=1 el destino es f
;****************Declaraci
on de las variables******************
PUERTOA EQU 05
PUERTOB EQU 06
ESTADO
EQU 03
;********Variables auxiliares para el retardo*************
AUX1
EQU 0F
AUX2
EQU 0E
AUX3
EQU 0C
ORG
goto
ORG
0
inicio
5
;***************Configuraci
on de Entradas/Salidas**************
Universidad de Guanajuato
FIMEE
bsf ESTADO,5
clrw
movwf
PUERTOA
movlw
0x0FF
movwf
PUERTOB
bcf
ESTADO,5
31
;Apertura del banco 1
;Se limpia w (w=00h)
;PUERTOA como salidas
;PUERTOB como entradas
;Cierre del banco 1
;**************Programa principal*******************************
clrf
PUERTOA
;Todo apagado en el puerto A
ciclo
movf
PUERTOB,w
;Mueve lo del puerto de entrada a W
movwf
AUX2
;Mueve w a la direcci
on de memoria que
;apunta AUX2 (0Eh)
;********C
alculo de tiempo que durar
a en bajo la se~
nal******
sublw
0x0FF
;Resta el valor de entrada a FFh y se
;guarda en w
movwf
AUX3
;se mueve el resultado de la resta a la
;direcci
on que apunta AUX3 (0Ch)
;***********************************************************
movf
AUX2,w
addlw
0X01
movwf
AUX2
decfsz AUX2,f
goto
uno
goto
cero
;**********************************************************
uno
movlw
0x01
;Lleva el valor 01h a W
movwf
PUERTOA
;Lleva W al puerto A
call
retardo
;Llamado de el divisor de frecuencia
decfsz AUX2,f
;Se decrementa AUX2 y se deposita en
;ella misma y si llega a cero cambia
;la salida a 00h
goto
uno
;si no es cero se repite
cero
movlw
0x00
;Lleva el valor 00h a W
movwf
PUERTOA
;Lleva W al puerto A
call
retardo
;Llamado de el divisor de frecuencia
decfsz AUX3,f
;Se decrementa AUX3 y se deposita en
;ella misma y si llega a cero
;salta a la ultima instrucci
on
Universidad de Guanajuato
FIMEE
32
goto
cero
;si no es cero se repite
;*********************************************************
goto
ciclo
;Vuelve a iniciar
;***************Rutina de retardo*****************************
;Esta rutina se utiliza como un divisor de frecuencia, ya que no
;se puede utilizar la frecuencia del PIC de manera directa.
retardo
one
movlw
movwf
decfsz
0x90
AUX1
AUX1,f
goto one
return
END
3.1.3.
Diagrama de implementaci
on
Universidad de Guanajuato
FIMEE
33
3.2.
Para el desarrollo de esta aplicacion se utilizo el convertidor AnalogicoDigital del PIC y el sensor infrarrojo de la marca Sharp modelo GP2D12.
3.2.1.
Convertidor Anal
ogico-Digital
FIMEE
34
registros son:
Registro de resultado parte alta (ADRESH)
Registro de resultado parte baja (ADRESL)
Registro de control0 (ADCON0)
Registro de control1 (ADCON1)
El registro ADCON0 , se muestra en la Figura 3.6, controla la operacion
del modulo A/D. El registro de control ADCON1 se muestra en la Figura
3.7, configura las funciones de los pines del puerto. Los pines del puerto
pueden ser configurados como entrada analogicas (RA3 tambien puede ser la
referencia de voltaje) o como E/S digitales.
Universidad de Guanajuato
FIMEE
35
FIMEE
36
FIMEE
37
3.2.2.
FIMEE
38
FIMEE
3.2.3.
39
w
f
LIST
RADIX
EQU 0
EQU 1
P=16F873
HEX
;Usaremos el PIC16F873-04/P
;Todo en hexadecimal
;Cuando d=0 el destino es w
;Cuando d=1 el destino es f
;***********Declaraci
on de las variables*************************
PUERTOA EQU 05h
PUERTOB EQU 06h
ESTADO
EQU 03h
AUX1
EQU 0Fh
;Variables auxiliares
AUX2
EQU 0Eh
AUX3
EQU 0Ch
ADCON
EQU 1Fh
ADRESH
EQU 1Eh
Universidad de Guanajuato
FIMEE
ORG
goto
ORG
0
inicio
5
40
;********Configuraci
on de los puertos como E/S*****************
inicio bsf ESTADO,5
;Apertura del banco 1
movlw
0x0FF
movwf
PUERTOA
;PUERTOA como entradas
clrw
movwf
PUERTOB
;PUERTOB como salida
bcf
ESTADO,5
;Cierre del banco 1
;*********Configuraci
on del m
odulo de A/D*********************
clrf
PUERTOB
;Se limpian las salidas
bsf
ESTADO,5
;Apertura del banco 1
movlw
0x05
;Mueve el valor de 05h a w
movwf
ADCON
;Mueve el valor de W (05h) al registro
;de control ADCON1
bcf
ESTADO,5
;Cierre del banco 1
movlw
0x81
;Mueve el valor de 81h a w
movwf
ADCON
;Mueve el valor de w (81h) al registro
; de control ADCON0
;*********Proceso de conversi
on*******************************
CONV
bsf
ADCON,2
CHECA
BTFSC
GOTO
movf
ADCON,2
CHECA
ADRESH,w
movwf
PUERTOB
goto
CONV
END
Universidad de Guanajuato
FIMEE
3.3. Implementaci
on
3.3.
41
Implementaci
on
Universidad de Guanajuato
FIMEE