+ All Categories
Home > Documents > Frecuencimetro Con PIC y Display LCD

Frecuencimetro Con PIC y Display LCD

Date post: 21-Jan-2016
Category:
Upload: juanjo-leon
View: 388 times
Download: 22 times
Share this document with a friend
Popular Tags:
33
Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada. Página 1 FRECUENCÍMETRO CON PIC Y DISPLAY LCD Juan José Santana Andrade Universidad De Guadalajara [email protected] 1. Desarrollo 1.1 Frecuencímetro con PIC y Display LCD 1.1.1 Ensamblador 1.1.2 Compilado 2. Bases teóricas 2.1 Los Reguladores de Tensión 2.2 Puerta lógica 2.2.1 Puerta NO-Y (NAND) 2.3 Microcontrolador PIC 2.3.1 Juego de instrucciones y entorno de programación 2.3.2 Programación del PIC 2.3.3 Programadores 2.3.4 Depuradores integrados 2.3.5 Emuladores 2.3.6 Tamaño de palabra 2.3.7 Características 2.3.8 Variaciones del PIC 2.3.8.1 PICs modernos
Transcript
Page 1: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 1

FRECUENCÍMETRO CON PIC Y DISPLAY LCD Juan José Santana Andrade Universidad De Guadalajara

[email protected]

1. Desarrollo

1.1 Frecuencímetro con PIC y Display LCD

1.1.1 Ensamblador

1.1.2 Compilado

2. Bases teóricas

2.1 Los Reguladores de Tensión

2.2 Puerta lógica

2.2.1 Puerta NO-Y (NAND)

2.3 Microcontrolador PIC

2.3.1 Juego de instrucciones y entorno de programación

2.3.2 Programación del PIC

2.3.3 Programadores

2.3.4 Depuradores integrados

2.3.5 Emuladores

2.3.6 Tamaño de palabra

2.3.7 Características

2.3.8 Variaciones del PIC

2.3.8.1 PICs modernos

Page 2: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 2

2.3.8.2 Clones del PIC

2.3.8.3 PICs wireless

2.3.8.4 PICs para procesado de señal (dsPICs)

2.3.8.5 PICs más comúnmente usados

2.3.8.6 PICs en Internet

2.4 LCD

2.4.1 LCD en la industria

2.4.2 LCD de texto

2.4.3 LCD de gráficos

2.5 Simulación de la primera parte del circuito

Page 3: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 3

Con este proyecto se pretende facilitar aún más las lecturas de frecuencia de las señales y a la vez darle un poco más de vista y estética al agregarle un LCD al frecuencímetro. Además de esto con un costo bajo se le da la oportunidad al estudiante que no tiene los recursos suficientes para adquirir un frecuencímetro más ostentoso, la oportunidad de tenerlo a su alcance. La idea de hacer este circuito nace de las peticiones constantes por la falta de más frecuencímetros que no es muy común verlos tanto como los voltímetros, amperímetros, osciloscopios, etc. También con este trabajo se desea que los conocimientos adquiridos por los estudiantes a lo largo de sus cursos, sean aplicados en este tipo de proyectos, para cumplir con el fin en común de todos los ingenieros, que es el de diseñar. Se recomienda que se cuide bastante al armar el circuito los ajustes que se le deben hacer y que alimentaciones sean correctas para que no se dañe el equipo, sobretodo el microcontrolador y la pantalla.

ANTECEDENTES

Frecuencímetro Virtual

• PIC12C508 programado • Alimentación: 9V CD • Puerto: serial • Señal: hasta 15 Volts • Acondicionador: 74HC14 • Diagrama esquemático

Este frecuencímetro virtual se presenta en una tarjeta de circuito impreso de fibra de vidrio con un PIC12C508 a bordo preprogramado. Se suministra con un cable para conectarse al puerto serial de una PC. Y con un broche para instalar una batería de 9V. El software para Windows 95/98 es muy amigable y se proporciona en un disco de 3 1/2, junto con el diagrama esquemático.

Cuenta con bornes atornillables para instalar los cables que se requieren para hacer las medicioneS de frecuencia.

Page 4: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 4

El PIC12C508 es el corazón del frecuencímetro, actúa como contador y también se encarga de comunicarse con la PC. Un cristal de 4Mhz se encarga de proporcionar la señal de reloj del microcontrolador. El rango de frecuencias que es capaz de medir es desde 1 hasta 80Mhz.

Un 74HC14 y un juego de resistencias se utiliza para acondicionar el nivel de voltaje de las señales a medir. Resistencias de 0, 1, 5, 20, 50 y 100 permiten atenuar el voltaje desde 5V para la entrada sin resistencia hasta 15V para la entrada a 100K.

Cuando se desconoce la amplitud de la señal que se va a medir es conveniente conectarla primero a la entrada de 100K y después ir reduciendo la resistencia.

Algunas precauciones son necesarias para utilizar este instrumento:

1. La temperatura influye en la frecuencia del cristal de 4Mhz lo que puede producir pequeños errores.

2. Como el instrumento es auto rango, las frecuencias más altas se dividen entre 128 lo que también puede producir pequeños errores.

3. En caso de sustituir el circuito integrado 74HC14 se debe utilizar uno de alta velocidad. [4]

1. DESARROLLO

1.1 Frecuencímetro con PIC y Display LCD

Este dispositivo muestra en una pantalla de cristal líquido de 16 caracteres y una línea el valor de la frecuencia de una señal en su entrada.

