-
管脚说明和内部逻辑图
注:管脚图为HCF4094,内部逻辑图为CD4094(HCF4094内部逻辑图在datasheet不清晰,且复杂)。
其中控制管脚有3个:STROBE-DATA-CLOCK,Output Enable一般直接硬件接VDD。
原理如下:STROBE高电平期间,每8个CLK上升沿,bit分别从Q1移至Q8,所以给定一个字节,左移后送入至Data,这样Bit7经过8个上升沿后就输出至了Q8。移完一个字节拉低STROBE锁存注Q1-Q8.
- 实例代码
;-------------------------------------------------------------------------------------------------- ;****************************************************************************** ;CD4094输出控制;CD4094移位输出(数据在TMP0_LSB) SHIFT_4094 MOVFF HCF4094BYTE,WREG CPFSEQ PREHCF4094BYTE BRA $ + 4 RETURN MOVFF HCF4094BYTE,PREHCF4094BYTE ; BSF P_4094ST ; MOVLW D'8' MOVWF TMP0_MSB ;---------------------------------------------------------- LOOP_CD4094 BCF P_4094SCL ; RLCF TMP0_LSB ; BC SET_4094SDA ;---------------------------------- BCF P_4094SDA BRA CD4094_WAIT ;---------------------------------- SET_4094SDA BSF P_4094SDA ;================================== CD4094_WAIT CALL TNUS_DELAY ; BSF P_4094SCL ; CALL TNUS_DELAY ; DECFSZ TMP0_MSB BRA LOOP_CD4094 ;========================================================== BCF P_4094ST ; NOP RETURN