Вы находитесь на странице: 1из 33

FRECUENCMETRO CON PIC Y DISPLAY LCD

Juan Jos Santana Andrade Universidad De Guadalajara juanjosaan@yahoo.com.mx

1. Desarrollo
1.1 Frecuencmetro con PIC y Display LCD
1.1.1 Ensamblador 1.1.2 Compilado

2. Bases tericas
2.1 Los Reguladores de Tensin 2.2 Puerta lgica
2.2.1 Puerta NO-Y (NAND)

2.3 Microcontrolador PIC


2.3.1 Juego de instrucciones y entorno de programacin 2.3.2 Programacin del PIC 2.3.3 Programadores 2.3.4 Depuradores integrados 2.3.5 Emuladores 2.3.6 Tamao de palabra 2.3.7 Caractersticas 2.3.8 Variaciones del PIC 2.3.8.1 PICs modernos Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 1

2.3.8.2 Clones del PIC 2.3.8.3 PICs wireless 2.3.8.4 PICs para procesado de seal (dsPICs) 2.3.8.5 PICs ms comnmente 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 grficos

2.5 Simulacin de la primera parte del circuito

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 2

Con este proyecto se pretende facilitar an ms las lecturas de frecuencia de las seales y a la vez darle un poco ms de vista y esttica al agregarle un LCD al frecuencmetro. Adems de esto con un costo bajo se le da la oportunidad al estudiante que no tiene los recursos suficientes para adquirir un frecuencmetro ms ostentoso, la oportunidad de tenerlo a su alcance. La idea de hacer este circuito nace de las peticiones constantes por la falta de ms frecuencmetros que no es muy comn verlos tanto como los voltmetros, ampermetros, osciloscopios, etc. Tambin 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 comn de todos los ingenieros, que es el de disear. 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 dae el equipo, sobretodo el microcontrolador y la pantalla.

ANTECEDENTES
Frecuencmetro Virtual

PIC12C508 programado Alimentacin: 9V CD Puerto: serial Seal: hasta 15 Volts Acondicionador: 74HC14 Diagrama esquemtico

Este frecuencmetro 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 batera 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 esquemtico. Cuenta con bornes atornillables para instalar los cables que se requieren para hacer las medicioneS de frecuencia.

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 3

El PIC12C508 es el corazn del frecuencmetro, acta como contador y tambin se encarga de comunicarse con la PC. Un cristal de 4Mhz se encarga de proporcionar la seal 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 seales 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 seal que se va a medir es conveniente conectarla primero a la entrada de 100K y despus 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 pequeos errores. 2. Como el instrumento es auto rango, las frecuencias ms altas se dividen entre 128 lo que tambin puede producir pequeos errores. 3. En caso de sustituir el circuito integrado 74HC14 se debe utilizar uno de alta velocidad. [4]

1. DESARROLLO
1.1 Frecuencmetro con PIC y Display LCD
Este dispositivo muestra en una pantalla de cristal lquido de 16 caracteres y una lnea el valor de la frecuencia de una seal en su entrada. Como se ve en el diagrama es muy fcil 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.

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 4

En su alimentacin requiere dos tensiones diferentes 5v y 9v.

Esta fuente es interesante ya que permite alimentar el sistema con slo una tensin la cual deber ser igual o superior a 12v, con una corriente de 1 A. El cdigo 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.

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 5

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 Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 6

rtcc2 ;

equ org goto

16h 0 start

; int_del d1 d2

movlw movwf movlw movwf decfsz goto decfsz goto retlw

0x05 count1 0xA5 count2 count2 d2 count1 d1 0x00

;delay 5.000 ms (4 MHz clock)

,f ,f

; 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 Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 7

inst1

inst2 ; shift

tris bcf bcf bsf bcf movlw tris bsf bsf btfss goto bcf goto bcf retlw btfss retlw btfss retlw btfss retlw btfss retlw movlw addwf bsf movf goto

port_b port_a,rs ;rs = instruction port_a,rw ;r/w = write port_a,e ;toggle enable port_a,e b'11111111' ;define port_b as input port_b port_a,rw ;r/w = read port_a,e ;enable high port_b,7 ;test busy flag inst2 port_a,e ;enable low inst1 port_a,e ;enable low 0x00 addcnt,0 ;shift to opposite side of display? 0x00 addcnt,1 0x00 addcnt,2 0x00 addcnt,3 0x00 0x39 addcnt ,f addcnt,7 addcnt,w 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 Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 8