Como se ve en el diagrama es muy fácil de armar, quedando todo el trabajo pesado para el programa cargado en el PIC. Un solo ajuste es necesario: Deberá ajustar el preset de 500 Ohms (en la base del transistor 2N4403) hasta leer en el punto marcado con X 5 voltios. Luego de esto el sistema estará listo para funcionar.

Page 5: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 5

En su alimentación requiere dos tensiones diferentes 5v y 9v.

Esta fuente es interesante ya que permite alimentar el sistema con sólo una tensión la cual deberá ser igual o superior a 12v, con una corriente de 1 A.

El código a cargar en el microcontrolador está disponible en dos versiones ENSAMBLADOR y COMPILADO. La primera deberá ser compilada previamente con MPASM. La segunda está lista para ser subida al micro.

Page 6: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 6

1.1.1 Ensamblador ; ;watchdog disabled ; list P=16F84 ind equ 0h rtcc equ 1h pc equ 2h status equ 3h fsr equ 4h port_a equ 5h port_b equ 6h ;port_c equ 7h c equ 0h dc equ 1h z equ 2h pd equ 3h to equ 4h MSB equ 7h LSB equ 0h ; cnt equ 2h rs equ 2h rw equ 1h e equ 0h o equ 7h ; count1 equ 2ch count2 equ 2dh in_reg equ 2eh addcnt equ 2fh gate equ 0Ch cnt1 equ 0Dh cnt2 equ 0Eh cnt3 equ 0Fh calc1 equ 10h calc2 equ 11h calc3 equ 12h sum1 equ 13h sum2 equ 14h sum3 equ 15h

Page 7: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 7

rtcc2 equ 16h ; org 0 goto start ; int_del movlw 0x05 ;delay 5.000 ms (4 MHz clock) movwf count1 d1 movlw 0xA5 movwf count2 d2 decfsz count2 ,f goto d2 decfsz count1 ,f goto d1 retlw 0x00 ; lcd_out movwf port_b ;load data into port_b movlw b'00000000' ;define port_b as output tris port_b bsf port_a,rs ;rs = data bcf port_a,rw ;r/w = write bsf port_a,e ;toggle enable bcf port_a,e movlw b'11111111' ;define port_b as input tris port_b bcf port_a,rs ;rs = instruction bsf port_a,rw ;r/w = read bsf port_a,e ;enable high movf port_b,w ;get address counter movwf addcnt bsf addcnt,7 bcf port_a,e ;enable low out1 bsf port_a,e ;enable high btfss port_b,7 ;test busy flag goto out2 bcf port_a,e ;enable low goto out1 out2 bcf port_a,e ;enable low goto shift ; inst movwf port_b ;load instruction into port_b movlw b'00000000' ;define port_b as output

Page 8: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 8

tris port_b bcf port_a,rs ;rs = instruction bcf port_a,rw ;r/w = write bsf port_a,e ;toggle enable bcf port_a,e movlw b'11111111' ;define port_b as input tris port_b bsf port_a,rw ;r/w = read inst1 bsf port_a,e ;enable high btfss port_b,7 ;test busy flag goto inst2 bcf port_a,e ;enable low goto inst1 inst2 bcf port_a,e ;enable low retlw 0x00 ; shift btfss addcnt,0 ;shift to opposite side of display? retlw 0x00 btfss addcnt,1 retlw 0x00 btfss addcnt,2 retlw 0x00 btfss addcnt,3 retlw 0x00 movlw 0x39 addwf addcnt ,f bsf addcnt,7 movf addcnt,w goto inst ; sub bcf status,o ;clear overflow bit movf calc1,w ;subtract calc1 from cnt1 subwf cnt1 ,f btfsc status,c goto sb1 movlw 0x01 ;borrow from cnt2 if overflow subwf cnt2 ,f btfsc status,c goto sb1 subwf cnt3 ,f ;borrow from cnt3 if cnt2 overflow btfss status,c bsf status,o ;set overflow bit if result is negative

Page 9: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 9

sb1 movf calc2,w ;subtract calc2 from cnt2 subwf cnt2 ,f btfsc status,c goto sb2 movlw 0x01 ;borrow from cnt3 if cnt2 overflow subwf cnt3 ,f btfss status,c bsf status,o ;set overflow bit if result is negative sb2 movf calc3,w ;subtract calc3 from cnt3 subwf cnt3 ,f btfss status,c bsf status,o ;set overflow bit if result is negative retlw 0x00 ; add movf calc1,w ;add calc1 to cnt1 addwf cnt1 ,f btfss status,c goto ad1 incfsz cnt2 ,f ;add to cnt2 if cnt1 overflow goto ad1 incf cnt3 ,f ;add to cnt3 if cnt2 overflow ad1 movf calc2,w ;add calc2 to cnt2 addwf cnt2 ,f btfsc status,c incf cnt3 ,f ;add to cnt3 if cnt2 overflow movf calc3,w ;add calc3 to cnt3 addwf cnt3 ,f retlw 0x00 ; cnvt movlw 0x07 ;7 digits in display movwf count1 movlw 0x19 ;set fsr for MSB in display movwf fsr movlw 0x2F ;one less that ASCII "0" cnvt0 movwf ind incf fsr ,f decfsz count1 ,f goto cnvt0 movlw 0x0F ;load "1,000,000" in calc1-3 movwf calc3 movlw 0x42 movwf calc2

Page 10: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 10

