中易网

单片机 亮灯:8个灯左右来回亮。既先按流水灯从左到右亮,再从右到左灭。循环。

答案:5  悬赏:20  
解决时间 2021-02-26 11:15
单片机 亮灯:8个灯左右来回亮。既先按流水灯从左到右亮,再从右到左灭。循环。
最佳答案
用移位操作,首先把P1口赋值,然后向右移位,判断是否移到最后移位,如果不是,一直移位,如果是,则反向移位,判断是否移位到第一位,如果是则循环到右移,具体代码就自己写了。代码不难,我只是记不清楚具体定义了。
追问:我就是代码不会啊 我是对这个一窍不通 啊
全部回答
发光二极管是共阳,还是共阴,用c语言,还是汇编
追问:不用了 结束了....
#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<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();
}
}
}
用这个,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
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
刀塔传奇这几个英雄应该重点培养哪几个?怎么
学习数控机床应该从何学起比较好?(电气方面
嘉宝莉漆4S店这个地址在什么地方,我要处理点
死因登记报告管理工作制度 是哪个部门发的
无名缘米粉第3159家连锁店这个地址在什么地方
高中课程中,动物体内含有麦芽糖吗?
千岛宾馆停车场怎么去啊,有知道地址的么
春节挂灯笼的习俗起源于哪个朝代
梦幻花园75关怎么过 梦幻花园77关过关攻略
当红网络主播真那么赚钱吗
兴业县龙安镇地址有知道的么?有点事想过去
消毒碗柜尺寸有哪些适合家用的,怎么选才好呢
你好,你会OPNET是么?我之前安装了OPNET 14.
《水世界》电影主要内容是什么
南卡中寨地址在哪,我要去那里办事
推荐资讯
粤达怎么去啊,有知道地址的么
小米盒子显示正在加载源信息
吃过大蒜怎样去蒜味儿
兴隆食杂店地址在什么地方,想过去办事
电脑脑启动不了,按下开机键硬盘转了一下就停
耳聋会影响工作吗?
三星平板SM一T231怎么截屏
东山街道泥塘社区居家养老服务中心我想知道这
冰箱噪音超大,怎么办
求助,两个月左右的博美,严重晕车,这几
五峰土家族自治县湾潭镇锁金山村民委员会在哪
何处下载《热 血》(电影歌曲Mp3)——田汉词
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?