Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Sheet Music
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC con C Bliblioman Programación C para microcontroladores PIC Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Curso para aprender a programar en lenguaje C utilizando utiliz ando un compilador para PIC, en concreto el PCW compiler de la casa CCS. Cursos sobre C en Internet a miles, pero todos todos los que yo yo he visto están realizados sobre compiladores de propósito general, como Vicu C++ de Microsoft ó Builder C++ de Borlan, sin duda son excelentes compiladores que nos permiten realizar aplicaciones para
ordenadores de escritorio tanto tanto en C como en C++ (la versión orientada a objetos de C), pero no sirven para programar PIC, es decir con el ejecutable que generan al compilar no se puede programar un Microcontrolador.
Lo habitual hasta ahora es que los usuarios que se inician en este apasionante mundo de la programación de Microcontroladores, sea d la marca que sea, primero lo hacían utilizando el lenguaje ensamblador, especifico no solo ya para cada marca de microcontrolador sino para cada modelo, ya que hay que conocer perfectamente los recursos de cada Microcontrolador (Número de puertos de Entrada/Salida Relojes internos, etc. ). Al principio de los tiempos de estos dispositivos esto era obligatorio ya que los recursos de memoria y velocidad de procesamiento no eran muy grandes y había que optimizar el código al máximo, esto implicaba que había que utilizar a la fuerza un lenguaje de programación de bajo nivel qu bien utilizado explotara los recursos de estos dispositivos sin desperdiciar memoria y velocidad de procesamiento, pero al igual qu ha ocurrido con los ordenadores personales las prestaciones de estos dispositivos ha ido creciendo exponencialmente con el tiempo, siendo ya perfectamente factible el utilizar un lenguaje de alto nivel para programar estos dispositivos y aprovecharnos de las ventajas de portabilidad que ofrecen este tipo de lenguajes, de esta manera por ejemplo podemos hacer un programa para un PIC en e n concreto y utilizarlo en otro de mayores prestaciones sin modificar apenas nada del código fuente. Sign up to vote on this title
¿Quien puede sacar provecho de este curso?. Este curso es para ti si Useful Not useful Has programado PIC en Ensamblador y quieres hacerlo en un
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Curso para aprender a programar en lenguaje C utilizando utiliz ando un compilador para PIC, en concreto el PCW compiler de la casa CCS. Cursos sobre C en Internet a miles, pero todos todos los que yo yo he visto están realizados sobre compiladores de propósito general, como Vicu C++ de Microsoft ó Builder C++ de Borlan, sin duda son excelentes compiladores que nos permiten realizar aplicaciones para
ordenadores de escritorio tanto tanto en C como en C++ (la versión orientada a objetos de C), pero no sirven para programar PIC, es decir con el ejecutable que generan al compilar no se puede programar un Microcontrolador.
Lo habitual hasta ahora es que los usuarios que se inician en este apasionante mundo de la programación de Microcontroladores, sea d la marca que sea, primero lo hacían utilizando el lenguaje ensamblador, especifico no solo ya para cada marca de microcontrolador sino para cada modelo, ya que hay que conocer perfectamente los recursos de cada Microcontrolador (Número de puertos de Entrada/Salida Relojes internos, etc. ). Al principio de los tiempos de estos dispositivos esto era obligatorio ya que los recursos de memoria y velocidad de procesamiento no eran muy grandes y había que optimizar el código al máximo, esto implicaba que había que utilizar a la fuerza un lenguaje de programación de bajo nivel qu bien utilizado explotara los recursos de estos dispositivos sin desperdiciar memoria y velocidad de procesamiento, pero al igual qu ha ocurrido con los ordenadores personales las prestaciones de estos dispositivos ha ido creciendo exponencialmente con el tiempo, siendo ya perfectamente factible el utilizar un lenguaje de alto nivel para programar estos dispositivos y aprovecharnos de las ventajas de portabilidad que ofrecen este tipo de lenguajes, de esta manera por ejemplo podemos hacer un programa para un PIC en e n concreto y utilizarlo en otro de mayores prestaciones sin modificar apenas nada del código fuente. Sign up to vote on this title
¿Quien puede sacar provecho de este curso?. Este curso es para ti si Useful Not useful Has programado PIC en Ensamblador y quieres hacerlo en un
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
clásico Hola Mundo con el que empiezan todos los libros de iniciación a la programación. Bueno alguno pensará que para aprender a programar en C vale cualquier compilador de uso general
y lo que realmente interesa es e s saber las instrucciones de C que tengo que utilizar para configurar por ejemplo un puerto como entrada o salida, o que código tengo que utilizar para utilizar los convertidores A/D que incorporan ya casi todos los PIC, indudablemente ese es el propósito final de este curso y para ello paralelamente a él va haber otro donde se van a ver aplicaciones prácticas. Pero hay que tener en cuenta que los compiladores para Microcontroladores son específicos para estos dispositivos embebidos y no cumplen con el Estándar ANSI C al 100 %, por lo que cuando estés programando lo más seguro es que te vayas dando cuenta que una función que en el C estándar funciona perfectamente aquí te da un error al compilar. Además te irás quedando con mucho código que lo has probado y sabes que te funciona perfectamente, cuando tengas que hacer una aplicación práctica no tendrás la duda si puedes usar una determinada estructura en tu programa ó si es posible utilizar punteros o no y como hacerlo, porque ya lo sabrás a la vez que has ido aprendiendo el lenguaje de programación y no solo eso, te irás familiarizando con las instrucciones específicas del compilador: de que herramientas dispone, sus funciones precompiladas, su sistema de depuración de errores, etc. ¿Que herramientas voy a necesitar para realizar el curso?. El compilador CCS seguro, vaya es de pago ya empezamos con problemas te puedes bajar una versión de Evaluación por 30 días desde aquí: Sign up to vote on this title
http://www.ccsinfo.com/ccsfreedemo.php
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Otra limitación es que el tamaño del programa no puede superar los 2K de memoria, aunque para los ejemplos que vamos a hacer aquí te sobra. Bien ya tenemos solucionado el tema del compilador, bien sea por que con la demo nos apañamos o porque tengo un amigo cojonudo que me va ha prestar uno con licencia para que pueda rea realiza lizarr el el cu curso rso (je (je,j ,je. e... ). Bien ya tengo el compilador y puedo empezar a programar y a crear mis .HEX (para el que no lo sepa es el archivo que tenemos que cargar en nuestro PIC para que funcione). Todo To do esto es muy elemental para el que lo sabe, pero como dije al principio este curso está pensado también para el que no tiene ti ene ni idea de programar microcontroladores. Así es que sigamos. Sign up to vote on this title
Una vez que tenemos nuestro .HEX tendremos que Not useful Usefulque comprobar funciona realmente para ello tenemos dos opciones:
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Bien nosotros utilizaremos la segunda opción, aunque en una práctic veremos como hacerlo de la primera forma. La versión de evaluación de Proteus te la puedes descargar desde aquí:
http://www.labcenter.co.uk/download/prodemo_download.cfm
Claro que tiene limitaciones, sino no sería una demo, la principal es que no podemos guardar nuestros trabajos y la segunda es que no lleva incorporado muchas de las librerías dinámicas necesarias
para realizar la simulación de algunos microcontrloladores. Mira a ve si el amigo que te dejo el compilador te puede dejar también una licencia para este magnífico Simulador. You're Reading a Preview Unlock full access with a free trial.
Nota: en este sitio está prohibido el mostrar ó facilitar enlaces a
lugares de descarga de dudosa reputación. Lo digo tambien para que Download With Free Trial se tenga en cuenta en el foro que próximamente estará a vuestra disposición y donde podremos exponer nuestras dudas ó experiencia sobre este tema y sobre otros que irán saliendo.
Otra cosa que quiero aclarar es que el curso va a ser todo lo práctico que pueda y la forma de proceder será Sign up to vote on this title
useful Useful la siguiente: iré mostrando uno ó varios ejemplos deNot cada tema y posteriormente haré una Explicación de los mismos. Yo no se vosotros pero yo cada vez que he querido aprender algo nuevo lo
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
1
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Bueno vamos a continuar con el índice de nuestro curso:
Mi primer programa en C con el compilador PCW C. Simular nuestro primer programa con proteus. Variables y Tipos de Datos. Constantes. Depuración de programas con Proteus y CCS Funciones de Entrada / Salida serie RS232 La función printf(). Funciones getc(), getch() y getchar(). Funciones gets() y puts(). Operadores. Sentencias repetitivas. Bucle while Bucle for Bucle do-while Sentencias condicionales Sentencia if Sentencia if-else Sentencia switch o o o
o o o
o o o
Sentencias de salto. Sentencias goto, break, continue. You're Reading a Preview Sentencia return. Funciones. Unlock full access with a free trial. Punteros. Arrays. Download With Free Trial Cadenas de caracteres. Funciones para manipular cadenas de caracteres. Función strcyp (cadena 1, cadena 2). Función strcat (cadena 1, cadena 2). Función strlen (cadena). Función strcmp (cadena 1, cadena 2). Arrays Multidimensionales. Arrays de cadenas. Sign up to vote on this title Punteros y Arrays. Useful Not useful Array de punteros. Relación entre Arrays y Punteros. Aritmética de Punteros y errores mas comunes. o o o o
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Vamos a crear nuestro primer ejemplo paso a paso: abrimos el IDE de nuestro compilador y seleccionamos New->Source File según se muestra en la figura de abajo:
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Nos saldrá un cuadro de dialogo de guardar de Windows, donde le pondremos un nombre a nuestro archivo y lo guardaremos. Después escribimos el código fuente que se muestra en la figura de abajo y guardamos el documento: Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Comentario del programa:
En primer lugar nos encontramos con tres directivas del prepocesador, las identificaremos porque empiezan por el símbolo (#): Sign up to vote on this title
Useful
Not useful
La primera de ellas es una directiva include su función es introducir un documento dentro de otro. En la posición del
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
#use rs232 (baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) esta directiva es para la comunicación del PIC con otro dispositivo vía RS232, por ejemplo un ordenador, en ella se encuentran definidas los prototipos de las funciones de entrada y salida como printf().
En segundo y último lugar se encuentra la función main. Este es el núcleo del programa, el que va ha incluir todos los pasos a seguir durante su ejecución. En nuestro primer ejemplo solo contiene una sentencia que hace una llamada a la función printf(), esta función se encarga de mostrar un mensaje por el dispositivo de salida RS-232.
El mensaje que muestra la función printf es el que recibe como parámetro (el texto entre paréntesis). Dicho mensaje es delimitado por las comillas dobles, que indican el principio y el fin de una caden de texto. Bien una vez creado el archivo .c de nuestro programa tenemos que crear un proyecto y asociarle el archivo que acabamos de crear, tenemos dos opciones crearlo manualmente ó utilizar el wizard que tiene el IDE, en este primer ejemplo utilizaremos la opción manual. You're Reading a Preview
Después seleccionamos New Unlock->Project full access with aManual free trial. Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Seleccionamos la pestaña Compile y pulsamos sobre Build All para construir todo.
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Vemos que el archivo de salida no nos ha producido ningún error. Por tanto el proyecto se ha generado correctamente. Sign up to vote on this title
Y si vamos a la carpeta donde habíamos guardado nuestro primer Useful Not useful ejemplo, tenemos todos los archivos que nos ha creado el IDE:
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
De todos estos archivos los que mas nos interesa son los que están Free Trial marcados en la figura de Download arriba. ElWith archivo Ejemplo1.hex es el que tenemos que utilizar para programar el PIC y el que termina con extensión .cof lo utilizaremos para cargarlo en el simulador Proteus y poder simular el programa paso a paso, entre otras posibilidades mu útiles a la hora de depurar nuestro código.
Bien ya tenemos nuestro primer ejemplo generado y listo para cargarlo en nuestro simulador Proteus. Vamos a ello: Sign up to vote on this title Arrancamos nuestro simulador Proteus y pasamos a colocar nuestros Useful colocando Not useful el PIC, dispositivos en el área de trabajo. Empezaremos para ello hacemos clic en el botón que pone Pick Devices según se muestra en la figura de abajo:
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
En la ventana que nos aparece en el campo Keywords escribimos el nombre de nuestro PIC.
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Una vez seleccionado hacemos doble clic sobre el para incorporarlo a Useful Not useful nuestro proyecto.
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Bien, vamos por el segundo y último elemento que necesitamos para simular nuestro programa. Hay que tener en cuenta que el simulado es capaz de hacer funcionar nuestro circuito sin algunos elementos que serían necesarios si decidimos montar nuestro circuito en una You're Reading a Preview placa real (por ejemplo la alimentación del PIC y el cristal de cuarzo) Unlock full access with a free trial.
El segundo elemento que necesitamos es un Terminal Virtual que Download With Free hará las veces de monitor, para poder verTrial las salidas en formato texto de nuestro PIC como si se tratará del símbolo del sistema en un ordenador de escritorio con el Windows instalado. En la figura de abajo se muestra donde podemos incorporar dicho instrumento.
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Con esto ya tendremos los dos elementos necesarios para simular nuestros programas, recordemos que en este curso se va a ver las generalidades del lenguaje C aplicadas a este compilador, en el caso de las aplicaciones prácticas que empezaremos pronto en otro articulo tendremos que hacer un circuito independiente para cada ejemplo ya que cada uno de ellos incorporará elementos diferentes como: diodos Led, motores, teclados, displays, etc. Sign up to vote on this title La interconexión de los dos dispositivos es muy sencilla según se usefulel puntero Useful muestra en la figura de abajo, solo hay que hacer clicNotcon del ratón en forma de lápiz entre los terminales que queremos conexionar:
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
El pin del PIC que habíamos elegido transmisión de datos en Download Withcomo Free Trial nuestro programa irá conectado al terminal RXD de recepción de datos en el Terminal Virtual y viceversa. Bien ahora tenemos que cargar nuestro programa en el PIC para poder simularlo, para ello hacemos doble clic sobre el PIC y nos aparecerá la ventana de la figura de abajo:
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Los valores que en un principio tenemos que introducir para que Download With Free Trial nuestra simulación funcione son los que están señalados en la figura de arriba. En Program File pincharemos sobre la carpeta y seleccionaremos el archivo con extensión .cof que se había creado al compilar nuestro programa, si en vez de este seleccionamos el que tiene extensión .Hex funcionará igual pero no podremos realizar la simulación paso a paso. El otro valor a tener en cuenta es que la frecuencia del reloj del PIC debe coincidir con el valor que le habíamos puesto en el programa en nuestro caso 4 MHz. Sign up to vote on this title
Useful Not useful Si ahora hacemos clic sobre el botón Playse nos abrirá una termina al estilo MSDos donde nos mostrará la salida de nuestro programa:
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Ahora si le damos al botón de simulación paso a paso podremos simular nuestro ejemplo paso a paso. Si en vez de ello nos sale una ventana mostrando dos advertencias de que no se puede encontrar el código fuente de nuestro ejemplo, como se muestra en la figura de abajo. Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Seguiremos los siguientes pasos: Sign up to vote on this title
En el menú seleccionamos Source y hacemos clic sobre Define Code Useful Not useful Generation Tools
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Nos aparecerá la ventana de abajo en la que pulsaremos sobre el botón New
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Buscamos en nuestro directorio donde se ha instalado el compilador Sign up to vote this title de abajo: seleccionamos CCsc.exe tal y como se muestra en laonfigura
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Después en el combo Tool seleccionamos el compilador y configuramos el resto de parámetros tal y como se muestra en la figura de abajo y pulsamos OK:Reading a Preview You're Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Ahora nos queda añadir nuestro código fuente para ello vamos al menú seleccionamos Source Add/Remove Source files…
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Donde podemos ver la ejecución del programa línea a línea o poner puntos de interrupción en las partes del programa que nosotros queramos. Saber que existe un plugin que permite integrar un visor de proteus en el famoso simulador MPLAB. Incluiré un video en la sección de descargas donde explica como hacerlo, aunque nosotros seguiremos utilizando este método. Sign up to vote on this title
Bien a partir de ahora ya podemos empezar a estudiar el lenguaje de Useful Not useful programación C en este compilador como si fuera un compilador cualquiera como Microsoft Visual C++ pero comprobando las
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
tipo nombre_variable [=valor];
Lo que va entre corchetes es porque es opcional es decir, las variables se pueden inicializar ó no al declararlas. Ejemplo de variable declarada: int i; Ejemplo de variable declarada e inicializada: int i=5;
En una misma línea se puede declarar más de una variable siguiendo el siguiente formato: You're Reading a Preview tipo nombre_variable1,nombre_variable2,....; Unlock full access with a free trial.
Download With Free Trial
Hay que tener en cuenta que la línea tiene que acabar en punto y coma.
El tipo de datos es obligatorio ponerlo y le dice al compilador cuantas celdillas de memoria tiene que reservar para almacenar el valor de la variable. Los tipos de datos pueden variar de un compilador a otro, vamos a ver los tipos de datos que podemos usar con nuestro compilador CCS. Sign up to vote on this title
Useful
Not useful
Los tipos de datos básicos que utiliza nuestro compilador son los siguientes:
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Sin embargo el compilador CCS también admite los siguientes tipos de datos definidos en el estándar C y que son los que normalmente se utilizan a la hora de programar:
Todos los tipos excepto float son por defecto sin signo, aunque pueden llevar el especificador unsigned ó signed y su rango de valores será el que corresponda a su atipo básico. You're Reading Preview Unlock full access with a free trial.
Estos son los tipos básicos, también están los tipos de datos Download With Free Trial y Uniones que están compuestos como Enumeraciones, Estructuras formados por una combinación de los básicos y que los veremos más adelante.
El nombre de la variable no puede ser una palabra clave (reservada por el compilador para realizar unas funciones determinadas y los caracteres que podemos utilizar son las letras: a-z y A-Z ( ¡ojo! la ñ Ñ no está permitida), los números: 0-9 y el símbolo de subrayado _. Sign up to vote on this title Además hay que tener en cuenta que el primer carácter no puede se Useful Not useful un número.
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Las variables locales se declaran en la función en que van a ser utilizadas. Sólo existen dentro de la función en que se declara se destruye al finalizar dicha función. Si una función va a usar argumentos (DATOS), entonces debe declarar las variables que van a aceptar los valores de esos argumentos. Estas variables son los parámetros formales de la función. Se comportan como cualquier otra variable local de la función, creándose al entrar en la función y destruyéndose al salir. Cuando veamos el tema de las funciones veremos ejemplos de estas variables.
Bueno ya está bien de teoría vamos hacer un ejemplo donde vamos a declarar y a usar varios tipos de variables:
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview
Comentario del programa:
Unlock full access with a free trial.
Download With Free Trial
El compilador utiliza 8 bits para representar los números enteros sin signo con l cual podemos representar desde el 0 hasta el 255 que corresponde en binario al número: 11111111. Por lo que al asignarle a la variable el valor 256 el compilador no generará un error pero el dato guardado será erróneo, nos mostrará 0 que es el siguiente valor a 255 en binario. Para los números enteros con signo también se utilizan 8 bits pero el último bit se reserva para el signo, con lo que se podrán representar los números desde: 127 al 127. Sign up to vote on this title El tipo short se utilizará para las variables de unUseful bit y tendrán useful valor 0 ó 1. Notcomo Para los números tipo long int se reservan 16 bits sin signo con lo que su rango va de 0 a 65535
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Sign In
Upload
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
1
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
CONSIDERACIONES: Hay que intentar siempre utilizar el tipo de dato que menos
memoria ocupe dentro de los valores que pueda utilizar la variable. Si abusamos de los tipos grandes para almacenar valores pequeños nos quedaremos sin memoria y en los programas grandes es un dato que tenemos que tener en cuenta. Nota: en los ejemplos que tengan poco código fuente como este
y para que el formato de texto salga con los mismos colores que utiliza el compilador utilizaré imágenes para mostrar el código y en la sección de descargas iré incluyendo los ejemplos del curso para que todo el que no quiera teclearlos a mano se los pueda descargar. Otra cosa no incluiré el circuito en Proteus ya que es el mismo para todos los ejemplos a excepción de que en algunos ejemplos pueda ir cambiando el tipo de PIC.
Antes de empezar con el tema de las constantes voy a comentar valga la redundancia la forma de poner comentarios a nuestros programas. Hay dos formas de poner comentarios en C:
Poniendo doble barra (la Reading que hay encima del 7), esta forma es You're a Preview práctica para comentar una línea. Unlock full access with a free trial.
Ejemplo: Download With Free Trial
//Este texto es un comentario. //y este otro también.
la otra forma es meter el texto a comentar dentro de estos símbolos /* mi comentario*/. La ventaja de este sistema es qu podemos comentar bloques de textos enteros. Ejemplo:
Sign up to vote on this title
/*Mi comentario empieza aquí.....
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
fuente y podremos realizar ajustes y pruebas de una manera más fácil. Muchas veces también vemos que revisando código que han hecho otras personas hay partes del código que están comentadas esto es para hacerlo mas funcional, es decir, por poner un ejemplo, s utilizas el PIC 16F877 des comenta esta parte y si utilizas otro PIC lo dejas comentado, de esta manera comentando o descomentando unas cuantas líneas podemos utilizar el programa en varias situaciones.
Bueno, todo esto para el que tenga una idea de programación seguro que ya lo sabe, pero como dije al principio voy ha intentar que este curso le sirva también al que no tenga ni idea de programación aunque, en este caso, hay que decir también si se es honesto, que aprender un lenguaje de programación al igual que aprender un idioma nuevo supone un esfuerzo considerable y no vasta con leerse un libro de C y decir ¡ya soy un programador de C!, bajo mi modesta opinión lo que hay que hacer es practicar mucho, es decir teclear mucho código compilarlo y comprobar que funciona como nosotros queremos que lo haga, al principio cometeremos muchos errores per el descubrir cual es la causa del error nos servirá para aprender mas todavía y sobre todo no desanimarse a la primera de cambio cuando You're Reading a Preview algo no funcione. La constancia y la perseverancia son las claves del Unlock fullobjetivo, access with a free éxito para conseguir cualquier notrial. solo el aprender a programar PIC en C. Y ya está bien porque menudo rollo estoy soltando, así que vamos aDownload empezar con que era el tema de este With FreeloTrial capitulo: las constantes.
Las constantes se refieren a valores fijos que no se pueden alterar por medio del programa. Pueden definirse constantes de cualquiera de los tipos de datos simples que hemos visto. up to votedel on this title de datos Se declaran colocando el modificador constSigndelante tipo
Ejem:
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Ejem. #define MAXIMO 30
Esta orden se ejecuta de la siguiente forma: en la fase de compilació al ejecutar #define el compilador sustituye cada operación de la primera cadena de caracteres por la segunda, MAXIMO por el valor 30 además, no se permite asignar ningún valor a esa constante. Es decir si pusiéramos: #define MAXIMO = 30 Al compilar tendríamos un error. Nota: La declaración #define no acaba en ";" You're Reading a Preview
También podemos tener en nuestro programa Unlock full access with a free trial. Constantes de cadena una cadena de texto es una secuencia de caracteres encerrados entr dobles comillas. Se usa para funciones deTrial entrada y salida estándar, Download With Free como función de entrada y salida de texto estamos utilizando la función printf que esta definida dentro de-> #use rs232, pero ya veremos que el compilador CCS proporciona un número considerable de funciones listas para usarse y que nos sirven para comunicarnos con el dispositivo de entrada y salida RS-232. Hemos dicho que podemos definir constantes prácticamente Sign up to vote on this title de cualquier tipo de dato, pero CCS nos permite también useful Useful Notrepresentar esas constantes en diferentes sistemas de numeración como hexadecimal, binario, octal, decimal y además definir también
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
1
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Ejemplo: 0x2A Binario
empiezan por 0b
Ejemplo: 0b00001011
Este último formato es muy útil, por ejemplo el PIC dispone de unos registros que sirven para configurar los puertos del PIC como entradas de datos o salida de datos, por defecto vienen configurados como entradas y si quiero utilizar algún pin como salida porque quiero utilizarlo para encender un LED o lo que sea, tengo que poner a cero dicho registro. En el formato binario se ve fácilmente que valores se le va asignar al registro, teniendo en cuenta que los registros empiezan por 0. Como siempre vamos hacer un ejemplo para ver si nuestro compilador se traga todo You're lo que he dicho: Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Bien si todo va bien obtendremos la siguiente salida:
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial la introducción de este curso la finalidad Comentario: Como dije en
es aprender a programar PIC en lenguaje C eso conlleva saber el lenguaje C, que seguiremos viendo en esta parte del curso, pero también el saber utilizar los recursos y funcionalidades que nos ofrecen los PIC como por ejemplo saber programar sus contadores, como enviar datos a un LCD, el utilizar los conversores A/D, etc. Par ello voy a iniciar próximamente un segundo artículo donde empezaremos a estudiar ejemplos prácticos de los PIC. Sign up to vote on this title
useful Una vez iniciada la parte de prácticas vamos a seguir con la teoría, Useful Not pero antes he incluido este pequeño artículo sacado de un video tutorial que encontré en Internet y que he adaptado al compilador
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
pausa, una vista condensada de todas esas ventanas la tenemos en la figura de abajo:
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Como vemos aparte de poder ver el estado de los registros SFR del PIC podemos ver el estado de la memoria EPROM del PIC, El contenido de la memoria de programa (donde se encuentra grabado de forma permanente nuestro programa ),Sign elupestado (útil to vote onde thisPILA title cuando se trabaja con interrupciones y funciones), ventana nos Not useful Useful otra muestra el estado de la memoria RAM reservada a los datos ó registros de propósito general (GPR) en formato hexadecimal y otra
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Si estamos en modo Run e intentamos acceder a estas ventanas vemos que están deshabilitadas:
¿Qué otro sistema tenemos para depurar nuestros programas? Pues bien una manera que siempre podemos utilizar es utilizar la función You're Reading a Preview printf como herramienta de depuración, es decir, ponemos la función printf en determinadas partes del programa donde queramos saber e Unlock full access with a free trial. estado de una o varias variables y por medio de la terminal podemos saber el valor que van tomando, comprobado que nuestro Downloaduna With vez Free Trial programa funciona como nosotros queremos borramos las funciones printf que hayamos introducido con propósitos de depuración.
Pero Proteus nos proporciona otro método para ver el estado de las variables cuando estamos ejecutando nuestro programa ya sea en modo Run ó en modo paso, es la ventana Watch Window y podemos acceder a ella por medio del menú DebugSign --> Watch Windows. up to vote on this title
Useful
Not useful
Vamos a ver cómo podemos utilizarla. Para ello compilaremos el siguiente ejemplo:
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
while(TRUE) { if (x<=9) { x++; delay_ms(500); //printf("x = %d.\r",x); } else { if (y<=9) { y++; delay_ms(500); //printf("y = %d.\r",y); } } } } You're Reading a Preview
Es un programa que lo único que hace es incrementar la variable X d full access free trial. 0 a 10 y después hace lo Unlock mismo conwith la avariable Y, pero es suficiente para ver cómo utilizar la ventana Watch Windows para ver el valor que van tomando las variables X eWith Y. Free Trial Download Primeramente compilamos el ejemplo y después dentro del IDE del compilador hacemos clic en el icono Symbol Map según se muestra en la figura de abajo: Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Como vemos en la figura You're de arriba lasa Preview variable X e Y tienen Reading asignadas las direcciones de memoria 0x011 y 0x012 en la Unlock full access with a free trial. memoria RAM de propósito general (GPR), que como ya sabemos la que el programador dispone para almacenar los valores de sus Download With Free Trial variables. Bien, una vez anotadas estas direcciones volvemos al entorno de Proteus y abrimos la ventana Watch Windows, dentro de ella hacemos clic con el botón derecho del ratón y seleccionamos Add Items (By Address)… , según se muestra en la figura de abajo: Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Nos aparecerá una nueva ventana donde iremos añadiendo las variables con su dirección correspondiente:
Una vez añadidas las variables podemos ver el valor que van tomando mientras ejecutamos nuestro programa en la ventana Watc Windows, según se muestra en la figura de abajo: Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Pero tenemos aún mas opcciones, por ejemplo podemos establecer e stablecer condiciones para ello hacemos clic en la variable con el botón derech y seleccionamos seleccionamos Watchpoint Condition…
Nos aparecerá la la ventana que se muestra abajo:
Por ejemplo yo la he configurado para que cuando la variable X sea igual a cinco se pare la simulación, pero admite más condiciones solo hay que ponerse y experimentar con las diferentes opciones que tenemos, también también decir que que podemos hacer que la ventana Watch Signnos up to interesan vote on this title Windows nos muestre los registros SFR que junto con Not useful Useful las variables que nosotros hemos declarado, en finmuchas posibilidades de depuración. El conocer estas herramientas herramientas nos puede facilitar mucho el aprendizaje porque vemos la secuencia real
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Como siempre espero vuestros comentarios y os agradecería que las preguntas que tengáis sobre estos temas, pues las hagáis directamente en el foro que para eso está.
Aunque no hemos visto el tema de las funciones todavía, pero ya que estamos utilizando esta función muy a menudo, vamos a ver alguna de las posibilidades que nos ofrece. El que tenga conocimientos del lenguaje C sabrá que para utilizar esta función que pertenece al estándar ANSI de C hay ha y que incluir previamente el archivo de cabece #include , pero esto con el compilador PCW de CCS no funciona, en este compilador esta función está definida en la directiva: dire ctiva: #use RS232(BAUD=9600,BITS=8,PAR RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN ITY=N,XMIT=PIN_B1,RCV=PIN_B2) _B1,RCV=PIN_B2)
Esto quiere decir que cada vez que queramos utilizar la función printf tenemos que haber incluido previamente esta directiva, que posibilita la comunicación del PIC con otro dispositivo utilizando el protocolo de comunicación serie RS232, además de la función printf esta directiva permite el uso de otras funciones para la entrada y salida d datos serie como: getc, getchar, gets, puts y kbhit que iremos viendo poco a poco, pero la más importante para la salida de datos sin duda es printf, porque nos permite formatear la salida de esos datos de la forma que nosotros queramos.
Como vemos la directiva #use RS232 admite una serie de parámetros que son los que van entre paréntesis separados por comas, estos son los siguientes:
BAUD con este parámetro establecemos la velocidad en baudios a la que
queremos que se transmitan los datos por el puerto serie, 9600 es lo normal. Sign up to vote on this title
useful Usefulión, elNot BITS número de bits que utilizaremos en la transmisión, transmis estándar establece
que pueden ser 8 ó 9, para la comunicación con microcontroladores con 8 son suficientes.
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Sign In
Upload
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
La forma de hacer la llamada a la función printf es la siguiente:
printf(Nombre Función, Cadena de caracteres , valores);
Como vemos la función printf también admite parámetros que podremos utilizar para formatear el texto de salida. Vamos a ver cuáles son:
El primero es opcional y es el nombre de una función, si no lo l o ponemos los datos se transmitirán vía RS232 a través de los pines que hayamos configurado en la directiva #use RS232. El segundo parámetro es una cadena de caracteres encerrada entre comillas dobles. Y el tercero son datos o nombres de variables cuyo valor queremos que se muestren. Vamos a ver todo esto con ejemplos que es como mejor se ven las cosas:
1º Ejemplo:
#include <16F877.h> #use delay(clock=4000000) #include #use RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN_B RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN_B1,RCV=PIN_B2) 1,RCV=PIN_B2) void main() { int i1=9; lcd_init(); //función de inicialización del LCD
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
}
Comentario:
En este primer ejemplo vamos a ver el uso de la función printf utilizando diferentes parámetros. Como vamos a utilizar la librería que incluye el compilador para el manejo de un LCD tenemos que incluir la directiva:
#include
Declaramos una variable i1 de tipo entero que nos va a servir para mostrar su valor en terminal y en un LCD.
Cuando utilicemos la librería LCD.C y antes de utilizar cualquier otra función incluida en la librería tenemos que llamar a la siguiente función que sirve para inicializar el LCD. You're Reading a Preview
Unlock full access with a free trial.
lcd_init();
Download With Free Trial
En la primera llamada a la función printf como parámetros solo incluimos una cadena de caracteres constante que termina en (\r), esa barra invertida junto con la r se le llama secuencia de escape y le está diciendo al compilador que al final de la cadena introduz un retorno de carro (tecla enter). Las secuencias de escape se utilizan para representar caracteres o acciones especiales. Sign up to vote on this title
printf("Esto es una cadena\r");
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
\' \" \\
Comilla simple Comillas dobles Barra invertida Símbolo de \? interrogación \0 Caracter nulo Símbolo Tanto por \% ciento \b Retroceder un caracter
Vamos con la segunda llamada a la función:
printf("El valor de la variable i1 es: %d",i1);
En este caso tampoco está definido el primer parámetro, You're Reading a Previewpor tanto, al igual que en la primera llamada a la función, los datos se enviaran por el puerto serie al pin que access with free trial. hayamos definido en la directivaUnlock #usefullRS232, en aesta llamada vemos que tenemos la cadena de caracteres limitada por las comillas dobles y separado por una coma, como Trial declarado previamente. En l tercer parámetro el nombre de laDownload variable i1With queFree habíamos cadena de caracteres vemos que aparece el carácter de % seguido de la letra d, ese es u carácter especial para la función y lo que le indica a la función es que en esa posición muestre el valor de la variable i1, la d le indica a la función que represente ese valor en formato de número entero. Podemos representar el valor de la variable en diferentes formatos según se muestra en la tabla de abajo:
c s
Caracter Cadena ó caracter
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Sign In
Upload
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
1
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
g e w
Número real en coma flotante con redondeo Número real en formato exponencial Entero sin signo con decimales insertados. Especifica dos números para n. La 1ª cifra indica el total y la 2ª el número de decimales
Si quisiésemos mostrar el valor de más de una variable lo haríamos de la siguiente forma:
printf("El valor i1 es: %d el de i2: %d y el de i3: %d",i1,i2,i3);
Vamos con la última llamada a la función del 1º ejemplo:
printf (lcd_putc,"El valor de i1 es: %d",i1); You're Reading a Preview Unlock full access with a free trial.
En esta llamada hemos incluido Download el primer parámetro y hemos puesto el nombre de la With Free Trial función lcd_putc, está función está definida en la librería LCD.C que trae el compilad para ayuda del manejo de los dispositivos LCD y que hemos incluido en nuestro programa por medio de la directiva #include , vemos que la librería está encerrada entre los símbolos de <> esto le indica al compilador que busque la librería e el directorio en que se instalo el compilador, si copiáramos esa librería en otro director tendríamos que indicarle la ruta completa, pero esta vez encerrada entre comillas doble Sign up to vote on this title
Ejemplo:
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Aquí tenéis un video demostrativo del ejemplo:
Ver vídeo
2º Ejemplo
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Comentario del programa:
You're Reading a Preview Unlock full access with a free trial.
El especificador de formato %x indica al sistema que escriba en hexadecimal (base 16) el valor sustituido. Download With Free Trial
El ejemplo también escribe el carácter 'A', apoyándose en cuatro formas distint de representaciones iníciales. En todos los casos se almacenará el mismo valor numérico, pero son diferentes las representaciones usadas. El carácter (A) sale en la terminal en una línea diferente cada vez que se imprime, eso es debido a la secuencia de escape (\r) utilizada.
Observar que el ejemplo se ha hecho sobre el PIC 16f84 que no disponede una up to vote on this title USART hardware para la comunicación serieSign , pero sin embargo el programa se Useful Not useful ha ejecutado correctamente, eso es debido a que la comunicación serie se ha establecido por software por medio de las librerías implementadas en el compilador PCW.
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
en C echará de menos la función scanf() definida en la librería stdio.h y perteneciente a estándar ANSI C. Pero desgraciadamente esa función tampoco está disponible en CCS Pero tampoco hay por qué preocuparse mucho, porque disponemos de otras. En este caso vamos a ver las funciones: getc(), getch() y getchar(). Las tres hacen lo mismo po lo que podemos usarlas indistintamente.
Estas funciones esperan un carácter por la patilla del PIC que hayamos definido en la directiva #use RS232 con el parámetro RCV. En el caso del ejemplo de arriba, los dato serán recibidos por el pin RD2 del PIC. Pues vamos a ver nuestro primer ejemplo acerca del uso de estas funciones:
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Comentario:
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
1
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Por medio de #use delay le decimos al compilador la frecuencia de reloj que vamos a utilizar en nuestro circuito.
Configuramos los parámetro de la directiva #use RS232, fijaros que XMIT=PIN_D0 y que RCV=PIN_D1. Con lo cual los datos saldrán del PIC por el pin RD0 y entrarán por el pin RD1.
Dentro de la función principal main(), escribimos lo que queremos que haga nuestro programa. Las instrucciones siempre empezarán a ejecutarse una a una partir de esta función y de arriba hacia abajo. Lo primero que hacemos es declarar una variable de tipo char donde almacenaremos el valor de la tecla que pulsemos en el teclado. Después se nos mostrará un mensaje en la terminal invitándonos a que introduzcamos un carácter. printf("Introduzca un caracter :\r");
Después se ejecutará la sentencia: ch=getch() You're Reading a Preview
Que esperará hasta que pulsemos unafull tecla y with almacenará Unlock access a free trial. su valor en la variable ch. La siguiente instrucción:Download With Free Trial printf("El caracter %c tiene un valor ASCII decimal de %d.\r",ch,ch);
muestra el valor del carácter y su equivalente en código ASCII Después se repite el proceso dos veces más, pero esta vez utilizando las funciones getc() y getchar() Sign up to vote on this title
Not useful Useful Al utilizar solo la variable ch, el valor de la nueva tecla pulsadasobrescribirá el valor anterior de la variable.
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Bien, hay que decir que el programa finalizará al llegar a la última sentencia incluida e la función main(). Para que el programa termine cuando nosotros queramos tenemos que incluir como mínimo un bucle y establecer una condición para que podamos salir d él, vamos a ver esto con otro ejemplo: You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Los códigos fuentes de los ejemplos los tenéis aquí .
Un par de funciones mas que se pueden utilizar en la entrada y salida de datos serie RS232 son las funciones gets() y puts().
gets(string): esta función lee los caracteres que se introducen por
el teclado hasta que encuentra un retorno de carro (tecla Enter). El pin asignado para la lectura de los caracteres es el que hayamos configurado en RCV. En el ejemplo de abajo el pin RD5.
puts(string): esta función envía la cadena de texto contenida dentr
de los paréntesis al pin que hayamos configurado en el parámetro XMIT de la directiva #use RS232, en el ejemplo de abajo el pin RD4 Una vez enviada la cadena añade un retorno de carro.
You'reBITS=8, Reading a Preview #use RS232(BAUD=9600, PARITY=N, XMIT=PIN_D4 RCV=PIN_D5) Unlock full access with a free trial.
Download With Free Trial
Vamos a ver un ejemplo sencillo que utilice estas dos funciones:
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Comentario
You're Reading a Preview
Unlock full access a free En este ejemplo se ha declarado un with tipo detrial. dato que todavía no hemos visto, un array de caracteres:
Download With Free Trial
char nombre[9];
Aunque veremos los tipos de datos compuestos más adelante, Sign up to de vote variable on this title del podemos adelantar que un array es un conjunto useful de forma mismo tipo de datos. Cada una de esas variables coloca Useful se Not consecutiva en la memoria RAM del PIC y se les llama elementos del array. Los elementos del array se enumeran empezando por el 0, (es
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
…….. = ……..[.];
valor = nombre[8];
El ejemplo lo único que hace es enviar un mensaje a la terminal diciéndonos que introduzcamos nuestro nombre (puede ser también una password o lo que queramos). Cuando introduzcamos el nombre y pulsemos la tecla Enter, la cadena de caracteres será guardada en el array que hemos declarado previamente y luego con la primera función prinf() mostramos el valor de la cadena de texto guardada en el array, con la segunda función prinf() mostramos el tercer carácter del nombre introducido (nombre[2]). Este será la salida de nuestro programa:
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
“Microcontroladores PIC”
La terminal nos mostrará:
Microcont
Como he dicho antes los elementos del array se almacenan en posiciones consecutivas de la memoria RAM del PIC. Esto lo gestiona automáticamente el compilador, lo mismo que cuando haces un programa en C ó en otro lenguaje de alto nivel para un PC de escritorio el programador no está preocupado de en qué posición de la memoria RAM se almacenarán las variables que declara. Pero si a pesar de ello quieres saberlo haces lo siguiente:
You're Reading a Preview Después de compilar el ejemplo, te vas al menú compile –> Symbol Map y nos aparecerá la ventana de abajo: Unlock full access with a free trial. Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Si queremos ver los valores que va tomando cada uno de los elementos del Array en tiempo de ejecución. Lo podemos hacer por medio de la ventana Watch Windows en Proteus. Si no te acuerdas d cómo se hace míralo aquí
Y obtendremos lo siguiente:
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Consideraciones:
En C existe el concepto de memoria dinámica. La memoria dinámica es aquella que se puede reservar y liberar en tiempo de ejecución, e decir, durante la ejecución del programa se liberará y se asignará memoria para optimizar los recursos de laSign CPU, para ello se dispone up to vote on this title de funciones como malloc() y free(). El compilador CCS también Useful Not useful admite este tipo de funciones, para utilizarlas debemos de incluir el archivo de cabecera stdlibm.h, ya veremos un ejemplo sobre la
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
de un array de 9 elementos declaramos uno de 100 elementos el compilador nos mostrará el siguiente error al compilar:
Y como ya he dicho en alguna ocasión, utiliza el tipo de datos más pequeño posible, en el ejemplo que he puesto he declarado un array de nueve elementos, para introducir el
nombre “Antonio” que tiene seis caracteres, con lo cual estoy desperdiciando dos bytes
de memoria RAM, eso en un ordenador de escritorio es insignificante pero en un You're Reading a Preview microcontrolador si que es importante y puede que nos quedemos sin memoria suficiente para declarar todas lasUnlock variables de nuestro programa. full access with a free trial. Download With Free Trial
El código del ejemplo lo tenéis aquí
Aunque existen algunas funciones más para la entrada y salida de datos serie, las que llevamos vistas hasta ahora son las más importantes, así que el próximo día empezaremos con los operadores, indispensables para hacer operaciones con los datos Sign up to vote on this title que introduzcamos en nuestro programa.
Useful
Not useful
l lenguaje C dispone de una gran cantidad de operadores que nos sirven para operar con los datos dentro de nuestros programas, se
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
1
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Operador
+ * % ++ --
Descripción
Suma Resta Multiplicación / División Módulo (Resto de una división entera) Incrementa en uno el valor del operando Decrementa en uno el valor del operando
Operadores relacionales: compara dos operandos y devuelv
1 (verdadero) ó 0 (falso) según el resultado de la expresión. S utilizan principalmente para elaborar condiciones en las sentencias condicionales e iterativas que se verán más adelante. You're Reading a Preview Unlock full access with a free trial.
Operador
< > <= >= == ¡=
Descripción Download With Free Trial
Menor que Mayor que Menor o igual que Mayor o igual que Igual a Distinto de
Sign up to vote on this title
Useful
Not useful
Operadores de asignación: permiten asignar valores a las
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
Download
News
Documents
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
%=
Asignación de resto de división. x%=y es lo mismo que x=x%y Asignación de desplazamiento a la izquierda. x<<=y es lo mismo que x=x<>=y es lo mismo que x=x>>y Asignación de AND de bits. x&=y es lo mismo que x=x&y Asignación de OR de bits. x|=y es lo mismo que x=x|y Asignación de OR exclusivo de bits (XOR). x^=y es lo mismo que x=x^y
<<= >>= &= |= ^=
Operadores Lógicos: Al igual que los operadores relacionales
éstos devuelven 1 (verdadero), 0 (falso) tras la evaluación de sus operandos. La tabla siguiente ilustra estos operadores.
Operador
! && ||
Descripción
NO lógico Y lógico O lógico
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Operadores de manejo de bits: Estos operadores permiten
actuar sobre los operandos para modificar un solo bit, los operandos sólo pueden ser de tipo entero (incluyendo el tipo char).
Operador
~
Descripción
Negación de bits (complemento a 1)
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
1
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Operadores para manejar punteros: En el lenguaje C está
muy difundido el uso de punteros, este compilador permite su uso y los operadores que utiliza para ello son los siguientes:
Operador
& * ->
Descripción
Operador de dirección Operador de inderección Acceder a los miembros de una estructura por medio de punteros
Los que se inician en el mundo de la programación suelen encontrar complicado el emplear punteros en sus programas pero, una vez que se entiende el concepto se simplifica y optimiza mucho nuestro código. Ya dijimos que el PIC dispone de unos registros de propósito general (GPR) que el programador utiliza para almacenar allí sus variables y poder utilizarlas a lo largo del programa, pues bien un puntero es otra variable a la cual se le asigna la dirección del registro ó memoria de otra variable. You're Reading a Preview
Unlock full access with a free trial.
La forma de utilizar los punteros veremos Downloadlo With Free Trialen profundidad más adelante, pero aquí tienes un pequeño ejemplo de cómo utilizarlos.
Ejemplo:
Sign up to vote on this title
int y,z; //declaración de las variables x e y de tipo entero: Useful Not useful
int *x; //declaración de la variable puntero x que guardará la
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Sign In
Upload
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Nota: como vemos los símbolos de dirección (&) e inderección (*)
son los mismos que el AND en el manejo de bits (&) y el operador aritmético de multiplicación, el compilador los diferencia según los operandos que le preceden.
Precedencia de los operadores:
Expresiones en orden descendente de precedencia
(expr) !expr ~expr ++expr expr++ --expr expr -(type)expr *expr &value sizeof(type) expr*expr expr/expr expr%expr expr+expr expr-expr expr<>expr exprexpr expr>=expr expr = = expr expr!=expr You're Reading a Preview expr&expr Unlock full access with a free trial. expr^expr expr | expr Download With Free Trial expr&& expr expr || expr expr ? expr: expr value = expr value+=expr value-=expr value*=expr value/=expr value%=expr value>>=expr value<<=expr value&=expr Sign up to vote on this title value^=expr value|=expr expr,expr Useful Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
1. a*b resultado = x 2. c/d resultado = y 3. x+y resultado = z 4. z-e Nota: Es aconsejable el uso de paréntesis para evitar errores en la
precedencia de operadores, además el código fuente queda más legible. Ejemplo:
a*(b+c)+d
En este caso el orden en realizarse las operaciones será el siguiente: 1. b+c resultado = x 2. a*x resultado = y 3. y+d You're Reading a Preview
sizeof(type)--> nos da el tamaño en bytes del tipo de dato ó variable Unlock full access with a free trial. que le pongamos entre los paréntesis. Downloadque Withse Free Trial Para conocer bien los resultados obtienen al utilizar cada uno de los operadores, lo mejor es practicar con ellos. Vamos a ver un ejemplo donde se muestra el uso de algunos de ellos:
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Comentario del programa:
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
- atoi(cadena) --> devuelve un valor entero de 8 bits de tamaño. - atol(cadena) --> devuelve un valor entero de 16 bits - atoi32(cadena) --> devuelve un valor entero de 32 bits
Para saber el rango de valores admisible por cada función repasa los tipos de datos
Estas funciones están definidas en el fichero de cabecera stdlib.h, po tanto no hay que olvidarse de incluirlo previamente por medio de la directiva: #include .
Fijaros en la instrucción de la línea 31 que nos da el tamaño de la variable y: You're Reading a Preview Unlock full access with a free trial.
printf("El tama\xa4o de y es: %d bytes\r",sizeof(y)); Download With Free Trial
\xa4 --> es la secuencia de escape para representar la letra ñ. Esto es porque el compilador no reconoce los caracteres en castellano.
Sign up to vote on this title Tabla equivalente de caracteres en castellano: Useful Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Sign In
Upload
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
1
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Ó Ú ñ Ñ ¿
\xe0 \xe9 \xa4 \xa5 \xa8
La salida del programa para los valores de x=50 e y=6 es la siguiente:
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
El código fuente y el DSN de proteus lo tenéis aqui. Sign up to vote on this title
Useful
Not useful
Una precaución que tenemos que tener en cuenta es que si utilizamo
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Son aquellas que ejecutan un bloque de sentencias mientras se cumpla una expresión lógica. Este bloque de sentencias que se ejecuta repetidas veces, se denomina bucle, y cada ejecución se denomina iteración.
De las diferentes sentencias repetitivas que hay vamos a empezar con while.
La sentencia while permite la ejecución de un bloque de sentencias s se evalúa como verdadera una expresión lógica. La expresión lógica aparece al principio del bloque de sentencias. En la figura de abajo se muestra el Pseudocódigo, el diagrama de flujo y la sintaxis de la sentencia while. You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
El Pseudocódigo es una forma informal de representar la secuencia del programa, sin tener en cuenta la sintaxis particular del lenguaje en que vayamos a programar y el diagrama de flujo es una representación gráfica del Pseudocódigo.
Cuando vayamos a crear un programa el dibujar previamente un diagrama de flujo ó el Pseudocódigo de la secuencia de nuestro programa puede ayudarnos en la tarea de programación, pero en ningún caso es un paso obligatorio.
El bloque delimitado por las llaves puede reducirse a una sentencia, y en este caso se suprimen las llaves.
La expresión lógica debe estar delimitada por paréntesis. You're Reading a Preview Unlock full access with a free trial.
Cuando el programa llega a una sentencia while, sigue los siguientes Download With Free Trial pasos. Evalúa la expresión. Si es falsa, continua la ejecución tras el bloque de sentencias. Si es verdadera entra en el bloque de sentencias asociado al while. Ejecuta dicho bloque de sentencias, evaluando de nuevo la expresión y actuando en consecuencia. Sign up to vote on this title
Useful
Not useful
Si la primera evaluación resulta falsa, el bloque de sentencias no se ejecuta nunca.
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview
Comentario
Unlock full access with a free trial.
Trial El ejemplo lo que hace esDownload mostrarWith en Free la terminal la tabla de multiplicar del número cuatro, utilizando un bucle while. Para ello necesitamos declarar una variable auxiliar de tipo entero llamada i1 inicializada con el valor de 1, en cada iteración se comprueba el valor de la variable auxiliar, mientras el valor de i1 sea <=10 la evaluació será verdadera y se ejecutarán las instrucciones que hay dentro del bloque while, dentro de ese bloque tenemos que incrementar el valo de i1, de esta manera nos aseguramos en algún momento la salida Sign será up to vote on this del bucle, cuando i1 llegue a 11 la condición falsa y title la secuencia Useful Not useful del programa saltará a la línea 19 finalizando el programa.
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Si queremos que el programa este siempre ejecutándose (lo normal en un programa para Microcontroladores), hay que colocar un bucle infinito, mira el siguiente ejemplo: You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Comentario true es una constante booleana que equivale a 1 ó verdadero. Por tanto la
evaluación d bucle siempre será cierta y no habrá manera del salir de él. El programa estará siempre esperando a que pulses una tecla y mostrará el valor de la tecla pulsada en la terminal. Bucle for()
En el ejemplo de la tabla de multiplicar utilizamos el bucle while para obtener los diez valores de la tabla, y si recordáis necesitábamos una variable de control que teníamos que inicializar antes de entrar en el bucle, comprobar el valor de la variable para la continuación en el bucle y la modificación posterior de la variable de control para poder salir del bucle en un momento determinado.
Pues bien, casi siempre que se hace algo, C proporciona frecuentemente un modo más compacto de hacer lo mismo.
El bucle for permite indicar estos tres aelementos en un solo lugar, al You're Reading Preview principio del bucle, facilitando así la obtención de un código Unlock full access with a free trial. compacto, pero legible. Veamos cual es su sintaxis: Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
En un bucle for, el paréntesis que acompaña a la palabra reservada for generalmente contiene tres expresiones: Expresión 1; inicializa la variable ó variables de control del bucle. Expresión 2; representa la condición de continuación en el bucle. Expresión 3; modifica el valor de las variables de control en cada iteración del bucle. Los puntos y comas que separan cada expresión son obligatorios. Sign up to vote on this title
Useful
Not useful
Vamos a ver un ejemplo donde se muestran las diferentes
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Los pasos que sigue la sentencia for son los siguientes:
1. indice es la variable de control. Se inicializa a 1 2. se testea la condición de expresión_2. 3. se ejecutan las sentencias 4. la variable de control indice se incrementa en uno
5. si se cumple que indice<=VAL_MAX va al paso 3. Si no va al paso 6. 6. Finalizará la ejecución cuando indice=20
2º bucle for You're Reading a Preview
Bucle for con varias variables de control, las variables tienen que ir access with a free trial. separadas por comas. EnUnlock estefullcaso tenemos las variables x e y, aunque podemos poner todas las que queramos, ambas variables son Download With Free Trial inicializadas dentro de la sentencia for.
3º bucle for
Sign up por to voteejemplo on this title para Cuando el bucle for se escribe sin cuerpo sirve usefuleste Useful poco Notcon generar retardos, esta posibilidad la utilizaremos compilador ya que incluye funciones específicas de retardo.
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
5º bucle for
Se puede crear un bucle infinito por medio de la expresión for(;;).
Podemos salir de un bucle infinito por medio de la sentencia break, cuando se encuentra en cualquier lugar dentro del cuerpo de un bucl da lugar a la terminación inmediata de este, en el caso del ejemplo saldremos del bucle cuando pulsemos la letra „v‟. Las sentencias de
salto las veremos más adelante.
La salida del programa será la siguiente:
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Como ejercicio podéis hacer la tabla de multiplicar de un número utilizando el bucle for. Bucle do-while()
A diferencia de los bucles for y while, que analizan la condición del bucle al principio del mismo, el bucle do-while analiza la condición al final del bucle. Esto significa que el bucle do-while siempre se ejecuta al menos una vez. La forma general del bucle do-while es la que se muestra en la figura de abajo:
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Comentario
Este ejemplo pide un valor entre 1 y 10, ejecutándose repetidas veces hasta que se introduce un valor entre ambos límites. Por últim el programa visualiza el valor leído. Sign up to vote on this title
Useful
Not useful
Este bucle se ejecutará como mínimo una vez porque el programa no sabe cuál es la condición de continuación hasta que se encuentra el
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
RECUERDA: En el bucle while la comprobación de la condición de
control del bucle se encuentra al principio, por lo que dicho bucle puede no ejecutarse nunca; la comprobación en el bucle do-while está al final del bucle, por lo que al menos se ejecutará una vez.
El código fuente lo tenéis aquí . If
Vamos a empezar las sentencias condicionales, con la más simple de todas, la sentencia if. Si se evalúa como cierta la expresión que hay entre paréntesis al principio de la sentencia if se ejecuta el bloque de sentencias contenido entre las llaves y si se evalúa como falsa la condición, el programa se salta ese bloque de instrucciones. En la figura de abajo tenéis la sintaxis de esta sentencia.
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Sign In
Upload
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Si sólo hay una sentencia se pueden suprimir las llaves, ejemplo:
if (x=1) printf(“Sin llaves solo una sentencia asociada al if ”);
Como ejemplo de sentencias if tenéis el decodificador de binario a decimal. Sentencia If…Else
Cuando el programa llega a una sentencia condicional del tipo If …Else, primero se evalúa una expresión; si se cumple (es cierta) se
ejecuta un bloque de sentencias y si es falsa se ejecuta otro bloque.
En la figura de abajo se muestra la sintaxis de esta sentencia You're Reading a Preview condicional. Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Ejemplo:
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Comentario
Sign up to vote on this title
useful Useful Notconectado Este ejemplo visualiza en el display de cátodo común, a la
puerta B del PIC, el “0” si el interruptor conectado a RA0 está abierto y “1” si está cerrado, para ello utiliza la sentencia if-else, dentro de
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Si no se incluye esta directiva el compilador tomará por defecto la directiva #use standard_io(A), que hará que cada vez que se utilicen estas funciones se reprograme el pin correspondiente como entrada ó salida, lo que hará que el código ASM generado tras la compilación sea mayor.
Podemos comprobar esto si después de compilar nuestro ejemplo, dentro del IDE de CCS seleccionamos Compile--> C/ASM List
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Volvemos a compilar y en ambos casos obtendremos lo siguiente:
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
1
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview En ambos casos la memoria ROM utilizada es de 24 palabras, tres más que cuando utilizábamos laaccess directiva fast_io(A). Unlock full with a free#use trial. Download With Free Trial
Otras funciones para el manejo de bits de los puertos de entrada y salida que vienen definidas en CCS y que dependen de la directiva #use*_io() son:
a 0 coloca el pin indicado output_bit(Nombre_pin,valor) --> Sign up to vote on this title
1.
Useful Not useful output_high(Nombre_pin) --> coloca el pin indicado a 1. output_low(Nombre_pin) --> coloca el pin indicado a 0
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Circuito del ejemplo:
You're Reading a Preview Unlock full access with a free trial.
El código del ejemplo y el circuito en Proteus lo tenéis aquí Download With Free Trial
Sentencia switch
La sentencia switch se compone de las siguientes palabras clave: switch, case, default y break.
Lo que hace está sentencia es comparar sucesivamente valor de Sign up to vote on thisel title una expresión (dicha expresión tan solo puede Nottipo usefulentero o d Usefulserde tipo carácter) con una lista de constantes enteras o de caracteres. Cuando la expresión coincide con la constante, ejecuta las sentencias
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Usefula la Not useful La sentencia break hace que el programa salte de código línea siguiente a la sentencia switch. Si se omite se ejecutará el resto de casos case hasta encontrar el próximo break.
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
En una sentencia switch No puede haber dos sentencias case con el mismo valor de constante.
Una constante char se convierte automáticamente a sus valore enteros.
Switch difiere del if en que switch solo puede comprobar la igualdad mientras que if puede evaluar expresiones relacionale o lógicas. Además cuando la comparación se basa en variables o se trabaja con expresiones que devuelven float deberemos usar el if-else.
Hay que decir que la secuencia de sentencias en un case no es un bloque (no tiene porque ir entre llaves). Por lo tanto no podríamos definir una variable local en él. Mientras que la estructura swith global sí que es un bloque.
Vamos a ver un ejemplo para ver todo esto:
You're Reading a Preview
Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Comentario
En el ejemplo introducimos un carácter numérico, lo almacenamos en el array llamado cadena1 y por medio de la función atoi() lo Signsu up to vote onen thisla title convertimos a un valor entero y guardamos valor variable de Useful el Not usefulde tipo entero num, no hay que olvidarse deincluir archivo cabecera “stdlib.h” necesaria para la función atoi().
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
7.9K views
1
Upload
Sign In
Join
RELATED TITLES
0
Programacion Pic Con c Uploaded by BeToR.Ouka
Books
Audiobooks
Magazines
Save
Embed
Share
Print
Download
News
Documents
Tutorial Curso Ccs en PDF PIC16F877A(Algunas
1
of 85
Curso de Mcu_proteus
Search document
Programación PIC en C
Sheet Music
Fijaros en el segundo case, he omitido su break correspondiente a posta (el compilador no da error si se quita), para que veáis el resultado cuando se introduce un “2”:
Reading a Preview Como veis en la figura deYou're arriba se ejecutan las sentencias pertenecientes al segundo case, pero ala free notrial. encontrar la sentencia Unlock full access with break, ejecuta también la sentencia del tercer case. Esto hay que tenerlo en cuenta para tener claroWith queFree lo Trial que hace salir de la Download sentencia switch es el break correspondiente a cada case.
Si introducimos por ejemplo un “9” al no a ver coincidencia con el
valor de ningún case, se ejecutará la sentencia perteneciente a default. Sign up to vote on this title
El código fuente del ejemplo lo tenéis aquí. Useful Not useful
Home
Saved
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join