sb1

sb2

movf subwf btfsc goto movlw subwf btfss bsf movf subwf btfss bsf retlw movf addwf btfss goto incfsz goto incf movf addwf btfsc incf movf addwf retlw

calc2,w cnt2 status,c sb2 0x01 cnt3 status,c status,o calc3,w cnt3 status,c status,o 0x00 calc1,w cnt1 status,c ad1 cnt2 ad1 cnt3 calc2,w cnt2 status,c cnt3 calc3,w cnt3 0x00

;subtract calc2 from cnt2 ,f

;borrow from cnt3 if cnt2 overflow ,f ;set overflow bit if result is negative ;subtract calc3 from cnt3 ,f ;set overflow bit if result is negative

; add

;add calc1 to cnt1 ,f

,f ,f ,f ,f ,f

;add to cnt2 if cnt1 overflow ;add to cnt3 if cnt2 overflow ;add calc2 to cnt2

ad1

;add to cnt3 if cnt2 overflow ;add calc3 to cnt3

; 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 Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 9

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 la st 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 Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 10

cnvt5

cnvt6

movlw movwf call incf btfss goto call movlw movwf call incf btfss goto call movf addwf incf retlw

0x64 calc1 sub 1D status,o cnvt5 add 0x0A calc1 sub 1E status,o cnvt6 add cnt1,w 1F 1F 0x00

;subtract number from count ,f ;increment 100's register ;check if overflow ;add back number ;load "10" in calc1-3 ;subtract number from count ,f ;increment 10's register ;check if overflow ;add back last number ;put remainder in 1's register ,f ,f

; 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 Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 11

fr6

fr7 fr8

fr9 fr10

movf subwf btfss goto nop goto btfsc incf movwf nop nop nop decfsz goto decfsz goto bcf movf movwf subwf btfss goto btfss incf clrf decf bsf bcf movf xorwf btfsc goto retlw

rtcc,w rtcc2 ,f status,z fr7 fr8 status,c cnt3 ,f rtcc2

;test for rtcc rollover (12)

count2 fr5 count1 fr4 port_a,3 rtcc,w cnt2 rtcc2 status,c fr9 status,z cnt3 cnt1 cnt1 port_a,2 port_a,2 rtcc,w cnt2,w status,z fr10 0x00

,f ,f ;stop count ;get rtcc count ,f ;test for rtcc rollover

,f ;set to get prescaler count ,f ;toggle rtcc pin ;test if rtcc has changed

; ;*************************************************************************** *** ; START ;*************************************************************************** *** ; start clrf port_a ;instruction, write, enable low movlw b'00010000' Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 12

tris clrf movlw tris call call call movlw movwf bsf call bcf bsf call bcf bsf call bcf movlw call movlw call movlw call movlw call ; mhz

port_a port_b b'00000000' port_b int_del int_del int_del 0x38 ;initialize display port_b port_a,e ;toggle enable int_del port_a,e port_a,e ;toggle enable int_del port_a,e port_a,e ;toggle enable int_del port_a,e 0x38 ;function inst b'00001100' ;display on, cursor off inst b'00000001' ;clear display inst b'00000110' ;entry mode inst

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 Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 13

mhz2

mhz3

mhz4

mhz5

movwf movlw movwf movlw xorwf btfss goto movlw call incf decfsz goto goto movf call incf decfsz goto movlw call movlw movwf movf call incf decfsz goto movlw call movlw call movlw call movlw call movlw call movlw call goto

count1 0x19 fsr 0x30 ind,w status,z mhz3 0x20 lcd_out fsr count1 mhz2 mhz4 ind,w lcd_out fsr count1 mhz3 0x2E lcd_out 0x05 count1 ind,w lcd_out fsr count1 mhz5 0x20 lcd_out 0x4D lcd_out 0x48 lcd_out 0x7A lcd_out 0x20 lcd_out 0x20 lcd_out mhz

;MSD of freq ;test if "0"

;change preceeding "0's" to "space" ,f ,f

,f ,f ;"." ;output last 5 characters

,f ,f ;"space" ;"M" ;"H" ;"z" ;"space" ;"space"

