发表于:2013/7/23 4:58:15
#0楼
#include<reg52.h>//52单片机头文件
#include<intrins.h>//包含有左右循环移位子函数的库
#define uint unsigned int//宏定义
#define ichar unsigned char//宏定义
void delay(uint); //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延200ms
sbit d5=P2^5;
void delay(uint z)
{uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main() //主函数
{
while(1)//大循环
{uint a,b,c;
a=0xfe;//赋初值
b=8;
c=0x7f;
while(b--);
{P1=a;//点亮小灯
d5=0;//开启蜂鸣器
delay(50);//延时50毫秒
d5=1; //关闭蜂鸣器
delay(50);//再延时50毫秒
a=_crol_(a,1);//将a变量循环左移一位
}
while(b--);
{
P1=c;//点亮小灯
d5=0;//开启蜂鸣器
delay(50);//延时50毫秒
d5=1;//关闭蜂鸣器
delay(50);//延时50毫秒
c=_cror_(c,1);//将a变量循环左移一位
}
}
}
#include<reg52.h> //52单片机头文件
#include <intrins.h> //包含有左右循环移位子函数的库
#define uint unsigned int //宏定义
#define uchar unsigned char //宏定义
sbit beep=P2^3;
void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.
{ //delay(500);大约延时500ms.
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main() //主函数
{
uchar a,i;
while(1) //大循环
{
a=0xfe; //赋初值
for(i=0;i<8;i++) //左移
{
P1=a; //点亮小灯
beep=0; //开启蜂鸣器
delay(50); //延时50毫秒
beep=1; //关闭蜂鸣器
delay(50); //再延时50毫秒
a=_crol_(a,1); //将a变量循环左移一位
}
a=0x7f;
for(i=0;i<8;i++) //右移
{
P1=a; //点亮小灯
beep=0; //开启蜂鸣器
delay(50); //延时50毫秒
beep=1; //关闭蜂鸣器
delay(50); //再延时50毫秒
a=_cror_(a,1); //将a变量循环右移一位
}
}
}
这两个程序为什么后一个可以实现 前面出现不行呢 高手 讲解一下 一晚上了 怎么也搞不明白
#include<intrins.h>//包含有左右循环移位子函数的库
#define uint unsigned int//宏定义
#define ichar unsigned char//宏定义
void delay(uint); //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延200ms
sbit d5=P2^5;
void delay(uint z)
{uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main() //主函数
{
while(1)//大循环
{uint a,b,c;
a=0xfe;//赋初值
b=8;
c=0x7f;
while(b--);
{P1=a;//点亮小灯
d5=0;//开启蜂鸣器
delay(50);//延时50毫秒
d5=1; //关闭蜂鸣器
delay(50);//再延时50毫秒
a=_crol_(a,1);//将a变量循环左移一位
}
while(b--);
{
P1=c;//点亮小灯
d5=0;//开启蜂鸣器
delay(50);//延时50毫秒
d5=1;//关闭蜂鸣器
delay(50);//延时50毫秒
c=_cror_(c,1);//将a变量循环左移一位
}
}
}
#include<reg52.h> //52单片机头文件
#include <intrins.h> //包含有左右循环移位子函数的库
#define uint unsigned int //宏定义
#define uchar unsigned char //宏定义
sbit beep=P2^3;
void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.
{ //delay(500);大约延时500ms.
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main() //主函数
{
uchar a,i;
while(1) //大循环
{
a=0xfe; //赋初值
for(i=0;i<8;i++) //左移
{
P1=a; //点亮小灯
beep=0; //开启蜂鸣器
delay(50); //延时50毫秒
beep=1; //关闭蜂鸣器
delay(50); //再延时50毫秒
a=_crol_(a,1); //将a变量循环左移一位
}
a=0x7f;
for(i=0;i<8;i++) //右移
{
P1=a; //点亮小灯
beep=0; //开启蜂鸣器
delay(50); //延时50毫秒
beep=1; //关闭蜂鸣器
delay(50); //再延时50毫秒
a=_cror_(a,1); //将a变量循环右移一位
}
}
}
这两个程序为什么后一个可以实现 前面出现不行呢 高手 讲解一下 一晚上了 怎么也搞不明白
开心了就笑,不开心就过会再笑