Alba tramonto -st6

© Vittorio Crapella - i2viu

COMANDO BALLAST PER ALBA/TRAMONTO

Visti gli altri due modi per ottenere l'effetto alba/tramonto per gli acquari qui di seguito viene presentato un altro progetto per ottenere gli stessi risultati.

LISTATO PROGRAMMA PER ST6220

;*******************************
;*** GESTORI di INTERRUPT    ***
;*******************************

ad_int   reti

tim_int ldi  wdog,255
  dec   durata    ;nr per ottenere un secondo (12)
  jrz   dur    ;jrnz ritor
  jp      ritor
dur  ldi   durata,50
  dec  sec3    ;ritardo 3 secondi
  jrnz  ritor
  ldi  ctrl,1    ;setta 1 il flag 
  ldi  sec3,4
ritor  ldi  tscr,01011110b
  ldi  tcr,124
  reti
  
BC_int  reti
A_int   reti

nmi_int 
  reti

;*********************
;PROGRAMMA PRINCIPALE
;*********************

main  ldi   wdog,255
  ldi  livello,1  ;livello DAC output
  ldi  tscr,01011110b
  ldi  tcr,124 
  ldi  durata,50
  set  4,ior
  ldi  sec3,4
  clr  ctrl      ;diventa 1 ogni 3 sec in TIM_INT
  ldi  port_a,1  ;attiva rele`
out_  ld  a,livello
  ld  port_b,a  ;uscita livello DAC
qui  ldi  wdog,255
  ld  a,port_a
  jrs  3,a,fine        ;se si riapre TIMER esterno finisce
  jrr  0,ctrl,qui
  clr  ctrl
  inc  livello
  ld  a,livello
  jrz  resta
  jp  out_
resta  ldi  wdog,255
  ld  a,port_a
  jrr  3,a,resta
  clr  ctrl
  dec  livello     ;livello = 255 pronto per la discesa
discesa  ld  a,livello
  ld  port_b,a    ;mette in uscita livello DAC
qui2  ldi  wdog,255
  jrr  0,ctrl,qui2
  clr  ctrl
  dec  livello    ;abbassa luce
  ld  a,livello
  jrz  fine
  jp  discesa
fine  clr  a    ;spegne ADC=0
  ld   port_b,a
  ld  a,port_a
  res  0,a      ;diseccita relé - tutto spento
  ld  port_a,a
  ldi   wdog,255
  jp  fine
                            Preleva FILE.ASM  

SCHEMA