; khz

movlw 0x14 ;0.1 sec gate Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 14

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 Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 15

movf call incf movf call movlw call movlw call movlw call movlw call movlw call movlw call goto ; xkhz

ind,w lcd_out fsr ,f ind,w lcd_out 0x20 lcd_out 0x4B lcd_out 0x48 lcd_out 0x7A lcd_out 0x20 lcd_out 0x20 lcd_out khz

;output last 2 characters

;"space" ;"K" ;"H" ;"z" ;"space" ;"space"

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 Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 16

xkhz2

xkhz3

xkhz4

movwf movlw movwf movlw xorwf btfss goto movlw call incf decfsz goto goto movf call incf decfsz goto movlw call movf call incf movf call incf movf call movlw call movlw call movlw call movlw call movlw call movlw call goto

count1 0x19 fsr 0x30 ind,w status,z xkhz3 0x20 lcd_out fsr count1 xkhz2 xkhz4 ind,w lcd_out fsr count1 xkhz3 0x2E lcd_out ind,w lcd_out fsr ind,w lcd_out fsr ind,w lcd_out 0x20 lcd_out 0x4B lcd_out 0x48 lcd_out 0x7A lcd_out 0x20 lcd_out 0x20 lcd_out xkhz

;MSD of freq ;test if "0"

;change preceeding "0's" to "space" ,f ,f

,f ,f ;"." ;output last 3 characters ,f

,f

;"space" ;"K" ;"H" ;"z" ;"space" ;"space"

; Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 17

hz

hz0

hz1

hz2

hz3

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 movlw 0x82 ;set display address call inst movlw 0x07 ;output first 7 characters movwf count1 movlw 0x19 ;MSD of freq movwf fsr 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 movf ind,w call lcd_out incf fsr ,f decfsz count1 ,f goto hz2 movlw 0x20 ;"space" call lcd_out movlw 0x48 ;"H" call lcd_out movlw 0x7A ;"z" Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 18

call movlw call movlw call movlw call movlw call goto ; overflow movlw call movlw call movlw call movlw call movlw call movlw call movlw call movlw call movlw call movlw call movlw call goto ; end

lcd_out 0x20 lcd_out 0x20 lcd_out 0x20 lcd_out 0x20 lcd_out hz 0x01 inst 0x84 inst 0x4F lcd_out 0x76 lcd_out 0x65 lcd_out 0x72 lcd_out 0x66 lcd_out 0x6C lcd_out 0x6F lcd_out 0x77 lcd_out 0x02 inst mhz

;"space" ;"space" ;"space" ;"space"

;clear display ;display address ;"O" ;"v" ;"e" ;"r" ;"f" ;"l" ;"o" ;"w" ;cursor at home

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 19

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 Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 20

: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 TERICAS
2.1 Los Reguladores de Tensin

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 21

En la figura vemos un tpico integrado regulador de tensin, a pesar que es parecido a un transistor, estos son circuitos integrados. Tenemos los puntos E, entrada de la fuente de alimentacin; 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 alimentacin de estos, depender del regulador, a continuacin les presento una tabla con el voltaje de entrada, mnima y mxima, para que tengan en cuenta. [5] Tipo de Tensin en Volt Regulador Mnima Mxima 7805 7 25 7806 7808 7810 7812 7815 7818 7822 7824 8 11 13 15 18 21 25 27 25 25 28 30 30 33 36 38

Resumiendo, el 7812 nos dar una tensin de 12 volt y el 7815, una tensin de 15 volt. La fuente de alimentacin, tendr que tener unos 3 volt mas, como mnimo, de la tensin de salida. Los rango de temperatura sern 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 tensin de salida es de +/- 0,25 volt, as un 7805 podr tener entre 4,75 y 5,25 volt de salida. Tambin 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 78XX Potencia en Ampers 1,0 Zocalo TO-204, TO-220

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 22

78LXX 78M XX 78TXX

0,1 0,5 3,0

TO-205. TO-92 TO-220 TO-204

2.2 Puerta lgica


