标题:
10个二极管的流水灯没反映
[打印本页]
作者:
lushaoqian
时间:
2017-10-18 15:16
标题:
10个二极管的流水灯没反映
我连的10个二极管的流水灯
不过为啥没反映
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define unit unsigned int
void delay();
uchar aa,bb;
void main()
{ P1=aa,P2=bb;
while(1)
{
aa=0x80,
bb=0x0;
delay();
aa=0x40,
bb=0x0;
delay();
aa=0x20,
bb=0x0;
delay();
aa=0x10,
bb=0x0;
delay();
aa=0x8,
bb=0x0;
delay();
aa=0x4,
bb=0x0;
delay();
aa=0x2,
bb=0x0;
delay();
aa=0x1,
bb=0x0;
delay();
aa=0x0,
bb=0x2;
delay();
aa=0x0,
bb=0x1;
delay();
}
}
void delay()
{
unit x,y;
for(x=100;x<0;x--)
for(y=200;y>0;y--);
}
作者:
wulin
时间:
2017-10-18 16:52
你可以直接对P1、P2赋值操作,如 :P1=0x80;P2=0x0;或宏定义#define aa P1 #define bb P2,这时对aa、bb的操作就是对P1、P2的操作,不可以用两个变量代替P1、P2。
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define unit unsigned int
#define aa P1
#define bb P2
void delay();
//uchar aa,bb;
void main()
{// P1=aa,P2=bb;
while(1)
{
aa=0x80;
bb=0x0;
delay();
aa=0x40;
bb=0x0;
delay();
aa=0x20;
bb=0x0;
delay();
aa=0x10;
bb=0x0;
delay();
aa=0x8;
bb=0x0;
delay();
aa=0x4;
bb=0x0;
delay();
aa=0x2;
bb=0x0;
delay();
aa=0x1;
bb=0x0;
delay();
aa=0x0;
bb=0x2;
delay();
aa=0x0;
bb=0x1;
delay();
}
}
void delay()
{
unit x,y;
for(x=100;x<0;x--)
for(y=200;y>0;y--);
}
作者:
liut_text
时间:
2017-10-18 17:13
P1,P2定义不是这样的
#define aa P1
#define bb P2
作者:
转角的距离
时间:
2017-10-18 19:44
先看仿真有没有问题,如果仿真一遍没有问题但是实际中不能正常工作,估计是因为过载之类的问题吧
作者:
angmall
时间:
2017-10-18 20:24
aa,bb 赋值到P1,P2 , 不可以用两个变量代替P1、P2。
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define unit unsigned int
#define aa P1 // 宏定义
#define bb P2 // 宏定义
void delay();
//uchar aa,bb;
void main()
{ //P1=aa,P2=bb; // <--- 赋值到P1,P2, P1,P2定义不是这样的, 不可以用两个变量代替P1、P2。
while(1)
{
aa=0x80,
bb=0x0;
delay();
aa=0x40,
bb=0x0;
delay();
aa=0x20,
bb=0x0;
delay();
aa=0x10,
bb=0x0;
delay();
aa=0x8,
bb=0x0;
delay();
aa=0x4,
bb=0x0;
delay();
aa=0x2,
bb=0x0;
delay();
aa=0x1,
bb=0x0;
delay();
aa=0x0,
bb=0x2;
delay();
aa=0x0,
bb=0x1;
delay();
}
}
void delay()
{
unit x,y;
for(x=100;x<0;x--)
for(y=200;y>0;y--);
}
复制代码
作者:
xsk199704
时间:
2017-10-18 21:42
P1=aa,P2=bb;aa,bb为不确定变量,不能直接赋值给P1,P2
作者:
xsk199704
时间:
2017-10-18 21:43
P1=aa,P2=bb;aa,bb不能直接赋值
作者:
找人PK
时间:
2019-1-31 06:30
P1=aa,P2=bb;只能将P1与P2端口的值赋值给aa与bb,怎么能将名称赋给aa与bb呢?
要么用宏定义给P1与 P2取个别的名字,叫aa与bb.(注意,这里的aa与bb是不会同内存打交道的,你定义的变量是要同内存打交道的),要么直接用P1=0x80, P2=0x0; delay();......
作者:
Trump1438
时间:
2019-1-31 14:15
说的也是,变量怎么将变量名变了呢?神级操作啊!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1