











Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este libro presenta los conceptos básicos referentes a los microcontroladores PIC16 y ofrece una serie de ejemplos y pequeños proyectos. Los microcontroladores PIC16 ejecutan solo 35 instrucciones diferentes y se consideran procesadores de tipo RISC. cómo funcionan los transistores y cómo se generan los circuitos para representar los símbolos 0 y 1. Además, se describe la memoria de programa y de datos, y se muestra cómo programar el microcontrolador sin necesidad de adquirir programas especiales.
Qué aprenderás
Tipo: Resúmenes
1 / 19
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Los avances en electrónica han permitido que las computadoras surjan y se usen en muy diversas áreas del quehacer humano: investigación, ejército, gobierno, negocios, comunicaciones, educación, salud, recreación, etc. Mientras que los microprocesadores se han vuelto más poderosos, también se han especializado y han dado lugar a los ahora llamados procesadores de uso general, a los procesadores digitales de señales (DSP), y a los microcontroladores. Con la intención de agilizar el desarrollo de aplicaciones, mientras que son tratados los conceptos básicos referentes a los microcontroladores PIC16, en este libro se presentarán una serie de ejemplos y pequeños proyectos. La programación de estos proyectos se efectuó por completo en lenguaje ensamblador por las razones siguientes:
Los microcontroladores PIC16 ejecutan sólo 35 instrucciones diferentes, por lo que se consideran procesadores de tipo RISC (Reduced Instruction Set Computer). La sig. Tabla muestra dicho conjunto de instrucciones.
siguiente posición a la izquierda, el valor de este uno se multiplica por el peso de la posición y resulta un diez; sumando estos valores obtenemos el dieciséis. SISTEMA BINARIO En el segundo ejemplo se agregó al 16 un cero a la izquierda, es decir, 016; si no usáramos cotidianamente el sistema decimal, tendríamos que efectuar la siguiente operación para determinar el valor que estamos representando: cero veces cien + una vez diez + seis veces uno; el objetivo de este segundo ejemplo es hacer notar que escribiendo en decimal no usamos los ceros a la izquierda porque no aportan información. En el último ejemplo de la tabla se representa el ciento sesenta mil novecientos diez; una vez cien mil + seis veces diez mil + cero veces mil + nueve veces cien + una vez diez + cero veces uno; una cantidad bastante grande, representada sistemáticamente a partir de diez símbolos que toman diferente valor dependiendo de la posición en que aparecen. En el sistema binario hay sólo dos símbolos y se usa en las computadoras digitales porque Es relativamente simple fabricar transistores que operen en dos estados diferentes: Corte representación. Con los transistores trabajando en estos modos se generan los circuitos para representar Los símbolos 0 y 1; sin embargo, es importante resaltar que corte NO representa forzosamente Alguno de los símbolos y saturación al otro, eso depende de la tecnología usada; en el caso de Los PIC16 se usa tecnología CMOS y obtener cada símbolo requiere del uso de dos transistores Operando en forma complementaria (el tema se retomará al abordar el uso de los puertos).
Sistema hexadecimal La tabla 1.4 muestra los ejemplos correspondientes al sistema hexadecimal. Para determinar el valor de una cifra seguiríamos el mismo proceso que en los sistemas decimal y Binario, sólo que en esta ocasión contamos con dieciséis símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F (sistema base dieciséis). Del 0 al 9 los símbolos representan lo mismo que en Sistema decimal, el símbolo A representa un diez, el B un once y así sucesivamente hasta el F, Que representa quince.
¿Qué representan en la tabla 1? ¿las letras f, d, b y k? En la primera columna de la tabla 1.1 se presentan los mnemónicos de las instrucciones que manejan los PIC16; después de cada instrucción puede presentarse una f, d, b o k. Estas letras representan los datos u operandos que requiere cada instrucción.
A través de la memoria para datos de los PIC16, se puede acceder a una serie de registros relacionados Con la operación del núcleo del procesador y de sus periféricos (registros de uso específico); estos registros ocupan Las primeras 32 localidades en cada banco. Las celdas sombreadas representan localidades que no existen en los Dispositivos. El MPLAB MPLAB es el nombre del entorno o ambiente integrado de desarrollo que ofrece la compañía Microchip para trabajar con sus productos. Para el desarrollo de este libro se usó la versión 8.53, que era la más nueva al iniciar el proyecto. Entre otras cosas, dicho ambiente integrado De desarrollo IDE (por sus siglas en inglés) permite editar, simular y depurar los programas, Así como fungir como controlador del equipo que finalmente programará el circuito integrado.
Al concluir el proceso obtendremos una serie de mensajes en la ventana de salida; el último será BUILD SUCCED. En este punto tenemos preparado el ambiente de desarrollo para efectuar los programas de ejemplo que usaremos al presentar el conjunto de instrucciones (figura 1.14). Cada vez que se modifique el código y se quieran observar los efectos en el simulador es necesario usar la opción Build All en el menú Project; como alternativas se tienen el icono Build All y las teclas Ctrl+F
Para inicializar el contador (CONT) a diez, requerimos dos instrucciones: una que cargue la constante o literal al registro de trabajo (MOVLW), y otra que pase el contenido del registro de trabajo a una localidad de memoria (MOVWF) (tablas 1.1 y 1.5). Para observar el efecto que tienen estas instrucciones, agregamos CONT (usando Add Symbol) y WREG (usando Add SFR) en la ventana Watch (figura 1.15). Para ejecutar el programa línea por línea se usa la opción Step Into del menú Debuger también se pueden usar la tecla F7 y el icono Step Into (al desplazar el cursor sobre los iconos aparece una etiqueta indicando su nombre o función).El cuerpo principal del programa sólo tiene la instrucción NOP precedida por la etiqueta CICLO. Esta etiqueta funciona en forma conjunta con la instrucción GOTO, que a su vez sirve para modificar el flujo en los programas. “Normalmente” se ejecuta una instrucción tras otra; al llegar a GOTO CICLO se ordena al microcontrolador ejecutar la instrucción que está en la dirección representada por CICLO. Observe en la figura 1.15 (memoria de programa) que CICLO se reemplazó automáticamente por 0x2 – GOTO 0x2, en lugar de GOTO CICLO. Antes de que se ejecute por primera vez la instrucción DECFSZ, el contenido de la localidad 020 representada por CONT es diez, después de la ejecución CONT valdrá 9; como este resultado es diferente de 0, no se ordenará saltar la siguiente instrucción. Como resultado de las siguientes iteraciones, CONT valdrá o almacenará: 8, 7, 6, 5, 4, 3, 2, 1 y 0. En la misma iteración en la que DECFSZ causa que CONT valga 0, el microcontrolador dejará de ejecutar (saltará) la instrucción GOTO: la flecha a la izquierda de las ventanas del programa en ensamblador y de la memoria de programa apuntará al penúltimo NOP (fin del ejemplo, figura 1.16).De la figura 1.17 a la 1.21 se muestra la descripción, similar a la que hace Microchip en el manual de procesadores de mediano rango,[1] de las instrucciones hasta ahora utilizadas. En comparación con la descripción de Microchip, se retiraron: Words porque todas las instrucciones ocupan una palabra en la memoria de programa, y Q Cycle Activity porque esto será tratado en el capítulo de arquitectura
es la misma que se usó para CONT en el ejemplo anterior. Para iniciar a cero RESULT se usó la instrucción CLRF (figura 1.23). Esta instrucción causa además que la bandera cero (Z) en el registro de estado (STATUS) tome el valor de 1. Para observar este cambio: en la ventana Wacth agregue STATUS usando la opción Add SFR. Puede facilitar la verificación si coloca además el apuntador sobre la opción decimal de la ventana Watch, da clic con el botón derecho y agrega la modalidad de visualización Binary (figura 1.22). El bit Z es el número 2, contando de derecha a izquierda a partir de 0 (registro 1.1).