Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Entornos de Desarrollo, Resúmenes de Programación C

Entornos de Desarrollo para microprocesadores

Tipo: Resúmenes

2019/2020

Subido el 01/05/2020

Ragui
Ragui 🇵🇪

1 documento

1 / 12

Toggle sidebar

Documentos relacionados


Vista previa parcial del texto

¡Descarga Entornos de Desarrollo y más Resúmenes en PDF de Programación C solo en Docsity! IDEs 1. ¿Qué es un IDEs? Los Entornos de Desarrollos Integrados (Integrated Development Environment), son programa que te ayuda a programar las órdenes a dar a una maquia. Para realizar la traducción del lenguaje de programación entendibles para los programadores a un lenguaje que entienda la máquina, que es el sistema binario (unos y ceros), los IDE consta de las siguientes herramientas:  . Editor: Generalmente, se utilizan editores que colorean la sintaxis para ayudar al programador a comprender mejor el programa y detectar los errores más fácilmente.  Compilador o intérprete: Dependiendo del tipo de lenguaje utilizado, se necesitará para ejecución el intérprete o el compilador para generar código ejecutable.  Depurador (intérprete): Un buen depurador siempre tiene un intérprete detrás para ir ejecutando órdenes paso a paso, inspeccionar el valor de variables, etc.  Constructor de interfaces gráficos: Con él, el desarrollador podrá crear ventanas, botones, campos de texto, literales, pestañas, tablas, etc. Tiene todos los componentes que pueden encontrarse en una interfaz. 2. IDEs PARA PROGRAMACION DEL PIC18F4550 La programación de microcontroladores PIC18F4550 de Microchip tiene dentro de los lenguajes, en los que programamos rutinas para PIC, existen tres posibilidades lenguajes:  Lenguaje BASIC Es un lenguaje de programación creado por John George Kemeny y Thomas Eugene Kurtz en el año 1964 con fines pedagógicos, era el lenguaje que utilizan las microcomputadoras de los años 80. Tiene Ventajas:  Es el lenguaje de bajo nivel natural de la línea PIC tanto para gama baja, media o alta.  Con él se tiene un aprovechamiento eficiente de los recursos del PIC.  Se pueden crear macros con este lenguaje, para después simplificar el código en diferentes desarrollos.  Excelente para manejar interrupciones simultáneas.  Con él se pueden controlar los tiempos y los registros bit a bit.  Cuando se genera el archivo. hex éste es completamente optimizado. Desventaja:  En realidad, desde mi punto de vista no existe ninguna, excepto cuando no se tiene experiencia en programación puede tardarse el desarrollo de alguna rutina en comparación con los otros lenguajes. IDEs PARA PIC18F4550 EN LENGUAJE C  MPLAB IDE  PIKLAB EJERCICIOS RESUELTOS  EJERCICIOS DE LENGUAJE BASIC 1) Rutina que hace parpadear un led en el pin cero del puerto B cada 200 milisegundos en lenguaje Basic empleando el software PICBASIC PRO:  EJERCICIOS DE LENGUAJE C 2) Generar una onda cuadrada de 1 KHz por el puerto RD0. Por el puerto RD0 se requiere sacar una señal cuadrada de 1 KHz o 1 ms (0.5ms en alto y 0.5ms en bajo). Utilizando la ecuación de tiempo, determinamos el valor para cargar el temporizador TMR0. 65536 - TMR0 = Tiempo / 4 * TOSC * Rango Divisor de Frecuencia Tiempo 0.5 ms = 500 us Rango Divisor de frecuencia (pre-escalar) = 2 (para que el resultado sea entero) TOSC= 1/4MHZ = 0.25us 65536 - TMR0 = 500 us/(4*0.25us*2) = 250 TMR0 = 65536 - 255 = 6528 Indica el circuito utilizado y la señal obtenida. Nótese los tiempos en alto 500 ms y el periodo de 1.03 ms marcado en la onda. 3) Calcular el valor que debemos cargar al Timer1. La frecuencia de salida es 50 Hz, por tanto, el periodo de la señal es: Tsalida= 1/50Hz = 20 ms. Con un DC del 5% el tiempo de alto es 1 ms. Aplicando la ecuación de tiempo del TMR1 65536 – TMR1 = Tiempo / 4 * TOSC * Rango Divisor de Frecuencia Tiempo 1 ms = 1000 us Rango Divisor de frecuencia (pre-escalar) = 2 (para que el resultado sea entero) TOSC= 1/4MHZ = 0.25us (Reloj del sistema del micro). 65536 – TMR1 = 1000 us/(4*0.25us*2) = 500 TMR1 = 65536 - 500= 65036. La lógica del programa es: • Al arrancar el microcontrolador una variable de control comienza en 1 y en éste valor el puerto RD0 se pone en alto. • Se produce la primera interrupción del TMR1 al 1ms y desactiva a RD0. Muestra los componentes y las conexiones requeridas para el ejercicio. 5) Rutina que hace parpadear un led en el pin cero del puerto B cada 200 milisegundos en lenguaje C empleando el software de CCS PCW IDE:  EJERCCIOS DE LENGUAJE ENSAMBLADOR 6) Rutina que hace parpadear un led en el pin cero del puerto B cada 200 milisegundos en lenguaje Ensamblador empleando el software de Microchip MPLAB IDE: PROA ddddaddRdadiddiadidiadaddadddaddadadidadadadaadaoadidoiolloldiicia ¿* Nombre del archivo: bTink.asm ;* Ejemplo de programa que hace parpadear un LED ;* conectado al PORTB y* El pic utilizado es el 16F628A de la gama media. Dada daa nbddadddddddadenadddodndbdacdaadbaanidnoa adonde Tist p=16f628A y list directive to define processor ttinclude <p16F628A.inc>; processor specific variable definitions errorlevel 2 suppress message 302 from list file ¡**aqui va la configuración de fusibles:***; CONFIG _CP_OFF €: _DATA_CP_OFF € _LVP_OFF € _BOREN_OFF él MELRE_OFF $ _WDT_OFF € _PWRTE_ON € _INTOSC_OSC_NOCLKOUT É fin de la configuración de fusibles. ¡Y**DEFINICIÓN DE LOS REGISTROS DE USUARIO EN RAM***; cblock 0x20 ;¡Comienzo_de los registros de usuario ¿RAM en el Bank0 desde la posición 20H countl ¡registro usado por la rutina Delay counta ¿registro usado por la rutina Delay countb ¡registro usado por la rutina Delay ende ON org _0x0000 ¡org coloca el programa en el origen. movlw 0x07 movwf CMCON ;Deshabilito los comparadores bsf STATUS, RPO ¡entra a Bank 1 para poder acceder a TRISB clrf TRISB ¡configuro PortB como salida bcf STATUS, RPO ¡retorna a de nuevo el Bank 0 Loop movlw b'00000001* ¡enciendo LED movwf PORTB nob ¿nop no hace nada Dela: ¡Llamo a la rutina de retardo de 200ms movlw "00000000" apago LED moywf PORTB call Delay ¡Llamo la rutina de retardo de 200ms goto Loop ¡Inicia de nuevo el ciclo. ¡****SUBRUTINA DE RETARDO****; ; Esta rutina retarda 200ms. ; RARO daa] Delay movlw d'200' ¡Espero 200 ms (Para un reloj de 4 MHz) movwf countl di movlw 0xc7 movwf counta movlw 0x01 mowwf countb Delay_0 decfsz counta, f joto $+2 lecfsz countb, f goto Delay_0 decfsz countl ,f goto dl retlw 0x00 end
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved