单片机驱动74HC164的程序设计应用实例
扫描二维码
随时随地手机看文章
;-------------------------------------------------------------
;单片机驱动74LS164/74HC164的一个示例
;74HC164是串入并出的数据移位模块,在其时钟端(CK)每送入一个时钟
;脉冲,则其当前的数据线(DT)状态即被移位至输出端输出,164的数据
;在时钟上升沿被锁存,输出由A向H依次移位
;本例中应用了我站开发的位操作插件以方便进行IO位线置位及清位操作
;------------------------------------------------------------
;送一个字节数据到164的过程
;R0----要送出的数据/指令字节
;-----------------------------------------------------------
SENDTO164:
PUSH R0
PUSH R1
CLRBIT CK_164 ;setcLOCklineislow
NOP
NOP
CLRBIT DT_164 ;setdatalineislow
LD R1,#08H
SENDA_164:
RLC R0 ;rightshiftR0,bit0intoC
SETBIT DT_164 ;setdataline
JR C,SENDB_164 ;ifC=1,skip
CLRBIT DT_164 ;cleardataline
SENDB_164:
NOP
NOP
SETBIT CK_164 ;sendoneclockpulse
NOP
NOP
NOP
CLRBIT CK_164 ;
DEC R1
JR NZ,SENDA_164
SEND164_BACK:
POP R1
POP R0
RET
;----------------------------------------------------------