movlw 0x40 movwf calc1 cnvt1 call sub ;subtract number from count incf 19 ,f ;increment 1,000,000's register movlw 0x3A xorwf 19,w btfsc status,z goto overflow btfss status,o ;check if overflow goto cnvt1 call add ;add back last number movlw 0x01 ;load "100,000" in calc1-3 movwf calc3 movlw 0x86 movwf calc2 movlw 0xA0 movwf calc1 cnvt2 call sub ;subtract number from count incf 1A ,f ;increment 100,000's register btfss status,o ;check if overflow goto cnvt2 call add ;add back last number clrf calc3 ;load "10,000" in calc1-3 movlw 0x27 movwf calc2 movlw 0x10 movwf calc1 cnvt3 call sub ;subtract number from count incf 1B ,f ;increment 10,000's register btfss status,o ;check if overflow goto cnvt3 call add ;add back last number movlw 0x03 ;load "1,000" in calc1-3 movwf calc2 movlw 0xE8 movwf calc1 cnvt4 call sub ;subtract number from count incf 1C ,f ;increment 1,000's register btfss status,o ;check if overflow goto cnvt4 call add ;add back last number clrf calc2 ;load "100" in calc1-3

Page 11: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 11

movlw 0x64 movwf calc1 cnvt5 call sub ;subtract number from count incf 1D ,f ;increment 100's register btfss status,o ;check if overflow goto cnvt5 call add ;add back number movlw 0x0A ;load "10" in calc1-3 movwf calc1 cnvt6 call sub ;subtract number from count incf 1E ,f ;increment 10's register btfss status,o ;check if overflow goto cnvt6 call add ;add back last number movf cnt1,w ;put remainder in 1's register addwf 1F ,f incf 1F ,f retlw 0x00 ; count movlw b'00110111' ;rtcc = ext, 1/256 option movlw b'00010000' ;define port_a as output tris port_a bcf port_a,3 bcf port_a,2 clrf cnt3 clrf rtcc clrf rtcc2 bsf port_a,2 ;toggle rtcc pin bcf port_a,2 movf gate,w ;get gate time movwf count1 bsf port_a,3 ;start count fr4 movlw 0xFA movwf count2 goto fr6 fr5 nop nop nop nop nop nop

Page 12: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 12

fr6 movf rtcc,w ;test for rtcc rollover (12) subwf rtcc2 ,f btfss status,z goto fr7 nop goto fr8 fr7 btfsc status,c incf cnt3 ,f fr8 movwf rtcc2 nop nop nop decfsz count2 ,f goto fr5 decfsz count1 ,f goto fr4 bcf port_a,3 ;stop count movf rtcc,w ;get rtcc count movwf cnt2 subwf rtcc2 ,f ;test for rtcc rollover btfss status,c goto fr9 btfss status,z incf cnt3 ,f fr9 clrf cnt1 ;set to get prescaler count fr10 decf cnt1 ,f bsf port_a,2 ;toggle rtcc pin bcf port_a,2 movf rtcc,w ;test if rtcc has changed xorwf cnt2,w btfsc status,z goto fr10 retlw 0x00 ; ;****************************************************************************** ; START ;****************************************************************************** ; start clrf port_a ;instruction, write, enable low movlw b'00010000'

Page 13: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 13

tris port_a clrf port_b movlw b'00000000' tris port_b call int_del call int_del call int_del movlw 0x38 ;initialize display movwf port_b bsf port_a,e ;toggle enable call int_del bcf port_a,e bsf port_a,e ;toggle enable call int_del bcf port_a,e bsf port_a,e ;toggle enable call int_del bcf port_a,e movlw 0x38 ;function call inst movlw b'00001100' ;display on, cursor off call inst movlw b'00000001' ;clear display call inst movlw b'00000110' ;entry mode call inst ; mhz movlw 0x14 ;0.1 sec gate movwf gate call count call cnvt ;convert binary to BCD movlw 0x30 ;test if "0" xorwf 19,w btfss status,z goto mhz1 movlw 0x30 ;test if "0" xorwf 1A,w btfsc status,z goto khz1 mhz1 movlw 0x82 ;set display address call inst movlw 0x02 ;output first 2 characters

Page 14: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 14

movwf count1 movlw 0x19 ;MSD of freq movwf fsr mhz2 movlw 0x30 ;test if "0" xorwf ind,w btfss status,z goto mhz3 movlw 0x20 ;change preceeding "0's" to "space" call lcd_out incf fsr ,f decfsz count1 ,f goto mhz2 goto mhz4 mhz3 movf ind,w call lcd_out incf fsr ,f decfsz count1 ,f goto mhz3 mhz4 movlw 0x2E ;"." call lcd_out movlw 0x05 ;output last 5 characters movwf count1 mhz5 movf ind,w call lcd_out incf fsr ,f decfsz count1 ,f goto mhz5 movlw 0x20 ;"space" call lcd_out movlw 0x4D ;"M" call lcd_out movlw 0x48 ;"H" call lcd_out movlw 0x7A ;"z" call lcd_out movlw 0x20 ;"space" call lcd_out movlw 0x20 ;"space" call lcd_out goto mhz ; khz movlw 0x14 ;0.1 sec gate

Page 15: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 15

