单片机C语言,将8个灯依次点亮(被点亮的继续亮),然后再依次熄灭,(在没有熄灭完时熄灭的保持灭)

 我来答
百度网友19051fa
2020-12-11
知道答主
回答量:63
采纳率:0%
帮助的人:3.2万
展开全部
其次,我建议还是自己尝试写一写,这个不难,我给你个思路
首先定义变量类似于P1_2 = P1^2这种,先把这八个管脚全部定义凯散好,之后给个for循环,让P1(假设的你LED灯连早颂接的是P1口)口的P1^0~P1^7相关标志位依次等陆孙郑于0或者1(0还是1需要看你在LED等上给的是高电位亮还是低电位亮),之后再给个for循环,五次的循环,全部P1口置为1(假设高电平LED亮),之后设置P1口全为1,再让P1口的相关标志位置为0,再置为0的时候可以加个延时
爬行的山羊
2011-04-04 · TA获得超过3026个赞
知道大有可为答主
回答量:6445
采纳率:70%
帮助的人:1218万
展开全部
先左移加一,后右移,或者顺序执行程序。很简单。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dukang9904455
2011-04-04 · TA获得超过811个赞
知道小有建树答主
回答量:1028
采纳率:0%
帮助的人:943万
展开全部
假设岩指困是P2口
int i;
int P2;
while(1)
{
for(i=0;i<=8;i++)
{
P2=0XFF>>i;
//逗做延时
}
for(i=0;i<8;i++)
{
P2=0XFF>>粗念(7-i);
//延时
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ycydhlg
2012-03-26
知道答主
回答量:2
采纳率:0%
帮助的人:3236
展开全部
#include <reg52.h>
#define uint unsigned int
char aa;
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>困逗0;i--)
for(j=110;j>0;j--);
}

void main()
{
while(1)
{
for(aa=0;aa<肢神9;aa++)
{
P1=0xff<<aa;
delayms(300);
}
for(aa=8;aa>-1;aa--)
{
P1=0xff<<汪饥卖aa;
delayms(300);
}

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nana烁
2020-12-11 · TA获得超过2334个赞
知道小有建树答主
回答量:1551
采纳率:100%
帮助的人:65.6万
展开全部
是 51 单片机吗?
汇编程序如下:
;--------------------
ORG 0000H
MOV A, #7FH
LOP:
MOV P0, A
CALL DELAY
CLR C
RRC A
CJNE A, #0, LOP
MOV P0, A ;全亮
CALL DELAY
MOV P0, #255 ;全灭
CALL DELAY
SJMP 0000H ;重携铅漏复辩烂前面的过程
;--------------------
DELAY:
;延时子程序,请楼主自己编写。
;因为,晶振频率和延时激携时间,楼主都没有给出。
RET
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式