找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 6815|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)流水燈移位操作原理程序分析

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
在點(diǎn)亮流水燈的同時(shí),我們要對(duì)移位操作進(jìn)行了解左移
在C51中操作符“<<",每執(zhí)行一次左移指令,會(huì)將最高位移入單片機(jī)寄存器的CY位(CY是進(jìn)位標(biāo)志),CY會(huì)丟棄原來(lái)的數(shù)據(jù),并且在最低為補(bǔ)0;其他位依次向左移動(dòng)一位,如圖所示:
右移
在C51中操作符“>>",每執(zhí)行一次左移指令,會(huì)將最低位移入單片機(jī)寄存器的CY位,CY會(huì)丟棄原來(lái)的數(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);
}
}

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表