movwf gate call count call cnvt ;convert binary to BCD movlw 0x30 ;test if 0 xorwf 19,w btfss status,z goto mhz1 movlw 0x32 ;test if < 2 subwf 1A,w btfsc status,c goto mhz1 movlw 0x30 ;test if "0" xorwf 1A,w btfss status,z goto khz1 movlw 0x30 ;test if "0" xorwf 1B,w btfsc status,z goto xkhz khz1 movlw 0x82 ;set display address call inst movlw 0x05 ;output first 5 characters movwf count1 movlw 0x19 ;MSD of freq movwf fsr khz2 movlw 0x30 ;test if "0" xorwf ind,w btfss status,z goto khz3 movlw 0x20 ;change preceeding "0's" to "space" call lcd_out incf fsr ,f decfsz count1 ,f goto khz2 goto khz4 khz3 movf ind,w call lcd_out incf fsr ,f decfsz count1 ,f goto khz3 khz4 movlw 0x2E ;"." call lcd_out

Page 16: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 16

movf ind,w ;output last 2 characters call lcd_out incf fsr ,f movf ind,w call lcd_out movlw 0x20 ;"space" call lcd_out movlw 0x4B ;"K" call lcd_out movlw 0x48 ;"H" call lcd_out movlw 0x7A ;"z" call lcd_out movlw 0x20 ;"space" call lcd_out movlw 0x20 ;"space" call lcd_out goto khz ; xkhz movlw 0xC8 ;1 sec gate movwf gate call count call cnvt ;convert binary to BCD movlw 0x30 ;test if 0 xorwf 19,w btfss status,z goto khz movlw 0x32 ;test if < 2 subwf 1A,w btfsc status,c goto khz movlw 0x30 ;test if 0 xorwf 1A,w btfss status,z goto xkhz1 movlw 0x30 ;test if 0 xorwf 1B,w btfsc status,z goto hz0 xkhz1 movlw 0x82 ;set display address call inst movlw 0x04 ;output first 4 characters

Page 17: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 17

movwf count1 movlw 0x19 ;MSD of freq movwf fsr xkhz2 movlw 0x30 ;test if "0" xorwf ind,w btfss status,z goto xkhz3 movlw 0x20 ;change preceeding "0's" to "space" call lcd_out incf fsr ,f decfsz count1 ,f goto xkhz2 goto xkhz4 xkhz3 movf ind,w call lcd_out incf fsr ,f decfsz count1 ,f goto xkhz3 xkhz4 movlw 0x2E ;"." call lcd_out movf ind,w ;output last 3 characters call lcd_out incf fsr ,f movf ind,w call lcd_out incf fsr ,f movf ind,w call lcd_out movlw 0x20 ;"space" call lcd_out movlw 0x4B ;"K" call lcd_out movlw 0x48 ;"H" call lcd_out movlw 0x7A ;"z" call lcd_out movlw 0x20 ;"space" call lcd_out movlw 0x20 ;"space" call lcd_out goto xkhz ;

Page 18: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 18

hz movlw 0xC8 ;1 sec gate movwf gate call count call cnvt ;convert binary to BCD movlw 0x30 ;test if "0" xorwf 19,w btfss status,z goto xkhz1 movlw 0x30 ;test if "0" xorwf 1A,w btfss status,z goto xkhz1 movlw 0x32 ;test if < 2 subwf 1B,w btfsc status,c goto xkhz1 hz0 movlw 0x82 ;set display address call inst movlw 0x07 ;output first 7 characters movwf count1 movlw 0x19 ;MSD of freq movwf fsr hz1 movlw 0x30 ;test if "0" xorwf ind,w btfss status,z goto hz2 movlw 0x20 ;change preceeding "0's" to "space" call lcd_out incf fsr ,f decfsz count1 ,f goto hz1 goto hz3 hz2 movf ind,w call lcd_out incf fsr ,f decfsz count1 ,f goto hz2 hz3 movlw 0x20 ;"space" call lcd_out movlw 0x48 ;"H" call lcd_out movlw 0x7A ;"z"

Page 19: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 19

call lcd_out movlw 0x20 ;"space" call lcd_out movlw 0x20 ;"space" call lcd_out movlw 0x20 ;"space" call lcd_out movlw 0x20 ;"space" call lcd_out goto hz ; overflow movlw 0x01 ;clear display call inst movlw 0x84 ;display address call inst movlw 0x4F ;"O" call lcd_out movlw 0x76 ;"v" call lcd_out movlw 0x65 ;"e" call lcd_out movlw 0x72 ;"r" call lcd_out movlw 0x66 ;"f" call lcd_out movlw 0x6C ;"l" call lcd_out movlw 0x6F ;"o" call lcd_out movlw 0x77 ;"w" call lcd_out movlw 0x02 ;cursor at home call inst goto mhz ; end

Page 20: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 20

1.1.2 Compilado

