por Vonnilmam » 14 Fev 2009 08:56
Caro colega, se voce esta querendo acionar um chip 4094 cmos, então vou postar abaixo uma rotina muito eficiente que utilizo comercialmente...
Voce pode inclusive acionar varios chips 4094 ligados em cascata através do pino 9 (saida de DATA) do 4094 ligado ao pino 2 ( entrada de DATA) do proximo chip, o clock e o strob são comuns a todos os chips...
NOTA: o clock do MCU pode variar até 20mhs sem problemas, ok
Boa sorte,
;Certificado *** Pagina 1
Cd4094:
InitCd4094:
Call LoadCounter
movf DADO, w
Call EnviaCd4094
; NESSE PONTO VOCE PODE REPETIR AS INSTRUÇÕES DE CHAMADA MOVF DADO E CALL ENVIACD4094 QUANTAS VEZES DESEJAR
Goto drv_latch
EnviaCd4094:
Movwf Buffer
Call Debug
Return
;- - - - - -
Debug:
Btfsc Buffer, 7
Bsf DataCd ; Seta Pino DATA do MCU
Btfss Buffer, 7
Bcf DataCd ; Reseta pino DATA do MCU
Bcf Status, C
Rlf Buffer, F
Goto Init_Clock
Ret01:
Decfsz Counter_4094, F
Goto Debug
LoadCounter:
Movlw .8
Movwf Counter_4094
Return
;- - - - - -
Drv_Latch:
Bsf Strob
Nop
Nop
Nop
Nop
Bcf Strob
Return
;- - - - - - - -
Init_Clock:
Bsf Clock
Nop
Nop
Nop
Nop
Bcf Clock
Goto Ret01
;---------------
VonNilmam "Assembler" e agora "C"