Una puerta lgica, o compuerta lgica, es un dispositivo electrnico que es la expresin fsica de un operador booleano en la lgica de conmutacin. Cada puerta lgica consiste en una red de dispositivos interruptores que cumple las condiciones booleanas para el operador particular. Son esencialmente circuitos de conmutacin integrados en un chip. Claude Elwood Shannon experimentaba con rels o interruptores electromagnticos para conseguir las condiciones de cada comp uerta lgica, por ejemplo, para la funcin booleana Y (AND) colocaba interruptores en circuito serie, ya que con uno solo de stos que tuviera la condicin "abierto", la salida de la compuerta Y sera = 0, mientras que para la implementacin de una compuerta O (OR), la conexin de los interruptores tiene una configuracin en circuito paralelo. La tecnologa microelectrnica actual permite la elevada integracin de transistores actuando como conmutadores en redes lgicas dentro de un pequeo circuito integrado. El chip de la CPU es una de las mximas expresiones de este avance tecnolgico.

2.2.1 Puerta NO-Y (NAND)

Smbolo de la funcin lgica NO-Y. a) Contactos, b) Normalizado y c) No normalizado La puerta lgica NO-Y, ms conocida por su nombre en ingls NAND, realiza la operacin de producto lgico negado. En la figura de la derecha pueden observarse sus smbolos en electrnica. Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 23

La ecuacin caracterstica 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 1 0 1 0 1 1 1 1 0

Podemos definir la puerta NO-Y como aquella que proporciona a su salida un 0 lgico nicamente cuando todas sus entradas estn 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 divisin de microelectrnica de General Instruments. El nombre actual no es un acrnimo, en realidad el nombre completo es PICmicro , aunque generalmente se utiliza como Peripheral Interface Controller (Controlador de Interfaz Perifrico). 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 tena 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 microcdigo simple almacenado en memoria ROM para realizar estas tareas; y aunque el trmino no se usaba por aquel entonces, se trata de un diseo RISC que ejecuta una instruccin cada 4 ciclos del oscilador. En 1985 la divisin de microelectrnica de General Instrument se convirti en una filial y el nuevo propietario cancel casi todos los desarrollos, que para esas fechas la mayora estaban Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 24