:10000000E7280530AC00A530AD00AD0B0528AC0BE2 :10001000032800348600003066000515851005149D :100020000510FF3066000511851405140608AF00A1 :10003000AF1705100514861F1F2805101A28051074 :100040003228860000306600051185100514051061 :10005000FF30660085140514861F302805102B28F4 :10006000051000342F1C0034AF1C00342F1D003449 :10007000AF1D00343930AF07AF172F082128831385 :1000800010088D0203184B2801308E0203184B28EC :100090008F02031C831711088E02031853280130A6 :1000A0008F02031C831712088F02031C831700346E :1000B00010088D07031C5F288E0F5F288F0A110818 :1000C0008E0703188F0A12088F0700340730AC0020 :1000D000193084002F308000840AAC0B6B280F305D :1000E000920042309100403090003F20990A3A300F :1000F00019060319EB29831F752858200130920037 :1001000086309100A03090003F209A0A831F8428F7 :100110005820920127309100103090003F209B0A18 :10012000831F8E28582003309100E83090003F2034 :100130009C0A831F972858209101643090003F202B :100140009D0A831F9F2858200A3090003F209E0A56 :10015000831FA62858200D089F079F0A00343730B8 :10016000620010306500851105118F018101960133 :10017000051505110C08AC008515FA30AD00C62830 :1001800000000000000000000000000001089602CE :10019000031DCC280000CE2803188F0A960000000B :1001A00000000000AD0BC028AC0BBD288511010874 :1001B0008E009602031CDE28031D8F0A8D018D031D :1001C0000515051101080E060319DF280034850105 :1001D00010306500860100306600012001200120FA :1001E0003830860005140120051005140120051083 :1001F000051401200510383021200C302120013059 :1002000021200630212014308C00AF2066203030B1 :100210001906031D0F2930301A0603194E298230A2 :1002200021200230AC001930840030300006031D5C :100230001F2920300A20840AAC0B15292429000824 :100240000A20840AAC0B1F292E300A200530AC008E :1002500000080A20840AAC0B282920300A204D30DF :100260000A2048300A207A300A2020300A20203024 :100270000A20032914308C00AF2066203030190684

Page 21: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 21

:10028000031D0F2932301A0203180F2930301A06C5 :10029000031D4E2930301B06031977298230212097 :1002A0000530AC001930840030300006031D5E2993 :1002B00020300A20840AAC0B5429632900080A2044 :1002C000840AAC0B5E292E300A2000080A20840A1A :1002D00000080A2020300A204B300A2048300A202B :1002E0007A300A2020300A2020300A203A29C830EB :1002F0008C00AF20662030301906031D3A293230B9 :100300001A0203183A2930301A06031D8B2930309F :100310001B060319C729823021200430AC00193094 :10032000840030300006031D9B2920300A20840AF7 :10033000AC0B9129A02900080A20840AAC0B9B2948 :100340002E300A2000080A20840A00080A20840AA5 :1003500000080A2020300A204B300A2048300A20AA :100360007A300A2020300A2020300A207729C8302D :100370008C00AF20662030301906031D8B293030E9 :100380001A06031D8B2932301B0203188B29823079 :1003900021200730AC001930840030300006031DE6 :1003A000D72920300A20840AAC0BCD29DC2900088B :1003B0000A20840AAC0BD72920300A2048300A20B2 :1003C0007A300A2020300A2020300A2020300A20EB :1003D00020300A20B72901302120843021204F30DD :1003E0000A2076300A2065300A2072300A206630F2 :1003F0000A206C300A206F300A2077300A20023041 :04040000212003298B :00000001FF

2. BASES TEÓRICAS

2.1 Los Reguladores de Tensión

Page 22: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 22

En la figura vemos un típico integrado regulador de tensión, a pesar que es parecido a un transistor, estos son circuitos integrados. Tenemos los puntos E, entrada de la fuente de alimentación; T, tierra y S, salida regulada. El "78", nos indica que es un regulador positivo (existe la serie "79" que regula negativamente); XX nos indica a que voltaje regulara. Estos pueden ser; 7805, 7806, 7808, 7810, 7812, 7815, 7818, 7822 y 7824. Note que no hay ninguno que regule a 13,8 volt. El voltaje de alimentación de estos, dependerá del regulador, a continuación les presento una tabla con el voltaje de entrada, mínima y máxima, para que tengan en cuenta. [5]

Tensión en Volt Tipo de Regulador Mínima Máxima

7805 7 25

7806 8 25 7808 11 25 7810 13 28

7812 15 30 7815 18 30

7818 21 33 7822 25 36 7824 27 38

Resumiendo, el 7812 nos dará una tensión de 12 volt y el 7815, una tensión de 15 volt. La fuente de alimentación, tendrá que tener unos 3 volt mas, como mínimo, de la tensión de salida. Los rango de temperatura serán entre 0º y 125º, para una corriente de salida de 1 Amper, por lo que es aconsejable colocarle un disipador de calor para evitar que este se queme. El indice de error en la tensión de salida es de +/- 0,25 volt, así un 7805 podrá tener entre 4,75 y 5,25 volt de salida. También tenemos que tener en cuenta a la hora de comprar un regulador, el tipo de regulador que compramos ya que algunos vienen para 0,1 Amper y otros hasta 3 Ampers. Esto depende de la serie del regulador, estas son las siguientes:

Tipo de Regulador

Potencia en Ampers Zocalo

78XX 1,0 TO-204, TO-220

Page 23: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 23

78LXX 0,1 TO-205. TO-92 78MXX 0,5 TO-220 78TXX 3,0 TO-204

2.2 Puerta lógica

Una puerta lógica, o compuerta lógica, es un dispositivo electrónico que es la expresión física de un operador booleano en la lógica de conmutación. Cada puerta lógica consiste en una red de dispositivos interruptores que cumple las condiciones booleanas para el operador particular. Son esencialmente circuitos de conmutación integrados en un chip.

Claude Elwood Shannon experimentaba con relés o interruptores electromagnéticos para conseguir las condiciones de cada compuerta lógica, por ejemplo, para la función booleana Y (AND) colocaba interruptores en circuito serie, ya que con uno solo de éstos que tuviera la condición "abierto", la salida de la compuerta Y sería = 0, mientras que para la implementación de una compuerta O (OR), la conexión de los interruptores tiene una configuración en circuito paralelo.

La tecnología microelectrónica actual permite la elevada integración de transistores actuando como conmutadores en redes lógicas dentro de un pequeño circuito integrado. El chip de la CPU es una de las máximas expresiones de este avance tecnológico.

