LIST P=PIC16F877A ------ ;普通口CD4014并入串出 ;并入锁存 CD4014 BSF STATUS,RP0 BCF STATUS,RP1; 选体1 BCF TRISC,1 ;RC1/PS,RC2/CLK置为输出 BCF TRISC,2 BSF TRISC,0 ;数据输入口 RC0为输入 BCF STATUS,RP0;选体0 NOP BSF PORTC,1 ;P/S置高 并行数操作 NOP BSF PORTC,2 ;并行数据随时钟输入寄存器 CALL YS10US BCF PORTC,2 NOP ;-------------------------------------------- ;将CD4014寄存器中数串出,存入DATA14 BCF PORTC,1 ;P/2置0,串行数操作 CLRF DATA14 ;串入数据寄存器 MOVLW 0X08 MOVWF COUNT14 L014 BSF PORTC,2 ;寄存器数随时钟串出 ;时钟上升沿 CALL YS10US BCF STATUS,0 ;清进位C BTFSC PORTC,0 BSF STATUS,0 RLF DATA14,1 ;C0口数据移入DATA14 CALL YS10US BCF PORTC,2 ;时钟下降沿 NOP NOP DECFSZ COUNT14,1 GOTO L014 RETURN |