单片机 亮灯:8个灯左右来回亮。既先按流水灯从左到右亮,再从右到左灭。循环。
答案:5 悬赏:20
解决时间 2021-02-26 11:15
- 提问者网友:兔牙战士
- 2021-02-26 01:06
单片机 亮灯:8个灯左右来回亮。既先按流水灯从左到右亮,再从右到左灭。循环。
最佳答案
- 二级知识专家网友:往事隔山水
- 2021-02-26 02:24
用移位操作,首先把P1口赋值,然后向右移位,判断是否移到最后移位,如果不是,一直移位,如果是,则反向移位,判断是否移位到第一位,如果是则循环到右移,具体代码就自己写了。代码不难,我只是记不清楚具体定义了。
追问:我就是代码不会啊 我是对这个一窍不通 啊
追问:我就是代码不会啊 我是对这个一窍不通 啊
全部回答
- 1楼网友:轻熟杀无赦
- 2021-02-26 05:37
发光二极管是共阳,还是共阴,用c语言,还是汇编
追问:不用了 结束了....
追问:不用了 结束了....
- 2楼网友:持酒劝斜阳
- 2021-02-26 04:35
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void DelayMS(uint x)
{
uchar t;
while(x--)
{
for(t=120;t>0;t--);
}
}
void main()
{
uchar i;
P2=0x01;
while(1)
{
for(i=7;i>0;i--)
{
P2=_crol_(P2,1);
DelayMS(150);
}
for(i=7;i>0;i--)
{
P2=_cror_(P2,2);
DelayMS(150);
}
}
}
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void DelayMS(uint x)
{
uchar t;
while(x--)
{
for(t=120;t>0;t--);
}
}
void main()
{
uchar i;
P2=0x01;
while(1)
{
for(i=7;i>0;i--)
{
P2=_crol_(P2,1);
DelayMS(150);
}
for(i=7;i>0;i--)
{
P2=_cror_(P2,2);
DelayMS(150);
}
}
}
- 3楼网友:持酒劝斜阳
- 2021-02-26 03:40
#include<reg52.h>
unsigned char code temp[9]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
void delay()
{
int a,b;
for(a=0;a<50;a++)
for(b=0;b<1000;b++);
}
void main()
{
char a;
while(1)
{
for(a=0;a<9;a++)
{
P1=temp[a];
delay();
}
for(a=8;a>=0;a--)
{
P1=temp[a];
delay();
}
}
}
unsigned char code temp[9]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
void delay()
{
int a,b;
for(a=0;a<50;a++)
for(b=0;b<1000;b++);
}
void main()
{
char a;
while(1)
{
for(a=0;a<9;a++)
{
P1=temp[a];
delay();
}
for(a=8;a>=0;a--)
{
P1=temp[a];
delay();
}
}
}
- 4楼网友:woshuo
- 2021-02-26 03:15
用这个,LED 接在P1口,12M晶振 大约0.5秒一位。
ORG 0300H
MOV A,#1
LOOP:MOV P1,A
LCALL DELAY
SETB C
RLC A
JNC LOOP
CLR C
RRC A
LOOP1:MOV P1,A
LCALL DELAY
CLR C
RRC A
JC LOOP1
SETB C
RLC A
SJMP LOOP
DELAY:NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R1DELAY
DJNZ R2,DELAY
ORG 0300H
MOV A,#1
LOOP:MOV P1,A
LCALL DELAY
SETB C
RLC A
JNC LOOP
CLR C
RRC A
LOOP1:MOV P1,A
LCALL DELAY
CLR C
RRC A
JC LOOP1
SETB C
RLC A
SJMP LOOP
DELAY:NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R1DELAY
DJNZ R2,DELAY
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