2.2.1 Puerta NO-Y (NAND)

Símbolo de la función lógica NO-Y. a) Contactos, b) Normalizado y c) No normalizado

La puerta lógica NO-Y, más conocida por su nombre en inglés NAND, realiza la operación de producto lógico negado. En la figura de la derecha pueden observarse sus símbolos en electrónica.

Page 24: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 24

La ecuación característica que describe el comportamiento de la puerta NAND es:

Su tabla de verdad es la siguiente:

Tabla de verdad puerta NAND

Entrada A Entrada B Salida

0 0 1

0 1 1

1 0 1

1 1 0

Podemos definir la puerta NO-Y como aquella que proporciona a su salida un 0 lógico únicamente cuando todas sus entradas están a 1. [3]

2.3 Microcontrolador PIC

Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instruments.

El nombre actual no es un acrónimo, en realidad el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (Controlador de Interfaz Periférico).

El PIC original se diseñó para ser usado con la nueva UCP de 16 bits de General Instruments, el CP16000. Siendo en general una buena UCP, el CP1600 tenía malas prestaciones de E/S, y el PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de E/S a la UCP. El PIC utilizaba microcódigo simple almacenado en memoria ROM para realizar estas tareas; y aunque el término no se usaba por aquel entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.

En 1985 la división de microelectrónica de General Instrument se convirtió en una filial y el nuevo propietario canceló casi todos los desarrollos, que para esas fechas la mayoría estaban

Page 25: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 25

obsoletos. El PIC, sin embargo, se mejoró con EPROM para conseguir un controlador de canal programable. Hoy en día multitud de PICs vienen con varios periféricos incluídos (módulos de comunicación serie, UARTs, núcleos de control de motores, etc.) y con memoria de programa desde 512 palabras a 32.000 palabras (una palabra corresponde a una instrucción en ensamblador, y puede ser 12, 14 o 16 bits, dependiendo de la familia específica de PCImicro).

2.3.1 Juego de instrucciones y entorno de programación

El PIC usa un juego de instrucciones tipo RISC, cuyo número puede variar desde 35 para PICs de gama baja a 70 para los de gama alta. Las instrucciones se clasifican entre las que realizan operaciones entre el acumulador y una constante, entre el acumulador y una posición de memoria, instrucciones de condicionamiento y de salto/retorno, implementación de interrupciones y una para pasar a modo de bajo consumo llamada sleep.

Microchip proporciona un entorno de desarrollo freeware llamado MPLAB que incluye un simulador software y un ensamblador. Otras empresas desarrollan compiladores C y BASIC. Microchip también vende compiladores para los PICs de gama alta ("C18" para la serie F18 y "C30" para los dsPICs) y se puede descargar una edición para estudiantes del C18 que inhabilita algunas opciones después de un tiempo de evaluación.

Para Pascal existe un compilador de código abierto, JAL, lo mismo que PicForth para el lenguaje Forth. GPUTILS es una colección de herramientas distribuídas bajo licencia GNU que incluye ensamblador y enlazador, y funciona en Linux, MacOS y Microsoft Windows. GPSIM es otra herramienta libre que permite simular diversos dispositivos hardware conectados al PIC.

2.3.2 Programación del PIC

Para transferir el código de un ordenador al PIC normalmente se usa un dispositivo llamado programador. La mayoría de PICs que Microchip distribuye hoy en día incorporan ICSP (In Circuit Serial Programming, Programación serie incorporada) o LVP (Low Voltage Programming, Programación a bajo voltaje), lo que permite programar el PIC directamente en el circuito destino. Para la ICSP se usan los pines RB6 y RB7 como reloj y datos y el MCLR para activar el modo programación aplicando un voltage de unos 11 voltios. Existen muchos programadores de PICs, desde los más simples que dejan al software los detalles de comunicaciones, a los más complejos, que pueden verificar el dispositivo a diversas tensiones de alimentación e implementan en hardware casi todas las funcionalidades. Muchos de estos programadores complejos incluyen ellos mismos PICs preprogramados como interfaz para enviar las órdenes al PIC que se desea programar. Uno de los programadores más simples es el TE20, que utiliza la linea TX del puerto RS232 como alimentación y las lineas DTR y CTR

Page 26: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 26

para mandar o recibir datos cuando el microcontrolador está en modo programación. El sofware de programación puede ser el ICprog, muy común entre la gente que utiliza este tipo de microcontroladores.

Se pueden obtener directamente de Microchip muchos programadores/depuradores (octubre 2005):

2.3.3 Programadores

• PICStart Plus (puerto serie) • Promate II (puerto serie) • MPLAB PM3 (puerto serie y USB) • ICD2 (puerto serie y USB) • PICKit 1 (USB) • PICKit 2 (USB)

2.3.4 Depuradores integrados

• ICD2 (USB)

2.3.5 Emuladores

• ICE2000 (puerto paralelo, convertidor a USB disponible) • ICE4000 (USB) • PIC EMU • PIC CDlite

2.3.6 Tamaño de palabra

El tamaño de palabra de los microcontroladores PIC es fuente de muchas confusiones. Todos los PICs (excepto los dsPIC) manejan datos en trozos de 8 bits, con lo que se deberían llamar microcontroladores de 8 bits. Pero, a diferencia de la mayoría de UCPs, el PIC usa arquitectura Harvard, por lo que el tamaño de las instrucciones puede ser distinto de tamaño de la palabra de datos. De hecho, las diferentes familias de PICs usan tamaños de instrucción distintos, lo que hace difícil comparar el tamaño del código del PIC con el de otros microcontroladores. Por ejemplo, pongamos que un microcontrolador tiene 6144 bytes de memoria de programa: para un PIC de 12 bits esto significa 4096 palabras y para uno de 16 bits, 3072 palabras.

