找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4011|回复: 2
收起左侧

单片机程序“_crol_” 与“_cror_”的用法

[复制链接]
ID:101489 发表于 2016-1-2 03:23 | 显示全部楼层 |阅读模式
“_crol_” 与“_cror_”其实就是左右循环代码,其具有程序代码简单执行效率高的优点!
现实中的应用很多,例如我们经常见到的流水灯,广告牌,马路上的红绿灯 等。。。

下面是最基本的流水灯代码,流水灯移动的快慢可以改变“void delay()”子程序进行修改,例如:你选用的是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--);
}


回复

使用道具 举报

ID:79544 发表于 2016-1-2 12:14 | 显示全部楼层
绝对精彩,精简的左移右移的程序应用
回复

使用道具 举报

ID:99538 发表于 2016-1-6 20:42 | 显示全部楼层
你发错地方了,程序还可以再简洁,用一个temp,就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表