找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4022|回复: 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--);
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 单片机教程网

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