Page 27: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 27

2.3.7 Características

Los PICs actuales vienen con una amplia gama de mejoras hardware incorporadas:

• Núcleos de UCP de 8/16 bits con Arquitectura Harvard modificada • Memoria Flash y ROM disponible desde 256 bytes a 256 kilobytes • Puertos de E/S (típicamente 0 a 5,5 voltios) • Temporizadores de 8/16 bits • Tecnología Nanowatt para modos de control de energía • Periféricos serie síncronos y asíncronos: USART, AUSART, EUSART • Conversores analógico/digital de 10-12 bits • Comparadores de tensión • Módulos de captura y comparación PWM • Controladores LCD • Periférico MSSP para comunicaciones I2C, SPI, y I2S • Memoria EEPROM interna con duración de hasta un millón de ciclos de

lectura/escritura • Periféricos de control de motores • Soporte de interfaz USB • Soporte de controlador Ethernet • Soporte de controlador CAN • Soporte de controlador LIN • Soporte de controlador Irda

2.3.8 Variaciones del PIC

2.3.8.1 PICs modernos

Los viejos PICs con memoria PROM o EPROM se estan renovando gradualmente por chips con memoria Flash. Así mismo, el juego de instrucciones original de 12 bits del PIC1650 y sus descendientes directos ha sido suplantado por juegos de instrucciones de 14 y 16 bits. Microchip todavía vende versiones PROM y EPROM de la mayoría de los PICs para soporte de aplicaciones antiguas o grandes pedidos.

2.3.8.2 Clones del PIC

Por todos lados surgen compañías que ofrecen versiones del PIC más baratas o mejoradas. La mayoría suelen desaparecer rápidamente. Una de ellas que va perdurando es Ubicorn (antiguamente Scenix) que vende clones del PIC que funcionan mucho más rápido que el original. OpenCores tiene un núcleo del PIC16F84 escrito en Verilog.

Page 28: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 28

2.3.8.3 PICs wireless

El microcontrolador rfPIC integra todas las prestaciones del PICmicro de Microchip con la capacidad de comunicación wireless UHF para aplicaciones RF de baja potencia. Estos dispositivos ofrecen un diseño muy comprimido para ajustarse a los cada vez más demanadado requerimientos de miniaturización en aparatos electrónicos.

2.3.8.4 PICs para procesado de señal (dsPICs)

Los dsPICs son el último lanzamiento de Microchip, comenzando a producirlo s a gran escala a finales de 2004. Son los primeros PICs con bus de datos inherente de 16 bits. Incorporan todas las posibilidades de los anteriores PICs y añaden varias operaciones de DSP implementadas en hardware, como multiplicación con suma de acumulador (multiply-accumulate, o MAC), barrel shifting, bit reversion o multiplicación 16x16 bits.

2.3.8.5 PICs más comúnmente usados

• PIC12C508/509 (encapsulamiento reducido de 8 pines, oscilador interno, popular en pequeños diseños como el iPod remote)

• PIC16F84 (Considerado obsoleto, pero imposible de descartar y muy popular) • PIC16F84A (Buena actualización del anterior, algunas versiones funcionan a 20 MHz,

compatible 1:1) • PIC12F629/675 • PIC16F628 • La familia PIC16F87X (los hermanos mayores del PIC16F84, con cantidad de mejoras

incluidas en hardware. Bastante común en proyectos de aficionados) • PIC18F452

2.3.8.6 PICs en Internet

Se puede encontrar mucha información y documentación sobre PICs en Internet principalmente por dos motivos: el primero, porque han sido muy usados para romper los sistemas de seguridad de varios productos de consumo mayoritario (televisión de pago, Play Station...), lo que atrae la atención de los crackers; y segundo, porque el PIC16C84 fue uno de los primeros microcontroladores fácilmente reprogramables para aficionados. Hay muchos foros y listas de correo dedicados al PIC en los que un usuario puede proponer sus dudas y recibir respuestas. [2]

Page 29: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 29

2.4 LCD

LCD son las siglas en inglés de "Pantalla de Cristal Líquido" ("Liquid Crystal Display") inventado por Jack Janning que fue empleado de NCR.

Se trata de un sistema eléctrico de presentación de datos formado por 2 capas conductoras transparentes y en medio un material especial cristalino (cristal líquido) que tienen la capacidad de orientar la luz a su paso.

Cuando la corriente circula entre los electrodos transparentes con la forma a representar (por ejemplo, un segmento de un número) el material cristalino se reorienta alterando su transparencia.

El material base de un LCD lo constituye el cristal líquido, el cual exhibe un comportamiento similar al de los líquidos y unas propiedades físicas anisotrópicas similares a las de los sólidos cristalinos. Las moléculas de cristal líquido poseen una forma alargada y son más o menos paralelas entre sí en la fase cristalina. Según la disposición molecular y su ordenamiento, se clasifican en tres tipos: nemáticos, esméticos y colestéricos. La mayoría de cristales responden con facilidad a los campos eléctricos, exhibiendo distintas propiedades ópticas en presencia o ausencia del campo. El tipo más común de visualizador LCD es, con mucho, el denominado nemático de torsión, término que indica que sus moléculas en su estado desactivado presentan una disposición en espiral. La polarización o no de la luz que circula por el interior de la estructura, mediante la aplicación o no de un campo eléctrico exterior, permite la activación de una serie de segmentos transparentes, los cuales rodean al cristal líquido. Según sus características ópticas, pueden también clasificarse como: reflectivos, transmisivos y transreflectivos. [5]

