5个回答
展开全部
楼上的程序有问题,不能用P2端口作为左移变量,应该用一个中间变量转换一下,程序改为
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint ms)
{
uchar t;
while(ms--)
for (t=0;t<120;t++);
}
void main()
{
uchar temp;
temp= 0xfe;
while (1)
{
temp =_crol_(temp,1); //左移一位!!!
P2=temp;
delay(200);
}
}
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint ms)
{
uchar t;
while(ms--)
for (t=0;t<120;t++);
}
void main()
{
uchar temp;
temp= 0xfe;
while (1)
{
temp =_crol_(temp,1); //左移一位!!!
P2=temp;
delay(200);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//==============================
//8个LED 闪烁
//P2驱动8个LED闪烁
//-------------------------------------
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
//--------------------------------
void DelayMS(uint ms)
{
uchar t;
while(ms--) for (t=0;t<120;t++);
}
//----------------------------------
void main()
{
P2= 0xfe;
while (1)
{
P2 =_crol_(P2,1); 左移一位!!!
DelayMS(200);
}
}
//8个LED 闪烁
//P2驱动8个LED闪烁
//-------------------------------------
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
//--------------------------------
void DelayMS(uint ms)
{
uchar t;
while(ms--) for (t=0;t<120;t++);
}
//----------------------------------
void main()
{
P2= 0xfe;
while (1)
{
P2 =_crol_(P2,1); 左移一位!!!
DelayMS(200);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
左移部分程序
unsigned char a=1;
while(1)
{
if(a == 0xFF) a=0; //上次全亮,本次全灭
else a = a | a << 1;
}
unsigned char a=1;
while(1)
{
if(a == 0xFF) a=0; //上次全亮,本次全灭
else a = a | a << 1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
void delay(uint ms)
{
uchar i;
while(ms--)
for(i=0;i<123;i++);
}
void main()
{
while(1)
{
uchar j;
delay(500);
temp=0xff;
P1=temp;
for(j=0;j<8;j++)
{
temp=temp<<1;
delay(500);
P1=temp;
}
}
}
#define uint unsigned int
#define uchar unsigned char
uchar temp;
void delay(uint ms)
{
uchar i;
while(ms--)
for(i=0;i<123;i++);
}
void main()
{
while(1)
{
uchar j;
delay(500);
temp=0xff;
P1=temp;
for(j=0;j<8;j++)
{
temp=temp<<1;
delay(500);
P1=temp;
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询