电子产业一站式赋能平台

PCB联盟网

搜索
查看: 2764|回复: 8
收起左侧

【提问】键控流水灯仿真运行时LED不亮

[复制链接]

633

主题

1927

帖子

8108

积分

联盟顾问

Rank: 3Rank: 3

积分
8108
发表于 2022-6-21 17:56:43 | 显示全部楼层 |阅读模式
如题,单片机刚入门,代码和电路图都照搬的教材,可是运行时LED无反应,各位大佬救救我,孩子已经被逼疯了

【提问】键控流水灯仿真运行时LED不亮-1.jpg

#include "reg51.h"
unsigned char led[]={0xfe,0xfd,0xfb,0xf7};
void delay(unsigned chartime)
{
unsigned int j=15000;
for(;time>0;time--)
for(;j>0;j--);
}
void main()
{
bit dir=0,run=0;
char i;
while(1)
{
switch(P0&0X0f)
{
case 0x0e:run=1;break;
case 0x0d:run=0,dir=0;break;
case 0x0b:dir=1;break;
case 0x07:dir=0;break;
}
if(run)
if(dir)
for(i=0;i<=3;i++)
{
P2=led;
delay(200);
}
else
for(i=0;i>=0;i--)
{
P2=led;
delay(200);
}
else P2=0xff;
}
}
回复

使用道具 举报

594

主题

958

帖子

5093

积分

四级会员

Rank: 4

积分
5093
发表于 2022-6-21 17:57:07 | 显示全部楼层
仿真电路看着没问题,那就是程序问题了
回复 支持 反对

使用道具 举报

600

主题

954

帖子

5061

积分

四级会员

Rank: 4

积分
5061
发表于 2022-6-21 17:57:48 | 显示全部楼层
你的程序有问题,我都没看懂你那个程序。
回复 支持 反对

使用道具 举报

598

主题

943

帖子

5138

积分

四级会员

Rank: 4

积分
5138
发表于 2022-6-21 17:58:10 | 显示全部楼层
怎么还有两个if   run   dir  这个地方没看懂
回复 支持 反对

使用道具 举报

591

主题

959

帖子

5157

积分

四级会员

Rank: 4

积分
5157
发表于 2022-6-21 17:59:48 | 显示全部楼层
你把中间switch语句到if(dir)这一段的内容先屏蔽了试试
回复 支持 反对

使用道具 举报

568

主题

922

帖子

4783

积分

四级会员

Rank: 4

积分
4783
发表于 2022-6-21 18:00:37 | 显示全部楼层
for(i=0;i>=0;i--) 改成for(i=3;i>=0;i--)
回复 支持 反对

使用道具 举报

587

主题

981

帖子

5126

积分

四级会员

Rank: 4

积分
5126
发表于 2022-6-21 18:00:59 | 显示全部楼层
上拉电阻取值是不是小了
回复 支持 反对

使用道具 举报

2851

主题

4614

帖子

2万

积分

官网认证

Rank: 3Rank: 3

积分
25793

活跃会员热心会员推广达人优秀版主

发表于 2022-6-21 18:01:09 | 显示全部楼层
问题已经解决啦,谢谢大家
回复 支持 反对

使用道具 举报

587

主题

981

帖子

5126

积分

四级会员

Rank: 4

积分
5126
发表于 2022-6-21 18:02:02 | 显示全部楼层
你怎么解决的?
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表