obsoletos. El PIC, sin embargo, se mejor con EPROM para conseguir un controlador de canal programable. Hoy en da multitud de PICs vienen con varios perifricos includos (mdulos de comunicacin serie, UARTs, ncleos de control de motores, etc.) y con memoria de programa desde 512 palabras a 32.000 palabras (una palabra corresponde a una instruccin en ensamblador, y puede ser 12, 14 o 16 bits, dependiendo de la familia especfica de PCImicro). 2.3.1 Juego de instrucciones y entorno de programacin El PIC usa un juego de instrucciones tipo RISC, cuyo nmero 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 posicin de memoria, instrucciones de condicionamiento y de salto/retorno, implementacin 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 tambin vende compiladores para los PICs de gama alta ("C18" para la serie F18 y "C30" para los dsPICs) y se puede descargar una edicin para estudiantes del C18 que inhabilita algunas opciones despus de un tiempo de evaluacin. Para Pascal existe un compilador de cdigo abierto, JAL, lo mismo que PicForth para el lenguaje Forth. GPUTILS es una coleccin de herramientas distribudas 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 Programacin del PIC Para transferir el cdigo de un ordenador al PIC normalmente se usa un dispositivo llamado programador. La mayora de PICs que Microchip distribuye hoy en da incorporan ICSP (In Circuit Serial Programming, Programacin serie incorporada) o LVP (Low Voltage Programming, Programacin 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 programacin aplicando un voltage de unos 11 voltios. Existen muchos programadores de PICs, desde los ms simples que dejan al software los detalles de comunicaciones, a los ms complejos, que pueden verificar el dispositivo a diversas tensiones de alimentacin 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 ms simples es el TE20, que utiliza la linea TX del puerto RS232 como alimentacin y las lineas DTR y CTR Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 25

para mandar o recibir datos cuando el microcontrolador est en modo programacin. El sofware de programacin puede ser el ICprog, muy comn 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 Tamao de palabra El tamao 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 deberan llamar microcontroladores de 8 bits. Pero, a diferencia de la mayora de UCPs, el PIC usa arquitectura Harvard, por lo que el tamao de las instrucciones puede ser distinto de tamao de la palabra de datos. De hecho, las diferentes familias de PICs usan tamaos de instruccin distintos, lo que hace difcil comparar el tamao del cdigo 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.

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 26

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

Ncleos 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 (tpicamente 0 a 5,5 voltios) Temporizadores de 8/16 bits Tecnologa Nanowatt para modos de control de energa Perifricos serie sncronos y asncronos: USART, AUSART, EUSART Conversores analgico/digital de 10-12 bits Comparadores de tensin Mdulos de captura y comparacin PWM Controladores LCD Perifrico MSSP para comunicaciones I2C, SPI, y I2S Memoria EEPROM interna con duracin de hasta un milln de ciclos de lectura/escritura Perifricos 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 todava vende versiones PROM y EPROM de la mayora de los PICs para soporte de aplicaciones antiguas o grandes pedidos. 2.3.8.2 Clones del PIC Por todos lados surgen compaas que ofrecen versiones del PIC ms baratas o mejoradas. La mayora suelen desaparecer rpidamente. Una de ellas que va perdurando es Ubicorn (antiguamente Scenix) que vende clones del PIC que funcionan mucho ms rpido que el original. OpenCores tiene un ncleo del PIC16F84 escrito en Verilog. Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 27

2.3.8.3 PICs wireless El microcontrolador rfPIC integra todas las prestaciones del PICmicro de Microchip con la capacidad de comunicacin wireless UHF para aplicaciones RF de baja potencia. Estos dispositivos ofrecen un diseo muy comprimido para ajustarse a los cada vez ms demanadado requerimientos de miniaturizacin en aparatos electrnicos. 2.3.8.4 PICs para procesado de seal (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 aaden varias operaciones de DSP implementadas en hardware, como multiplicacin con suma de acumulador (multiply-accumulate, o MAC), barrel shifting, bit reversion o multiplicacin 16x16 bits.

2.3.8.5 PICs ms comnmente usados


PIC12C508/509 (encapsulamiento reducido de 8 pines, oscilador interno, popular en pequeos diseos como el iPod remote) PIC16F84 (Considerado obsoleto, pero imposible de descartar y muy popular) PIC16F84A (Buena actualizacin 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 comn en proyectos de aficionados) PIC18F452

2.3.8.6 PICs en Internet Se puede encontrar mucha informacin y documentacin 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 (televisin de pago, Play Station...), lo que atrae la atencin de los crackers; y segundo, porque el PIC16C84 fue uno de los primeros microcontroladores fcilmente 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]

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 28

2.4 LCD
LCD son las siglas en ingls de "Pantalla de Cristal Lquido" ("Liquid Crystal Display") inventado por Jack Janning que fue empleado de NCR. Se trata de un sistema elctrico de presentacin de datos formado por 2 capas conductoras transparentes y en medio un material especial cristalino (cristal lquido) 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 nmero) el material cristalino se reorienta alterando su transparencia. El material base de un LCD lo constituye el cristal lquido, el cual exhibe un comportamiento similar al de los lquidos y unas propiedades fsicas anisotrpicas similares a las de los slidos cristalinos. Las molculas de cristal lquido poseen una forma alargada y son ms o menos paralelas entre s en la fase cristalina. Segn la disposicin molecular y su ordenamiento, se clasifican en tres tipos: nemticos, esmticos y colestricos. La mayora de cristales responden con facilidad a los campos elctricos, exhibiendo distintas propiedades pticas en presencia o ausencia del campo. El tipo ms comn de visualizador LCD es, con mucho, el denominado nemtico de torsin, trmino que indica que sus molculas en su estado desactivado presentan una disposicin en espiral. La polarizacin o no de la luz que circula por el interior de la estructura, mediante la aplicacin o no de un campo elctrico exterior, permite la activacin de una serie de segmentos transparentes, los cuales rodean al cristal lquido. Segn sus caractersticas pticas, pueden tambin clasificarse como: reflectivos, transmisivos y transreflectivos. [5]

2.4.1 LCD en la industria

Composicin por segmentos y por pxeles Las pantallas LCD se encuentran en multitud de dispositivos industriales y de consumo: mquinas expendedoras, electrodomsticos, equipos de telecomunicaciones, computadoras, Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx
Proyecto de Diseo con Electrnica Integrada. Pgina 29

