74HC165D
//列扫描 // 165检查输入,当PL拉高时,CP给一个上升沿,8位寄存器中的值就通过Q7输出一位 PL = 0; mDelayuS(10); PL = 1;//总开始输出CLK for(index_move=0; index_move<8; index_move++){ if(DATA_IN == 0){ //判断输出一位,是0还是1; xxx; } else{ xxx; } CP = 0; mDelayuS(10); CP = 1; mDelayuS(10);//8个按位输出的CLK }74HC165D.c
// 按键 165 #define CP P1_6 #define PL P1_7 #define DATA_IN P1_574HC165D.h
74HC595D
// 595写入数据,从高位开始,也就是先扫描QA,SCK上升沿将数据移入,RCK上升沿数据输出 KRCK = 0; for(index_move=0; index_move<8; index_move++){ DATA_OUT = (ScanData << index_move) & 0x80; KSCK = 0; mDelayuS(10); KSCK = 1; } KRCK = 1;74HC595D.c
// 595 通用数据输出 #define DATA_OUT P1_1 // 按键 595 #define KRCK P3_1 #define KSCK P3_074HC595D.h
cd74hc597
//检查输入,当PL上升沿时,CP给一个上升沿,8位寄存器中的值就通过Q7输出一位 PL = 0; mDelayuS(10); PL = 1;//总开始输出CLK,产生上升沿 for(index_move=0; index_move<8; index_move++){ if(DATA_IN == 0){ //判断输出一位,是0还是1; xxx; } else{ xxx; } CP = 0; mDelayuS(10); CP = 1; mDelayuS(10);//8个按位输出的CLK }cd74hc597.c
#define CP P1_6 #define PL P1_7 #define DATA_IN P1_5cd74hc597.h
标签:积累,index,P1,芯片,move,驱动,CP,PL,define From: https://www.cnblogs.com/zhouyuqing1024/p/17903009.html