SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
Notas de aprendizaje By: Manuel Santos Machado.
¿Cómo usar una LCD en un puerto distinto al B o al D de un PIC?
¿Cómo configurar el lcd.c para usar una LCD en el puerto C de un PIC?
Como primer paso se deberá ingresar al fichero de la LCD, la cual contiene las configuraciones
necesarias para ser usada por defecto en el puerto B o D. Este fichero a configurar está en la
siguiente ruta:
C:Program Files (x86)PICCDrivers
Una vez dentro de la carpeta Drivers, buscar el fichero con el nombre LCD
Figura 1. Fichero a modificar
Debemos de abrir este fichero con un block de notas para editarlo. En este caso deseo usar el
puerto C para conectar la LCD y visualizar lo que deseo, previa programación claro. Lo que
debemos editar es lo siguiente (editaremos 3 campos)
1. Descomentar las líneas debajo de example of pin access, y en el campo de PIN_X, X
son los pines que vamos a usar; entonces escribo los que voy a usar (pines C) véase
Figura 2.
Notas de aprendizaje By: Manuel Santos Machado.
Figura 2. Primer campo a editar
2. Las siguientes líneas a configurar son las siguientes: (cambiar los campos portx, x es el
puerto a usar)
#if ((defined(use_portc_lcd)) && (use_portc_lcd==TRUE))
Figura 3. Segundo campo a editar
Notas de aprendizaje By: Manuel Santos Machado.
3. Finalmente editamos la línea de código sombreada (véase la Figura 4), la información
respecto al código hexadecimal asignado a cada puerto la podemos encontrar en la
opción View, luego Special Register y elegir el PIC para ver la información del
dispositivo, use el PIC 16F876 (esto dentro del compilador): (véase la Figura 5)
Figura 4. Tercer campo a editar
Figura 5. Información del código hex asignado a cada puerto
Notas de aprendizaje By: Manuel Santos Machado.
COMENTARIOS FINALES:
Una vez terminada la configuración en el block de notas, guardar este fichero con un nombre
similar al primero; usé LCDc.c De modo que al momento de llamar a la librería desde el
compilador lo relacionaras con mayor facilidad (solo es una recomendación).
Figura 6. Llamar a la librería de la LCD (ahora se llama lcdc)
ANEXO
Figura 7. Circuito Eléctrico
Notas de aprendizaje By: Manuel Santos Machado.
USO DE LA LCD EN EL PUERTO B DEL PIC 18F4550
Notas de aprendizaje By: Manuel Santos Machado.
Notas de aprendizaje By: Manuel Santos Machado.
Notas de aprendizaje By: Manuel Santos Machado.
PROGRAMA
#include <16F876.h>
#fuses XT,NOWDT
#use delay (clock=4000000)
#include <lcdc.c>
Int16 TFB; //tiempo flanco de subida
float AP; //valor final del ancho de pulso
int1 nuevopulso=0; //entra otro pulso
int1 cambio=0; //cambio de flanco de disparo
#int_ext
void function_ext_int(){ //funcion interrupcion
if (cambio==0){ //flanco de subida
set_timer1(0); //inicializa TMR1
ext_int_edge(0,H_TO_L); //configura para flanco de bajada
cambio=1; //control de cambio de flanco
} else{ //flanco de bajada
TFB=get_timer1(); //valor de TIMER1 para el flanco de bajada
ext_int_edge(0,L_TO_H); //configurar para flanco de subida
cambio=0; //control de cambio de flanco
if(nuevopulso==0){ //fin del pulso...
nuevopulso=1; //pulso a calcular
}
}
}
void main(){
lcd_init();
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); //configuración TIMER1
ext_int_edge(0,L_TO_H); //configurar para flanco subida
cambio=0; //control de cambio de flanco
enable_interrupts(int_ext); //habilitación interrupción RB0
enable_interrupts(global); //habilitación general
do{
if(nuevopulso==1){ //¿pulso nuevo?
AP=TFB*1.0; //ancho de pulso en microsegundos de TIMER1
//a 4MHz el T=1us*Timer1
printf(lcd_putc,"nPulso = %6.1fuS ", AP); //visualiza medida
//en LCD

Más contenido relacionado

La actualidad más candente

Rectificadores
RectificadoresRectificadores
Rectificadores
edgard
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fet
Velmuz Buzz
 
Ingenieria de control moderna 3 edicion k. ogata
Ingenieria de control moderna 3 edicion   k. ogataIngenieria de control moderna 3 edicion   k. ogata
Ingenieria de control moderna 3 edicion k. ogata
GabitoMtz
 
Cicloconvertidores trifásicos con modulación de ancho de pulso
Cicloconvertidores trifásicos con modulación de ancho de pulsoCicloconvertidores trifásicos con modulación de ancho de pulso
Cicloconvertidores trifásicos con modulación de ancho de pulso
Frank León Aranda
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
Colono
 
03 informe de prácticas-segunda parte-motores cc
03 informe de prácticas-segunda parte-motores cc03 informe de prácticas-segunda parte-motores cc
03 informe de prácticas-segunda parte-motores cc
Mario Fagúndez Silva
 

La actualidad más candente (20)

Rectificadores
RectificadoresRectificadores
Rectificadores
 
MOTORES DE INDUCCION
MOTORES DE INDUCCIONMOTORES DE INDUCCION
MOTORES DE INDUCCION
 
Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...
Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...
Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...
 
Electronica I laboratorio 4
Electronica I laboratorio 4Electronica I laboratorio 4
Electronica I laboratorio 4
 
Circuitos de disparo con aislamiento
Circuitos de disparo con aislamientoCircuitos de disparo con aislamiento
Circuitos de disparo con aislamiento
 
Cuadripolos marzo 2010
Cuadripolos marzo 2010Cuadripolos marzo 2010
Cuadripolos marzo 2010
 
Ingeniería de control: Sistema de control moderno 13th edicion richard c. dorf
Ingeniería de control: Sistema de control moderno 13th edicion richard c. dorfIngeniería de control: Sistema de control moderno 13th edicion richard c. dorf
Ingeniería de control: Sistema de control moderno 13th edicion richard c. dorf
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fet
 
Ingenieria de control moderna 3 edicion k. ogata
Ingenieria de control moderna 3 edicion   k. ogataIngenieria de control moderna 3 edicion   k. ogata
Ingenieria de control moderna 3 edicion k. ogata
 
PROBLEMAS DE LAS MAQUINAS DE CORRIENTE ALTERNA
PROBLEMAS DE LAS MAQUINAS DE CORRIENTE ALTERNAPROBLEMAS DE LAS MAQUINAS DE CORRIENTE ALTERNA
PROBLEMAS DE LAS MAQUINAS DE CORRIENTE ALTERNA
 
Sesion 7 S Dbos
Sesion 7 S DbosSesion 7 S Dbos
Sesion 7 S Dbos
 
Clase 2 rectificadores de media onda conceptos básicos
Clase 2 rectificadores de media onda conceptos básicosClase 2 rectificadores de media onda conceptos básicos
Clase 2 rectificadores de media onda conceptos básicos
 
Resonancia en paralelo AC
Resonancia en paralelo ACResonancia en paralelo AC
Resonancia en paralelo AC
 
Cicloconvertidores trifásicos con modulación de ancho de pulso
Cicloconvertidores trifásicos con modulación de ancho de pulsoCicloconvertidores trifásicos con modulación de ancho de pulso
Cicloconvertidores trifásicos con modulación de ancho de pulso
 
Acoplamientos multietapas
Acoplamientos multietapasAcoplamientos multietapas
Acoplamientos multietapas
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
Transformador monofasico en vacio
Transformador monofasico en vacioTransformador monofasico en vacio
Transformador monofasico en vacio
 
sistemas electrónicos (DIODO IDEAL, REAL Y APLICACIONES)
sistemas electrónicos (DIODO IDEAL, REAL Y APLICACIONES) sistemas electrónicos (DIODO IDEAL, REAL Y APLICACIONES)
sistemas electrónicos (DIODO IDEAL, REAL Y APLICACIONES)
 
03 informe de prácticas-segunda parte-motores cc
03 informe de prácticas-segunda parte-motores cc03 informe de prácticas-segunda parte-motores cc
03 informe de prácticas-segunda parte-motores cc
 
Ejemplo diagrama-de-bode
Ejemplo diagrama-de-bodeEjemplo diagrama-de-bode
Ejemplo diagrama-de-bode
 

Destacado (8)

Introducción al VHDL
Introducción al VHDLIntroducción al VHDL
Introducción al VHDL
 
Clase historia
Clase historiaClase historia
Clase historia
 
Módulo ADC del PIC16F887
Módulo ADC del PIC16F887Módulo ADC del PIC16F887
Módulo ADC del PIC16F887
 
Introducción al PIC16 f887
Introducción al PIC16 f887Introducción al PIC16 f887
Introducción al PIC16 f887
 
Arquitectura Microcontrolador PIC16F887
Arquitectura Microcontrolador PIC16F887Arquitectura Microcontrolador PIC16F887
Arquitectura Microcontrolador PIC16F887
 
Conexiones del PIC16F887
Conexiones del PIC16F887Conexiones del PIC16F887
Conexiones del PIC16F887
 
Clase instrucciones PIC16F877A
Clase instrucciones PIC16F877AClase instrucciones PIC16F877A
Clase instrucciones PIC16F877A
 
Cómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShareCómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShare
 

Similar a Cómo usar una lcd en un puerto distinto al b o al d de un pic

Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
RoxanneLamas2
 
Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Informe practica ecuaciones # 6
Informe practica ecuaciones # 6
Freddy Cuasapaz
 
Tutorial proton part 2
Tutorial proton part 2Tutorial proton part 2
Tutorial proton part 2
dar851112
 
Micc final feb04_2010_soluc
Micc final feb04_2010_solucMicc final feb04_2010_soluc
Micc final feb04_2010_soluc
Jair BG
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN D RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN D RESUELTA 1er PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN D RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN D RESUELTA 1er PARCIAL (2019 2do ...
Victor Asanza
 

Similar a Cómo usar una lcd en un puerto distinto al b o al d de un pic (20)

Guia Proyecto 2
Guia Proyecto 2Guia Proyecto 2
Guia Proyecto 2
 
Guia Proyecto 2
Guia Proyecto 2Guia Proyecto 2
Guia Proyecto 2
 
Guia Proyecto 1
Guia Proyecto 1Guia Proyecto 1
Guia Proyecto 1
 
Guia Proyecto 1
Guia Proyecto 1Guia Proyecto 1
Guia Proyecto 1
 
Pic libre
Pic librePic libre
Pic libre
 
TEMPIC-45 Práctica II. Control de un LED a través de un botón
TEMPIC-45 Práctica II. Control de un LED a través de un botónTEMPIC-45 Práctica II. Control de un LED a través de un botón
TEMPIC-45 Práctica II. Control de un LED a través de un botón
 
Microcontroladores PIC
Microcontroladores PICMicrocontroladores PIC
Microcontroladores PIC
 
Taller sergio
Taller sergioTaller sergio
Taller sergio
 
Taller sergio
Taller sergioTaller sergio
Taller sergio
 
Dudas printf()
Dudas printf()Dudas printf()
Dudas printf()
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
 
Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Informe practica ecuaciones # 6
Informe practica ecuaciones # 6
 
Tutorial proton part 2
Tutorial proton part 2Tutorial proton part 2
Tutorial proton part 2
 
Pikit3 parte i-
Pikit3 parte i-Pikit3 parte i-
Pikit3 parte i-
 
Micc final feb04_2010_soluc
Micc final feb04_2010_solucMicc final feb04_2010_soluc
Micc final feb04_2010_soluc
 
Micc final feb04_2010_soluc
Micc final feb04_2010_solucMicc final feb04_2010_soluc
Micc final feb04_2010_soluc
 
Construcciondeun pl cconpic
Construcciondeun pl cconpicConstrucciondeun pl cconpic
Construcciondeun pl cconpic
 
Práctica III. Mostrar un mensaje en una pantalla LCD
Práctica III. Mostrar un mensaje en una pantalla LCDPráctica III. Mostrar un mensaje en una pantalla LCD
Práctica III. Mostrar un mensaje en una pantalla LCD
 
Microcontrolador 1 prender y apagar un led
Microcontrolador 1 prender y apagar un ledMicrocontrolador 1 prender y apagar un led
Microcontrolador 1 prender y apagar un led
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN D RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN D RESUELTA 1er PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN D RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN D RESUELTA 1er PARCIAL (2019 2do ...
 

Último

ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
gustavoiashalom
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
susafy7
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
bcondort
 

Último (20)

01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
Control estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdfControl estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdf
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
Sesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptxSesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptx
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
Tabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docxTabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docx
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptx
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 

Cómo usar una lcd en un puerto distinto al b o al d de un pic

  • 1. Notas de aprendizaje By: Manuel Santos Machado. ¿Cómo usar una LCD en un puerto distinto al B o al D de un PIC? ¿Cómo configurar el lcd.c para usar una LCD en el puerto C de un PIC? Como primer paso se deberá ingresar al fichero de la LCD, la cual contiene las configuraciones necesarias para ser usada por defecto en el puerto B o D. Este fichero a configurar está en la siguiente ruta: C:Program Files (x86)PICCDrivers Una vez dentro de la carpeta Drivers, buscar el fichero con el nombre LCD Figura 1. Fichero a modificar Debemos de abrir este fichero con un block de notas para editarlo. En este caso deseo usar el puerto C para conectar la LCD y visualizar lo que deseo, previa programación claro. Lo que debemos editar es lo siguiente (editaremos 3 campos) 1. Descomentar las líneas debajo de example of pin access, y en el campo de PIN_X, X son los pines que vamos a usar; entonces escribo los que voy a usar (pines C) véase Figura 2.
  • 2. Notas de aprendizaje By: Manuel Santos Machado. Figura 2. Primer campo a editar 2. Las siguientes líneas a configurar son las siguientes: (cambiar los campos portx, x es el puerto a usar) #if ((defined(use_portc_lcd)) && (use_portc_lcd==TRUE)) Figura 3. Segundo campo a editar
  • 3. Notas de aprendizaje By: Manuel Santos Machado. 3. Finalmente editamos la línea de código sombreada (véase la Figura 4), la información respecto al código hexadecimal asignado a cada puerto la podemos encontrar en la opción View, luego Special Register y elegir el PIC para ver la información del dispositivo, use el PIC 16F876 (esto dentro del compilador): (véase la Figura 5) Figura 4. Tercer campo a editar Figura 5. Información del código hex asignado a cada puerto
  • 4. Notas de aprendizaje By: Manuel Santos Machado. COMENTARIOS FINALES: Una vez terminada la configuración en el block de notas, guardar este fichero con un nombre similar al primero; usé LCDc.c De modo que al momento de llamar a la librería desde el compilador lo relacionaras con mayor facilidad (solo es una recomendación). Figura 6. Llamar a la librería de la LCD (ahora se llama lcdc) ANEXO Figura 7. Circuito Eléctrico
  • 5. Notas de aprendizaje By: Manuel Santos Machado. USO DE LA LCD EN EL PUERTO B DEL PIC 18F4550
  • 6. Notas de aprendizaje By: Manuel Santos Machado.
  • 7. Notas de aprendizaje By: Manuel Santos Machado.
  • 8. Notas de aprendizaje By: Manuel Santos Machado. PROGRAMA #include <16F876.h> #fuses XT,NOWDT #use delay (clock=4000000) #include <lcdc.c> Int16 TFB; //tiempo flanco de subida float AP; //valor final del ancho de pulso int1 nuevopulso=0; //entra otro pulso int1 cambio=0; //cambio de flanco de disparo #int_ext void function_ext_int(){ //funcion interrupcion if (cambio==0){ //flanco de subida set_timer1(0); //inicializa TMR1 ext_int_edge(0,H_TO_L); //configura para flanco de bajada cambio=1; //control de cambio de flanco } else{ //flanco de bajada TFB=get_timer1(); //valor de TIMER1 para el flanco de bajada ext_int_edge(0,L_TO_H); //configurar para flanco de subida cambio=0; //control de cambio de flanco if(nuevopulso==0){ //fin del pulso... nuevopulso=1; //pulso a calcular } } } void main(){ lcd_init(); setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); //configuración TIMER1 ext_int_edge(0,L_TO_H); //configurar para flanco subida cambio=0; //control de cambio de flanco enable_interrupts(int_ext); //habilitación interrupción RB0 enable_interrupts(global); //habilitación general do{ if(nuevopulso==1){ //¿pulso nuevo? AP=TFB*1.0; //ancho de pulso en microsegundos de TIMER1 //a 4MHz el T=1us*Timer1 printf(lcd_putc,"nPulso = %6.1fuS ", AP); //visualiza medida //en LCD