etc. Todos estos dispositivos utilizan pantallas fabricadas por terceros de una manera ms o menos estandarizada. Cada LCD se compone de una pequea placa integrada que consta de: La propia pantalla LCD. Un microchip controlador. Una pequea memoria que contiene una tabla de caracteres. Un interfaz de contactos elctricos, para conexin externa. Opcionalmente, una luz trasera para iluminar la pantalla. El controlador simplifica el uso del LCD proporcionando una serie de funciones bsicas que se invocan mediante el interfaz elctrico, 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 carcter de un juego de caracteres, es decir, cada octeto de esta memoria describe los puntitos o pixels que deben iluminarse para representar un carcter en la pantalla. Generalmente, se pueden definir caracteres a medida modificando el contenido de esta memoria. As, es posible mostrar smbolos que no estn originalmente contemplados en el juego de caracteres. El interfaz de contactos elctricos suele ser de tipo paralelo, donde varias seales elctricas simultneas indican la funcin que debe ejecutar el controlador junto con sus parmetros. Por tanto, se requiere cierta sincronizacin entre estas seales elctricas. La luz trasera facilita la lectura de la pantalla LCD en cualquier condicin de iluminacin ambiental. Existen dos tipos de pantallas LCD en el mercado: pantallas de texto y pantallas grficas.

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 30

2.4.2 LCD de texto Los LCD de texto son los ms baratos y simples de utilizar. Solamente permiten visualizar mensajes cortos de texto. Existen algunos modelos estandarizados en la industria, en funcin de su tamao medido en nmero de lneas y columnas de texto. Existen modelos de una, dos y cuatro filas nicamente. El nmero de columnas tpico es de ocho, diecisis, veinte y cuarenta caracteres. El controlador Hitachi HD44780 se ha convertido en un estndar de industria cuyas especificaciones funcionales son imitadas por la mayora de los fabricantes. Este controlador cuenta con los siguientes interfaces elctricos: D0-D7: ocho seales elctricas que componen un bus de datos. R/W: una seal que indica si se desea leer o escribir en la pantalla (generalmente solamente se escribe). RS: una seal que indica si los datos presentes en D0-D7 corresponden bien a una instruccin, bien a sus parmetros. E: una seal para activar o desactivar la pantalla. V0 : seal elctrica 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 ms oscuros. Vss y Vdd : seales de alimentacin. Generalmente a cinco voltios. La seal Vss sirve para encender la luz trasera de la pantalla en algunos modelos. Estas seales son fcilmente controladas desde un ordenador a travs de un interfaz paralelo, tpicamente a travs del interfaz IEEE 1284, tambin conocido como "Centronics". El mismo que se utiliza para conectar impresoras. [3]

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 31

2.4.3 LCD de grficos

Detalle de una pantalla LCD en color Las pantallas LCD grficas permiten encender y apagar individualmente pixels de la pantalla. De esta manera es posible mostrar grficos en blanco y negro. No solamente texto. Los controladores ms populares son el Hitachi HD61202 y el Samsung KS0108. Los tamaos tambin estn estandarizados y se miden en filas y columnas de pixeles. Algunos tamaos tpicos son 128x64 y 96x60. Naturalmente, algunos controladores tambin permiten la escritura de texto de manera sencilla. Estas pantallas son ms caras y complejas de utilizar. Existen pocas aplicaciones donde no baste con un LCD de texto. Se suelen utilizar, por ejemplo, en ecualizadores grficos. [3]

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 32

2.5 SIMULACIN DE LA PRIMERA PARTE DEL CIRCUITO


V1

9 V

XMM1
R5 Key = A 100% Q2 C6 100nF V2 5 V

C4 100nF

2N4403 R1 100kOhm_5% C2 Q1 GaAsFET_N_VIRTUAL 1.0MOhm_5% R7

47pF C1 1.5uF R2 1.0MOhm_5% D2 D1 1N4148 C3 470pF R4 30Ohm_5% 1N4148 R3 10Ohm_5% C5

47nF R6 820kOhm_5%

REFERENCIAS BIBLIOGRFICAS
[1] www.electronicaestudio.com [2] www.gestialba.com [3] www.wikipedia.com [4] www.webelectronica.com.ar [5] www.comunidadelectronicos.com

Ing. Juan Gilberto Mateos Surez, Cdigo;7917333, jmateos@proton.ucting.udg.mx


Proyecto de Diseo con Electrnica Integrada. Pgina 33

Вам также может понравиться