標(biāo)題: 單片機(jī)流水燈移位操作原理程序分析 [打印本頁]

作者: zq0109    時(shí)間: 2021-3-7 17:14
標(biāo)題: 單片機(jī)流水燈移位操作原理程序分析
在點(diǎn)亮流水燈的同時(shí),我們要對(duì)移位操作進(jìn)行了解左移
在C51中操作符“<<",每執(zhí)行一次左移指令,會(huì)將最高位移入單片機(jī)寄存器的CY位(CY是進(jìn)位標(biāo)志),CY會(huì)丟棄原來的數(shù)據(jù),并且在最低為補(bǔ)0;其他位依次向左移動(dòng)一位,如圖所示:
右移
在C51中操作符“>>",每執(zhí)行一次左移指令,會(huì)將最低位移入單片機(jī)寄存器的CY位,CY會(huì)丟棄原來的數(shù)據(jù),并且在最高為補(bǔ)0;其他位依次向右移動(dòng)一位,如圖所示:
循環(huán)左移
最高位移入最低位,其他位次向左移一位
循環(huán)右移
最低位移入最高位,其他位次向右移一位 下面讓我們實(shí)踐一下
#include <REG51F.H>                                             //以51為例
#include <intrins.H>                                            //引入_crol_
void Delay100ms(unsigned char cnt);
void main(){
    P1 = 0xfe;                                                  //賦值 11111110
    while (1){
        Delay100ms(20);
        P1 = _crol_(P1,1);
    }
}
void Delay100ms(unsigned char cnt)      //@12.000MHz
{
    unsigned char i, j;
    while(cnt--){
    i = 195;
    j = 138;
    do
    {
        while (--j);
    } while (--i);
}
}

https://www.bilibili.com/video/av971977070/?zw






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1