Documentos de Académico
Documentos de Profesional
Documentos de Cultura
.
Firma del Autor.
. .
Firma del Tutor. Firma del Jefe de Departamento
donde se defiende el trabajo.
.
Firma del Responsable de
Información Científico-Técnica.
Pen sam ien to
- I -
D ed icatoria
- II -
Agrad ecim ien tos
- III -
Tarea Técnica
TAREA TÉCNICA.
. .
Firma del Autor. Firma del Tutor.
- IV -
Resu men
RESUMEN.
- V -
Índ ice
ÍNDICE.
PENSAMIENTO. .................................................................................. I
DEDICATORIA.................................................................................. II
RESUMEN. ......................................................................................... V
INTRODUCCIÓN. ............................................................................... 1
Organización del informe. ................................................................ 2
- VI -
Índ ice
- VII -
Índ ice
LISTA DE TABLAS............................................................................76
ANEXOS. ...........................................................................................77
- VIII -
In troducció n
INTRODUCCIÓN.
- 1 -
In troducció n
- 2 -
CAPÍTULO I.
- 4 -
Cap ítu lo I
- 5 -
Cap ítu lo I
- 6 -
Cap ítu lo I
- 7 -
Cap ítu lo I
- 8 -
Cap ítu lo I
- 9 -
Cap ítu lo I
- 10 -
Cap ítu lo I
Al igual que todos los registros específicos que controlan la actividad del
procesador, el contador de programa está implementado sobre un par de
posiciones de la memoria RAM. Cuando se escribe el contador de programa
como resultado de una operación de la ALU, los ocho bits de menos peso
del PC residen en el registro PCL, que ocupa, repetido, la posición de los
dos bancos de memoria de datos.
- 11 -
Cap ítu lo I
Los bits de más peso PC <12:8>, reciben los cinco bits de menos peso del
registro PCLATH que ocupa la posición 0Ah de los bancos de la memoria
RAM.
- 12 -
Cap ítu lo I
misma dirección de los dos bancos, para simplificar su acceso (INDF, ESTADO, FSR,
PCLATH e INTCON). La posición apuntada por la dirección 07h y la apuntada por la 87h
no son operativas. Los 36 registros restantes de cada banco se destinan a Registros de
Propósito General y en realidad solo son operativos los 36 del BANCO 0 porque los del
BANCO 1 se mapean sobre el BANCO 0, es decir cuando se apunta a un registro general
del BANCO 1, se accede al mismo del BANCO 0. Figura 1.8.
Para seleccionar el banco a acceder hay que manipular el bit cinco (RP0) del registro
ESTADO (Anexo 1). Si RPO = 0 se selecciona con este fin el BANCO 0. Tras un Reset
se accede automáticamente al BANCO 0. Para seleccionar un registro de propósito general
hay que tener en cuenta el estado del bit RP0, porque al estar mapeado el BANCO 1 sobre
el BANCO 0, cualquier direccionamiento del BANCO 1 corresponde al homólogo del
BANCO 0. En el direccionamiento directo de los registros GPR se ignora el bit de más
peso, que identifica el banco y sus direcciones están comprendidas entre el valor OxCh y
Ox2Fh.
- 13 -
Cap ítu lo I
Los registros SFR se clasifican en dos grupos. En uno se incluyen aquellos que controlan el
núcleo del microcontrolador (ESTADO, OPCION, INTCON, etc.) y en el otro los que
caracterizan la operatividad de los recursos auxiliares y periféricos. La Tabla 1.1. presenta
la estructura de los registros y los valores que toman después de un Reset valida para la
familia PIC 16X8X.
Tabla 1.1. Especificaciones de los registros SFR de los bancos de la memoria de datos.
- 14 -
Cap ítu lo I
En los PIC de la gama media la memoria de datos esta organizada para alojar un máximo
de 4 bancos de 128 bytes cada uno pero el PIC 16C84 solo tiene implementados los 48
primeros bytes de los bancos 0 y 1. En el resto de los PIC de esta familia se destinan dos
bits del registro ESTADO (RP0 y RP1) (Anexo 1) para determinar el banco y otros siete
para elegir una de las 128 posiciones del banco seleccionado. Figura 1.9.
- 15 -
Cap ítu lo I
- 16 -
Cap ítu lo I
- 17 -
Cap ítu lo I
1.2.5.1. El Puerto A.
1.2.5.1. El Puerto B.
- 18 -
Cap ítu lo I
A todas las líneas de este puerto se les permite conectar una resistencia
pull-up de elevado valor con el positivo de la alimentación. Con este fin
Hay que programar en el registro OPTION (Anexo 3) el bit RBPU# igual
cero, afectando la conexión de la resistencia a todas las líneas. Con el
Reset todas las líneas quedan configuradas como entradas si se desactivan
las resistencias pull-up.
Las 4 líneas de los bits más significativos RB7►4 pueden programarse para
soportar una misión especial, cuando actúan como entradas se les puede
programar para generar una interrupción si alguna de ellas cambia su estado
lógico. El estado de estos pines se compara con el valor antiguo que tenía y
que se había “latcheado” durante la última lectura del PUERTO B. El
cambio de estado en alguna de esas líneas origina una interrupción y la
activación del señalizador RBIF.
1.2.6. Contadores/Temporizadores.
- 19 -
Cap ítu lo I
- 20 -
Cap ítu lo I
- 21 -
Cap ítu lo I
F ig ura 1.13. Esq ue ma s imp lif icado de la s e cción d ed icada a l co ntro l de t ie mpo s de
l a a rq u it e ctu ra de l P IC 1 6X 8X .
- 22 -
Cap ítu lo I
Para estudiar los diversos formatos que admiten las instrucciones del
repertorio de los PIC 16X8X se clasifican en cinco grandes grupos,
atendiendo al tipo de operación que desarrollan.
Las instrucciones de los PIC de la gama media entre los que se encuentran
los PIC 16X8X se divide en diferentes campos de bits, cada uno de los
cuales referencia a operandos o elementos que maneja la instrucción en la
operación que realiza en el procesador. Se describen dichos campos:
Campo del código de operación. Los bits de este campo sirven para definir la
operación que realiza esta instrucción.
Campos de los operandos fuente (f) y destino (d). Estos campos de bits definen
los registros que actúan con operandos en la instrucción. Suelen referenciar la
dirección que ocupan en la memoria de datos. Se utiliza para realizar operaciones
orientadas a manejar registros de tamaño byte. Figura 1.14.
- 23 -
Cap ítu lo I
Campo que referencia a un bit (b). Suele ser un campo de tres bits que indica la
posición de un bit concreto dentro de un registro de ocho bits. Las operaciones
orientadas a manejar bits lo adoptan. Figura 1.16.
Campo de la dirección del salto. En las instrucciones de salto call y goto hay un
campo de bits que contiene la dirección de la siguiente instrucción que hay que
ejecutar. Dicho campo de bits se carga en el PC en las operaciones de salto
incondicional. En el caso de operaciones de salto condicional no se utiliza. Figura
1.17.
Responden a la sintaxis nemotécnica f,d, siendo f y d los dos operandos fuente y destino
que se hallan implementados por registros de ocho bits de la memoria de datos. El registro f
viene referenciado por la dirección de siete bits que ocupa, mientras que el destino sólo por
uno, que si vale cero es el W y si vale uno es el registro fuente. En la Tabla 1.2. se
muestran las instrucciones de este grupo con sus características más importantes.
- 24 -
Cap ítu lo I
Tabla 1.2. Instrucciones de los PIC 16X8X que manejan como operandos registros de ocho bits
Sólo hay dos instrucciones en este grupo, pero son muy flexibles. Una de ellas pone a uno
(bsf) cualquier bit de un registro, mientras que la otra los pone a cero (bcf). Tabla 1.3.
Tabla 1.3. Características más relevantes de las instrucciones que manejan bits.
- 25 -
Cap ítu lo I
Tabla 1.4. Características más relevantes de las cuatro instrucciones condicionales de salto.
Tabla 1.5. Características más relevantes de las instrucciones que manejan operandos inmediatos (k).
- 26 -
Cap ítu lo I
- 27 -
Cap ítu lo I
- 28 -
Cap ítu lo I
Figura 1.18. Organigrama de las operaciones principales de una interrupción en los PIC 16X8X.
- 29 -
Cap ítu lo I
Cuando ocurre uno de los cuatro sucesos antes mencionados se origina una
petición de interrupción, que si se acepta y atiende comienza depositando el
valor de PC actual en la Pila, poniendo el bit GIE=0 y cargando en el PC el
valor 0004h, que es el Vector de Interrupción donde se desvía el flujo de
control.Cada fuente de interrupción dispone de un señalizador o bandera,
que es un bit que se pone automáticamente a uno cuando se produce.
Además cada fuente de interrupción tiene otro bit de permiso, que su valor
prohíbe o permite la realización de dicha interrupción. Figura 1.19.
Figura 1.19. Lógica de control para la generación de una interrupción en los PIC 16X8X.
- 30 -
Cap ítu lo I
1.4.1.3. Interrupción por cambio de estado en las líneas RB7►4 del Puerto B.
- 31 -
Cap ítu lo I
Los PIC 16X8X tienen cinco causas que provocan la reinicialización del
sistema, que consiste en cargar al PC con el valor 0000h (Vector de Reset)
y poner el estado de los bits de los registros específicos (SFR) con un valor
conocido.
En la Tabla 1.7. se presenta el estado lógico que adquieren los bits de los
registros SFR de la memoria de datos cuando se provoca un Reset por una
de las cinco causas posibles.
- 32 -
Cap ítu lo I
Tabla 1.7. Valores que adquieren los bits de los registros SFR y el W después de producirse un Reset
por una de las cinco causas posibles.
- 33 -
Cap ítu lo I
Los PICs actuales vienen con una amplia gama de mejoras hardware
incorporadas:
Núcleos de UCP de 8/16 bits con Arquitectura Harvard modificada
Memoria Flash y ROM disponible desde 256 bytes a 256 Kbytes.
Puertos de E/S (típicamente 0 a 5,5 voltios).
Temporizadores de 8/16 bits.
Tecnología Nanowatt para modos de control de energía.
Periféricos serie síncronos y asíncronos: USART, AUSART,
EUSART.
Conversores analógico/digital de 10-12 bits.
Comparadores de tensión.
Módulos de captura y comparación PWM.
Controladores LCD.
Periférico MSSP para comunicaciones I2C, SPI, y I2S.
Memoria EEPROM interna con duración de hasta un millón de ciclos
de lectura/escritura.
Periféricos de control de motores.
Soporte de interfaz USB.
Soporte de controlador Ethernet.
Soporte de controlador CAN.
Soporte de controlador LIN.
Soporte de controlador Irda.
(Wikipedia.org., 2006)
- 34 -
Cap ítu lo I
- 35 -
Cap ítu lo I
- 36 -
Cap ítu lo I
Hay muchos foros y listas de correo dedicados al PIC en los que un usuario
puede proponer sus dudas y recibir respuestas. (Wikipedia.org., 2006)
- 37 -
CAPÍTULO II.
2.1.1. PROTEUS.
- 39 -
Cap ítu lo II
- 40 -
Cap ítu lo II
ARES (Advanced Routing and Editing Software) forma parte del módulo
del sistema PROTEUS para el diseño de PBC y ofrece listados de
componentes basados en estos, esto es completado con un amplio arsenal de
herramientas de diseño automático. Entre las principales posibilidades
ofrecidas por ARES se encuentran:
- 41 -
Cap ítu lo II
- 42 -
Cap ítu lo II
2.1.2. MPLAB.
- 43 -
Cap ítu lo II
El ambiente de trabajo del MPLAB es bastante amigable y de fácil manejo Figura 2.4.
- 44 -
Cap ítu lo II
- 45 -
Cap ítu lo II
F ig ura 2.5. Apa r ien c ia d e uno de lo s espa cios de t raba jo del KTechlab.
- 46 -
Cap ítu lo II
2.1.4.2. YaPIDE.
- 47 -
Cap ítu lo II
2.1.4.3. PiKdev.
- 48 -
Cap ítu lo II
- 49 -
Cap ítu lo II
- 50 -
Cap ítu lo II
- 51 -
Cap ítu lo II
Los pines D2►5 son utilizados por la PC para controlar V D D (D4) y MCLR
(D5); enviar la señal de reloj a RB6 (D3) y enviar o recibir datos desde el
Microcontrolador a través de RB7 (D2 ó /ACK). La referencia de tierra se
toma del Quemador. El enlace con los elementos del circuito se realiza
mediante inversores. Todas las salidas de los inversores están conectadas a
resistencias pull-up.
- 52 -
Cap ítu lo II
- 53 -
Cap ítu lo II
- 54 -
Cap ítu lo II
F ig u ra 2 . 1 1 . D ist r ib u c ió n d e p i n e s d e u n t e c la d o n u m ér i co.
- 55 -
CAPÍTULO III.
Diseño de aplicaciones
Cap ítu lo III
- 57 -
Cap ítu lo III
- 58 -
Cap ítu lo III
- 59 -
Cap ítu lo III
Chequeo visual.
Chequeo de continuidad.
Mediciones de CD.
Mediciones de CA.
- 60 -
Cap ítu lo III
- 61 -
Cap ítu lo III
Este es un ejemplo del ISIS que es factible montar por su sencillo diseño.
F ig ura 3.2. D iag rama sim p lif icado de l p rograma Timb r e m us ica l.
- 62 -
Cap ítu lo III
- 63 -
Cap ítu lo III
3.3.2. Reloj.
Fig ura 3.5. D iag rama simplif icado del programa Relo j.
- 64 -
Cap ítu lo III
- 65 -
Cap ítu lo III
- 66 -
Cap ítu lo III
Fig ura 3.8. D iag rama simplif icado del programa LCD.
- 67 -
Cap ítu lo III
- 68 -
Con c lu sion es y Reco mendacion e s
CONCLUSIONES Y RECOMENDACIONES.
Conclusiones.
Recomendaciones.
- 69 -
Ref eren c ia s Bib liográf icas
REFERENCIAS BIBLIOGRÁFICAS.
- 70 -
Ref eren c ia s Bib liográf icas
Microchip Technology, Inc (2003). MPLAB IDE v6.xx Quick Start Guide.
Disponible en: http://www.microchip.com Consultado: abril de 2006.
- 71 -
Ref eren c ia s Bib liográf icas
Microchip Technology, Inc (2005). Tips and Tricks LCD PICmicro® MCU.
Disponible en: http://www.microchip.com Consultado: abril de 2006.
- 72 -
Ref eren c ia s Bib liográf icas
w3.org. (2006). The PiKdev and CPIK Home Page. Disponible en:
http://www.w3.org/TR/html4/loose.dtd Consultado: mayo de 2006.
Última actualización: 17 de octubre de 2006.
- 73 -
Lista d e Figu ras
LISTA DE FIGURAS.
Capítulo I
Capítulo II
- 74 -
Lista d e Figu ras
Capítulo III
- 75 -
Lista d e Tab las
LISTA DE TABLAS.
Capítulo I
Tabla 1.7. Valores que adquieren los bits de los registros SFR y el W
después de producirse un RESET por una de las cinco causas posibles.
.......................................................................................................33
Capítulo II
- 76 -
Anexos
ANEXOS.
- 77 -
Anexos
- 78 -
Anexos
- 79 -
Anexos
- 80 -
Anexos
movlw D'6'
movwf TMR0
;*****ATENCION A TECLADO*****
- 81 -
Anexos
;*****ATENCION A TECLADO*****
;*****TABLA*****
- 82 -
Anexos
;*****DEMORAS*****
Reset_HM clrf HM
- 83 -
Anexos
E incf LH
return
I incf LH
return ;***
A1 movf LH,W
sublw D'0'
btfsc STATUS,Z
goto I1
decf LH
return
E1 movlw D'1'
movwf HH
movlw D'2'
movwf LH
return
I1 clrf HH
movlw D'9'
movwf LH
return ;***
- 84 -
Anexos
- 85 -
Anexos
- 86 -
Anexos
;*****INICIALIZACION DISPLAY*****
clrw
movwf PORTA
call DEM ;***
movlw Funtion_Set ;Entrada de la Palabra de Control Funtion Set
movwf PORTB ; RS,RW=0 E=1, E=0 entrada de los datos
bsf PORTA,E ; La subrutina de demora DEM1 es para la
call DEM ; retención de los datos
bcf PORTA,E ;***
- 87 -
Anexos
;*****ATENCION A TECLADO*****
TECLADO movlw H'00'
movwf PORTA
- 88 -
Anexos
- 89 -
Anexos
;*****DEMORAS*****
DEM movlw D'2' ;***
movwf Del1 ;Subrutina de demora corta, se utiliza para
Loop1 movlw D'100' ; periodos de mantención de datos y de
movwf Del2 ; establecimiento en la inicialización del Display
Loop2 decfsz Del2,F
goto Loop2
decfsz Del1,F
goto Loop1
return ;***
- 90 -