595与138选列和行数据串行的使用

void showLED(void)
{
    unsigned char column=0;	//列
    unsigned char row=0;			//行

    for(column=0; column<16; column++)
    {
        setColumn(column);	//选列
        for(row=8; row>0; row--)	//595进数据
        {
            //设置数据
            if(data[row-1][column])			HC595_MOSI=1;
            else HC595_MOSI=0;
            HC595_CLK=1;	//上升沿数据进595
			HC595_CLK=0;	//时钟先拉低
        }
        for(row=16; row>=9; row--)	//595进数据
        {
            //设置数据
            if(data[row-1][column])			HC595_MOSI=1;
            else HC595_MOSI=0;
            HC595_CLK=1;	//上升沿数据进595
			HC595_CLK=0;	//时钟先拉低
        }
        HC595_RCK=1;
        HC595_RCK=0;
        delay_ms(1);
    }
}
void setColumn(char column)	//0--15
{
    HC138_A3=(column/8)?1:0;
    column=column%8;
    HC138_A2=(column/4)?1:0;
    column=column%4;
    HC138_A1=(column/2)?1:0;
    column=column%2;
    HC138_A0=column;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值