芯片驱动的积累1
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 }
// 按键 165 #define CP P1_6 #define PL P1_7 #define DATA_IN P1_5
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;
// 595 通用数据输出 #define DATA_OUT P1_1 // 按键 595 #define KRCK P3_1 #define KSCK P3_0
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
}
#define CP P1_6 #define PL P1_7 #define DATA_IN P1_5

浙公网安备 33010602011771号