Post on 10-Feb-2018
transcript
7/22/2019 CD 4026 Pic Axe Torres
1/15
CONTROL DISPLAY7 SEGMENTOS CON
CD4026
7/22/2019 CD 4026 Pic Axe Torres
2/15
Control de display 7 segmentos con CD4026La implementacin de display 7 segmentos en nuestros proyectos, puede darle un toque de
distincin o bien, una cuota mayor de destreza.
Si bien todo depende de la programacion a cargar en nuestro microcontrolador lo que hace a
un sistema eficaz, es sabido que cuando mas funciones tenemos, mejores prestaciones
tendremos con el prototipo terminado y funcionando.En nuestro siguiente ejemplo, veremos como implementar tan solo 2 salidas de nuestro
microcontrolador picaxe, para el control de 2 display 7 segmentos.Sintticamente, analizando el diagrama del circuito inferior, podemos notar que incluye dos
pequeos circuitos integrados (CD4026B Decade Counter / Decoder and Driver) Sin
explayarme mucho en el funcionamiento de este CI, les comento a modo breve, que este
funciona como decodificador para display de 7 segmentos.
Este circuito integrado, segn la cantidad de pulsos que se le d en el pin de entrada marcado
como CLOCK, nos generara una salida BCD que excitara el display Si nosotros
queremos llevar a cero el display, con tan solo poner en alto la entrada RESET, llevaremosacabo tal cometido.
7/22/2019 CD 4026 Pic Axe Torres
3/15
;*************************************************************************
;***** PICAXE - CD4026 7Seg - Controlador de temperatura para acuarios ************;*************************************************************************
symbol sonido = b0
symbol acumulador = b1
symbol lm35 = b2symbol prog1 = b3
symbol prog2 = b4
symbol cero = b5
symbol resistencia1 = output7symbol resistencia2 = output6
symbol led_prog = output5
symbol led_encendido = output4
symbol led_apagado = output3
symbol led_noprogam = output2
symbol pinreset = output1
symbol pinclock = output0
menu:
let b0=255
high led_apagado
pause 500
low led_apagado
low resistencia1
low resistencia2if pin2 = 1 then prog_salida1
if pin6 = 1 then prog_salida2
if pin7 = 1 then encender
gosub reset0
goto menu
;***************************************************************************
;***************************** Modo Encendido *******************************
;***************************************************************************
encender:high led_encendido
pause 500
toggle led_encendido
gosub leertemp
if b3 < b2 then gosub off_rele1
if b4 < b2 then gosub off_rele2if b3 > b2 then gosub on_rele1
if b4 > b2 then gosub on_rele2
if prog1 = 0 then no_program1if prog2 = 0 then no_program2
if pin7 = 1 then menu
7/22/2019 CD 4026 Pic Axe Torres
4/15
pause 500
goto encender
on_rele1:
high resistencia1
pause 250
returnon_rele2:
high resistencia2
pause 250
return
off_rele1:
low resistencia1
pause 250
return
off_rele2:low resistencia2
pause 250
return
leertemp:
readadc 1,b2
returnno_program1:
if prog1 = 0 then aviso1return
aviso1:
high led_noprogam
pause 750
low led_noprogampause 750
high led_noprogam
pause 750
low led_noprogam
pause 750
goto menu
no_program2:
if prog2 = 0 then aviso2
return
aviso2:
high led_noprogam
pause 750
low led_noprogam
pause 750high led_noprogampause 750
7/22/2019 CD 4026 Pic Axe Torres
5/15
low led_noprogam
pause 750
high led_noprogam
pause 750
low led_noprogam
pause 750
high led_noprogampause 750
low led_noprogam
pause 750
goto menu
reset0:
for b5 = 1 to 2
pulsout 1,10
next b5
return;***************************************************************************
;***************************** Modo Programacion ****************************
;***************************************************************************
prog_salida1:
high led_prog
pause 250
toggle led_progreadadc 0,b3
let b1=0if b3
7/22/2019 CD 4026 Pic Axe Torres
6/15
if b3
7/22/2019 CD 4026 Pic Axe Torres
7/15
if b4= 120 then a_19
if b4= 125 then a_20
if b4= 130 then a_21
if b4= 135 then a_22
if b4= 140 then a_23
if b4= 145 then a_24
if b4= 150 then a_25if b4= 155 then a_26
if b4= 160 then a_27
if b4= 165 then a_28
if b4= 170 then a_29
if b4= 175 then a_30
if b4= 180 then a_31
if b4= 185 then a_32
if b4= 190 then a_33
if b4= 195 then a_34if b4= 200 then a_35
if b4= 205 then a_36
if b4= 206 then a_37
if b4= 206 then a_38
if b4= 206 then a_39
if b4= 206 then a_40
if pin7 = 1 then menugoto prog_salida2
;***************************************************************************
;***************************** Rutina Display 7-Seg ****************************
;***************************************************************************
display:
a_1:for b1 = 1 to 1
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_2:
for b1 = 1 to 2
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_3:for b1 = 1 to 3pulsout 0, 10
7/22/2019 CD 4026 Pic Axe Torres
8/15
next b1
pause 1000
gosub reset0
goto menu
a_4:
for b1 = 1 to 4
pulsout 0, 10next b1
pause 1000
gosub reset0
goto menu
a_5:
for b1 = 1 to 5
pulsout 0, 10
next b1
pause 1000gosub reset0
goto menu
a_6:
for b1 = 1 to 6
pulsout 0, 10
next b1
pause 1000gosub reset0
goto mena_7:
for b1 = 1 to 7
pulsout 0, 10
next b1
pause 1000gosub reset0
goto menu
a_8:
for b1 = 1 to 8
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_9:
for b1 = 1 to 9
pulsout 0, 10
next b1
pause 1000gosub reset0goto menu
7/22/2019 CD 4026 Pic Axe Torres
9/15
a_10:
for b1 = 1 to 10
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto mena_11:
for b1 = 1 to 11
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_12:
for b1 = 1 to 12pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_13:
for b1 = 1 to 13pulsout 0, 10
next b1pause 1000
gosub reset0
goto menu
a_14:for b1 = 1 to 14
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_15:
for b1 = 1 to 15
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_16:for b1 = 1 to 16pulsout 0, 10
7/22/2019 CD 4026 Pic Axe Torres
10/15
next b1
pause 1000
gosub reset0
goto menu
a_17:
for b1 = 1 to 17
pulsout 0, 10next b1
pause 1000
gosub reset0
goto menu
a_18:
for b1 = 1 to 18
pulsout 0, 10
next b1
pause 1000gosub reset0
goto men
a_19:
for b1 = 1 to 19
pulsout 0, 10
next b1
pause 1000gosub reset0
goto menua_20:
for b1 = 1 to 20
pulsout 0, 10
next b1
pause 1000gosub reset0
goto menu
a_21:
for b1 = 1 to 21
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_22:
for b1 = 1 to 22
pulsout 0, 10
next b1pause 1000gosub reset0
7/22/2019 CD 4026 Pic Axe Torres
11/15
goto menu
a_23:
for b1 = 1 to 23
pulsout 0, 10
next b1
pause 1000
gosub reset0goto menu
a_24:
for b1 = 1 to 24
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_25:for b1 = 1 to 25
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto men
a_26:for b1 = 1 to 26
pulsout 0, 10next b1
pause 1000
gosub reset0
goto men
a_27:for b1 = 1 to 27
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_28:
for b1 = 1 to 28
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_29:for b1 = 1 to 29pulsout 0, 10
7/22/2019 CD 4026 Pic Axe Torres
12/15
next b1
pause 1000
gosub reset0
goto menu
a_30:
for b1 = 1 to 30
pulsout 0, 10next b1
pause 1000
gosub reset0
goto menu
a_31:
for b1 = 1 to 31
pulsout 0, 10
next b1
pause 1000gosub reset0
goto men
a_32:
for b1 = 1 to 32
pulsout 0, 10
next b1
pause 1000gosub reset0
goto mena_33:
for b1 = 1 to 33
pulsout 0, 10
next b1
pause 1000gosub reset0
goto men
a_34:
for b1 = 1 to 34
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
a_35:
for b1 = 1 to 35
pulsout 0, 10
next b1
pause 1000gosub reset0goto menu
7/22/2019 CD 4026 Pic Axe Torres
13/15
a_36:
for b1 = 1 to 36
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menua_37:
for b1 = 1 to 37
pulsout 0, 10
next b1
pause 1000
gosub reset0
goto men
a_38:
for b1 = 1 to 38pulsout 0, 10
next b1
pause 1000
gosub reset0
goto men
a_39:
for b1 = 1 to 39pulsout 0, 10
next b1pause 1000
gosub reset0
goto men
a_40:
for b1 = 1 to 40pulsout 0, 10
next b1
pause 1000
gosub reset0
goto menu
end
;***************************************************************************
;******************************* Fin Programa ********************************
;***************************************************************************
7/22/2019 CD 4026 Pic Axe Torres
14/15
ANLISIS DEL PROGRAMA MODO DE FUNCIONAMIENTOSensor, es la entrada del sensor de temperatura
Potencimetro, setea valor de temperatura deseado
Pulsador 2, programa la salida de la resistencia 1.
Pulsador 6, programa la salida de la resistencia 2Pulsador 7, da la orden de encender o apagar el sistema.
Salida 7 - Resistencia 1
Salida 6 - Resistencia 2
Salida 5 - Led indicador modo programacionSalida 4 - Led indicador modo encendido
Salida 3 - Led indicador modo apagado
Salida 2 - Led indicador no hay programa
FUNCIONAMIENTO
A_ En modo apagado, presionar pulsador 2 y con el led de programacion encendidoconfiguramos la temperatura de corte deseada con el potencimetro.
Para salir del modo config1,presionamos el pulsador 7 y verificamos que el led de
programacion se apaga.
B_ En modo apagado y previamente cumplido el anterior paso, presionamos el pulsador 6 y
con el led de programacion encendido configuramos la temperatura de corte deseada con el
potencimetro.
Para salir del modo config2, presionamos el pulsador 7 y verificamos que el led deprogramacion se apaga.
C_ Para encender el equipo, previo al seteo de temperatura, presionamos el ;pulsador 7 y
verificamos que el led de encendido este brillando.
En el caso de que se encienda el led de no programacion, significa que no hemos programado
anteriormente las temperaturas y deberemos presionar el pulsador 7 para apagar el equipo y
repetir los pasos A y B.
Normalmente, si todo esta correcto, el equipo enciende y segn las ;temperaturas, encender
las dos resistencias o tan solo una dependiendo la ;programacion que le dimos a cada una y latemperatura que interpreta el sensor.
Una ves llegada a la temperatura de corte, ninguna de las dos debera de estar ;encendida.
7/22/2019 CD 4026 Pic Axe Torres
15/15
AGRADECIMIENTOSAl Club Saber Electrnica y Editorial Quark por la donacin de los elementos necesarios para que este proyecto se pueda llevar a
cabo en forma fsica.
A mis amigos Ramn y Pablo, que me estn ayudando con la versin final del software de PC que se encargara de darle unafuncin mas a nuestro sistema (monitorear y programar el sistema en caso querer emplear un PC como mtodo alternativo de
control).
SOBRE LA PRECISIN DE ESTE TEXTOSe realiz un gran esfuerzo para asegurar la precisin de este texto y los experimentos, pero puede haber errores de tipografa. Si
usted encuentra errores o algn tema que requiera informacin adicional, por favor infrmelo a prof.martintorres@educ.ar, as
podemos continuar mejorando la calidad de nuestra documentacin.