找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4011|回復(fù): 2
收起左側(cè)

單片機(jī)程序“_crol_” 與“_cror_”的用法

[復(fù)制鏈接]
ID:101489 發(fā)表于 2016-1-2 03:23 | 顯示全部樓層 |閱讀模式
“_crol_” 與“_cror_”其實就是左右循環(huán)代碼,其具有程序代碼簡單執(zhí)行效率高的優(yōu)點(diǎn)!
現(xiàn)實中的應(yīng)用很多,例如我們經(jīng)常見到的流水燈,廣告牌,馬路上的紅綠燈 等。。。

下面是最基本的流水燈代碼,流水燈移動的快慢可以改變“void delay()”子程序進(jìn)行修改,例如:你選用的是20M的精震,你要改成一秒移動一格,那么你就將“for(x=50;x>0;x--)”和“for(y=100;y>0;y--)”的X值和Y值改成500!  改變方向更加簡單,只需將“_crol_” 與“_cror_”的代碼互換就可以了!

下面是程序代碼“

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
uint temp1;
uchar i;
void delay();
void main()
{
temp=0xfe;
temp1=0x7f;
while(1)
{

for(i=0;i<8;i++)
{
P0=temp;
temp=_crol_(temp,1);
delay();
}
for(i=0;i<8;i++)
{
P0=temp1;
temp1=_cror_(temp1,1);
delay();
P0=temp;
}
}
}   
void delay()
{
uint x,y;
for(x=50;x>0;x--)
for(y=100;y>0;y--);
}


回復(fù)

使用道具 舉報

ID:79544 發(fā)表于 2016-1-2 12:14 | 顯示全部樓層
絕對精彩,精簡的左移右移的程序應(yīng)用
回復(fù)

使用道具 舉報

ID:99538 發(fā)表于 2016-1-6 20:42 | 顯示全部樓層
你發(fā)錯地方了,程序還可以再簡潔,用一個temp,就可以了
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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