2.4.1 LCD en la industria

Composición por segmentos y por píxeles

Las pantallas LCD se encuentran en multitud de dispositivos industriales y de consumo: máquinas expendedoras, electrodomésticos, equipos de telecomunicaciones, computadoras,

Page 30: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 30

etc. Todos estos dispositivos utilizan pantallas fabricadas por terceros de una manera más o menos estandarizada. Cada LCD se compone de una pequeña placa integrada que consta de:

La propia pantalla LCD.

Un microchip controlador.

Una pequeña memoria que contiene una tabla de caracteres.

Un interfaz de contactos eléctricos, para conexión externa.

Opcionalmente, una luz trasera para iluminar la pantalla.

El controlador simplifica el uso del LCD proporcionando una serie de funciones básicas que se invocan mediante el interfaz eléctrico, destacando:

La escritura de caracteres en la pantalla.

El posicionado de un cursor parpadeante, si se desea.

El desplazamiento horizontal de los caracteres de la pantalla (scrolling).

Etc.

La memoria implementa un mapa de bits para cada carácter de un juego de caracteres, es decir, cada octeto de esta memoria describe los puntitos o pixels que deben iluminarse para representar un carácter en la pantalla. Generalmente, se pueden definir caracteres a medida modificando el contenido de esta memoria. Así, es posible mostrar símbolos que no están originalmente contemplados en el juego de caracteres.

El interfaz de contactos eléctricos suele ser de tipo paralelo, donde varias señales eléctricas simultáneas indican la función que debe ejecutar el controlador junto con sus parámetros. Por tanto, se requiere cierta sincronización entre estas señales eléctricas.

La luz trasera facilita la lectura de la pantalla LCD en cualquier condición de iluminación ambiental.

Existen dos tipos de pantallas LCD en el mercado: pantallas de texto y pantallas gráficas.

Page 31: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 31

2.4.2 LCD de texto

Los LCD de texto son los más baratos y simples de utilizar. Solamente permiten visualizar mensajes cortos de texto. Existen algunos modelos estandarizados en la industria, en función de su tamaño medido en número de líneas y columnas de texto. Existen modelos de una, dos y cuatro filas únicamente. El número de columnas típico es de ocho, dieciséis, veinte y cuarenta caracteres.

El controlador Hitachi HD44780 se ha convertido en un estándar de industria cuyas especificaciones funcionales son imitadas por la mayoría de los fabricantes. Este controlador cuenta con los siguientes interfaces eléctricos:

D0-D7: ocho señales eléctricas que componen un bus de datos.

R/W: una señal que indica si se desea leer o escribir en la pantalla (generalmente solamente se escribe).

RS: una señal que indica si los datos presentes en D0-D7 corresponden bien a una instrucción, bien a sus parámetros.

E: una señal para activar o desactivar la pantalla.

V0: señal eléctrica para determinar el contraste de la pantalla. Generalmente en el rango de cero a cinco voltios. Cuando el voltaje es de cero voltios se obtienen los puntos más oscuros.

Vss y Vdd: señales de alimentación. Generalmente a cinco voltios. La señal Vss sirve para encender la luz trasera de la pantalla en algunos modelos.

Estas señales son fácilmente controladas desde un ordenador a través de un interfaz paralelo, típicamente a través del interfaz IEEE 1284, también conocido como "Centronics". El mismo que se utiliza para conectar impresoras. [3]

Page 32: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 32

2.4.3 LCD de gráficos

Detalle de una pantalla LCD en color

Las pantallas LCD gráficas permiten encender y apagar individualmente pixels de la pantalla. De esta manera es posible mostrar gráficos en blanco y negro. No solamente texto. Los controladores más populares son el Hitachi HD61202 y el Samsung KS0108. Los tamaños también están estandarizados y se miden en filas y columnas de pixeles. Algunos tamaños típicos son 128x64 y 96x60. Naturalmente, algunos controladores también permiten la escritura de texto de manera sencilla.

Estas pantallas son más caras y complejas de utilizar. Existen pocas aplicaciones donde no baste con un LCD de texto. Se suelen utilizar, por ejemplo, en ecualizadores gráficos. [3]

Page 33: Frecuencimetro Con PIC y Display LCD

Ing. Juan Gilberto Mateos Suárez, Código;7917333, [email protected] Proyecto de Diseño con Electrónica Integrada.

Página 33

2.5 SIMULACIÓN DE LA PRIMERA PARTE DEL CIRCUITO

C11.5uF

C2

47pF

R1

100kOhm_5%

R21.0MOhm_5%

D11N4148

D2

1N4148C3470pF

R310Ohm_5%

R4

30Ohm_5%

Q1

GaAsFET_N_VIRTUAL

C4100nF

Q2

2N4403

C5

47nF

R6820kOhm_5%

R7

1.0MOhm_5%

C6100nF

V1

9 V

V25 V

XMM1

R5

Key = A 100%

REFERENCIAS BIBLIOGRÁFICAS

[1] www.electronicaestudio.com

[2] www.gestialba.com

[3] www.wikipedia.com

[4] www.webelectronica.com.ar

[5] www.comunidadelectronicos.com


Recommended