芯片驱动的积累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
        }
74HC165D.c
// 按键 165
#define CP P1_6
#define PL P1_7
#define DATA_IN P1_5
74HC165D.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_0
74HC595D.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_5
cd74hc597.h

 

posted @ 2023-12-15 11:20  不折不扣  阅读(14)  评论(0)    收藏  举报