串口输入

串口的输入:由于串口每次只能输入一位,所以在接收一串数据时,是将数据从高到低每次一位依次录入,具体实现:将该串数据一位一位分为8位,每次将最高位数据右移7次,就到了最低位,将该数据赋给串口输入SER,然后整串数据左移一位,覆盖了最高位,次高位即最高位,在下一次继续右移输出;

void Hc595Sendbyte(uint data_){

uint a;

for(a=0;a<8;a++){

SER=data_>>7;//右移7位

data_<<=1;//左移一位

}

}

SRCLK=0;

nop();

nop();

SRCLK=1;//实现上升沿;

uint ledNum=0x01;

while(1){

Hc595Sendbyte(ledNum);

ledNum=crol(ledNum,1);

}

改正谬误,crol(参数1,参数2)是循环左移函数,整体左移之后,将最高位移到最低位,参数1是需要操作的数字串,参数2是一次转移的数量;

LED点阵(点亮一个点):每8x8个LED灯被一个芯片控制,然后串在一起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值